Apache Incubator Qpid Java M2 Release Notes
-------------------------------------------

The Qpid M2 release contains support the for AMQP 0-8 specification.
You can access the 0-8 specification using the following link.
http://www.amqp.org/tikiwiki/tiki-index.php?page=Download

For full details of Qpid capabilities, as they currently stand, see our
detailed project documentation at:

http://cwiki.apache.org/confluence/display/qpid/Qpid+Java+Documentation

From the link above you can access our Getting Started Guide, FAQ, Build How To
and detailed developer documentation.


Known Issues/Outstanding Work
-----------------------------

You can view the outstanding task list for Qpid by visiting our JIRA:
http://issues.apache.org/jira/browse/QPID

These issues are moved to M3 release.

Here is a filtered list for your convinience
---------------------------------------
New Feature	QPID-274 	add connection configuratble timeout on waituntilStateHasChanged
New Feature	QPID-156 	Implement persistence to disk for Qpid
New Feature	QPID-155 	Add ability to configure (on/off) queue creation on demand
New Feature	QPID-43 	Multiple-AMQP version support in the broker
New Feature	QPID-28 	Allow user to select policy for undeliverable message handling
New Feature	QPID-27 	Introduce user configurable redlivery delay
New Feature	QPID-22 	Provide run scripts for clustered broker

Improvement	QPID-430 	Message Age Alerting should not depend upon queue activity
Improvement	QPID-19 	Add protocol logging capability to client and broker
Improvement	QPID-11 	Move protocol literals from code to AMQConstant

Bug		QPID-539 	HeadersExchange doesnot correctly implement isBound
Bug		QPID-517 	Broker doesn't return NO_CONSUMERS code for an immediate message, when the consumer is disconnected.
Bug		QPID-469 	Redelivered information is currently recorded per message it should be per message per queue.
Bug		QPID-463 	Java client doesn't close connection gracefully when faced with broker with unsuported protocol version
Bug		QPID-462 	Exclusive queues and with subscription that 'filtersMessages' will build up messages it doesn't hasInterest() in.

Bug		QPID-397 	Client closeure can be processed before final message ack.
Bug		QPID-396 	Broker OutOfMemory Error handling
Bug		QPID-377 	NumberFormatException thrown by broker when running one performance test
Bug		QPID-293 	setting MessageListener after connection has started can cause messages to be "lost" on a internal delivery queue.

Bug		QPID-185 	Amend Java Broker handling of ifUnused & ifEmpty flags
Bug		QPID-168 	qpid-server.bat needs updated to support same arguments/features as qpid-server (via qpid-run) bash script


M2 Tasks Completed
-------------------

The set of JIRA tasks completed as part of the M2 effort is available at:
https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310520&styleName=Html&version=12312116


Here is a filtered (by Java components) version of the JIRA items

Task		QPID-190 	refactoring the java broker mbean classes
Task		QPID-125 	Moving eclipse plugin for broker management to Maven
Task		QPID-93 	Delete the old management modules (trunk\qpid\java\management)

New Feature	QPID-428 	Add login functionality for a qpid server from the management console
New Feature	QPID-418 	Add ability to save user preferences to Java Management Console
New Feature	QPID-170 	Enhance Management features to support moving a message from one queue to another

Improvement	QPID-482 	[Java] Small performance tweaks
Improvement	QPID-466 	Create STRICT_AMQP System property to disable JMS extensions in Java client
Improvement	QPID-453 	AMQShortString should implement Comparable
Improvement	QPID-422 	Consolidate notification view to display all user configured notifications on one view
Improvement	QPID-421 	Provide enumerated description for static constants including delivery mode
Improvement	QPID-420 	Add client id to information displayed about connections on management console
Improvement	QPID-419 	Introduce read-only and modify authorisation for all objects in a virtual host
Improvement	QPID-129 	improving Broker MBeans

Bug		QPID-540 	Transient Broker throws NullPointerException and locks up.
Bug		QPID-538 	[Memory Leak] Connecting lots of consumers causes the broker memory to leak
Bug		QPID-537 	Make AMQMessage.incrementReference public
Bug		QPID-531 	[Memory Leak] Broker retains messages that are consumed with NO_ACK
Bug		QPID-527 	encoding issue
Bug		QPID-508 	[Memory Leak] Broker does not return mandatory messages sent outside of a transaction.
Bug		QPID-476 	AMQProtocolSession channelId2SessionMap does not have sessions removed
Bug		QPID-472 	Creation of TemporaryQueues will not guarantee unqiue queue names if created rapidly.
Bug		QPID-471 	UserManagement panel lists all users but only after a View Users has been executed and is not updated on Create/Delete User

Bug		QPID-467 	Complete Interop Testing
Bug		QPID-465 	Incorrect Exception thrown from send() method.
Bug		QPID-459 	Broker doesn't correctly handle noLocal consumers when messages are pre-exisiting on queues.
Bug		QPID-458 	Queue Browsing Broken
Bug		QPID-454 	Message 'taken' notion is per message. But should be per message per queue
Bug		QPID-443 	Abruptly disconnecting client on transaction publish causes error
Bug		QPID-440 	Can create dangling transactions on unroutable messages.
Bug		QPID-436 	topic exchange doesn't obey the mandatory flag
Bug		QPID-414 	Authentication requires plain text passwords in password file
Bug		QPID-408 	Queue Depth data incorrect
Bug		QPID-290 	Java broker does not honor maximum number of channels threshold
Bug		QPID-276 	Potential race condition in AMQChannel
Bug		QPID-200 	set/get Destination not implemented in JMSMessage impl
Bug		QPID-166 	Check for pre conditions to satisfy JMS spec requirments
Bug		QPID-162 	over 600 warnings when building under Eclipse
Bug		QPID-159 	The following Interface implementations do not throw Exceptions as required by the spec
