All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Compatibility with Symfony 7.0+
- Compatibility with Symfony 5.x
- Complete support for Symfony 7
- Support for Doctrine ORM 3
- Remove limitations on usage on proxies! 🎉
- New way of injecting the dispatcher to entities. This is great and also supports proxies! (which was previously a limitation)
- The easy crew got us! The configuration is now deadly simple. Look at the UPGRADE guide to learn how to move from v2 to v3.
- Add new return types (for Symfony 6)
- Add new context parameter for DomainDenormalizer
- Fix "has dispatcher" check (this is a helper for developers)
- Ignore dispatcher in Symfony serializer (fix API Platform 2.7 & 3.0 doc) #17
- A listener on entities flush when your application is in debug mode. It ensure you're instancing your entities the right way, so the property
dispatcher
must always contains anDomainEventDispatcherInterface
instance. If not it throw an exception and tells you which entities is causing the error. - Compatibility with Symfony 6.0
- PHP minimum version is now 7.4
- Configure test suite to allow integration tests and configure a test Kernel.
- Refactor the FakeModel test entity to use classic doctrine annotations.
- Deleted objects will now trigger PostPersistDomainRule like insertions & updates
- Updated test suite to work with PHPUnit 8.x and run CI with PHP 8.0 & 8.1
- Compatibilty with Symfony 4.3 (and 5.x), basically make the library usable again.
- Compatibility with Doctrine 2.7
- Change the interface used in the DomainEventDispatcherInterface for the event dispatcher to make it compliant with the traceable event dispatcher
- Don't register Domain denormalizer if Symfony serializer isn't register
- Domain component now shows events in the profiler of Symfony!
- Removed BC layer for Sf < 4.3 (was useless)
- Add cacheable supports on Domain Denormalizer
- Fix domain denormalizer construct signature
- Breaking changes: the prototype of
dispatch
method is inversed (event object first, then event name). According to Symfony dispatcher update - Support for Symfony 4.3 and 5.0
- Denormalizer updates for v2.0 #23
- The EventDispatcher should be final #4
- Add support for static factories in domain model instantiator
- Use new Symfony 4.2
- Added possibility to autowire domain dispatcher
- Implementation of 2 domain rule interfaces is now working #39
- Add information about event timing in itself #40
- Fix wrong listener on doctrine connection #37
- Fix for execution order in post persist rules
- Correct an error that occurs when we flush in a rule.
- Support for embbeded events in the
DomainEvent
- New method
instantiateWithArguments
on the instantiator (because most part of the time you want to add arguments) - The deserializer is now only one class: simpler and better. It decorates the serializer the right way.
- DEPRECATED: as a result of refactoring the deserializer the
ApiPlatformDomainDeserializer
is deprecated to be removed in the 2.x version.
- The domain event dispatcher now supports "delayed" rules that will be execute only after the model is persist.
- Automatic persist detection for doctrine with the new doctrine subscriber
DoctrinePostPersistListener
- Integration of the doctrine subscriber in the bundle
- The component now uses an interface and a trait to avoid to force you to extends from a specific class
- [Minor BC Break] The DomainEventDispatcher now accept a
RuleInterface
instead ofDomainRuleInterface
. This is a problem only if you extends the domain dispatcher (which is to do only in very special cases).
- Support for many entity manager
- Doctrine bundle filters configuration were broken by our configurator. This is fixed by #2.
- Domain event support
- Symfony bundle
- Support for ApiPlatform