Releases: dotnet/orleans
Releases · dotnet/orleans
v1.2.0-beta
- 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.
v1.1.3
A patch release with a set of bug fixes.
- #1345 Initialize SerializationManager before CodeGeneratorManager
- #1348 Avoid unnecessary table scan when finding reminder entries to delete
- #1351 Stop a stuck BlockingCollection.Take operation that caused thread leak on the client.
- #1381 Fixed Azure table property being not sanitized.
- #1384 Fixed String.Format arguments in DetailedGrainReport.ToString()
- #1405 Increment and DecrementMetric methods in Orleans.TraceLogger had same body
- #1414 Update the custom serializer warning message to adequately reflect the OSS status of Orleans
- #1503 Fix retry timeout when running under debugger
- #1478 Networking bug fix: Reset receive buffer on error.
- #1518 Fixed performance regression in networking
- #1520 Start ReminderService initial load in the background
- #1534 Safe load of types from failing assemblies in TypeUtils.GetTypes
v1.1.2
A patch release with bug fixes, primarily for codegen and serializer corner cases.
- #1137 Add support for generic type constraints in codegen
- #1178 Correctly specify struct type constraint in generated code
- #1182 fix issue:GetReminder throws exception when reminder don't exists #1167
- #1240 Cleanup/fix usage of IsNested vs. IsNestedXXX & serialize nested types.
- #1241 Correctly serialize [Obsolete] fields and properties.
- #1249 Nested serialization of Guid with Json serializer.
- #1261 Fix a race in StreamConsumer.SubscribeAsync.
- #1280 fix deepcopy issue #1278
- #1284 Check declaring types when performing accessibility checks for code gen.
- #1285 Allow to configure PubSub for SMS.
- #1270 Make Namespace access modifier public in ImplicitStreamSubscriptionAttribute. Add Provider property.
v1.1.1
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.