- Major improvements
- Added an EventHub stream provider based on the same code that is used in Halo 5.
- Increased throughput by between 5% and 26% depending on the scenario. #1586
- Migrated all but 30 functional tests to GitHub.
- Grain state doesn't have to extend
GrainState
anymore (marked as[Obsolete]
) and can be a simple POCO class. - Added support for per-grain-class and global server-side interceptors. #965 #963
- Added support for using Consul 0.6.0 as a Membership Provider. #1267
- Support C# 6. #1479
- Switched to xUnit for testing as a step towards CoreCLR compatibility. #1455
- Codegen & serialization
- Added support for generic type constraints in codegen. #1137
- Added support for Newtonsoft.Json as a fallback serializer. #1047
- Added generation of serializers for type arguments of
IAsyncObserver<T>
. #1319 - Improved support for F# interfaces. #1369
- Consolidated two compile time codegen NuGet packages into one
Microsoft.Orleans.OrleansCodeGenerator.Build
.Microsoft.Orleans.Templates.Interfaces
andMicrosoft.Orleans.Templates.Grains
are now meta-packages for backward compatibility only. #1501 - Moved to Newtonsoft.Json 7.0.1. #1302
- Programmatic config
- Other
- Improved support for SQL membership, reminders, and grain storage.
#1060 - Improved propagation of exception, so that the caller gets the originally thrown exception instead of an
AggregateException
wrapping it. #1356 - Added a storage provider for Azure Blob (graduated from
OrleansContrib
). #1376 - Start Reminder Service initial load in the background. #1520
- Added automatic cleanup of dead client stream producers and consumers. #1429 #1669
- Added GetPrimaryKeyString extension method for
IAddressable
. #1675 - Added support for additional application directories. #1674
- Improved support for SQL membership, reminders, and grain storage.
- Many other fixes and improvements.