0.20 Release Notes
The full list of changes in the Qpid 0.20 release incorporates both the issues worked on during the 0.19 development stream and any final touches made during the 0.20 release process. A list of these JIRA issues can be found below.
New Features and Improvements
- QPID-2367 - Early Initialization of File Descriptors Conflicts With Daemon Best Practices
- QPID-2393 - Qpid C++ broker: request for feature to limit number of queues per user
- QPID-3351 - Provide ability to specify the network interface qpidd should bind to
- QPID-3892 - ACLs shall support full regular expressions in property values
- QPID-4079 - C++ Broker needs log messages to track object life cycles for auditing
- QPID-4084 - Qpid logger should you milliseconds in when outputing formatted timestamps
- QPID-4114 - [Java Performance Tests] performance test package should be created by ant release-bin target
- QPID-4125 - [Java Broker] Improve persistent transacted message performance for multiple channels on same connection
- QPID-4143 - Various tweaks to Java perftest configuration
- QPID-4152 - Refactor coverage targets in Java build system
- QPID-4174 - QMF events for (dis)connecting a client to have few more parameters
- QPID-4178 - qpidd refactor
- QPID-4189 - Add unit tests to support QPID-4167 (ConfiguredObjectToMapConverter tests)
- QPID-4195 - Add AMQP 1.0 JMS client to release script
- QPID-4230 - C++ Broker could use username substitution keyword strings in Acl rules
- QPID-4236 - [Java Broker] remove group definition funcionality from ACL
- QPID-4237 - [Java Broker] add a GroupProvider and associated rest management functionality
- QPID-4241 - browse-only queues
- QPID-4245 - [Java Broker] add a LogActor for the HTTP management interface
- QPID-4253 - Make web UI support for BASIC authentication configurable
- QPID-4255 - Add "log out" functionality to web UI
- QPID-4261 - [Java client] add options to Binding URLs to allow specifying exchange properties when using custom exchanges
- QPID-4270 - Web management plugin should write operational log entries on startup, shutdown etc
- QPID-4272 - Large amounts of code are duplicated between the SSL and TCP transports
- QPID-4283 - Make web management capable of using external authentication manager.
- QPID-4284 - Remove system test dependencies on development and localhost virtual hosts
- QPID-4288 - PID and Platform info should be cached and reused for subsequent connections
- QPID-4291 - Renamed the Ruby gemfile to "qpid_messaging"
- QPID-4296 - Push down 0-8..0-9-1 flow control implementation to AMQSession_0_8 (refactor)
- QPID-4297 - Broker should not rely on Subject.getPrincipals.iterator().next() to find 'username principal'
- QPID-4310 - [Java Distributed Tests] Display performance test results in messages per second
- QPID-4313 - Address review comments from QPID-4109 (Reenable LoggingManagement)
- QPID-4317 - make browse-only x-arg similar to others.
- QPID-4321 - Perf tests should not try to Message.acknowledge a producing session
- QPID-4334 - [Java broker] move the Firewall functionality into the ACL plugin
- QPID-4335 - [java broker] replace current plugin system with a simplified system
- QPID-4338 - Performance tests charting: Support long chart descriptions and allow colour/stroke to be controlled
- QPID-4350 - HA handle auto-delete queues
- QPID-4351 - Provides systemd support for qpidd
- QPID-4353 - Reorganise Java system tests so they will work with de-OSGI-fied plugins
- QPID-4355 - LICENSE and NOTICE included in jar files should be able to be module specific
- QPID-4358 - Restructure Java Broker docbook
- QPID-4365 - [AMQP 1-0 JMS Client] Support setting the client-id after the JMS connection has been created.
- QPID-4368 - Add AMQP 1.0 Support
- QPID-4385 - Java Performance Tests should reset client registration timeout after each registration
- QPID-4468 - [Java client] restore ability to enable SSL using a connection level option rather than as a sub-option of each brokerlist entry
- QPID-4469 - [Java common] remove unused sslContext parameter from OutgoingNetworkTransport#connect()
- QPID-4475 - Web management plugin support for PLAIN SASL mechanism
- QPID-4479 - spout/drain examples fixes and improvements
- QPID-4499 - Relocate all Swig .i files to include directories.
Bugs Fixed
- QPID-2796 - [Java] implement support for heartbeats following IO changes to the 0-8/0-9/0-9-1/0-10 broker and 0-8/0-9/0-9-1 client
- QPID-3491 - windows c++ build with MSSQL storage cannot start with persisted messages in the store
- QPID-3500 - qpidd --help should ignore other parameters (incl. config file)
- QPID-3723 - qpid 0.12 make fails on Linux Mint 12 (I think derived from Ubuntu 11.10)
- QPID-3866 - Priority ring queue lets lower-priority message displace higher-priority
- QPID-3968 - Removed puts from QMFv1 Ruby bindings.
- QPID-4051 - [Java client] the 'connecttimeout' ConnectionURL option is no longer effective
- QPID-4053 - Performance Test Framework: QueueDelete can timeout if test ends when too many unprocessed messages remain on test queue
- QPID-4056 - HAClusterManagementTest.testRemoveNodeFromGroup fails occasionally on Apache CI
- QPID-4095 - Boost 1.50.0 has removed filesystem version 2 from the library
- QPID-4102 - Sender.send(timeout=N) should pass timeout=N to self.sync()
- QPID-4124 - [Java Broker] TransactionTimeout logging has duplication and some erroneously uses default Object.toString
- QPID-4127 - SystemInfo.isLocalHost("::1") returns false if there is no 'real' ipv6 address
- QPID-4139 - qpid-stat -b does not show broker names anymore
- QPID-4146 - JMS client: node binding not created for topic node
- QPID-4147 - python-qpid client does not handle interrupts on its selector
- QPID-4162 - AlternateExchangeTests.test_queue_autodelete occasionally fails with ProtocolViolationException on Java Broker
- QPID-4176 - HA Error handling
- QPID-4179 - Cluster does not replicate exclusive status of queues.
- QPID-4180 - Occasional Buffer leak in qpidd
- QPID-4185 - update example ACL example to be clearer and reduce extraneous logging from management operations
- QPID-4186 - JMX management ACL allow/deny logging not useful because it does not include principal name
- QPID-4187 - Management ACL logging sometimes prints N/A instead of user name
- QPID-4188 - improve MBeanInvocationHandler to allow logging exceptions/errors thrown during JMX operations
- QPID-4193 - Multi-link Federation links may not recover during a failover
- QPID-4194 - cluster should enable queue events in CATCHUP state
- QPID-4225 - CLONE - "qpid::TransportFailure" exception leak in AutoCancel destructor leads to termination of client
- QPID-4227 - QMF console.py does not correctly set authorized user-id
- QPID-4228 - Remove cluster
- QPID-4231 - [Java Broker] Update optional BDB store to use version 5.0.58 of BDB
- QPID-4234 - ConfigurationObservers are not notified of queue deletion
- QPID-4238 - Virtual hosts or queues with dots in their names do not work
- QPID-4249 - C++ Broker needs TopicExchange binding key lookup matching in all Acl rules
- QPID-4250 - [Java client] producer creation using BindingURLs on 0-8/0-9/0-9-1 connections does not respect setting qpid.declare_exchanges=false
- QPID-4257 - Windows+SSL: Client hang on broker close, broker memory leak
- QPID-4267 - Prevent multiple inclusion of ra.xml and jboss-ra.xml files in JCA jar and JCA rar
- QPID-4268 - C++ Broker needs Acl support for limiting on-disk store
- QPID-4269 - Qpid windows service ignore service parameters
- QPID-4271 - Avoid ThreadLocal leakage etc at shutdown so that Broker behaves better when embedded within Containers
- QPID-4275 - Java Performance Tests - race condition between closing test consumer and test connection
- QPID-4277 - [Java client] 0-10 client path cant declare durable/auto-delete exchanges when using 'Address' based destinations
- QPID-4282 - Web UI JavaScript - remove debug logging (console.log / console.dir)
- QPID-4285 - HA backups continuously disconnect / re-sync after attempting to replicate a deleted queue
- QPID-4289 - [Java Client 0-8/0-9.x] Failover functionality sometimes does not restore the connection
- QPID-4290 - ReplicatingSubscription counts as a consumer and doesn't allow auto-delete queues to be deleted
- QPID-4292 - add ACL rule to authorise access to the web management UI
- QPID-4293 - HA broker crashes on startup
- QPID-4294 - Windows installer looks for dotnet example solution files in wrong place
- QPID-4298 - org.apache.qpid.client.AMQQueueDeferredOrderingTest.testPausedOrder occasionally fails.
- QPID-4302 - 0-8..0-9-1 client should sync after message.acknowledge()
- QPID-4303 - FailoverTest sometimes fails on slower CI boxes.
- QPID-4311 - [Java Distributed Tests] Publishing client publishes messages infinitely if start delay interval exceeds the maximum duration
- QPID-4330 - windows clients hang or fault on exit (static destructors)
- QPID-4332 - Java Broker logs "Warning: The encoding 'UTF-8' is not supported by the Java runtime." in response to some LoggingMangement operations
- QPID-4337 - qpid-tools' SSL support for systems with python < 2.6 is broken
- QPID-4340 - Cannot create a durable exchange with addressing
- QPID-4341 - ensure the Topic perftests actually use Topic destinations
- QPID-4345 - Windows memory leak
- QPID-4347 - durable links break recovery
- QPID-4352 - Java client logs key_store_password/trust_store_password from connection url at debug
- QPID-4359 - [Java Broker] an IOException is logged when closing a connection which is using SSL
- QPID-4360 - Non-ready HA broker can be incorrectly promoted
- QPID-4374 - HA throughput issues during longevity testing
- QPID-4378 - C++ Broker deletes dynamic bridges too aggressively
- QPID-4379 - HA does not properly handle expired messages
- QPID-4383 - [AMQP 1-0 JMS Client] Fix connection string to allow for URL encoded username/password
- QPID-4384 - [Java AMQP 1.0 Client] Receipt of continuation transfers into unsettled map incorrectly handled
- QPID-4386 - set_target_properties variables missing double quotes
- QPID-4389 - [Java client] DurableSubscriber resubscription fails when using the 'Address' destination syntax
- QPID-4391 - HA replicating subscriptions should not auto-delete queues
- QPID-4392 - C++ Broker - channel number collisions on federated links
- QPID-4393 - HA BrokerReplicator should call queue->bind, not exchange->bind
- QPID-4395 - [AMQP 1-0 JMS Client] Client Ack in onMessage not working
- QPID-4396 - [AMQP 1-0 Java Client] Move examples into sub-module and thus remove dependency on commons-cli
- QPID-4400 - WCF HelloWorld example throws an XMLException
- QPID-4404 - C++ Broker qpidd hang with --config <directory> command line
- QPID-4409 - [AMQP 1-0 JMS Client] QueueConnection createDurableConnectionConsumer() should throw IllegalStateException
- QPID-4410 - Restore compatibility with pre-0.18 qpid-config command line options
- QPID-4413 - cmake build puts qpid.pc and qmf2.pc in wrong place
- QPID-4414 - LICENSE and NOTICE files moved; Windows installer now looks in wrong place
- QPID-4415 - perl bindings installed in wrong place
- QPID-4417 - swig 1.3.29 generated bad perl bindings
- QPID-4418 - configure gives misleading error if g++ missing
- QPID-4419 - [Java Broker] incorrect handling of missing sasl mechanism during 0-10 connection establishment
- QPID-4422 - Python Client (0-8..0-9) should allow "instance" client property to be passed in order to allow re-subscribing to durable subscriptions
- QPID-4424 - C++ Broker on Windows - Assertion Failed: !dispatcher - PollableQueue.h line 136
- QPID-4426 - C++ Messaging Client .NET Binding callback server example fails to relay exceptions to main loop
- QPID-4427 - C++ Messaging Client .NET Binding failed to wrap Receiver.close() managed exception
- QPID-4428 - HA add UUID tag to avoid using an out of date queue.
- QPID-4434 - Can't build C++ components with cmake if minimum swig version not present
- QPID-4435 - Reconnect on connect failure hangs at third address to try
- QPID-4441 - [Java broker] queue declare arguments are lost during v6 schema update for the optional bdbstore
- QPID-4442 - x-match fails to match properties
- QPID-4448 - Credit checking messages for sending on 0-10 of messages from 1.0 results in seg fault
- QPID-4449 - Fix for QPID-4286 changed the standalone qmf-agent API
- QPID-4451 - Need to wait for outgoing messages to settle when calling Connection::close()
- QPID-4452 - issuing and handling of producer credit not implemented
- QPID-4453 - [AMQP 1.0 JMS Client] ObjectMessage /w no body improperly converted to an AMQP message.
- QPID-4454 - [AMQP 1.0 JMS Client] getJMSReplyTo() != the value set with setJMSReplyTo()
- QPID-4455 - [AMQP 1.0 JMS Client] Queue browsers were not returning jms messages
- QPID-4459 - Sender doesn't settle messages
- QPID-4460 - after drain, full credit is not replenished
- QPID-4461 - [Java broker] the qpid-server startup scripts logfile naming prefix and suffix configuration does not work
- QPID-4464 - broker does not set container name on AMQP 1.0 connection open
- QPID-4465 - only send subject filter if subject is specified
- QPID-4472 - NPE when connecting over AMQP 1.0 with no SASL layer
- QPID-4474 - ensure the BDBHAMessageStore JMX MBean name is quoted
- QPID-4476 - [Java broker] SimpleLDAPAuthenticationManager returns different Principal name formats for sasl vs non-sasl usage
- QPID-4477 - Need to handle case where outcome is issued by peer before init has been sent
- QPID-4478 - AMQP 1.0: flow is occasionally not sent when setting capacity
- QPID-4480 - If amqp/map contains a string containing a null, perl bindings will truncate it when encoding
- QPID-4489 - [Java broker] ensure the IoSender is stopped when a connection closes before receiving a protocol initiation
- QPID-4495 - The qpid_messaging gemfile does not install properly on RHEL 6.2
- QPID-4501 - Fix build issues regarding language bindings and autotools
- QPID-4503 - [Java broker] Producer transaction timeout detection feature may log spurious open/idle alerts and close client connections/sessions without good cause
- QPID-4512 - [Java Broker] JMX QueueMBean#deleteMessages only deletes the first matching message from the range
- QPID-4519 - [Java broker] Virtualhost JMX MBean StatusEnabled attribute has the wrong value, and checking it should not cause an update
- QPID-4521 - [Java broker] routing to an alternate exchange during queue deletion and AMQP 0-10 message-reject fails when it is a topic exchange
Tasks
- QPID-4103 - [Java Performance Tests] Allow specifying of test configuration with Javascript
- QPID-4160 - remove the old JMX Management Console
- QPID-4242 - Remove Incomplete QMF1 implementation from Java Broker
- QPID-4314 - [Java Distributed Tests] Add performance tests measuring the impact of selectors on consumer performance
- QPID-4333 - [Java broker] remove the Slow Consumer Detection plugin
- QPID-4361 - [Java broker] Add introduction, installation guide and getting started docbook
- QPID-4431 - deploy snapshot maven artefacts to repository.apache.org from CI
- QPID-4443 - [Java broker] add documentation for the message stores
- QPID-4456 - update the Java broker-only release package to account for changes in plugin system
- QPID-4511 - stop duplicating the broker plugins in the 'java release' binary