Skip to content

Releases: rabbitmq/rabbitmq-java-client

4.0.3

08 Jun 08:33
b40c756

Choose a tag to compare

Changes between 4.0.2 and 4.0.3

This is a maintenance release that includes a bug fix on connection creation and a bug fix in the NIO mode. This release is backward-compatible with 4.0.2.

Handle TimeoutException on connection creation

When several addresses are provided to the ConnectionFactory and when an address throws a TimeoutException on connection creation, the client wouldn't try the next addresses and throw an exception. Now the client tries to connect to the next address even on a TimeoutException.

GitHub issue: #262

Close SocketChannel correctly in NIO mode

The SocketChannel wasn't properly closed in NIO mode. The connections would show up a few dozens of seconds in the management web UI before being closed automatically by the server.

GitHub issue: #284

4.1.1.RC3

31 May 13:31
fb4c912

Choose a tag to compare

4.1.1.RC3 Pre-release
Pre-release

Changes between 4.1.0 and 4.1.1.RC3

This is a release candidate for 4.1.1, a maintenance release that includes bug fixes and a small improvement in the RpcServer class. This release is backward-compatible with 4.1.0.

Handle TimeoutException on connection creation

When several addresses are provided to the ConnectionFactory and when an address throws a TimeoutException on connection creation, the client wouldn't try the next addresses and throw an exception. Now the client tries to connect to the next address even on a TimeoutException.

GitHub issue: #262

Let reply properties be updated in RpcServer subclasses

The properties of a response message can now be updated with the preprocessReplyProperties and postprocessReplyProperties methods that are called around the handleCall method.

GitHub issue: #271

Remove e2e bindings for auto-delete exchanges

It was possible to have abandoned e2e bindings in the recordedBindings. This caused a channel error during recovery and caused remaining recovery items to fail as well.

Thanks to vikinghawk for this contribution.

GitHub PR: #281

basicCancel and basicConsume honor RPC timeout

The 2 methods basicCancel and basicConsume now use the channel RPC timeout (they used to not use any timeout at all).

Thanks to vikinghawk for this contribution.

GitHub PR: #278

Close SocketChannel correctly in NIO mode

The SocketChannel wasn't properly closed in NIO mode. The connections would show up a few dozens of seconds in the management web UI before being closed automatically by the server.

GitHub issue: #284

4.0.3.RC1

31 May 13:24
e7eec54

Choose a tag to compare

4.0.3.RC1 Pre-release
Pre-release

Changes between 4.0.2 and 4.0.3.RC1

This is a release candidate for 4.0.3, a maintenance release that includes a bug fix on connection creation and a bug fix in the NIO mode. This release is backward-compatible with 4.0.2.

Handle TimeoutException on connection creation

When several addresses are provided to the ConnectionFactory and when an address throws a TimeoutException on connection creation, the client wouldn't try the next addresses and throw an exception. Now the client tries to connect to the next address even on a TimeoutException.

GitHub issue: #262

Close SocketChannel correctly in NIO mode

The SocketChannel wasn't properly closed in NIO mode. The connections would show up a few dozens of seconds in the management web UI before being closed automatically by the server.

GitHub issue: #284

4.1.1.RC2

30 May 13:18
fc6e2e6

Choose a tag to compare

4.1.1.RC2 Pre-release
Pre-release

Changes between 4.1.0 and 4.1.1.RC2

This is a release candidate for 4.1.1, a maintenance release that includes bug fixes and a small improvement in the RpcServer class. This release is backward-compatible with 4.1.0.

Handle TimeoutException on connection creation

When several addresses are provided to the ConnectionFactory and when an address throws a TimeoutException on connection creation, the client wouldn't try the next addresses and throw an exception. Now the client tries to connect to the next address even on a TimeoutException.

GitHub issue: #262

Let reply properties be updated in RpcServer subclasses

The properties of a response message can now be updated with the preprocessReplyProperties and postprocessReplyProperties methods that are called around the handleCall method.

GitHub issue: #271

Remove e2e bindings for auto-delete exchanges

It was possible to have abandoned e2e bindings in the recordedBindings. This caused a channel error during recovery and caused remaining recovery items to fail as well.

Thanks to vikinghawk for this contribution.

GitHub PR: #281

basicCancel and basicConsume honor RPC timeout

The 2 methods basicCancel and basicConsume now use the channel RPC timeout (they used to not use any timeout at all).

Thanks to vikinghawk for this contribution.

GitHub PR: #278

v4.1.1.RC1

17 May 13:18
a771426

Choose a tag to compare

v4.1.1.RC1 Pre-release
Pre-release

Changes between 4.1.0 and 4.1.1.RC1

This is a release candidate for 4.1.1, a maintenance release that includes a bug fix on connection creation and a small improvement in the RpcServer class. This release is backward-compatible with 4.1.0.

