4.0.0
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
andShovelDetails#destinationURI
getters and setters,Definitions#rabbitMqVersion
) BindingInfo#getDestinationType
now returnsDestinationType
- 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.