fedora-messaging

A library for sending AMQP messages with JSON schema in Fedora infrastructure

GPL-2.0 License

Downloads
10.9K
Stars
49
Committers
29

Bot releases are visible (Hide)

fedora-messaging - v3.6.0 Latest Release

Published by github-actions[bot] 4 months ago

{{ needs.build.outputs.release-notes {{'}}'}}

fedora-messaging - Version 3.5.0

Published by abompard 7 months ago

Features

  • Add a replay command (#332)
  • Add support Python 3.11 and 3.12, drop support for Python 3.6 and 3.7
  • Better protection against invalid bodies breaking the headers generation and the instanciation of a message
  • Testing framework: make the sent messages available in the context manager

Documentation Improvements

  • Add SECURITY.md for project security policy (PR #314)
  • Add fedora-messaging-git-hook-messages to the known schema packages

Development Changes

  • Make the tests use the pytest fixtures and assert system (961b82d)
  • Make fedora-messaging use poetry (#294)
  • Add some generic pre-commit checks
  • Don't distribute the tests in the wheel

Contributors

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

  • Aurélien Bompard
  • Thibaut Batale
  • Khaled Achech
  • Lenka Segura
  • Ryan Lerch
fedora-messaging - Version 3.4.1

Published by abompard over 1 year ago

This is just a minor bugfix release to fix CI.

fedora-messaging - Version 3.4.0

Published by abompard over 1 year ago

Features

  • Mirror the message priority in the headers (eba336b)
fedora-messaging - Version 3.3.0

Published by abompard over 1 year ago

Features

  • Add support for asyncio-based callbacks in the consumer. As a consequence,
    the Twisted reactor used by the CLI is now asyncio. (#282)

Documentation Improvements

  • Improve documentation layout, and add some documentation on the message
    schemas. (1fa8998)
  • Add koji-fedoramessaging-messages to the list of known schemas. (ef12fa2)

Development Changes

  • Update pre-commit linters. (0efdde1)
fedora-messaging - Version 3.2.0

Published by abompard about 2 years ago

Features

  • Add a priority property to messages, and a default priority in the configuration (#275)
  • Add a message schema attribute and some documentation to help deprecate and upgrade message schemas (#227)

Other Changes

  • Use tomllib from the standard library on Python 3.11 and above, fallback to tomli otherwise. (PR#274)

Contributors

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

  • Akashdeep Dhar
  • Aurélien Bompard
  • Erol Keskin
  • Miro Hrončok
  • Stephen Coady
fedora-messaging - Version 3.1.0

Published by abompard about 2 years ago

Features

  • Add the app_name and agent_name properties to message schemas (#272)
  • Added "groups" property to message schemas. This property can be used if an event affects a list of groups. (#252)
fedora-messaging - fedora-messaging 3.0.1

Published by StephenCoady over 2 years ago

Released on 2022-05-12.

Development Changes

  • Add packit configuration allowing us to have automatic downstream RPM builds
    (#259 <https://github.com/fedora-infra/fedora-messaging/issues/259>_)

Contributors

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

  • Akashdeep Dhar
fedora-messaging - fedora-messaging 3.0.2

Published by abompard over 2 years ago

Released on 2022-05-19.

Contributors

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

  • Akashdeep Dhar
  • Aurelien Bompard

Full Changelog: https://github.com/fedora-infra/fedora-messaging/compare/v3.0.1...3.0.2

fedora-messaging - fedora-messaging 3.0.0

Published by abompard almost 3 years ago

Released on 2021-12-14.

API Changes

  • Queues created by the CLI are now non-durable, auto-deleted and exclusive, as server-named queues are. (#239)
  • It is no longer necessary to declare a queue in the configuration file: a server-named queue will be created. Configured bindings which do not specify a queue name will be applied to the server-named queue. (#239)
  • Drop support for Python 2 (#246)
  • Drop the Twisted classes that had been flagged as deprecated. Drop the deprecated Message._body property. Refactor the consuming code into the Consumer class. (#249)

Features

  • Support anonymous (server-named) queues. (#239)
  • Support Python 3.10 (#250)
  • Raise PublishForbidden exception immediately if publishing to virtual host is denied rather than waiting until timeout occurs. (#203)

Bug Fixes

  • Fixed validation exception of queue field on serialized schemas. (#240)

Documentation Improvements

  • Improve release notes process documentation (#238)
  • Build a list of available topics in the documentation from known schema packages (#242)

Development Changes

  • Start using pre-commit for linters and formatters (732c7fb)

Contributors

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

  • Aurélien Bompard
  • David Jimenez
  • Michal Konečný
  • Onur Ozkan
fedora-messaging - fedora-messaging 2.1.0

Published by abompard over 3 years ago

Released on 2021-05-12.

Features

  • Improve the testing module to check message topics and bodies separately, and to use the rewritten assert that pytest provides (#230)
  • Handle topic authorization by raising a PublishForbidden exception instead of being stuck in a retry loop (#235)
  • Test on Python 3.8 and 3.9 (#237)

Bug Fixes

  • Require setuptools, as pkg_resources is used (#233)

Development Changes

  • Update test fixture keys to 4096 bits (#232)
  • Use Github Actions for CI (#234)

Contributors

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

  • Aurélien Bompard
  • Jeremy Cline
  • Miro Hrončok
  • Pierre-Yves Chibon
fedora-messaging - fedora-messaging v2.0.2

Published by abompard about 4 years ago

This is a bugfix-only release

Bug Fixes

  • Set the QoS on the channel that is created for the consumer (#223)

Documentation Improvements

  • When running fedora-messaging consume, the callback module should not contain a call to api.consume() or it will block. (df4055f)
  • Update the schema docs (#219)
  • Fix quickstart cert file links (#222)
  • Fix the docs about exceptions being wrapped by HaltConsumer (#215)

Other Changes

  • Only try to restart fm-consumer@ services every 60 seconds (#214)
fedora-messaging - fedora-messaging v2.0.1

Published by abompard almost 5 years ago

This is a bugfix-only release.

Bug Fixes

  • Fix handling of new connections after a publish timeout (#212).
fedora-messaging - fedora-messaging v2.0.0

Published by abompard almost 5 years ago

Dependency Changes

  • Drop official Python 3.4 and 3.5 support
  • Bump the pika requirement to 1.0.1+

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.

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
fedora-messaging - fedora-messaging v1.7.2

Published by abompard about 5 years ago

1.7.2 (2019-08-02)

Bug Fixes

  • Fix variable substitution in log messages. (#200)
  • Add MANIFEST.in and include tests for sample schema package. (#197)

Documentation Improvements

  • Document the sent-at header in messages. (#199)
  • Create a quick-start guide. (#196)

Contributors

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

  • Adam Williamson
  • Aurélien Bompard
  • Jeremy Cline
  • Shraddha Agrawal
fedora-messaging - fedora-messaging v1.7.1

Published by jeremycline over 5 years ago

v1.7.1 (2019-06-24)

Bug Fixes

  • Don't declare exchanges when consuming using the synchronous
    fedora_messaging.api.consume API, which was causing consuming to
    fail from the Fedora broker
    (PR#191)

Documentation Improvements

  • Document some additional app properties and add a note about setting
    up logging in the fedora.toml and stg.fedora.toml configuration
    files
    (PR#188)
  • Document how to setup logging in the consuming snippets so any
    problems are logged to stdout
    (PR#192)
  • Document that logging is only set up for consumers
    (#181)
  • Document the fedora_messaging.config.conf and
    fedora_messaging.config.DEFAULTS variables in the API
    documentation
    (#182)

Contributors

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

  • Randy Barlow
  • Aurélien Bompard
  • Jeremy Cline
  • Adam Williamson
fedora-messaging - fedora-messaging v1.7.0

Published by jeremycline over 5 years ago

v1.7.0 (2019-05-21)

Features

  • "fedora-messaging consume" now accepts a "--callback-file" argument
    which will load a callback function from an arbitrary Python file.
    Previously, it was required that the callback be in the Python path
    (#159).

Bug Fixes

  • Fix a bug where publishes that failed due to certain connection
    errors were not retried
    (#175).
  • Fix a bug where AMQP protocol errors did not reset the connection
    used for publishing messages. This would result in publishes always
    failing with a ConnectionError
    (#178).

Documentation Improvements

  • Document the body attribute on the Message class
    (#164).
  • Clearly document what properties message schema classes should
    override
    (#166).
  • Re-organize the consumer documentation to make the consuming API
    clearer
    (#168).

Contributors

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

  • Randy Barlow
  • Aurélien Bompard
  • Jeremy Cline
  • Dusty Mabe
fedora-messaging - fedora-messaging v1.6.1

Published by jeremycline over 5 years ago

v1.6.1 (2019-04-17)

Bug Fixes

  • Fix a bug in publishing where if the broker closed the connection, the client would not properly dispose of the connection object and publishing would fail forever (PR#157).
  • Fix a bug in the fedora_messaging.api.twisted_consume function where if the user did not have permissions to read from the specified queue which had already been declared, the Deferred that was returned never fired. It now errors back with a fedora_messaging.exceptions.PermissionException (PR#160).

Development Changes

  • Stop pinning pytest to 4.0 or less as the incompatibility with pytest-twisted has been resolved (PR#158).

Other Changes

  • Include commands to connect to the Fedora broker in the documentation (PR#154).

Contributors

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

  • Aurélien Bompard
  • Jeremy Cline
fedora-messaging - fedora-messaging v1.6.0

Published by jeremycline over 5 years ago

v1.6.0 (2019-04-04)

Dependency Changes

  • Twisted is no longer an optional dependency: fedora-messaging requires Twisted 12.2 or greater.

Features

  • A new API, fedora_messaging.api.twisted_consume, has been added to support consuming using the popular async framework Twisted. The fedora-messaging command-line interface has been switched to use this API. As a result, Twisted 12.2+ is now a dependency of fedora-messsaging. Users of this new API are not affected by Issue #130 (PR#139).

Bug Fixes

  • Only prepend the topic_prefix on outgoing messages. Previously, the topic prefix was incorrectly applied to incoming messages (#143).

Documentation

  • Add a note to the tutorial on how to instal the library and RabbitMQ in containers (PR#141).
  • Document how to access the Fedora message broker from outside the Fedora infrastructure VPN. Users of fedmsg can now migrate to fedora-messaging for consumers outside Fedora's infrastructure (PR#149).

Contributors

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

  • Aurélien Bompard
  • Jeremy Cline
  • Shraddha Agrawal
fedora-messaging - fedora-messaging v1.5.0

Published by jeremycline over 5 years ago

v1.5.0 (2019-02-28)

Dependency Changes

  • Replace the dependency on pytoml with toml
    (#132).

Features

  • Support passive declarations for locked-down brokers
    (#136).

Bug Fixes

  • Fix a bug in the sample schema pachage
    (#135).

Development Changes

  • Switch to Mergify v2
    (#136).

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ý
  • Shraddha Agrawal
Package Rankings
Top 4.25% on Pypi.org
Related Projects