Skip to content

Releases: primait/amqpx

7.0.0

27 Jan 10:31
0d2672c
Compare
Choose a tag to compare

Changed

  • When you pass an x-queue-type to Amqpx.Helper.declare/2 now it will be used also for the dead letter queue

    This is a breaking change: if you are already using Helper.declare with an x-queue-type that is not the default type this will try to change the dead letter queue type.

    In this case you can either remove the dead letter queue and recreate it with the correct type, or you can migrate to a new dead letter queue with a different name and remove the old one when it's fully drained:

    queue_spec = %{
      queue: "test_1",
      opts: [
        durable: true,
        arguments: [
          {"x-queue-type", :longstr, "quorum"},
          {"x-dead-letter-exchange", :longstr, "test_dle"},
          {"x-dead-letter-routing-key", :longstr, "test_rk"}
        ]
      ],
      exchanges: [
        %{name: "test_exchange", type: :topic, routing_keys: ["test_rk"], opts: [durable: true]},
      ]
    }
    
    # As an example we'll take the following `Amqpx.Helper.declare`
    # that creates a queue called `test_1` and a corresponding `test_1_errored`
    :ok = Amqpx.Helper.declare(chan, queue_spec)
    
    # Amqpx.Helper.setup_queue/2 takes the exact same queue_spec
    # as declare/2 but it doesn't declare the dead letter queue
    :ok = Amqpx.Helper.setup_queue(chan, queue_spec)
    
    # Now we can create a new dead letter queue with type "quorum"
    # by using a different name, we just need to make sure
    # its routing key will match the `x-dead-letter-routing-key` argument
    :ok = Amqpx.Helper.setup_dead_lettering(chan, %{
      routing_key: "test_rk",
      queue: "test_1_dlq",
      exchange: "test_dle",
      queue_opts: [durable: true, arguments: [{"x-queue-type", :longstr, "quorum"}]]
    })
    
    # At this point dead-lettered messages should be delivered to both
    # `test_1_errored` and `test_1_dlq`, in this way we can migrate everything
    # to the new one and as soon as it empties we can remove the old one
  • The original_routing_keys option accepted by Amqpx.Helper.setup_dead_lettering/2 must be a [String.t()], if you are passing a [[String.t()]] to this function you have to pipe trough List.flatten now

Added

  • Amqpx.Helper.setup_dead_lettering/2 now accepts a queue_opts key which will be used as third argument for Amqpx.Queue.declare/3

Commits

6.1.3

23 Jan 13:53
f4f675a
Compare
Choose a tag to compare

Fixed

  • Elixir applications are no more forced to start Amqpx.SignalHandler manually

Updated

  • rabbit libraries to amqp_client and rabbit_common to 4.0

  • Increased minimum supported elixir version to 1.16, otp 26

This is due to elixir rabbit not supporting the older versions of the libraries


