Skip to content

4.0.0

Compare
Choose a tag to compare
@acogoluegnes acogoluegnes released this 26 Jan 16:08
· 486 commits to main since this release

Changes between 3.12.1 and 4.0.0

This is a major release. The biggest change is the move to JDK's HttpClient to handle HTTP traffic in the synchronous client, making Java 11 the minimal Java version to run Hop 4.x. Deprecated methods have been removed and every API related to Spring's RestTemplate have been deprecated and scheduled for removal in 5.0.

This is an effort to avoid depending on aging third-party dependencies (the RestTemplate is in maintenance mode) and to move to a modern, standalone HTTP client implementation.

Apart from the removal of a few long-time deprecated methods, 1 signature change, and Java 11 requirement, 4.x does not introduce any API changes and remains backward-compatible with 3.x. See the details of breaking changes at the bottom.

We encourage users to upgrade to 4.0.0 and to move RestTemplate-related API usage to HttpClient. Note 3.x is marked for end-of-life (EOL) on 31 July 2022.

Thanks to Diego Krupitza for his contribution.

Use Java 11 HttpClient for blocking IO client

GitHub issue: #254

Deprecate usage of RestTemplate

GitHub issue: #256

Require at least Java 11

GitHub issue: #252

Use enum for BindingInfo#destinationType

GitHub issue: #221

Remove deprecated methods

GitHub issue: #197

Remove Definitions#rabbitMqVersion

GitHub issue: #162

Reduce amount of string concatenation

GitHub PR: #257

Bump dependencies

GitHub issue: #250

Breaking Changes

  • Java 11 or later is required
  • Removal of deprecated methods (ShovelDetails#sourceURI and ShovelDetails#destinationURI getters and setters, Definitions#rabbitMqVersion)
  • BindingInfo#getDestinationType now returns DestinationType
  • TLS with synchronous client: with Java 11 HttpClient, hostname verification is enabled by default, which can break setups where the hostname of the server the client connects to does not match the CN or alternate names in the certificate.