Skip to content

Releases: CJPoll/subscribex

Support OTP 24

08 Oct 16:39
5ea47f7
Compare
Choose a tag to compare
Support OTP 24 Pre-release
Pre-release

Support OTP 24

  • Changes the underlying publisher pool from pg2 -> pg. pg2 is deprecated as of OTP 23.
  • Stop using the deprecated Supervisor.Spec

v0.8.0

10 Nov 04:22
Compare
Choose a tag to compare

Final cut of 0.8.0.

Changes from RC1:

  1. Subscribex.publish raises a Subscribex.InvalidPayloadException when attempting to publish anything other than binary data.

Release notes from RC1:

This bumps the AMQP dependency to 0.3.0.

This was tested using elixir 1.3, 1.4, and 1.5, using Erlang 19.3 for 1.3/1.4, and Erlang 20 with 1.5. No issues were seen in any case. However, this is a release candidate, and breaking changes have occurred in this release since the last RC.

Breaking Changes from RC0:

The type signature of handle_error has changed from:
@callback handle_error(RuntimeError.t, payload) :: ignored
to
@callback handle_error(payload, channel, Subscribex.delivery_tag, RuntimeError.t) :: ignored
This reflects the parameter order in handle_payload/4.

When auto_ack is set to true, Subscribex will not automatically ack the message if an error is raised in handle_payload. Instead, handle_error/4 should be used to reject the message. Note that Rabbit's default behavior for reject is to re-enqueue the message. If this is undesirable, the requeue: false option should be specified in Subscribex.reject(channel, delivery_tag, requeue: false)

The license was changed from CopyLeft to MIT. The notice has been added to the bottom of the README.

v0.8.0-rc.1: Bump AMQP dependency to 0.3.0

01 Oct 07:48
Compare
Choose a tag to compare

This bumps the AMQP dependency to 0.3.0.

This was tested using elixir 1.3, 1.4, and 1.5, using Erlang 19.3 for 1.3/1.4, and Erlang 20 with 1.5. No issues were seen in any case. However, this is a release candidate, and breaking changes have occurred in this release since the last RC.

Breaking Changes:

  1. The type signature of handle_error has changed from:
    @callback handle_error(RuntimeError.t, payload) :: ignored
    to
    @callback handle_error(payload, channel, Subscribex.delivery_tag, RuntimeError.t) :: ignored

This reflects the parameter order in handle_payload/4.

  1. When auto_ack is set to true, Subscribex will not automatically ack the message if an error is raised in handle_payload. Instead, handle_error/4 should be used to reject the message. Note that Rabbit's default behavior for reject is to re-enqueue the message. If this is undesirable, the requeue: false option should be specified in Subscribex.reject(channel, delivery_tag, requeue: false)

  2. The license was changed from CopyLeft to MIT. The notice has been added to the bottom of the README.