ActiveMQ Artemis 2.18.0 Release Notes

A complete list of JIRAs for the 2.18.0 release can be found * here

A list of commits can be found * here.

Bug

  • [ARTEMIS-1883] - Address name of ::test.topic incorrectly interpreted as FQQN
  • [ARTEMIS-2620] - Avoid Exception on client when large message file corrupted
  • [ARTEMIS-2802] - Federation not working when clients connect using OpenWire protocol
  • [ARTEMIS-2870] - CORE connection failure sometimes doesn’t cleanup sessions
  • [ARTEMIS-2931] - Potential null pointer access at several places
  • [ARTEMIS-3093] - Message Order broken with Core Protocol when rolling back transactions
  • [ARTEMIS-3116] - Scheduled Delivery is Ignored by Core->AMQP Conversion
  • [ARTEMIS-3118] - Browse queue does not always show correct “Expires”
  • [ARTEMIS-3120] - ActiveMQXAResourceWrapper NPE if no LocatorConfig
  • [ARTEMIS-3124] - When expiration=0, the browse-queue function shows “1970-00-04 01:00:00”
  • [ARTEMIS-3132] - Choosing ‘Go to summary page’ always goes to http://…/console/undefined
  • [ARTEMIS-3135] - AMQ222214: Destination q has an inconsistent and negative address size=-6
  • [ARTEMIS-3147] - auto-delete does not work for destinations that existed before broker restart
  • [ARTEMIS-3150] - wrong username in error message for AMQP connections
  • [ARTEMIS-3152] - COLUMNS button shows warning text from CLOSE in Browse Connection
  • [ARTEMIS-3155] - Differentiate SSL store type and provider
  • [ARTEMIS-3159] - AMQ222145: Error expiring reference Reference
  • [ARTEMIS-3172] - Don’t log STOMP CONNECT passcode header
  • [ARTEMIS-3174] - ServerSessionImpl doesn’t set new connection when transferring session
  • [ARTEMIS-3176] - Don’t log JDBC datasource “password” property
  • [ARTEMIS-3180] - Consumers with wildcards addresses broken
  • [ARTEMIS-3188] - StackOverflow over Bindings and load balancing
  • [ARTEMIS-3191] - Cannot use broker-connection mirror with credentials
  • [ARTEMIS-3200] - ProtonAbstractReceiver memory leak
  • [ARTEMIS-3201] - Configured Diverts aren’t persisted
  • [ARTEMIS-3203] - sorting tables does not work for all columns
  • [ARTEMIS-3204] - Resource Limiting on Queues is not working
  • [ARTEMIS-3217] - manually creating a queue under a wildcard address fails when address contains “*”
  • [ARTEMIS-3234] - Openwire Advisory messages are limited by prefetch in error
  • [ARTEMIS-3236] - broker.xml defined queue deleted on MQTT client disconnect with auto-delete-created-queues=false
  • [ARTEMIS-3237] - Logging OpenWire producer exception is confusing
  • [ARTEMIS-3238] - AMQP Mirror is not routing correctly with Durable SNF
  • [ARTEMIS-3240] - Openwire nonBlockingRedelivery to true doesn’t rollback the messages if the consumer is killed mid processing.
  • [ARTEMIS-3241] - binary archive LICENSE file contains improper (and possibly stale) entries for management console deps
  • [ARTEMIS-3257] - documentation references non-existing element transport-connector-ref
  • [ARTEMIS-3258] - downstream federation with ssl does not use the given truststore
  • [ARTEMIS-3261] - Infinite Redelivery could lead to extensive journal usage
  • [ARTEMIS-3270] - update build to enforce use of Maven 3.5.0+
  • [ARTEMIS-3271] - Avoid Multi Thread measurement on Critical Analyzer
  • [ARTEMIS-3273] - Option to recover messages from the journal
  • [ARTEMIS-3275] - CORE client unlocks communication during failover retries
  • [ARTEMIS-3285] - Potential duplicate messages with LVQ + non-destructive
  • [ARTEMIS-3294] - Error browsing messages with a text body
  • [ARTEMIS-3295] - Openwire advisories are clustered
  • [ARTEMIS-3302] - various use of deprecated-for-removal javax.security.cert.X509Certificate
  • [ARTEMIS-3304] - replace Long/Double/etc constructor usage marked deprecated for-removal
  • [ARTEMIS-3310] - Paging could lose AMQPmessage if match didn’t work for any reason
  • [ARTEMIS-3311] - potential loss of error propagation to producer on failed paged message add
  • [ARTEMIS-3317] - OpenWire property conversion can cause ClassCastException
  • [ARTEMIS-3318] - Paging won’t cleanup if there’s a truncated file for any reason.
  • [ARTEMIS-3323] - Openwire messageId needs to be globally unique
  • [ARTEMIS-3324] - Compacting could make the system to run out of open files generating increased latency
  • [ARTEMIS-3326] - OpenWireConnection, state visibility issue leading to javax.jms.IllegalStateException Cannot add a producer ..
  • [ARTEMIS-3330] - JMS session stopped on failed rollback
  • [ARTEMIS-3332] - Console uses Consumer ID instead of Consumer count for searching
  • [ARTEMIS-3333] - xml error in documentation for jgroups example
  • [ARTEMIS-3337] - CORE Client sessions are closed when there are errors during failover
  • [ARTEMIS-3338] - Rollback of prepared XA transactions fails after a connection failure
  • [ARTEMIS-3339] - Role Based Authorisation for JMX not working as expected
  • [ARTEMIS-3346] - Fix typo in coreMaptoJMSMap
  • [ARTEMIS-3354] - journal-max-io cannot be set to 1 with ASYNCIO journal
  • [ARTEMIS-3356] - Paging - wrong arguments in formatted message
  • [ARTEMIS-3366] - deleteAddress can remove SnF queue
  • [ARTEMIS-3372] - Openwire - deleting a queue leaves consumers in limbo
  • [ARTEMIS-3374] - Config managed queue can be deleted by durable subscriber
  • [ARTEMIS-3375] - “artemis address” shows the help text of “artemis queue”
  • [ARTEMIS-3381] - AMQP bypasses session when deleting queues
  • [ARTEMIS-3383] - AMQP Message isDurable returns false during RELOAD_PERSISTENCE state
  • [ARTEMIS-3384] - Duplicated messages with bridge duplicate detection enabled
  • [ARTEMIS-3385] - Management changes can be reverted by XML update
  • [ARTEMIS-3386] - Broker could use too many Threads to expire messages on the reaper
  • [ARTEMIS-3392] - Scale down would fail if target queue’s id greater than max int
  • [ARTEMIS-3394] - ClassCastException when queue & divert have same name
  • [ARTEMIS-3395] - Ensure sending audit log contains message ID
  • [ARTEMIS-3396] - MessageFormatException when consuming a message using OpenWire
  • [ARTEMIS-3397] - Remove queue rate metric from web console
  • [ARTEMIS-3398] - message count incorrect when browsing messages with filter in console
  • [ARTEMIS-3399] - Fix audit logging for AMQP
  • [ARTEMIS-3403] - wrong debug level in ArtemisMBeanServerGuard

