Breaking Change Notice
Due to breaking changes in MongoDb.Driver v3.0.0, from this point forward, Akka.Persistence.MongoDb releases WILL NOT support:
- MongoDb server v3.6 and earlier
- Projects that targets .NET Core 2.x and lower
- Projects that targets .NET Framework 2.7.1 and lower
- LINQ2 provider
- TLS 1.0 and 1.1
Driver Behavior Change And Workaround
There is a behavior change in MongoDb.Driver
v3.0.0 where it would use the DNS resolved server host address when it actually tries to connect to the server. This is problematic if your application lives inside a container and hard code your MongoDb server address inside the connection string.
Example:
- Server address used in connection string: "host.docker.internal:27017"
- Actual server address being used in MongoDb connection: "127.0.0.1:27017"
The workaround is to add "directConnection=true" in your connection string.
MongoDb.Driver
Upgrade Advisories
MongoDb.Driver
3.0.0 release note: https://github.com/mongodb/mongo-csharp-driver/releases/tag/v3.0.0
MongoDb.Driver
3.0.0 Upgrade advisory: https://www.mongodb.com/docs/drivers/csharp/v3.0/upgrade/v3/
Breaking Change Notice
Due to breaking changes in MongoDb.Driver v3.0.0, from this point forward, Akka.Persistence.MongoDb releases WILL NOT support:
- MongoDb server v3.6 and earlier
- Projects that targets .NET Core 2.x and lower
- Projects that targets .NET Framework 2.7.1 and lower
- LINQ2 provider
- TLS 1.0 and 1.1
MongoDb.Driver 3.0.0 release note: https://github.com/mongodb/mongo-csharp-driver/releases/tag/v3.0.0
MongoDb.Driver 3.0.0 Upgrade advisory: https://www.mongodb.com/docs/drivers/csharp/v3.0/upgrade/v3/
Version Notice
Due to breaking changes in MongoDb.Driver v3.0.0, This release will be the last Akka.Persistence.MongoDb that will support:
- MongoDb server v3.6 and earlier
- Projects that targets .NET Core 2.x and lower
- Projects that targets .NET Framework 2.7.1 and lower
- LINQ2 provider
- TLS 1.0 and 1.1
Breaking Change Notice
The MongoDb driver 2.28.0 is now strongly-named which may affect your project(s). You can read more about this decision here.
Note
Deprecated
Deprecated due to Akka.NET 1.5.29 deprecation. Please use 1.5.30 instead.
Breaking Change Notice
The MongoDb driver 2.28.0 is now strongly-named which may affect your project(s). You can read more about this decision here.
- Bump Akka.NET to 1.5.28
- Bump Akka.Persistence.Hosting to 1.5.28
- Bump MongoDB.Driver to 2.27.0
- Add large snapshot support
Support For Large (Greater Than 16 Megabytes) Snapshot Store
Note
GridFS is considered as an advanced feature, it will not be supported by Akka.Hosting.
We added a new SnapshotStore that supports GridFS. To use it, you will need to set it through manual HOCON setting.
akka.persistence.snapshot-store.mongodb.class = "Akka.Persistence.MongoDb.Snapshot.MongoDbGridFsSnapshotStore, Akka.Persistence.MongoDb"
- Bump Akka.NET to 1.5.26
- Bump Akka.Persistence.Hosting to 1.5.25
- Fix failure in CurrentEventByTag when there are no events
- Fix CurrentEventByTag never completes
- Bump Akka.Persistence.Hosting to 1.5.12.1
- Bump MongoDB.Driver to 2.21.0
- Remove byte rot code that might have caused issue #313
- Implement transaction on both read and write operation
- Make transaction defaults to enabled
Breaking Behavior Change
In this version, we're turning transaction on by default. If you're more concerned with database write and read performance compared to data consistency and correctness, you can move back to the old behavior by setting this flag in the HOCON configuration:
akka.persistence.journal.mongodb.use-write-transaction = off
akka.persistence.snapshot-store.mongodb.use-write-transaction = off
Or by setting them inside the hosting options:
var journalOptions = new MongoDbJournalOptions(true)
{
UseWriteTransaction = false
};
var snapshotOptions = new MongoDbSnapshotOptions(true)
{
UseWriteTransaction = false
};
- Bump Akka.Persistence.Hosting from 1.5.8.1 to 1.5.12
- Bump AkkaVersion from 1.5.11 to 1.5.12
- Separate Akka.Hosting and core Akka version
- Bump XunitVersion from 2.4.2 to 2.5.0
- Move to using Build Props file and central package management.
- Bump MongoDB.Driver from 2.19.1 to 2.20.0
- Adding Hosting Extensions for Akka.Persistence.MongoDB
- fixed ObjectSerializer initialization for backward compatibility - this solves a compatibility problem in older Akka.Persistence.MongoDb applications that was introduced by updating MongoDb.Driver to 2.19.0.
- All writes are now performed via MongoDb transactions
- Bump MongoDb.Driver to 2.19.0
- Bump Akka.NET to 1.5.1
- Bump Akka.NET to 1.4.40
- Fix HighestSequenceNr query not returning proper value
- Bump MongoDb.Driver to 2.17.0
- Bump Akka.NET version to 1.4.39
- Fix compatibility with Akka.Cluster.Sharding in persistence mode
- Bump MongoDb.Driver to 2.15.1
- Fix BsonTimestamp causes NRE to be thrown
- Fix compatibility with Akka.Cluster.Sharding in persistence mode
- Bump Akka.NET version to 1.4.38
- Bump MongoDb.Driver to 2.15.1
- Bump Akka.NET version to 1.4.31
- Bump MongoDb.Driver to 2.14.1
- Fix MongoDB InsertManyAsync to support ordering