Releases: eventflow/EventFlow
v1.2.3
Release notes
- New: Compiled and packaged for .NET 10, which has the dependency on
System.Linq.Asyncremoved
Changes
- Documentation improvements: Saga State (#1100, by @Luuck4s)
- docs: update warning on main page (#1133, by @MeikelLP)
- Feat: Compile and package for .NET 10 (#1138, by @rasmus)
Updated dependencies
Full Changelog: f8f8a8a...a057d99
Files
documentation_v1.2.3.zip- SHA256:
4727EDE2EA5AD1E58F6C3FB4D4BAADB54AC3A506978EC02AC6131837DB5C1EB4
- SHA256:
v1.2.2
Release notes
- Fix: Use the ASP.NET Core shared framework reference for non-
netstandardtargets inEventFlow.AspNetCoreto avoid redundant package references (thanks @thompson-tomo) - Fix: Replace FluentAssertions with Shouldly across the solution to simplify assertion usage (thanks @Focus1337)
- Fix: Lean on framework-provided
Microsoft.CSharpwhere available to trim redundant package references (fixes #1107, thanks @thompson-tomo) - Fix: Cleaned up major parts of the documentation hosted on https://geteventflow.net/
- Fix: Resolved Hangfire delayed job scheduling bug by switching to the correct
ScheduleAPI (fixes #1104) - Fix: Restore Hangfire job runner backward compatibility with EventFlow 0.x by reintroducing legacy overloads (fixes #1109)
Changes
- Replace FluentAssertions with Shouldly (#1081) (#1108, by @Focus1337)
- #1106 use asp net framework reference (#1111, by @thompson-tomo)
- Cleanup dependencies #1107 (#1112, by @thompson-tomo)
- Feat: Easier integration with AI tooling (#1119, by @rasmus)
- Feat: Release notes for 1.2.2 (#1120, by @rasmus)
- Improve documentation for MongoDB (#1121, by @rasmus)
- Improve documentation for MSSQL (#1122, by @rasmus)
- Improve documentation for RabbitMQ (#1123, by @rasmus)
- Improve documentation for configuration (#1124, by @rasmus)
- Improve documentation for FAQs (#1125, by @rasmus)
- Improve documentation for jobs (#1126, by @rasmus)
- Improve documentation for PostgreSQL (#1127, by @rasmus)
- Fix: Scheduling bug in Hangfire (#1128, by @rasmus)
- Fix: Hangfre backward compatibility with 0.x (#1129, by @rasmus)
Updated dependencies
Full Changelog: 8538268...f8f8a8a
Files
documentation_v1.2.2.zip- SHA256:
27B278DAC3917ABBB36170811C9A1F60C2AA7AA402262F47186F3373DEF708C1
- SHA256:
v1.2.1
Release notes
- Fix: Prevent multiple calls of the same async subscribers when dispatching events (by @alexeyfv)
- Fix: Better exception handling and propagation in
ReadModelPopulator
Changes
- Version is now 1.2.1 (#1085, by @rasmus)
- Improve exception handling for IReadModelPopulator (#1087, by @rasmus)
- Documentation improvements: Typos (#1090, by @alexeyfv)
- Documentation improvements: Reading Aggregate Events (#1091, by @alexeyfv)
- Fix multiple calls of the same async subscribers when dispatching events (#1093, by @alexeyfv)
- Use latest Ubuntu (#1097, by @rasmus)
- Remove main project reference in Postgres (#1102, by @rasmus)
Updated dependencies
Full Changelog: 7b25f9c...8538268
Files
documentation_v1.2.1.zip- SHA256:
2E3D3809DE7CCC7232A41354314CC60BE1537FA418E178316FD80275DB7F6735
- SHA256:
v1.2.0
Release notes
- New: New NuGet package
EventFlow.SourceGeneratorscreated by @alexeyfv. See
documentation for details - New: NuGet
EventFlow.SQLiteis now released as part of v1 and enables support for SQLite - New: NuGet
EventFlow.EntityFrameworknow ported to v1 (thanks @MMonrad) - Fix: Upgrade
EventFlow.MongoDBreference ofMongoDB.Driverfrom2.19.0to[3.0.0,4.0)(thanks @tniessner) - Fix: Invoking
UseEventPersistencenow removes any previously registered event persistence. This
fixes a service ordering issue in the following event store configurations- MongoDB
- MSSQL
- PostgreSQL
Sorry for the delay.
Changes
- Fix: Proper registration of event persistence layer (#1035, by @rasmus)
- New: SQLite support for v1 (#1067, by @rasmus)
- Documentation improvements: Aggregates (#1069, by @alexeyfv)
- It's that time of the year, update file headers (#1070, by @rasmus)
- Documentation improvements: Event stores (#1071, by @alexeyfv)
- Fix NuGet project URL (#1073, by @rasmus)
- v1: Convert Entity Framework (#1076, by @MMonrad)
- reference MongoDB Driver 3.0 or later (#1079, by @tniessner)
- Source generators (#1080, by @alexeyfv)
- Prepare release of 1.2.0 (#1084, by @rasmus)
Updated dependencies
Full Changelog: bec62e6...7b25f9c
Files
documentation_v1.2.0.zip- SHA256:
77BC12160D4132259ABA9723A8E45B30E19C4235A0DBC484A680F02C4EA45031
- SHA256:
v1.1.0
- New: More control of event naming by introducing the interface
IEventNamingStrategy, see the
updated documentation at https://geteventflow.net/additional/event-naming-strategies/ for more
information (thanks @SeWaS)
What's Changed
v1.0.5007
New in 1.0.5007
Read the complete migration guide to get the full list of changes as well as recommendations
on how to do the migration.
https://geteventflow.net/migrations/v0-to-v1/
(If you see any changes you feel ownership of and you want you name there, create an issue
and it will get fixed asap. EventFlow would be where it is today without the grate community
contributions that it have received over the years)
Changes since last 1.x pre-release, 1.0.5003-alpha
- New: .NET 8 support
- New: Enable
IEventStoreto load events to a given sequence number (thanks @SeWaS) - New:
EventFlow.Hangfirenow part of the v1 release cycle (thanks @nicolaj-hartmann) - Fix/breaking: Switch from
System.Data.SqlClienttoMicrosoft.Data.SqlClient(thanks @janrybka)
Changes since last 1.x pre-release, 1.0.5002-alpha
- New: Read model rebuilder can be done across multiple read model types. The piping of events
and applying them are now done concurrently to reduced memory usage and significantly improve
time to completion (by @kyle-bradley) - New: Created
EventFlow.Redis(by @joshua211) - New: Migrated
EventFlow.RabbitMQto v1 (by @kyle-bradley) - Breaking: Removed old
EventFlow.Shims.Tasksclass that provided a wrapper forTask.CompletedTask
in frameworks that did not have it
Changes since last 1.x pre-release, 1.0.5001-alpha
- New/breaking:
IEventUpgrader<,>are now (finally) async. For an easy upgrade experience,
use the new base classEventUpgraderNonAsyncfor any existing upgraders. Its aabstract
class that implements the updated interface and provides aabstractmethod with the same
signature as the previous interface - Fix/breaking: Event upgraders are now used during read model population. As the upgraders
are re-used across multiple aggregates, there is a high likelihood that some additions are
needed in any existing upgraders. Upgraders are stored on the newIEventUpgradeContext,
which is created by the newIEventUpgradeContextFactory. Replace this if you need addition
context during event upgrades - Fix:
SnapshotAggregateRootnow correctly loads previous source IDs as well
adds the current source ID that triggered the snapshot. This causes the
DuplicateOperationExceptionto be correctly thrown if a duplicate source
ID as added before a snapshot was taken - Fix: Upgrade
Newtonsoft.Jsonfrom11.0.2to13.0.1to fix DoS
vulnerability - Fix:
UseFilesEventPersistenceshould no longer throw exception for .NET regarding relative paths
Complete 1.0 change log
- New: Read model rebuilder can be done across multiple read model types. The piping of events
and applying them are now done concurrently to reduced memory usage and significantly improve
time to completion (by @kyle-bradley) - New: Created
EventFlow.Redis(by @joshua211) - New/breaking: Replace internal IoC implementation with
Microsoft.Extensions.DependencyInjection - New/breaking: Replace internal logging implementation with
Microsoft.Extensions.Logging - New/breaking: SQL read models now support different connection strings using the
[SqlReadModelConnectionStringName]attribute. To allow executing queries using different
connection strings, all methods onIMsSqlConnectionandISqlConnectionnow have an
additional argument,string connectionStringNameto signify which connection string
should be used for the query - New/breaking: SQL connection strings are now fetched from the
SqlConfiguration<T>.GetConnectionStringAsync(...)instead of a property, allowing more
control of the connection string used at runtime - New/breaking:
IEventUpgrader<,>are now (finally) async. For an easy upgrade experience,
use the new base classEventUpgraderNonAsyncfor any existing upgraders. Its aabstract
class that implements the updated interface and provides aabstractmethod with the same
signature as the previous interface - New: Its now possible to change the execution timeout for database migrations using the
SetUpgradeExecutionTimeout(...)on the SQL configuration - Fix/breaking: Event upgraders are now used during read model population. As the upgraders
are re-used across multiple aggregates, there is a high likelihood that some additions are
needed in any existing upgraders. Upgraders are stored on the newIEventUpgradeContext,
which is created by the newIEventUpgradeContextFactory. Replace this if you need addition
context during event upgrades - Breaking: Removed the following dead and/or confusion MSSQL attributes. The real ones
are named the same, with withSql...instead ofMsSql...MsSqlReadModelIdentityColumnMsSqlReadModelIgnoreColumnMsSqlReadModelVersionColumn
- Breaking: Methods on
IMsSqlDatabaseMigratorandISqlDatabaseMigratorhave been
made async and have an extraCancellationTokenargument - Breaking: Remove support for .NET Framework and consolidate on .NET (Core) LTS versions
- Breaking: Replace internal in-memory caching with
Microsoft.Extensions.Caching.Memory - Breaking: Removed
IAmAsyncReadModelForand madeIAmReadModelForasync - Breaking: Removed
EventFlow.Core.AsyncHelperas well as all async wrapper methods
that used itIAggregateStore.LoadIAggregateStore.StoreIAggregateStore.UpdateICommandBus.PublishIEventStore.LoadAggregateIEventStore.LoadEventsIEventStore.LoadAllEventsIQueryProcessor.ProcessIReadModelPopulator.PopulateIReadModelPopulator.Purge
- Breaking: Removed old
EventFlow.Shims.Tasksclass that provided a wrapper forTask.CompletedTask
in frameworks that did not have it - Fix:
SnapshotAggregateRootnow correctly loads previous source IDs as well
adds the current source ID that triggered the snapshot. This causes the
DuplicateOperationExceptionto be correctly thrown if a duplicate source
ID as added before a snapshot was taken - Fix: Upgrade
Newtonsoft.Jsonfrom11.0.2to13.0.1to fix DoS
vulnerability - Version of 0.x included:
0.83.4713. 0.x changes are merged to 1.x at regular
intervals, but might be one or two releases behind
v0.84.4
Maintenance release of EventFlow v0 that fixes a few issues and updates dependencies. The update tries to stay as close to the old code base as possible. However, many dependencies have critical vulnerabilities have forced an update. This in turn has again force update on the .NET Framework version for some packages, as the updated dependencies did not support the old ones.
- Breaking: Updated
Npgsqlfrom4.0.2to4.1.14due to critical vulnerability, which have forcedEventFlow.PostgreSqlto fromnet452tonet472 - New: Added overload of
MongoDbOptionsExtensions.ConfigureMongoDbthat passes IResolverContext through to IMongoDatabase factory delegate - Fix: Updated
System.Data.SqlClientfrom4.3.0to4.8.6due to critical vulnerability - Fix: Updated
Newtonsoft.Jsonfrom11.0.2to13.0.3due to critical vulnerability - Fix: Updated
Microsoft.Owinfrom3.1.0to4.2.2due to critical vulnerability
v1.0.5004-alpha
New in 1.0-alpha
Read the complete migration guide to get the full list of changes as well as recommendations
on how to do the migration.
https://github.com/eventflow/EventFlow/blob/develop-v1/MIGRATION_GUIDE.md
(If you see any changes you feel ownership of and you want you name there, create an issue
and it will get fixed asap. EventFlow would be where it is today without the grate community
contributions that it have received over the years)
Changes since last 1.x pre-release, 1.0.5003-alpha
- New: .NET 8 support
- New: Enable
IEventStoreto load events to a given sequence number (thanks @SeWaS) - New:
EventFlow.Hangfirenow part of the v1 release cycle (thanks @nicolaj-hartmann) - Fix/breaking: Switch from
System.Data.SqlClienttoMicrosoft.Data.SqlClient(thanks @janrybka)
Changes since last 1.x pre-release, 1.0.5002-alpha
- New: Read model rebuilder can be done across multiple read model types. The piping of events
and applying them are now done concurrently to reduced memory usage and significantly improve
time to completion (by @kyle-bradley) - New: Created
EventFlow.Redis(by @joshua211) - New: Migrated
EventFlow.RabbitMQto v1 (by @kyle-bradley) - Breaking: Removed old
EventFlow.Shims.Tasksclass that provided a wrapper forTask.CompletedTask
in frameworks that did not have it
Changes since last 1.x pre-release, 1.0.5001-alpha
- New/breaking:
IEventUpgrader<,>are now (finally) async. For an easy upgrade experience,
use the new base classEventUpgraderNonAsyncfor any existing upgraders. Its aabstract
class that implements the updated interface and provides aabstractmethod with the same
signature as the previous interface - Fix/breaking: Event upgraders are now used during read model population. As the upgraders
are re-used across multiple aggregates, there is a high likelihood that some additions are
needed in any existing upgraders. Upgraders are stored on the newIEventUpgradeContext,
which is created by the newIEventUpgradeContextFactory. Replace this if you need addition
context during event upgrades - Fix:
SnapshotAggregateRootnow correctly loads previous source IDs as well
adds the current source ID that triggered the snapshot. This causes the
DuplicateOperationExceptionto be correctly thrown if a duplicate source
ID as added before a snapshot was taken - Fix: Upgrade
Newtonsoft.Jsonfrom11.0.2to13.0.1to fix DoS
vulnerability - Fix:
UseFilesEventPersistenceshould no longer throw exception for .NET regarding relative paths
Complete 1.0 change log
- New: Read model rebuilder can be done across multiple read model types. The piping of events
and applying them are now done concurrently to reduced memory usage and significantly improve
time to completion (by @kyle-bradley) - New: Created
EventFlow.Redis(by @joshua211) - New/breaking: Replace internal IoC implementation with
Microsoft.Extensions.DependencyInjection - New/breaking: Replace internal logging implementation with
Microsoft.Extensions.Logging - New/breaking: SQL read models now support different connection strings using the
[SqlReadModelConnectionStringName]attribute. To allow executing queries using different
connection strings, all methods onIMsSqlConnectionandISqlConnectionnow have an
additional argument,string connectionStringNameto signify which connection string
should be used for the query - New/breaking: SQL connection strings are now fetched from the
SqlConfiguration<T>.GetConnectionStringAsync(...)instead of a property, allowing more
control of the connection string used at runtime - New/breaking:
IEventUpgrader<,>are now (finally) async. For an easy upgrade experience,
use the new base classEventUpgraderNonAsyncfor any existing upgraders. Its aabstract
class that implements the updated interface and provides aabstractmethod with the same
signature as the previous interface - New: Its now possible to change the execution timeout for database migrations using the
SetUpgradeExecutionTimeout(...)on the SQL configuration - Fix/breaking: Event upgraders are now used during read model population. As the upgraders
are re-used across multiple aggregates, there is a high likelihood that some additions are
needed in any existing upgraders. Upgraders are stored on the newIEventUpgradeContext,
which is created by the newIEventUpgradeContextFactory. Replace this if you need addition
context during event upgrades - Breaking: Removed the following dead and/or confusion MSSQL attributes. The real ones
are named the same, with withSql...instead ofMsSql...MsSqlReadModelIdentityColumnMsSqlReadModelIgnoreColumnMsSqlReadModelVersionColumn
- Breaking: Methods on
IMsSqlDatabaseMigratorandISqlDatabaseMigratorhave been
made async and have an extraCancellationTokenargument - Breaking: Remove support for .NET Framework and consolidate on .NET (Core) LTS versions
- Breaking: Replace internal in-memory caching with
Microsoft.Extensions.Caching.Memory - Breaking: Removed
IAmAsyncReadModelForand madeIAmReadModelForasync - Breaking: Removed
EventFlow.Core.AsyncHelperas well as all async wrapper methods
that used itIAggregateStore.LoadIAggregateStore.StoreIAggregateStore.UpdateICommandBus.PublishIEventStore.LoadAggregateIEventStore.LoadEventsIEventStore.LoadAllEventsIQueryProcessor.ProcessIReadModelPopulator.PopulateIReadModelPopulator.Purge
- Breaking: Removed old
EventFlow.Shims.Tasksclass that provided a wrapper forTask.CompletedTask
in frameworks that did not have it - Fix:
SnapshotAggregateRootnow correctly loads previous source IDs as well
adds the current source ID that triggered the snapshot. This causes the
DuplicateOperationExceptionto be correctly thrown if a duplicate source
ID as added before a snapshot was taken - Fix: Upgrade
Newtonsoft.Jsonfrom11.0.2to13.0.1to fix DoS
vulnerability - Version of 0.x included:
0.83.4713. 0.x changes are merged to 1.x at regular
intervals, but might be one or two releases behind
v1.0.5003-alpha
New in 1.0-alpha
Read the complete migration guide to get the full list of changes as well as recommendations
on how to do the migration.
https://github.com/eventflow/EventFlow/blob/develop-v1/MIGRATION_GUIDE.md
(If you see any changes you feel ownership of and you want you name there, create an issue
and it will get fixed asap. EventFlow would be where it is today without the grate community
contributions that it have received over the years)
Changes since last 1.x pre-release, 1.0.5002-alpha
- New: Read model rebuilder can be done across multiple read model types. The piping of events
and applying them are now done concurrently to reduced memory usage and significantly improve
time to completion (by @kyle-bradley) - New: Created
EventFlow.Redis(by @joshua211) - New: Migrated
EventFlow.RabbitMQto v1 (by @kyle-bradley) - Breaking: Removed old
EventFlow.Shims.Tasksclass that provided a wrapper forTask.CompletedTask
in frameworks that did not have it
Changes since last 1.x pre-release, 1.0.5001-alpha
- New/breaking:
IEventUpgrader<,>are now (finally) async. For an easy upgrade experience,
use the new base classEventUpgraderNonAsyncfor any existing upgraders. Its aabstract
class that implements the updated interface and provides aabstractmethod with the same
signature as the previous interface - Fix/breaking: Event upgraders are now used during read model population. As the upgraders
are re-used across multiple aggregates, there is a high likelihood that some additions are
needed in any existing upgraders. Upgraders are stored on the newIEventUpgradeContext,
which is created by the newIEventUpgradeContextFactory. Replace this if you need addition
context during event upgrades - Fix:
SnapshotAggregateRootnow correctly loads previous source IDs as well
adds the current source ID that triggered the snapshot. This causes the
DuplicateOperationExceptionto be correctly thrown if a duplicate source
ID as added before a snapshot was taken - Fix: Upgrade
Newtonsoft.Jsonfrom11.0.2to13.0.1to fix DoS
vulnerability - Fix:
UseFilesEventPersistenceshould no longer throw exception for .NET regarding relative paths
Complete 1.0 change log
- New: Read model rebuilder can be done across multiple read model types. The piping of events
and applying them are now done concurrently to reduced memory usage and significantly improve
time to completion (by @kyle-bradley) - New: Created
EventFlow.Redis(by @joshua211) - New/breaking: Replace internal IoC implementation with
Microsoft.Extensions.DependencyInjection - New/breaking: Replace internal logging implementation with
Microsoft.Extensions.Logging - New/breaking: SQL read models now support different connection strings using the
[SqlReadModelConnectionStringName]attribute. To allow executing queries using different
connection strings, all methods onIMsSqlConnectionandISqlConnectionnow have an
additional argument,string connectionStringNameto signify which connection string
should be used for the query - New/breaking: SQL connection strings are now fetched from the
SqlConfiguration<T>.GetConnectionStringAsync(...)instead of a property, allowing more
control of the connection string used at runtime - New/breaking:
IEventUpgrader<,>are now (finally) async. For an easy upgrade experience,
use the new base classEventUpgraderNonAsyncfor any existing upgraders. Its aabstract
class that implements the updated interface and provides aabstractmethod with the same
signature as the previous interface - New: Its now possible to change the execution timeout for database migrations using the
SetUpgradeExecutionTimeout(...)on the SQL configuration - Fix/breaking: Event upgraders are now used during read model population. As the upgraders
are re-used across multiple aggregates, there is a high likelihood that some additions are
needed in any existing upgraders. Upgraders are stored on the newIEventUpgradeContext,
which is created by the newIEventUpgradeContextFactory. Replace this if you need addition
context during event upgrades - Breaking: Removed the following dead and/or confusion MSSQL attributes. The real ones
are named the same, with withSql...instead ofMsSql...MsSqlReadModelIdentityColumnMsSqlReadModelIgnoreColumnMsSqlReadModelVersionColumn
- Breaking: Methods on
IMsSqlDatabaseMigratorandISqlDatabaseMigratorhave been
made async and have an extraCancellationTokenargument - Breaking: Remove support for .NET Framework and consolidate on .NET (Core) LTS versions
- Breaking: Replace internal in-memory caching with
Microsoft.Extensions.Caching.Memory - Breaking: Removed
IAmAsyncReadModelForand madeIAmReadModelForasync - Breaking: Removed
EventFlow.Core.AsyncHelperas well as all async wrapper methods
that used itIAggregateStore.LoadIAggregateStore.StoreIAggregateStore.UpdateICommandBus.PublishIEventStore.LoadAggregateIEventStore.LoadEventsIEventStore.LoadAllEventsIQueryProcessor.ProcessIReadModelPopulator.PopulateIReadModelPopulator.Purge
- Breaking: Removed old
EventFlow.Shims.Tasksclass that provided a wrapper forTask.CompletedTask
in frameworks that did not have it - Fix:
SnapshotAggregateRootnow correctly loads previous source IDs as well
adds the current source ID that triggered the snapshot. This causes the
DuplicateOperationExceptionto be correctly thrown if a duplicate source
ID as added before a snapshot was taken - Fix: Upgrade
Newtonsoft.Jsonfrom11.0.2to13.0.1to fix DoS
vulnerability - Version of 0.x included:
0.83.4713. 0.x changes are merged to 1.x at regular
intervals, but might be one or two releases behind
v1.0.5002-alpha
New in 1.0-alpha (not released yet)
IMPORTANT: Major API breaking changes might occur between 1.0 pre-releases. As breaking
API changes will need to be tested and verified before the final 1.0 release.
Read the complete migration guide to get the full list of changes as well
as recommendations on how to do the migration.
https://github.com/eventflow/EventFlow/blob/develop-v1/MIGRATION_GUIDE.md
Changes since last 1.x pre-release, 1.0.5001-alpha
- New/breaking:
IEventUpgrader<,>are now (finally) async. For an easy upgrade experience,
use the new base classEventUpgraderNonAsyncfor any existing upgraders. Its aabstract
class that implements the updated interface and provides aabstractmethod with the same
signature as the previous interface - Fix/breaking: Event upgraders are now used during read model population. As the upgraders
are re-used across multiple aggregates, there is a high likelihood that some additions are
needed in any existing upgraders. Upgraders are stored on the newIEventUpgradeContext,
which is created by the newIEventUpgradeContextFactory. Replace this if you need addition
context during event upgrades - Fix:
SnapshotAggregateRootnow correctly loads previous source IDs as well
adds the current source ID that triggered the snapshot. This causes the
DuplicateOperationExceptionto be correctly thrown if a duplicate source
ID as added before a snapshot was taken - Fix: Upgrade
Newtonsoft.Jsonfrom11.0.2to13.0.1to fix DoS
vulnerability - Fix:
UseFilesEventPersistenceshould no longer throw exception for .NET regarding relative paths
Complete 1.0 change log
- New/breaking: Replace internal IoC implementation with
Microsoft.Extensions.DependencyInjection - New/breaking: Replace internal logging implementation with
Microsoft.Extensions.Logging - New/breaking: SQL read models now support different connection strings using the
[SqlReadModelConnectionStringName]attribute. To allow executing queries using different
connection strings, all methods onIMsSqlConnectionandISqlConnectionnow have an
additional argument,string connectionStringNameto signify which connection string
should be used for the query - New/breaking: SQL connection strings are now fetched from the
SqlConfiguration<T>.GetConnectionStringAsync(...)instead of a property, allowing more
control of the connection string used at runtime - New/breaking:
IEventUpgrader<,>are now (finally) async. For an easy upgrade experience,
use the new base classEventUpgraderNonAsyncfor any existing upgraders. Its aabstract
class that implements the updated interface and provides aabstractmethod with the same
signature as the previous interface - Fix/breaking: Event upgraders are now used during read model population. As the upgraders
are re-used across multiple aggregates, there is a high likelihood that some additions are
needed in any existing upgraders. Upgraders are stored on the newIEventUpgradeContext,
which is created by the newIEventUpgradeContextFactory. Replace this if you need addition
context during event upgrades - New: Its now possible to change the execution timeout for database migrations using the
SetUpgradeExecutionTimeout(...)on the SQL configuration - Breaking: Removed the following dead and/or confusion MSSQL attributes. The real ones
are named the same, with withSql...instead ofMsSql...MsSqlReadModelIdentityColumnMsSqlReadModelIgnoreColumnMsSqlReadModelVersionColumn
- Breaking: Methods on
IMsSqlDatabaseMigratorandISqlDatabaseMigratorhave been
made async and have an extraCancellationTokenargument - Breaking: Remove support for .NET Framework and consolidate on .NET (Core) LTS versions
- Breaking: Replace internal in-memory caching with
Microsoft.Extensions.Caching.Memory - Breaking: Removed
IAmAsyncReadModelForand madeIAmReadModelForasync - Breaking: Removed
EventFlow.Core.AsyncHelperas well as all async wrapper methods
that used itIAggregateStore.LoadIAggregateStore.StoreIAggregateStore.UpdateICommandBus.PublishIEventStore.LoadAggregateIEventStore.LoadEventsIEventStore.LoadAllEventsIQueryProcessor.ProcessIReadModelPopulator.PopulateIReadModelPopulator.Purge
- Fix:
SnapshotAggregateRootnow correctly loads previous source IDs as well
adds the current source ID that triggered the snapshot. This causes the
DuplicateOperationExceptionto be correctly thrown if a duplicate source
ID as added before a snapshot was taken - Fix: Upgrade
Newtonsoft.Jsonfrom11.0.2to13.0.1to fix DoS
vulnerability - Version of 0.x included:
0.83.4713. 0.x changes are merged to 1.x at regular
intervals, but might be one or two releases behind