New Feature

  • [ARTEMIS-2716] - Implements pluggable Quorum Vote
  • [ARTEMIS-2919] - Support timestamping incoming messages
  • [ARTEMIS-3106] - Support for SASL-SCRAM
  • [ARTEMIS-3137] - Support XPath filters
  • [ARTEMIS-3168] - JAAS login module to convert existing Principal to an Artemis UserPrincipal
  • [ARTEMIS-3198] - Add ability to increase concurrency on core bridges
  • [ARTEMIS-3243] - Dual Mirror Support on AMQP Broker Connections
  • [ARTEMIS-3280] - Expose Netty pool metrics via Micrometer
  • [ARTEMIS-3288] - Support bulk user loading with basic security manager
  • [ARTEMIS-3297] - Journal Retention Feature
  • [ARTEMIS-3365] - Broker Balancers
  • [ARTEMIS-3402] - Split Brain detection should reject bad member updates

Improvement

  • [ARTEMIS-2932] - Configuration of SSL/TLS
  • [ARTEMIS-2952] - Extending ActiveMQXAConnectionFactory is limited by readOnly being private
  • [ARTEMIS-2965] - Allow mirror to stop capture events and delete inner queue
  • [ARTEMIS-3045] - ReplicationManager can batch sent replicated packets
  • [ARTEMIS-3102] - ActiveMQSecurityManager5 should disconnect user when his authentication is not valid anymore
  • [ARTEMIS-3117] - Performance degradation when switching from JDK8 to JDK11
  • [ARTEMIS-3128] - Queue browser may cause OutOfMemoryError on server side
  • [ARTEMIS-3129] - add browse entry in RBAC
  • [ARTEMIS-3130] - filter fields broker in console
  • [ARTEMIS-3133] - Reduce memory usage for Null an Ping packets
  • [ARTEMIS-3138] - Shared Nothing Live broker shouldn’t try to connect to itself
  • [ARTEMIS-3141] - limit the amount of data returned from jmx/queue control listMessages
  • [ARTEMIS-3154] - Add support for navigation/deleting messages while being browsed
  • [ARTEMIS-3156] - Better support for PKCS #11
  • [ARTEMIS-3166] - Support disabling configuration file reload
  • [ARTEMIS-3175] - Restrict/truncate messages attributes to a configurable limit for management views
  • [ARTEMIS-3195] - Filter empty items from listNetworkTopology
  • [ARTEMIS-3196] - expose journal pool files in JMX
  • [ARTEMIS-3197] - Add selectorAware option to the openwire virtualTopicConsumerWildcards feature
  • [ARTEMIS-3202] - add flag to delete diverts removed from config
  • [ARTEMIS-3209] - improve error message AMQ222186: unable to authorise cluster control
  • [ARTEMIS-3219] - Improve FQQN message routing
  • [ARTEMIS-3226] - Add version output to cli
  • [ARTEMIS-3229] - Add details to AddressControl MBean
  • [ARTEMIS-3256] - internalqueue and internaladdress get their own color in the broker diagram
  • [ARTEMIS-3283] - Enable setting “slow-consumer-threshold” to lower than 1msg/second
  • [ARTEMIS-3284] - Clarify ordering of elements in broadcast group XML configuration
  • [ARTEMIS-3309] - Add a parameter to limit messages to move or transfer
  • [ARTEMIS-3315] - QueueControl fails JSON serialization of AMQP messages
  • [ARTEMIS-3327] - Remove unnecessary block operations on journal
  • [ARTEMIS-3331] - Improvements to Resource Adapter and example
  • [ARTEMIS-3334] - documentation gives no clue on how to place the jgroups config file in the classpath
  • [ARTEMIS-3340] - Replicated Journal quorum-based logical timestamp/version
  • [ARTEMIS-3343] - duplicate address-setting gets lost
  • [ARTEMIS-3360] - Backup connector ignores TTL settings on the connection factories
  • [ARTEMIS-3367] - The connector verifyHost parameter default should be changed
  • [ARTEMIS-3379] - Add message details to consumer audit log
  • [ARTEMIS-3393] - Support securityDomain on in-vm acceptor
  • [ARTEMIS-3400] - Add audit logging for message ack
  • [ARTEMIS-3401] - Support dead-letter and expiry identification on the web console via regex
  • [ARTEMIS-3404] - expose max retry interval on bridge mbean
  • [ARTEMIS-3405] - Log the end of paging mode for a destination
  • [ARTEMIS-3411] - Expose Divert Records on Print Data
  • [ARTEMIS-3414] - Disable OpenWire advisory support as default created configuration on CLI
  • [ARTEMIS-3417] - Disable Auto-delete queue and auto-delete address on the default broker.xml
  • [ARTEMIS-3177] - hide/show the internal addresses/queues for cluster operation

