All notable changes to com.babelqueue:babelqueue-artemis are documented here.
The format is based on Keep a Changelog, and
this project adheres to Semantic Versioning.
The envelope wire format is versioned separately by meta.schema_version
(currently 1) — see the contract at babelqueue.com.
- Initial release. An Apache ActiveMQ Artemis transport on
babelqueue-coreover JMS (Jakarta Messaging 3.x), implementing §7 of the broker-bindings contract. Artemis offers native ack/scheduled-delivery/delivery-counter/dead-letter-address, so the binding maps onto them rather than re-implementing:ArtemisPublisher(body = canonical envelopeTextMessage,JMSType= URN,JMSCorrelationID=trace_id, thebq-string-property projection — so a JMS or AMQP-1.0 consumer routes onJMSType; a delay uses native JMS 2.0setDeliveryDelay) andArtemisConsumer(CLIENT_ACKNOWLEDGEconsume — acknowledge after success; a throwing handlerrecover()s the session for broker redelivery;attempts = max(body, JMSXDeliveryCount − 1)with the broker's 1-based counter authoritative; terminal failures go to<queue>.dlqwith the additivedead_letterblock;fail/delete/release/dead_letterunknown-URN strategies; poison bodies forwarded raw to the DLQ). Java 17, JUnit 5, JaCoCo ≥90% line coverage; the JMS interfaces are mocked with Mockito (no Artemis, no network). The envelope is unchanged (schema_version: 1); Apache ActiveMQ Artemis is purely additive.