Releases: dotnet/orleans
v1.1.0
- New Roslyn-based codegen, compile time and run time
- Public APIs:
- Core API for Event Sourcing
- Most methods of
Grain
class are now virtual - ASP.NET vNext style Dependency Injection for grains
- New telemetry API
- Portability:
- Support for C# 6.0
- Improved support for F# and VB
- Code adjustments towards CoreCLR compliance
- Orleans assemblies are not strong-named anymore
- SQL:
OrleansSQLUtils.dll
for SQL-related functionality- MySQL is now supported as a cluster membership store
- Storage provider for SQL Server
- Serialization:
- Support for pluggable external serializers
- Bond serializer plugin
- Support for Json.Net as a fallback serializer
- Added
[KnownType]
attribute for generating serializers for arbitrary types
- Upgraded to Azure Storage 5.0
- Upgraded to .NET 4.5.1
- Other fixes and improvements
v1.1.0-beta2
- New Roslyn-based codegen, compile time and run time
- Support for C# 6.0
- ASP.NET vNext style Dependency Injection for grains
- Core API for Event Sourcing
- Code adjustments towards CoreCLR compliance
OrleansSQLUtils.dll
for SQL-related functionality- MySQL is now supported as a cluster membership store
- Most methods of
Grain
class are now virtual - Orleans assemblies are not strong-named anymore
- Storage provider for SQL Server
- Support for pluggable external serializers
- Bond serializer plugin
- Support for Json.Net as a fallback serializer
- Improved support for F# and VB
- Added
[KnownType]
attribute for generating serializers for arbitrary types - New telemetry API
- Upgraded to Azure Storage 5.0
- Other fixes and improvements
v1.1.0-beta1
- New Roslyn-based codegen, compile time and run time
- Support for C# 6.0
- ASP.NET vNext style Dependency Injection for grains
- Core API for Event Sourcing
- Code adjustments towards CoreCLR compliance
OrleansSQLUtils.dll
for SQL-related functionality- Most methods of
Grain
class are now virtual - Orleans assemblies are not strong-named anymore
- Other fixes and improvements (including progress on CoreCLR compatability)
v1.0.10
General:
- No SDK msi anymore, only NuGets from now on
- Removed support for grain state interfaces and code generation of state classes
- Removed code generated
MyGrainFactory.GetGrain()
factory methods StorageProvider
attribute is now optional- Membership and reminder table implementations were made pluggable
- Improvements to
ObserverSubscriptionManager
- Strong guarantee for specified max number of
StatelessWorker
activations per silo - General purpose interface for sending run time control commands to providers
- Named event to trigger silo shutdown
Streaming:
- Support for multiple
ImplicitSubscription
attributes for streams - Support for rewinding of implicit stream subscriptions
- Propagate request context via persistent streams
- More options for stream Queue Balancers
- Delayed repartitioning of stream queues
- Improved cleanup of client stream producers/consumers when client shuts down
- Config option and management grain API for controlling start/stop state of stream pulling agents
- Azure Queue stream provider fixed to guarantees at least once delivery
- Numerous bug fixes and improvements, mostly to streaming
v1.0.9
- Graceful shutdown of a silo with deactivation of all grains hosted in it.
- Support for Dependency Injection and better testability of grains:
- Direct instantiation of grains with passing
IGrainIdentity
andIGrainRuntime
to constructor. IGrainRuntime
is a mockable interface that includes a set of system service interfaces, also mockable.GrainFactory
is a non-static class that is accessed viabase.GrainFactory
from within a grain and viaGrainClient.GrainFactory
on the client.
- Direct instantiation of grains with passing
- Deprecated generated per-interface
GetGrain
static factory methods. - Added support for concrete grain state classes, deprecated grain state interfaces and code generation of grain classes.
- Removed
Read/Write/ClearStateAsync
methods fromIGrainState
and moved them toGrain<T>
. - Performance optimizations of messaging with up to 40% improvements in throughput.
- Added
ZooKeeper
based cluster membership storage option. - Removed compile time dependency on
Microsoft.WindowsAzure.ServiceRuntime.dll.
- Consolidated dependencies on Azure in
OrleansAzureUtils.dll
, which is now optional. - Refactored SQL system store to be more robust and vendor agnostic.
- Added streaming event deliver policy and failure reporting.
- Changed VS project templates to use only NuGet packages and not the SDK.
- Removed binaries and local silo environment from the SDK.
- Numerous bug fixes and other improvements.
v1.0.8
Fixed versions of references Orleans NuGet packages to match the current one.
Switched message header keys from strings to enums for performance.
Fixed a deadlock issue in deactivation process.
Added a NuGet package to simplify testing of grain projects - Microsoft.Orleans.TestingHost.
Fixed regression of reporting codegen error to Visual Studio Errors window.
Added version to SDK msi product and folder name.
Other fixes and improvements.
v1.0.7
Major refactoring of the stream adapter API.
Improvements to the steaming API to support subscription multiplicity.
Made IAddressable.AsReference strongly-typed.
Added a Chocolatey package.
Added support for private storage keys for testing.
Replaced ExtendedPrimaryKeyAttribute with IGrainWithGuidCompoundKey and IGrainWithIntegerCompoundKey.
Added support for grain classes that are implementations of generic grain interfaces with concrete type arguments.
Numerous other fixes and improvements.
v1.0.5
Major reorganization of NuGet packages and project templates.
Fixes to reflection-only assembly inspection and loading for side-by-side versioning.
Improved scalability of observers.
Programmatic configuration of providers.
Numerous other fixes and improvements.
v1.0.0 updated to include Newtonsoft.Json.dll
Stable production-quality release identical to v1.0.0 but with Newtonsoft.Json.dll added to LocalSilo and OrleansServer folders. Azure Table persistence provider has a dependency on Newtonsoft.Json.dll for JSON serialization.
v1.0.0
Initial stable production-quality release.