Handle TimeoutException on connection creation

When several addresses are provided to the ConnectionFactory and when an address throws a TimeoutException on connection creation, the client wouldn't try the next addresses and throw an exception. Now the client tries to connect to the next address even on a TimeoutException.

GitHub issue: #262

Let reply properties be updated in RpcServer subclasses

The properties of a response message can now be updated with the preprocessReplyProperties and postprocessReplyProperties methods that are called around the handleCall method.

GitHub issue: #271

4.0.3.RC1

17 May 13:17
5e26b3a

Choose a tag to compare

4.0.3.RC1 Pre-release
Pre-release

Changes between 4.0.2 and 4.0.3.RC1

This is a release candidate for 4.0.3, a maintenance release that includes a bug fix on connection creation. This release is backward-compatible with 4.0.2.

Handle TimeoutException on connection creation

When several addresses are provided to the ConnectionFactory and when an address throws a TimeoutException on connection creation, the client wouldn't try the next addresses and throw an exception. Now the client tries to connect to the next address even on a TimeoutException.

GitHub issue: #262

4.1.0

20 Feb 09:07
be274a2

Choose a tag to compare

Changes between 4.0.2 and 4.1.0

This is a maintenance release with a few improvements, focused mainly on usability. It's backward compatible with 4.0.x.

Make continuation timeouts configurable

It is now possible to set a timeout for synchronous AMQP calls (e.g. queueDeclare). The default timeout is 10 minutes (there was no timeout at all before that).

GitHub issue: #219

Emit a warning in NullTrustManager

NullTrustManager trusts every server certificate, it is not considered safe to use it in production. A message now warns against its usage and suggests some solutions.

GitHub issue: #230

Deprecate NullTrustManager

NullTrustManager is deprecated in favor of a implementation with a more explicit name: TrustEverythingTrustManager. This new implementation has the same behavior as NullTrustManager (including the warning mesage introduced in this release).

GitHub issue: #234

Create abstract class for metrics collection

Metrics collector implementations can now subclass AbstractMetricsCollector, which contains the tricky metrics collection logic. This makes the metrics collection easier to extend with new metrics library (e.g. Dropwizard Metrics in the Java client or Spring Boot Metrics).

GitHub issue: #222

4.1.0.RC1

14 Feb 07:04
ea1c521

Choose a tag to compare

4.1.0.RC1 Pre-release
Pre-release

Changes between 4.0.2 and 4.1.0.RC1

This is a pre-release with a few improvements, focused mainly on usability. It's backward compatible with 4.0.x.

Make continuation timeouts configurable

It is now possible to set a timeout for synchronous AMQP calls (e.g. queueDeclare). The default timeout is 10 minutes (there was no timeout at all before that).

GitHub issue: #219

Emit a warning in NullTrustManager

NullTrustManager trusts every server certificate, it is not considered safe to use it in production. A message now warns against its usage and suggests some solutions.

GitHub issue: #230

Deprecate NullTrustManager

NullTrustManager is deprecated in favor of a implementation with a more explicit name: TrustEverythingTrustManager. This new implementation has the same behavior as NullTrustManager (including the warning mesage introduced in this release).

GitHub issue: #234

Create abstract class for metrics collection

Metrics collector implementations can now subclass AbstractMetricsCollector, which contains the tricky metrics collection logic. This makes the metrics collection easier to extend with new metrics library (e.g. Dropwizard Metrics in the Java client or Spring Boot Metrics).

GitHub issue: #222

v4.0.2

20 Jan 14:25
5296842

Choose a tag to compare

Changes between 4.0.1 and 4.0.2

This is a maintenance release that includes a bug fix in the NIO connector. This release is backward-compatible with 4.0.1.

NIO main thread can terminate due to an unhandled AssertionError

An AssertionError can be thrown in some edge cases and terminates the NIO main thread. This type of exception is now properly handled. AssertionError is actually not justified in this case, but this behavior is kept for compatibility reasons. More appropriate exceptions will be used in 5.0.0 (see #239).

GitHub issue: #237

4.0.2.RC1

17 Jan 15:58
c75c595

Choose a tag to compare

4.0.2.RC1 Pre-release
Pre-release

Changes between 4.0.1 and 4.0.2.RC1

This is a release candidate for 4.0.2, a maintenance release that includes a bug fix in the NIO connector. This release is backward-compatible with 4.0.1.

NIO main thread can terminate due to an unhandled AssertionError

An AssertionError can be thrown in some edge cases and terminates the NIO main thread. This type of exception is now properly handled. AssertionError is actually not justified in this case, but this behavior is kept for compatibility reasons. More appropriate exceptions will be used in 5.0.0 (see #239).

GitHub issue: #237