Commits

  • [DEVEX-2418]: Helper is mandatory since 6.1.2 (#217) by Emiliano
  • Update rabbit libraries to 4.0 (#216) by MaeIsBad
  • Bump credo from 1.7.10 to 1.7.11 (#214) by dependabot[bot]
  • Bump ex_doc from 0.35.1 to 0.36.1 (#215) by dependabot[bot]
  • Bump mock from 0.3.8 to 0.3.9 (#212) by dependabot[bot]

6.1.2

06 Dec 11:41
339510d
Compare
Choose a tag to compare

Added

  • (#211) Allow to skip the DLK check for a
    list of dead letter queues

Commits

  • [COART-181]: Check Gracefully termination in all our applications (#211) by Emilio Junior Francischetti

6.1.1

02 Dec 14:02
dcf521f
Compare
Choose a tag to compare

Added

  • (#208) Reverse the logic for draining.
    Now the application signal handler call the Amqpx.SignalHandler to trigger the drain.

Commits

  • Reverse the logic from pull to push. (#210) by Emilio Junior Francischetti

6.1.0

29 Nov 13:45
9c627e2
Compare
Choose a tag to compare

Added

  • (#208) Introduces the possibility
    of configuring a signal handler which can be used for graceful termination.
    When the SIGTERM arrive, we cancel all the consumer to stop taking new
    messages.

Changed

  • Minimum supported Elixir version is now 1.14

Commits

  • format (#209) by Cristiano Piemontese
  • [COART-181]: Check Gracefully termination in all our applications (#208) by Emilio Junior Francischetti
  • Bump ex_doc from 0.34.2 to 0.35.1 (#207) by dependabot[bot]
  • Bump dialyxir from 1.4.3 to 1.4.5 (#206) by dependabot[bot]
  • Bump credo from 1.7.8 to 1.7.10 (#205) by dependabot[bot]
  • Update CODEOWNERS (#204) by Cristiano Piemontese

6.0.4

02 Oct 12:52
9565916
Compare
Choose a tag to compare

Added

  • (#199) host param will be resolved to a list of ips, if it's a
    hostname, and the connection will be established to the first available one.

Commits

  • Prepare 0.6.4 release (#202) by Simone Cottini
  • [PLATFORM-2274]: Investigate possible DNS caching issues on our rabbitmq libraries (#199) by Simone Cottini
  • Bump credo from 1.7.7 to 1.7.8 (#200) by dependabot[bot]
  • Bump ex_doc from 0.34.1 to 0.34.2 (#198) by dependabot[bot]
  • Bump ex_doc from 0.34.0 to 0.34.1 (#197) by dependabot[bot]
  • Bump credo from 1.7.6 to 1.7.7 (#196) by dependabot[bot]
  • Bump ex_doc from 0.33.0 to 0.34.0 (#195) by dependabot[bot]

6.0.3

31 May 13:54
027ecd5
Compare
Choose a tag to compare

Fixed

  • (#190) Suppress noisy error logs at GenServer shutdown.
  • (#191) GenServer now trap exit and gracefully shutdown instead of force
    the process to exit.

Commits

  • v6.0.3 (#194) by Simone Cottini
  • Remove (useless) flaky test (#192) by Matteo Busi
  • Fix connection manager (#191) by Matteo Busi
  • Add amqp_gen_consumer behaviour implementation (#190) by Matteo Busi
  • Bump ex_doc from 0.32.2 to 0.33.0 (#193) by dependabot[bot]
  • Bump ex_doc from 0.32.1 to 0.32.2 (#188) by dependabot[bot]
  • Bump credo from 1.7.5 to 1.7.6 (#189) by dependabot[bot]
  • Bump amqp_client from 3.12.13 to 3.12.14 (#187) by dependabot[bot]
  • Bump ex_doc from 0.31.2 to 0.32.1 (#186) by dependabot[bot]
  • Bump ex_doc from 0.31.1 to 0.31.2 (#185) by dependabot[bot]
  • Bump credo from 1.7.4 to 1.7.5 (#184) by dependabot[bot]
  • Bump amqp_client from 3.12.12 to 3.12.13 (#183) by dependabot[bot]
  • Bump credo from 1.7.3 to 1.7.4 (#182) by dependabot[bot]
  • Bump ex_doc from 0.31.0 to 0.31.1 (#181) by dependabot[bot]
  • Bump amqp_client from 3.12.11 to 3.12.12 (#179) by dependabot[bot]
  • Bump credo from 1.7.2 to 1.7.3 (#180) by dependabot[bot]
  • 6.0.2-rc.0 (#178) by Simone Cottini
  • [PLATFORM-1369]: Migrate amqpx to GHA (#173) by Simone Cottini
  • Bump dialyxir from 1.4.2 to 1.4.3 (#177) by dependabot[bot]
  • Bump ex_doc from 0.30.9 to 0.31.0 (#174) by dependabot[bot]
  • Bump amqp_client from 3.12.10 to 3.12.11 (#175) by dependabot[bot]
  • Bump credo from 1.7.1 to 1.7.2 (#176) by dependabot[bot]
  • Bump amqp_client from 3.12.9 to 3.12.10 (#172) by dependabot[bot]
  • Bump amqp_client from 3.12.8 to 3.12.9 (#171) by dependabot[bot]
  • Bump amqp_client from 3.12.7 to 3.12.8 (#170) by dependabot[bot]
  • Bump dialyxir from 1.4.1 to 1.4.2 (#167) by dependabot[bot]
  • Bump ex_doc from 0.30.7 to 0.30.9 (#168) by dependabot[bot]
  • Bump amqp_client from 3.12.6 to 3.12.7 (#169) by dependabot[bot]
  • Bump ex_doc from 0.30.6 to 0.30.7 (#166) by dependabot[bot]
  • Bump credo from 1.7.0 to 1.7.1 (#165) by dependabot[bot]
  • Bump amqp_client from 3.12.4 to 3.12.6 (#164) by dependabot[bot]
  • Bump dialyxir from 1.4.0 to 1.4.1 (#163) by dependabot[bot]
  • Update dependabot.yml (#162) by Cristiano Piemontese
  • Bump dialyxir from 1.3.0 to 1.4.0 (#159) by dependabot[bot]
  • Bump ex_doc from 0.30.5 to 0.30.6 (#160) by dependabot[bot]
  • Bump amqp_client from 3.12.3 to 3.12.4 (#161) by dependabot[bot]
  • Bump amqp_client from 3.12.2 to 3.12.3 (#158) by dependabot[bot]
  • Bump ex_doc from 0.30.4 to 0.30.5 (#157) by dependabot[bot]
  • Bump ex_doc from 0.30.3 to 0.30.4 (#156) by dependabot[bot]
  • Bump ex_doc from 0.30.1 to 0.30.3 (#153) by dependabot[bot]
  • Bump amqp_client from 3.12.1 to 3.12.2 (#154) by dependabot[bot]
  • Bump ex_doc from 0.29.4 to 0.30.1 (#152) by dependabot[bot]
  • Bump amqp_client from 3.12.0 to 3.12.1 (#151) by dependabot[bot]
  • Bump mock from 0.3.7 to 0.3.8 (#150) by dependabot[bot]
  • Bump amqp_client from 3.11.13 to 3.12.0 (#149) by dependabot[bot]
  • Bump dialyxir from 1.2.0 to 1.3.0 (#148) by dependabot[bot]
  • Bump amqp_client from 3.11.12 to 3.11.13 (#147) by dependabot[bot]
  • [PLATFORM-1032]: Add changelog (#144) by Cristiano Piemontese
  • Bump amqp_client from 3.9.11 to 3.11.12 (#146) by dependabot[bot]
  • Bump ex_doc from 0.28.4 to 0.29.4 (#145) by dependabot[bot]
  • Bump dialyxir from 1.1.0 to 1.2.0 (#116) by dependabot[bot]
  • Bump credo from 1.6.5 to 1.7.0 (#143) by dependabot[bot]

6.0.2-rc.0

04 Jan 09:49
ee2be93
Compare
Choose a tag to compare
  • 6.0.2-rc.0 (#178) by Simone Cottini
  • [PLATFORM-1369]: Migrate amqpx to GHA (#173) by Simone Cottini
  • Bump dialyxir from 1.4.2 to 1.4.3 (#177) by dependabot[bot]
  • Bump ex_doc from 0.30.9 to 0.31.0 (#174) by dependabot[bot]
  • Bump amqp_client from 3.12.10 to 3.12.11 (#175) by dependabot[bot]
  • Bump credo from 1.7.1 to 1.7.2 (#176) by dependabot[bot]
  • Bump amqp_client from 3.12.9 to 3.12.10 (#172) by dependabot[bot]
  • Bump amqp_client from 3.12.8 to 3.12.9 (#171) by dependabot[bot]
  • Bump amqp_client from 3.12.7 to 3.12.8 (#170) by dependabot[bot]
  • Bump dialyxir from 1.4.1 to 1.4.2 (#167) by dependabot[bot]
  • Bump ex_doc from 0.30.7 to 0.30.9 (#168) by dependabot[bot]
  • Bump amqp_client from 3.12.6 to 3.12.7 (#169) by dependabot[bot]
  • Bump ex_doc from 0.30.6 to 0.30.7 (#166) by dependabot[bot]
  • Bump credo from 1.7.0 to 1.7.1 (#165) by dependabot[bot]
  • Bump amqp_client from 3.12.4 to 3.12.6 (#164) by dependabot[bot]
  • Bump dialyxir from 1.4.0 to 1.4.1 (#163) by dependabot[bot]
  • Update dependabot.yml (#162) by Cristiano Piemontese
  • Bump dialyxir from 1.3.0 to 1.4.0 (#159) by dependabot[bot]
  • Bump ex_doc from 0.30.5 to 0.30.6 (#160) by dependabot[bot]
  • Bump amqp_client from 3.12.3 to 3.12.4 (#161) by dependabot[bot]
  • Bump amqp_client from 3.12.2 to 3.12.3 (#158) by dependabot[bot]
  • Bump ex_doc from 0.30.4 to 0.30.5 (#157) by dependabot[bot]
  • Bump ex_doc from 0.30.3 to 0.30.4 (#156) by dependabot[bot]
  • Bump ex_doc from 0.30.1 to 0.30.3 (#153) by dependabot[bot]
  • Bump amqp_client from 3.12.1 to 3.12.2 (#154) by dependabot[bot]
  • Bump ex_doc from 0.29.4 to 0.30.1 (#152) by dependabot[bot]
  • Bump amqp_client from 3.12.0 to 3.12.1 (#151) by dependabot[bot]
  • Bump mock from 0.3.7 to 0.3.8 (#150) by dependabot[bot]
  • Bump amqp_client from 3.11.13 to 3.12.0 (#149) by dependabot[bot]
  • Bump dialyxir from 1.2.0 to 1.3.0 (#148) by dependabot[bot]
  • Bump amqp_client from 3.11.12 to 3.11.13 (#147) by dependabot[bot]
  • [PLATFORM-1032]: Add changelog (#144) by Cristiano Piemontese
  • Bump amqp_client from 3.9.11 to 3.11.12 (#146) by dependabot[bot]
  • Bump ex_doc from 0.28.4 to 0.29.4 (#145) by dependabot[bot]
  • Bump dialyxir from 1.1.0 to 1.2.0 (#116) by dependabot[bot]
  • Bump credo from 1.6.5 to 1.7.0 (#143) by dependabot[bot]

6.0.2

24 Mar 13:39
fc9d713
Compare
Choose a tag to compare
  • Avoid logging normal exits (#140)

6.0.1

17 Mar 14:02
ffc601c
Compare
Choose a tag to compare
  • chore: prepare the release (#139)
  • [STAFF-31] Add proper shutdown handling to Amqpx generic producers and consumers (#138)
  • [change] print stacktrace when rescuing exceptions (#119)
  • Add retry mechanism for publish (#121)
  • [PLATFORM-886]: Refactor declare function in helper module (#131)