Test

  • [ARTEMIS-2813] - Kerberos tests failures on Java 11
  • [ARTEMIS-3044] - Add Artemis web console tests
  • [ARTEMIS-3185] - Various TLS tests fail on newer JDKs/environments
  • [ARTEMIS-3371] - Implement Testcontainer test for quid-dispatch
  • [ARTEMIS-3409] - DNSSwitchTest skips on Java 8 but fails on Java 11+ if preconditions not satisfied
  • [ARTEMIS-3412] - update Mockito to 3.11.2
  • [ARTEMIS-3413] - Validate Mirror with removeQueue=false

Task

  • [ARTEMIS-3038] - Investigate CoreClientOverOneWaySSLKerb5Test#testOneWaySSLWithGoodClientCipherSuite
  • [ARTEMIS-3121] - Refactor NettyAcceptor.getPrototcols(Map) method
  • [ARTEMIS-3182] - remove jcenter repo definition from artemis-mqtt-protocol module
  • [ARTEMIS-3183] - resolve warnings seen immediately upon starting build
  • [ARTEMIS-3224] - Removing Migration Tool from Artemis 1.x
  • [ARTEMIS-3227] - WebConsole shutdown after certain network isolations.
  • [ARTEMIS-3228] - Enable javadoc check on github PRs
  • [ARTEMIS-3293] - Test Paging on a System Test
  • [ARTEMIS-3296] - enable building on Java 16
  • [ARTEMIS-3314] - Fix warnings emitted during build of artemis-distribution module
  • [ARTEMIS-3328] - various assembly related improvements
  • [ARTEMIS-3341] - update checkstyle, use consistent plugin version
  • [ARTEMIS-3352] - misc pom cleanups
  • [ARTEMIS-3373] - Update org.apache.activemq.artemis.utils.collections to be consistent on Types

