0.10 Release

Changes requiring user attention

  • The C++ broker now enables producer flow control by default. It is controlled via the default-flow-stop-threshold and default-flow-resume-threshold broker configuration parameters. See QPID-2935.
  • In the C++ broker, when declaring an exchange with an unknown type or canceling a message on an unknown subscription, an exception with code 404 is created. See QPID-2324 and QPID-2326.
  • The C++ broker now enables QMF version 1 and 2 event broadcasts by default. Previously only QMF version 1 events were enabled.
  • In the C++ broker, invalid arguments now result in a rejected queue-declare where previously they were ignored. See QPID-3087.
  • The C++ client now raises an exception if it is issued connection options that it doesn't recognize. Previously it silently ignored them. See QPID-3115.

New features and improvements

  • QPID-529: The C++ broker now supports priority-ordered message queuing.
  • QPID-1916: Maven artifacts were published for the Java client.
  • QPID-2104: The C++ broker has an improved last-value queue implementation.
  • QPID-2777, QPID-3009: There are new, experimental Perl, Python, and Ruby bindings for the C++ messaging API.
  • QPID-2921: In the C++ broker, message completion is now an asynchronous operation in more situations.
  • QPID-2934: C++ QMF agents can now authorize incoming method calls using an authentication ID passed with the corresponding message.
  • QPID-2935: The C++ broker and client now implement flow control by default. Related: QPID-3081.
  • QPID-2958: The .NET binding to the C++ client now targets an older version of the .NET Framework, 2.0, for broader compatibility.
  • QPID-2966: The C++ broker now allows administrators to alter logging levels at runtime.
  • QPID-3000: The C++ broker now optionally waits a configured time before removing auto-delete queues.
  • QPID-3002: The C++ broker now generates alerts when queues reach a certain depth.
  • QPID-3015: The C++ broker now supports creating queues and exchanges via QMF.
  • QPID-3031: The C++ client now allows setting the SSL certificate name in the connection options.
  • QPID-3032: You can now use more fine-grained ACLs to control QMF operations on the C++ broker.
  • QPID-3067: Examples using the old messaging API have been isolated under a common directory.
  • QPID-3115: Some cases where the C++ and python clients' connection options differed have been reconciled.

Bugs

The 0.10 release saw 101 bugs fixed. Among them were

  • 14 fixes affecting the Java broker, with several critical fixes around memory usage.
  • 18 fixes affecting the Java client
  • 25 fixes affecting the C++ broker
  • 6 fixes affecting the C++ broker's clustering feature
  • 11 fixes affecting the C++ client

Known issues

  • QPID-3182: Node bindings not established correctly when address used for producer
  • *QPID-3214: Deadlock between the failover mutex (in AMQConnection.java) and the current_exception_lock (in AMQSession.java)
  • *QPID-3216: Deadlock between "_lock" (in AMQSession#DisptcherThread) and "_messageDeliveryLock" (in AMQSession.java)

(star) All though these deadlocks are present in the release, the changes that have known to trigger them were committed post release. Therefore the likely-hood of these deadlocks appearing in the 0.10 release is slim.

Status

  • 28 April: 0.10 generally available
  • 25 April: RC4 voted and approved for 0.10
  • 14 April: RC4 released
  • 11 April: Release delayed to the week of 11 April
  • 4 April: RC3 released
  • 1 April: Release delayed to the week of 4 April
  • 24 March: RC2 released
  • 17 March: RC1 released
  • 3 March: Release branch created
  • 22 February: Alpha released

Issues

Features and improvements

http://bit.ly/flKT21

Open bugs

http://bit.ly/gXkak9

Open unassigned bugs

http://bit.ly/efkQqz

Candidate bugs

http://bit.ly/ifx9lV

Fixed bugs

http://bit.ly/fnwtxE

Distributions

Schedule

16 February

  • Alpha
  • Trunk remains open
  • Feature integration ends
  • The alpha release tests the release process after the introduction of major features

2 March, 2 weeks later

  • Beta
  • Branch for release (trunk remains open)
  • Release branch commits require approval
  • Release manager produces outstanding bug report, triages bugs

16 March, 2 weeks later

  • RC1

23 March, 1 week later

  • RC2

30 March, 1 week later

  • RC3
  • Targeted release date
  • No labels