8000 Releases · nimbly/Syndicate · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Releases: nimbly/Syndicate

Release 2.0

25 Feb 20:04
46765d9
Compare
Choose a tag to compare

Fixes

  • Slight refactor of RedisPubsub to call Consumer::current() directly within while-loop - this allowed for easier mocking in unit tests.
  • Adding pcntl workarounds for PubSub\Redis that will correctly interrupt and shutdown when new messages arrive. Library still hard blocks while idle/waiting for new messages.

Updates

  • Splitting out Mock into a MockQueue and MockSubscriber classes, updating unit tests due to the namespace change.
  • Unifying all adapters under the Adapter namespace.
  • Moved interfaces for publishers, consumers, and subscribers into Adapter namespace.
  • Moved Router, RouterInterface, and Consume attribute under the Router namespace.
  • Moved exceptions into Exception namespace.
  • Message class now has a parsed_payload property that can be passed into the constructor or with the setParsePayload method along with a getParsedPayload method.
  • Reorganized and greatly expanded documentation.
  • Increased code coverage.
  • Some adapters have had publishing options moved into the Message attributes (Mqtt, Sns, Beanstalk, RabbitMQ). This move is a more natural fit as these options are tightly coupled to the Message itself (eg, Message ID, Group ID, QOS, etc.), and not necessarily publishing in general.

New features

  • New Adapters
    • Adding support for Gearman.
    • Adding support for Outbox (publish only.)
    • Adding support for Mercure (publish only.)
    • Adding support for NullPublisher (publish only.)
    • Adding support for Segment (publish only.)
  • Validators: validate Messages against a schema or other rule set. Validators can be used in filters or in middleware.
    • JSON Schema support added
  • Middleware: Interact with messages before and after processing.
    • ValidateMessage middleware that validates all incoming (consumed) messages.
    • DeadletterMessage middleware that will deadletter Subscriber based consumers.
    • ParseJsonMessage middleware that will parse your JSON messages and attach parsed payload to Message.
  • Filters: chain one or more filters to a publisher to add new functionality.
    • RedirectFilter redirects a Message to specific topic instead of the Message's topic.
    • ValidatorFilter validates messages against given validator before being publishing. Throws exception if message does not validate.

Breaking changes

  • All adapters have been moved under a single Nimbly\Syndicate\Adapters namespace.
  • All exceptions have been moved to the Nimbly\Syndicate\Exceptions namespace.
  • DeadletterPublisher has been renamed to RedirectPublisher and moved to the Nimbly\Syndicate\Filter namespace.
  • All routing classes (Router, Consume attribute, and RouterInterface) have been moved to the Nimbly\Syndicate\Router namespace.

Please refer to documentation for more detailed information.

Release 1.1

16 Jan 22:56
Compare
Choose a tag to compare

Updates

  • Adding support for LoopConsumerInterface integrations within the framework.

Release 1.0.1

16 Jan 00:40
Compare
Choose a tag to compare

Updates

  • Removing hard requirement for ext-pcntl
  • Adding additional logging if no ext-pcntl or empty interrupt signals
  • Adding additional logging when graceful shutdown initiated and completed
  • Making signals default to [SIGINT, SIGTERM]
  • Logging of message dispatch is now a debug level
  • Upgrading dev dependencies for phpunit and psalm
  • Adding better connection related exception catching in several integerations
  • Cleaner documentation

Fixes

  • Fixed bug with improper sprintf format

Release 1.0

14 Jan 19:02
Compare
Choose a tag to compare

Official 1.0 release of Syndicate.

It is a complete rewrite and rework of the framework and is not backwards compatible with beta releases (0.x).

Please refer to README.md for more information.

Release 0.8

14 Apr 21:28
Compare
Choose a tag to compare

Updates

  • Adding PSR-11 Container support.
  • Adding dependency resolution when dispatching to handlers.

Fixes

  • MockQueue adapter will release message properly now.

Release 0.7

30 Mar 20:42
Compare
Choose a tag to compare

Fixes

  • Redis release() now re-queues the entire source message instead of the payload.

Updates

  • Cleaning up message de-queuing process in all queue drivers.
  • Removing composer.lock from repo - should prevent any package conflicts.

Release 0.6

18 Oct 18:13
Compare
Choose a tag to compare

New features

  • Queue now has shutdown() method to exit listen() loop.
  • Support for PCNTL signals in a safe and sane manner.

Fixes

  • Beanstalk queue driver now provides default Beanstalk values instead of null.
  • Redis driver now uses blpop (blocking left pop) to get message.

Breaking changes

  • Dispatcher no longer provides a listen method. Invert the dependency and have the Queue callback call the Dispatcher instead.
$queue->listen(function(Message $message) use ($dispatcher): void {
    $dispatcher->dispatch($message);
});
0