@@ -5,6 +5,53 @@ All notable changes to this project will be documented in this file. This projec
55
66## Unreleased
77
8+ ## [ 5.1.0] - 2026-01-01
9+
10+ ### Added
11+
12+ - New command bus features:
13+ - Can now use a PSR container for the command bus to resolve both handlers and middleware. Inject the service
14+ container via the first constructor argument.
15+ - Commands can now be mapped to handlers on a command bus class via the ` WithCommand ` attribute.
16+ - Middleware can now be added to a command bus via the ` Through ` attribute.
17+ - New query bus features:
18+ - Can now use a PSR container for the query bus to resolve both handlers and middleware. Inject the service
19+ container via the first constructor argument.
20+ - Queries can now be mapped to handlers on a query bus class via the ` WithQuery ` attribute.
21+ - Middleware can now be added to a query bus via the ` Through ` attribute.
22+ - New inbound event bus features:
23+ - Can now use a PSR container for the inbound event bus to resolve both handlers and middleware. Inject the service
24+ container via the first constructor argument.
25+ - Integration events can now be mapped to handlers on an inbound event bus class via the ` WithEvent ` attribute.
26+ - The default handler can be set on the inbound event bus via the ` WithDefault ` attribute.
27+ - Middleware can now be added to an inbound event bus via the ` Through ` attribute.
28+ - New outbound event bus features, when using the component publisher:
29+ - Can now use a PSR container for the outbound event bus to resolve both publishers and middleware. Inject the
30+ service container via the constructor.
31+ - Integration events can now be mapped to publishers on a publisher handler container class via the ` Publishes `
32+ attribute.
33+ - The default publisher can be set on the outbound event publisher via the ` DefaultPublisher ` attribute.
34+ - Middleware can now be added to an outbound event publisher via the ` Through ` attribute.
35+ - New queue features, when using the component queue:
36+ - Can now use a PSR container for the queue to resolve both enqueuers and middleware. Inject the service container
37+ via the constructor.
38+ - Commands can now be mapped to enqueuers on a publisher handler container class via the ` Queues ` attribute.
39+ - The default enqueuer can be set on the outbound event publisher via the ` DefaultEnqueuer ` attribute.
40+ - Middleware can now be added to the queue via the ` Through ` attribute.
41+ - In the Application layer, the ` QueryHandlerContainer ` , ` CommandHandlerContainer ` and ` EventHandlerContainer ` classes
42+ can now fall back to resolving handlers from a PSR service container. Inject the service container via their
43+ constructors.
44+ - In the Infrastructure layer, the ` PublisherHandlerContainer ` and ` EnqueuerContainer ` can now fall back to resolving
45+ handlers/enqueuers from a PSR service container. Inject the service container via the constructor.
46+ - The outbound event bus ` ClosurePublisher ` and the ` ClosureQueue ` classes now both accept a PSR container for their
47+ middleware. Additionally, middleware can be set on instances of closure publishers via the ` Through ` attribute.
48+ - The pipeline ` PipeContainer ` class can now fall back to resolving pipes from a PSR service container. Inject the
49+ service container via the pipe container's only constructor argument.
50+ - The ` FakeUnitOfWork ` class now has integer properties for the number of attempts, commits and rollbacks.
51+ - New ` FakeContainer ` class for faking a PSR container in tests.
52+ - Added ` UuidV4 ` and ` UuidV7 ` identifiers, for use by implementations that need to enforce use of specific UUID
53+ versions.
54+
855## [ 5.0.0] - 2025-12-09
956
1057### Added
@@ -97,7 +144,7 @@ All notable changes to this project will be documented in this file. This projec
97144- ** BREAKING** The error and error list interfaces now accept ` UnitEnum ` instead of ` BackedEnum ` for error codes.
98145 Although technically breaking, this will only affect your implementation if you have implemented these interfaces. All
99146 concrete classes provided by this package have been updated.
100- - ** BREAKING** : The key of an error can now be a enum - previously only strings were accepted. This is only breaking if
147+ - ** BREAKING** : The key of an error can now be an enum - previously only strings were accepted. This is only breaking if
101148 you have implemented the interface yourself.
102149- Updated ` KeyedSetOfErrors ` to handle error keys now being strings or enums.
103150- ** BREAKING** : The ` Guid::make() ` method will now convert a string that is a UUID to a UUID GUID. Previously it would
@@ -306,8 +353,8 @@ All notable changes to this project will be documented in this file. This projec
306353 the ` Contracts\Application\Ports ` namespace, with them differentiated between driving and driven ports.
307354- ** BREAKING** As a number of interfaces had to be moved to a ` Ports ` namespace, we've tidied them all up by removing
308355 the ` Interface ` suffix and moving them to a ` Contracts ` namespace.
309- - ** BREAKING** We've also removed the ` Trait ` suffix from traits. To avoid collisions with interfaces, we've use ` Is ` a
310- prefix where it makes sense. For example, ` EntityTrait ` has become ` IsEntity ` .
356+ - ** BREAKING** We've also removed the ` Trait ` suffix from traits. To avoid collisions with interfaces, we've used an
357+ ` Is ` prefix where it makes sense. For example, ` EntityTrait ` has become ` IsEntity ` .
311358- ** BREAKING** The ` DomainEventDispatching ` namespace has been moved from ` Infrastructure ` to ` Application ` . This was
312359 needed for the new hexagonal architecture approach, but also makes it a lot clearer that domain events are the way the
313360 domain layer communicates with the application layer.
@@ -558,6 +605,8 @@ All notable changes to this project will be documented in this file. This projec
558605
559606Initial release.
560607
608+ [ 5.0.0 ] : https://github.com/cloudcreativity/ddd-modules/compare/v5.0.0-rc.4...v5.0.0
609+
561610[ 5.0.0-rc.4 ] : https://github.com/cloudcreativity/ddd-modules/compare/v5.0.0-rc.3...v5.0.0-rc.4
562611
563612[ 5.0.0-rc.3 ] : https://github.com/cloudcreativity/ddd-modules/compare/v5.0.0-rc.2...v5.0.0-rc.3
0 commit comments