Skip to content

3.0.0

Compare
Choose a tag to compare
@shred shred released this 11 Aug 08:29
· 82 commits to master since this release
eea0805

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 into acme4j-client. You can just remove the dependency on acme4j-utils from your project. This also means that BouncyCastle is now a hard requirement for acm4j. The separation of acme4j-client and acme4j-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 returned null in v2, will now return an Optional (or throw an exception if more appropriate). Collections may be empty, but are never null.
  • 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 the acme4j-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 the NetworkSettings or via org.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.