Skip to content

v1.9.0

Latest

Choose a tag to compare

@mizosoft mizosoft released this 21 Dec 13:16
· 5 commits to master since this release
  • Added RetryInterceptor (#137), with which you can retry requests with declaratively specified conditions.

    var client =
      Methanol.newBuilder()
          .interceptor(
              RetryInterceptor.newBuilder()
                  .maxRetries(3)
                  .onException(ConnectException.class)
                  .onStatus(HttpStatus::isServerError)
                  .backoff(
                      RetryInterceptor.BackoffStrategy.exponential(
                              Duration.ofMillis(100), Duration.ofSeconds(5))
                          .withJitter())
                  .build())
          .build();

    There's also a corresponding Kotlin DSL.

  • Fixed (#146). Methanol JARs now play well with OSGI environments.

  • Added brotli support for MacOS & ARM architectures. Support for x86-32 platforms has been dropped, however. In addition to the fat JAR that has natives bundled for all supported platforms, a JAR for each platform is published with only the corresponding native, that is in addition to a base JAR with no natives, which you can use for custom native builds. Checkout the docs for more.

  • Added support for Jackson 3 through additional modules: methanol-jackson3 & methanol-jackson3-flux. Support for Jackson 2 will continue through the older modules.

  • Versions of dependencies of integration modules (e.g. methanol-jackson) are now defined in ranges. This allows builds to pull the latest version of the target library without necessarily updating Methanol to the next release. If you want to use a specific version, you can explicitly declare it provided it is within the range. The ranges are also reflected on OSGI metadata.