blob: 093706df22d442dbc1e2a369a28ad65aa56bbf52 [file] [log] [blame]
= jDKIM Release notes
== Release 0.5
Api has been refined and documented a bit but is still not considered mature and will change in future releases.
=== Notable changes since 0.2
* Mailet has been extracted back to james project
* jDKIM API is still considered unstable and is likely to change in future releases
* Default parsing is done using mime4j 0.8.12 parser.
=== Breaking api changes:
- MultiplexingPublicKeyRecordRetriever can no longer be instantiated without any methods
- MultiplexingPublicKeyRecordRetriever#addRetriever is made private
- `dkimQuotedPrintableDecode` was moved from `SignatureRecordImpl` to `org.apache.james.jdkim.parser.DKIMQuotedPrintable`
since it is not specific to SignatureRecordImpl.
While technically a public API I don't expect many users of the lib to call this directly.
Updating the static import should be acceptable for the few who do.
== Release 0.2
jDKIM is a DKIM implementation library written in Java. It provides both verification and signing
and also provides Mailets for the Apache JAMES project.
The 0.2 release is the first release. It requires Java 1.5 at runtime and it requires the JVM
running the library to support SHA256withRSA cypher suite. The default Sun Java 1.5 does support
this suite. If your JVM doesn't support it you can install a third party cryptography provider
like BouncyCastle and configure it appropriately in your JVM.
The architecture is thought to handle multiple signatures with performance in mind: body hashing
for multiple signatures is computed concurrently in a single stream run.
The whole internal verification/signing is done via OutputStream leaving much more flexibility than
the use of InputStream. As the InputStream approach is easier from the user side the default
implementation simply prepare the OutputStream and copy the supplied InputStream to the OutputStream.
In order to reduce depencencies and to not reinvent the wheel the resulting library includes a
"shaded" version of the commons-codec 1.4 classes needed to do Base64 encoding/decoding.
=== Notes
* jDKIM API is still considered unstable and is likely to change in future releases
* Default parsing is done using mime4j 0.7 parser.
* The mailet does rely on javamail parsing instead of mime4j.
* Make sure to use dnsjava 2.0.7 or greater as 2.0.6 has a bug in TXT record escaping.