3.0.0
This is a major update!
Still the migration to v3.0.0 should be easy for most of you. See the migration guide for further information.
- acme4j now adheres to Semantic Versioning.
- The
acme4j-utils
module has been merged intoacme4j-client
. You can just remove the dependency onacme4j-utils
from your project. This also means that BouncyCastle is now a hard requirement for acm4j. The separation ofacme4j-client
andacme4j-utils
has become a blocker for new features though, so this step had to be taken. - Requires Java 11. (For Java 8, you can still use acme4j v2, however it will only receive security bugfixes.)
- New method
Certificate.findCertificate(String issuer)
helps to find a certificate from the given issuer. - Added support for draft-ietf-acme-ari-01 protocol.
- Reduced return of
null
values where possible. Methods that could have returnednull
in v2, will now return anOptional
(or throw an exception if more appropriate). Collections may be empty, but are nevernull
. PebbleAcmeProvider
now accepts a port without having to set a host. Thanks to @mloesch for the contribution!- A new
Order.execute(KeyPair)
method takes care for creating a CSR for you. You won't need to do that anymore. See theacme4j-example
for how it works. - New
AcmeNotSupportedException
is thrown when the ACME server does not support a certain feature. - HTTP accepts
gzip
compression. It can be turned off in theNetworkSettings
or viaorg.shredzone.acme4j.gzip_compression
system property. - Uses the
java.net.http
client now. - Documentation has been reviewed and extended.
- All deprecated methods have been removed.
The change to v3.0.0 has been blocking acme4j for much too long. I am happy that it is published now, and I can focus on adding new features again.