Dependency upgrade

  • [ARTEMIS-3123] - Update netty version to 4.1.59.Final
  • [ARTEMIS-3144] - Update resteasy version to 3.15.0.Final
  • [ARTEMIS-3165] - Update karaf version to 4.3.0
  • [ARTEMIS-3169] - Update jetty to 9.4.38 and servlet-api to 3.0
  • [ARTEMIS-3194] - Upgrade hawtio version to 2.13.1
  • [ARTEMIS-3199] - Upgrade postgresql to 42.2.19
  • [ARTEMIS-3215] - Upgrade hawtio version to 2.13.2
  • [ARTEMIS-3221] - Migrating to Jakarta EE 8 artifacts
  • [ARTEMIS-3232] - Upgrade netty version to 4.1.63.Final
  • [ARTEMIS-3242] - update to Qpid JMS 0.59.0
  • [ARTEMIS-3266] - Upgrade jetty version to 9.4.40.v20210413
  • [ARTEMIS-3287] - Upgrade micrometer version to 1.6.3
  • [ARTEMIS-3316] - Upgrade netty version to 4.1.65.Final
  • [ARTEMIS-3347] - update commons-io
  • [ARTEMIS-3348] - update hawtio
  • [ARTEMIS-3368] - Upgrade hawtio version to 2.13.5
  • [ARTEMIS-3380] - Upgrade jetty version to 9.4.43.v20210629
  • [ARTEMIS-3391] - Upgrade netty version to 4.1.66.Final
  • [ARTEMIS-3407] - update pax-exam to 4.13.4 and karaf to 4.3.1, get related tests to work on Java 11

Apache, ActiveMQ, Apache ActiveMQ, the Apache feather logo, and the Apache ActiveMQ project logo are trademarks of The Apache Software Foundation. Copyright © 2021, The Apache Software Foundation. Licensed under Apache License 2.0.