github dotnet/orleans v1.3.0-beta2

latest releases: v3.7.2, v8.1.0, v8.1.0-preview3...
7 years ago

NB: There is a subtle breaking change in this release, which is unfortunately easy to miss.
If you are using AzureSilo.Start(ClusterConfiguration config, string deploymentId) in your code, that overload has been removed, but the new one that replaced it has the same argument signature with a different second argument: (ClusterConfiguration config, string connectionString). Deployment ID now has to be passed as part of the config argument: config.Globals.DeploymentId. This removed the ambiguous possibility of passing two different Deployment IDs, but unfortunately at the cost of the breaking API change.

  • Notable new features
    • Support for geo-distributed multi-cluster deployments #1108 #1109 #1800
    • Added new Amazon AWS basic Orleans providers #2006
    • Support distributed cancellation tokens in grain methods #1599
  • Providers
    • Remove confusing parameter from AzureSilo.Start #2109
    • Minimal Service Fabric integration #2120
    • Update blob storage provider to throw on storage exceptions #1902
    • Decode protobuf using MessageParser, not dynamic #2136
    • Service Provider is no longer required by EventHubAdapter #2044
    • Preliminary relational persistence queries #1682
    • Add a function that checks the connection string for use during initialization #1987
    • A new ADO.NET storage provider that is significantly easier to setup, which replaces the the previous one. This change is not backwards compatible and does not support sharding
      (likely be replaced later with Orleans sharding provider). The most straightforward migration plan is likely to persist the state classes from Orleans application code.
      More information in #1682 and in #1682 (comment).
    • Support for PostgreSql #2113
    • Memory Storage eTag enforcement less strict. #1885
    • Added option to perform provider commands quietly #1762
    • CreateOrleansTables_SqlServer.sql: Removed support for SQL Server 2000 and 2005 #1779
  • Streaming
    • EventHub stream provider made more extensible #1861 1714
    • EventHub stream provider with improved monitoring logging #1857 #2146
    • EventHub stream provider time based message purge #2093
    • Add Memory Stream Provider #2063
    • Persistent stream pulling agent now uses exponential backoff #2078
    • Add dynamic adding / removing stream providers functionality. #1966
    • Consistent implicit subscription Id generation. #1828
    • Event hub stream provider EventData to cached data mapping #1727
  • Bug fixes
    • CodeGen: fix generated DeepCopy method to call RecordObject earlier #2135
    • Fix support for serializing SByte[] #2140
    • Fix synchronization bug in Orleans/Async/BatchWorker #2133
    • Fix #2119 by allowing full uninitialization in SiloHost #2127
    • Persistent Stream Provider initialization timeout fix. #2065
    • Fix null reference in StreamPubSub grain. #2040
    • Some EventHub stream provider bug fixes #1760 #1935 #1921 #1922
    • Allow comments in configuration XML #1994
    • Fixed null MethodInfo in Interceptors #1938
    • EventHub stream provider Object Pools not pooling fix. #1937
    • Harden explicit subscription pubsub system #1884
    • Fix #1869. Grain Extensions + method interception should function correctly #1874
    • Fix bug with generic state parameter caused by inconsistent use of grainClassName / genericArgument / genericInterface #1897
    • Throw meaningful exception if grain timer is created outside grain context #1858
    • Do not deactivate Stateless Workers upon grain directory partition shutdown. #1838
    • Fixed a NullReferenceException bug in ClientObserverRegistrar. #1823
  • Test
    • Allow liveness config in TestCluster #1818
    • Fix for strange bug in BondSerializer #1790
    • Some improvements for unit testing #1792 #1802
  • Other
    • Move JSON serialization methods into OrleansJsonSerializer #2206
    • Updated package dependencies for Azure Storage, ServiceBus, ZooKeeperNetEx, Protobuf and codegen related
    • Remove UseStandardSerializer and UseJsonFallbackSerializer options #2193 #2204
    • Make IGrainFactory injectable #2192
    • Recover types from ReflectionTypeLoadException #2164
    • Moved Orleans Performance Counters into its own Telemetry Consumer. Now you need to explicitly register the OrleansPerfCounterTelemetryConsumer either by code or XML. More information in #2122 and docs will come later. Microsoft.Orleans.CounterControl can still be used to install the performance counters or you can use InstallUtil.exe OrleansTelemetryConsumers.Counters.dll to install it without depending on OrleansCounterControl.exe
    • New PowerShell client Module #1990
    • Expose property IsLongKey for IAddressable #1939
    • Removed OrleansDependencyInjection package and instead Orleans references Microsoft.Extensions.DepedencyInjection #1911 #1901 #1878
    • Now using Microsoft.Extensions.DepedencyInjection.ServiceProvider as the default service provider if the user does not override it. Grains are still not being injected automatically unless the user opts in by specifying his own Startup configuration that returns a service provider.
    • Do not require explicitly registering grains in ServiceCollection #1901
    • ClusterConfiguration extension for setting Startup class #1842
    • Log more runtime statistics on the client. #1778
    • Added ManagementGrain.GetDetailedHosts() #1794
    • Can get a list of active grains in Orleans for monitoring #1772
    • Rename InstanceName to SiloName. #1740
    • Reworked documentation to use DocFX #1970

Don't miss a new orleans release

NewReleases is sending notifications on new releases.