Skip to content

v0.9.0

Choose a tag to compare

@joshkempner joshkempner released this 17 Jun 18:34
· 46 commits to master since this release
b7b8469

What's Changed

Improvements

  • Adds Policy, PolicyStorage, and IdentityStorage projects, all of which are packaged into a new ReactiveDomain.Policy nuget package. These support Role-Based Access Control using OIDC identity tokens from an external identity provider. Policies can be applied on a dispatcher for fine-grained access control at the level of individual Commands.
  • Adds PolicyTool for configuring RBAC policies in ReactiveDomain from the command line. This is included in the ReactiveDomain.Policy nuget package.
  • Adds a ConfiguredConnection to wrap all information about an ESDB connection into a single object. This simplifies getting readers, listeners, and repositories, and helps ensure consistent stream naming.
  • Adds support for ChildEntities. These are aggregates that are children of other aggregates, i.e. related domain entities whose Events use the same stream as the parent aggregate.
  • Fixes an issue in TestQueue related to #101 that could cause WaitFor to fail in some circumstances.
  • Updates from to ESDB 5.0 to 21.10.2.
  • Adds support for .NET Framework 4.8 and .NET 5.

Breaking changes

  • Supported .NET versions are .NET Standard 2.0, .NET Framework 4.8, and .NET 5.0.
  • Replaces EventStoreLoader with EventStoreLauncher, and removes the StreamStoreConnectionSettings in favor of using connection strings.
  • Removes the PrivateLedger projects.
  • StreamReader now has a handler injected into its constructor, and its Read method takes a Func to indicate when processing of the Events has completed.
  • By default, streams created using the MockRepositorySpecification have a schema (prefix) of "Test". This can be overridden.

Full Changelog: v0.8.23...v0.9.0