Release Notes — Fedora Messaging 1.1.0 documentation

# Release Notes

## v1.1.0 (2018-11-13)

### Features

- Initial work on a serialization format for `fedora_messaging.message.Message` and APIs for loading and storing messages. This is intended to make it easy to record and replay messages for testing purposes. (#84)
- Add a module, `fedora_messaging.testing`, to add useful test helpers. Check out the module documentation for details! (#100)

### Contributors

Many thanks to the contributors of bug reports, pull requests, and pull request reviews for this release:

- Jeremy Cline
- Sebastian Wojciechowski

## v1.0.1 (2018-10-10)

### Bug Fixes

- Fix a compatibility issue in Twisted between pika 0.12 and 1.0. (#97)

## v1.0.0 (2018-10-10)

### API Changes

- The unused `exchange` parameter from the PublisherSession was removed (PR#56)
- The `setupRead` API in the Twisted protocol has been removed and replaced with `consume` and `cancel` APIs which allow for multiple consumers with multiple callbacks (PR#72)
- The name of the entry point is now used to identify the message type (PR#89)

### Features

- Ensure proper TLS client cert checking with `service_identity` (PR#51)
- Support Python 3.7 (PR#53)
- Compatibility with Click 7.x (PR#86)
- The complete set of valid severity levels is now available at `fedora_messaging.api.SEVERITIES` (PR#60)
- A `queue` attribute is present on received messages with the name of the queue it arrived on (PR#65)
- The wire format of fedora-messaging is now documented (PR#88)

### Development Changes

- Use towncrier to generate the release notes (PR#67)
- Check that our dependencies have Free licenses (PR#68)
- Test coverage is now at 97%.

### Other Changes

- The library is available in Fedora as `fedora-messaging`.

### Contributors

Many thanks to the contributors of bug reports, pull requests, and pull request reviews for this release:

- Aurélien Bompard
- Jeremy Cline
- Michal Konečný
- Sebastian Wojciechowski

## v1.0.0b1

### API Changes

- `fedora_messaging.message.Message.summary` is now a property rather than a method (#25).
- The non-functional `--amqp-url` parameter has been removed from the CLI (#49).

### Features

- Configuration parsing failures now produce point to the line and column of the parsing error (#21).
- `fedora_messaging.message.Message` now come with a set of standard accessors (#32).
- Consumers can now specify whether a message should be re-queued when halting (#44).
- An example consumer that prints to standard output now ships with fedora-messaging. It can be used by running `fedora-messaging consume --callback="fedora_messaging.example:printer"` (#40).
- `fedora_messaging.message.Message` now have a `severity` associated with them (#48).

### Bug Fixes

- Fix an issue where invalid or missing configuration files resulted in a traceback rather than a formatted error message from the CLI (#21).
- Client authentication with x509 now works with both the synchronous API and the Twisted API ( #29, #35).
- `fedora_messaging.api.publish()` no longer raises a `pika.exceptions.ChannelClosed` exception. Instead, it raises a `fedora_messaging.exceptions.ConnectionException` (#31).
- `fedora_messaging.api.consume()` is now documented to raise a `ValueError` when the callback isn’t callable (#47).

### Development Features

- The fedora-messaging code base is now compliant with the Black Python formatter and this is enforced with continuous integration.
- Test coverage is moving up and to the right.

Many thanks to the contributors of bug reports, pull requests, and pull request reviews for this release:

- Aurélien Bompard
- Clement Verna
- Ken Dreyer
- Jeremy Cline
- Miroslav Suchý
- Patrick Uiterwijk
- Sebastian Wojciechowski

## v1.0.0a1

The initial alpha release for fedora-messaging v1.0.0. The API is not expected to change significantly between this release and the final v1.0.0 release, but it may do so if serious flaws are discovered in it.