- Replace Middleware with Events. There is now
bernard.invoke,bernard.acknowledge,bernard.reject, andbernard.produceevents. This makes it easier to do custom integrations that often does something on the Producer and Consumer.
- Rename
NaiveSerializertoSimpleSerializer.
- Remove
RetryMiddlewareand addFailuresMiddlewarethat just sends failed messages to failed queue. - Add
LoggerFactoryforLoggerMiddleware. - Rename internal
Bernard\Message\EnvelopetoBernard\Envelope. - Service methods does not prepend
onanymore.onSendNewsletterwould besendNewsletter. - Remove
InvokerObject. 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
ServiceResolverwithRouterand 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
LoggerMiddlewareandErrorLogMiddlewarefor 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. ObjectResolvernow supports object instances and class names. Laravel can then register facades.- ServiceResolvers now takes an optional array of
array('MessageName' => $service).
- Fix bug in
DoctrineDriverwith prepared statements and limit placeholders.
- Add
ProduceCommandby @ukautz. - Refactor examples in
exampledirectory to remove ugly code. - BC Break. Rename
InvocatortoInvokeras the former is not a word. - New
NaiveSerializerwith no dependencies. - Fixed error in
DoctrineDriverwheen peeking.
- Increment sleep in drivers that does not natively support internal to minimize CPU usage.
- Fix error in
$queueUrlsfor 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
Consumerand cover it with tests. - Drop using mocks where appropiate and instead use
InMemoryQueueandInMemoryFactory - Remove
example/in_memory.php. - Bring consistency by using
Envelopeinternally andMessageexternally (end user).