Dependency Changes
- Drop official Python 3.4 and 3.5 support
- Bump the pika requirement to 1.0.1+
- New dependency: [Crochet](https://crochet.readthedocs.io/en/stable/)
API Changes
- Move all APIs to use the Twisted-managed connection. There are a few minor
changes here which slightly change the APIs:
1. Publishing now raises a PublishTimeout when the timeout is reached
(30 seconds by default).
2. Previously, the Twisted consume API did not validate arguments like
the synchronous version did, so it now raises a ValueError on invalid
arguments instead of crashing in some undefined way.
3. Calling publish from the Twisted reactor thread now raises an
exception instead of blocking the reactor thread.
4. Consumer exceptions are not re-raised as `HaltConsumer` exceptions
anymore, the original exception bubbles up and has to be handled by the
application.
Features
- The `fedora-messaging` cli now has 2 new sub-commands: `publish` and `record`.
(PR 43)
- Log the failure traceback on connection ready failures.
Bug Fixes
- Fix an issue where reconnection to the server would fail.
(208)
- Don't declare exchanges when consuming.
(171)
- Fix Twisted legacy logging (it does not accept format parameters).
- Handle ConnectionLost errors in the v2 Factory.
Development Changes
- Many Twisted-related tests were added.
- Include tests for sample schema package.
- Update the dumps and loads functions for a new message format.
Documentation Improvements
- Document that logging is only set up for consumers.
- Update the six intersphinx URL to fix the docs build.
- Add the "conf" and "DEFAULTS" variables to the API documentation.
- Update example config: extra properties, logging.
- Document a quick way to setup logging.
- Document the sent-at header in messages.
- Create a quick-start guide.
- Clarify queues are only deleted if unused.
- Wire-format: improve message properties documentation.
- Note the addition client properties in the config docs.
Contributors
Many thanks to the contributors of bug reports, pull requests, and pull request
reviews for this release:
- Aurélien Bompard
- Adam Williamson
- dvejmz
- Jeremy Cline
- Randy Barlow
- Shraddha Agrawal
- Sebastian Wojciechowski