- Replace Middleware with Events. There is now
bernard.invoke
,bernard.acknowledge
,bernard.reject
, andbernard.produce
events. This makes it easier to do custom integrations that often does something on the Producer and Consumer.
- Rename
NaiveSerializer
toSimpleSerializer
.
- Remove
RetryMiddleware
and addFailuresMiddleware
that just sends failed messages to failed queue. - Add
LoggerFactory
forLoggerMiddleware
. - Rename internal
Bernard\Message\Envelope
toBernard\Envelope
. - Service methods does not prepend
on
anymore.onSendNewsletter
would besendNewsletter
. - Remove
Invoker
Object. Instead this functionality have been moved into the Consumer which implements Middleware. - Remove Middleware from Queue. Instead the Producer implements Middleware.
- Producer takes a Queue name as the second parameter.
- Replace
ServiceResolver
withRouter
and migrate the old Pimple and Container ServiceResolver's
- Fix memory leak in Queue where SplObjectStorage would keep references to envelopes.
- Support any callable in ObjectResolver
- Implement Middleware. Middleware is used by the Consumer and Producer when a Message in queued or consumed.
- Removed Spork support until it can be reimplemented as a Middleware.
- Add
LoggerMiddleware
andErrorLogMiddleware
for basic logging when producing and consuming messages.
- Service resolvers now resolve to a callable. This allows for closures to do work.
- Consumer is now responsible for creating Invoker object.
- Spork return a Proxy object that allows calling the right method on service object.
- New schema for
DoctrineDriver
. Queues are now kept in a seperate table. ObjectResolver
now supports object instances and class names. Laravel can then register facades.- ServiceResolvers now takes an optional array of
array('MessageName' => $service)
.
- Fix bug in
DoctrineDriver
with prepared statements and limit placeholders.
- Add
ProduceCommand
by @ukautz. - Refactor examples in
example
directory to remove ugly code. - BC Break. Rename
Invocator
toInvoker
as the former is not a word. - New
NaiveSerializer
with no dependencies. - Fixed error in
DoctrineDriver
wheen peeking.
- Increment sleep in drivers that does not natively support internal to minimize CPU usage.
- Fix error in
$queueUrls
for SQS Driver where aliased queue urls would show up. - Include documentation for the new drivers and options. @ukautz
- Add driver for Amazon SQS @ukautz
- Add driver for Iron MQ @ukautz
- Add driver for Doctrine DBAL which brings support for major SQL backends.
- Implement acknowledge logic for messages and drivers that uses it. @ukautz
- Add prefetching for drivers that use slow endpoints and supports getting more than one message.
- Refactor
Consumer
and cover it with tests. - Drop using mocks where appropiate and instead use
InMemoryQueue
andInMemoryFactory
- Remove
example/in_memory.php
. - Bring consistency by using
Envelope
internally andMessage
externally (end user).