Repository navigation
This release adds transaction and connection APIs while preserving existing defaults and return values.
Added
AMQP.Transaction.select/1,commit/1, androllback/1for transactional publishing and acknowledgements. Transactions and publisher confirms cannot be enabled on the same channel.- Connection introspection through
AMQP.Connection.info/2,info_keys/0,info_keys/1, andconnection_name/1. AMQP.Connection.register_blocked_handler/2for connection blocked and unblocked notifications, delivered as Erlang record tuples.- Connection close variants:
AMQP.Connection.close/2accepts a timeout in milliseconds,close/3accepts a custom reply code and text, andclose/4accepts all three. AMQP.Channel.close/3for a custom reply code and text.AMQP.Queue.purge/3andAMQP.Confirm.select/2with:nowaitand its alias:no_wait. Both options default tofalse; setting either totrueskips the broker reply and returns:ok.
Compatibility
- Existing
Queue.purge/2still waits for the broker reply and returns the message count. ExistingConfirm.select/1still waits for the broker reply. - Invalid keys passed to
Connection.info/2raiseArgumentErrorwithout closing the connection or its channels. - Verified with
amqp_client4.2.1 and 4.3.4; all 84 tests pass. The dependency requirement remains~> 4.0. - Documented an upstream limitation: repeated or replaced blocked-handler registrations retain monitors, and a previously registered handler exiting can terminate the connection. Keep those handlers alive until the connection closes.
Maintenance
- Refreshed locked dependencies, including
amqp_clientandrabbit_commonto 4.3.4.
Pull request: #250
Full changelog: v4.2.1...v4.3.0