Skip to content

Releases: dotnet/orleans

v1.2.0-beta

19 Apr 04:10
Compare
Choose a tag to compare
  • 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 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
    • 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
  • Many other fixes and improvements.

v1.1.3

09 Mar 19:28
Compare
Choose a tag to compare

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

20 Jan 05:41
Compare
Choose a tag to compare

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

11 Jan 16:25
Compare
Choose a tag to compare

A patch release for two bug fixes.

  • #1134 Missing argument to trace format in TraceLogger.Initialize
  • #1195 Make ConsoleText resilient to ObjectDisposedExceptions

v1.1.0

14 Dec 23:06
Compare
Choose a tag to compare
  • 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

03 Dec 19:00
Compare
Choose a tag to compare
  • 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

03 Nov 23:56
Compare
Choose a tag to compare
  • 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

22 Sep 21:21
Compare
Choose a tag to compare

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

16 Jul 01:21
Compare
Choose a tag to compare
  • 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 and IGrainRuntime 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 via base.GrainFactory from within a grain and via GrainClient.GrainFactory on the client.
  • 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 from IGrainState and moved them to Grain<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

27 May 16:49
Compare
Choose a tag to compare

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.