CHANGES
=======

0.9.1 (2012-09-06)
------------------

- Fix IDataManager implementation: tpc_abort() may also be called without a
  prior tpc_begin() (happens for errors in savepoints, for example).
- Fix method signature of Connection.close().


0.9 (2012-08-31)
----------------

- Introduce optional integration with zope.security: handlers can declare a
  principal id with which an interaction will be created.
- Use a separate channel for sending messages that are not a response to a
  received message.
- Introduce SETTINGS_LAYER for tests relying on ISettings.


0.8 (2012-04-04)
----------------

- Fix race condition that caused messages to be acknowledged on a different
  channel than they were received on (#10635).

- Fix race condition that caused attempts at sending messages before the
  server was started properly (#10620).


0.7 (2012-03-22)
----------------

- Fix race condition between getting the current channel in the DataManager and
  switching the current channel in the Server (#10521).
- Make AMQP server configurable for tests (#9232).


0.6.1 (2012-02-23)
------------------

- Fixed bug in creating references header when parent message has no references
  (#10478).


0.6 (2012-02-22)
----------------

Features
~~~~~~~~

- Changed FileStoreReader from its own process to a thread that uses
  gocep.amqprun for sending (previously it used amqplib). Introduced
  ``amqp:readfiles`` ZCML directive. (#10177)

- Changed `filestore` extra to `readfiles` extra.

- Transmit filename as ``X-Filename`` header from ``amqp:readfiles``.

- Introduced ``ISender`` utility.

Bugs
~~~~

- Fixed bug with acknowledging messages that was introduced in 0.5 (#10030).

Internal
~~~~~~~~

- Changed API for MainTestCase from ``create_reader`` to ``start_server``.


0.5.1 (2012-01-09)
------------------

- Bugfix to support unicode arguments for queue declaration as pika
  only supports bytestrings here.
- Bugfix to make ``arguments`` parameter of ``amqp:writefiles`` work (#10115).


0.5 (2011-12-08)
----------------

General
~~~~~~~

- Added `writefiles` extra to make ZCML directive ``amqp:writefiles`` optional.

- Added `filestore` extra to make ``gocept.amqprun.filestore`` optional.

- Moved declaration of ``amqp:writefiles`` from ``configure.zcml`` to
  ``meta.zcml``.


Features
~~~~~~~~

- Renamed ``gocept.amqprun.server.MessageReader`` into
  ``gocept.amqprun.server.Server`` and added a ``send`` method so it can
  initiate sending of messages.

- Add support for arguments for queue_declare e.g to support x-ha-policy
  headers for RabbitMQ mirrored queue deployments (#10036).


Internal
~~~~~~~~

- Internal API change in ``server.AMQPDataManager.__init__``: the `message`
  parameter is now optional, so it was moved to the end of the list of
  arguments.

- Use plone.testing for layer infrastructure.


0.4.2 (2011-08-23)
------------------

- Add helper methods for dealing with header files to FileWriter (for #9443).


0.4.1 (2011-08-22)
------------------

- Log Message-ID.


0.4 (2011-07-25)
----------------

- The message id of outgoing messages is set.
- The correlation id of outgoing messages is set to the incoming message's
  message id (if set).
- A custom header ``references`` is set to the incoming message's reference
  header + the incomming message's message id (like `References` in RFC5322).
- Fixed broken tests.
- Allow upper case in settings keys.
- Extend AMQP server configuration for FileStoreReader to include credentials
  and virtual host.
- Allow specifying multiple routing keys (#9326).
- Allow specifying a filename/path pattern (#9327).
- The FileWriter stores the headers in addition to the body (#9328).
- FileWriter sends IMessageStored event (#9335).


0.3 (2011-02-05)
----------------

- Renamed decorator from ``handle`` to ``declare``.
- Added helper method ``wait_for_response`` to MainTestCase.
- Added an IProcessStarting event which is sent during startup.
- Added the <amqp:writefiles/> directive that sets up a handler that writes
  incoming messages into files.
- Added handling of <logger> directives


0.2 (2010-09-14)
----------------

- Added a decorator ``gocept.amqprun.handler.handle(queue_name, routing_key)``.


0.1 (2010-08-13)
----------------

- first release.
