Orleans v1.2.0 Release Notes

    • 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
      • Improved propagation of exception, so that the caller gets the originally thrown exception instead of an AggregateException wrapping it. #1356
      • 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 as a Membership Provider. #1267
      • Azure storage 7.0 compatibility #1704.
    • 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. #1319
      • Improved support for F# interfaces. #1369
      • Consolidated two compile time codegen NuGet packages into one Microsoft.Orleans.OrleansCodeGenerator.Build. Microsoft.Orleans.Templates.Interfaces and Microsoft.Orleans.Templates.Grains are now meta-packages for backward compatibility only. #1501
      • Moved to Newtonsoft.Json 7.0.1. #1302
    • Programmatic config
      • Added helper methods for programmatic test configuration. #1411
      • Added helper methods to AzureClient and AzureSilo for easier programmatic config. #1622
      • Added extension methods for using programmatic config. #1623
      • Remove config filed from Server and Client NuGet packages. #1629
    • Other
      • Improved support for SQL membership, reminders, and grain storage. #1060
      • 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
      • Migrated all but 30 functional tests to GitHub.
      • Support C# 6. #1479
      • Switched to xUnit for testing as a step towards CoreCLR compatibility. #1455
      • Added ability to throw exceptions that occur when starting silo #1711.
    • 🛠 Many other fixes and improvements.