orleans

Cloud Native application framework for .NET

MIT License

Stars
10K
Committers
360

Bot releases are visible (Hide)

orleans - v1.2.4

Published by jdom about 8 years ago

Bug fix: Prevent null reference exception after clearing PubSubRendezvousGrain state #2040

orleans - v1.3.0-beta2

Published by sergeybykov about 8 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
orleans - v1.3.0-beta1

Published by jdom about 8 years ago

Beta1 release of Microsoft Orleans v1.3.0
It does not yet include all the features that will go into the final 1.3.0 release. Most notably, the Global Single Instance protocol for Multi-Clusters (#1800).

See https://github.com/dotnet/orleans/issues/1972 for pending work that should go into the final release of 1.3.0

orleans - v1.2.3

Published by jdom over 8 years ago

  • Ability to force creation of Orleans serializers for types not marked with [Serializable] by using GenerateSerializer, KnownType or KnownAssembly.TreatTypesAsSerializable #1888 #1864 #1855
  • Troubleshooting improvements:
    • Fixed stacktrace preservation in exceptions from grain calls (bug introduced in 1.2.0) #1879 #1808
    • Better messaging when silo fails to join due to initial connectivity problems #1866 #1933
    • Throw meaningful exception if grain timer is created outside grain context #1858
  • Bug fixes:
    • Do not deactivate Stateless Workers upon grain directory partition shutdown #1838
    • interception works with Streams and grain extensions #1874
    • Memory Storage provider properly enforces etags for any state that has been added or removed, but does not enforce etags for newly added state. #1885
    • Other minor bug fixes #1884 #1823
orleans - v1.2.2

Published by jdom over 8 years ago

orleans - v1.2.1

Published by sergeybykov over 8 years ago

Bug fixes:

orleans - v1.2.0

Published by sergeybykov over 8 years ago

In addition to all the changes in 1.2.0-beta.

orleans - v1.2.0-beta

Published by sergeybykov over 8 years ago

orleans - v1.1.3

Published by sergeybykov over 8 years ago

A patch release with a set of bug fixes.

orleans - v1.1.2

Published by sergeybykov almost 9 years ago

A patch release with bug fixes, primarily for codegen and serializer corner cases.

orleans - v1.1.1

Published by sergeybykov almost 9 years ago

A patch release for two bug fixes.

orleans - v1.1.0

Published by sergeybykov almost 9 years ago

  • 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
orleans - v1.1.0-beta2

Published by sergeybykov almost 9 years ago

  • 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
orleans - v1.1.0-beta1

Published by sergeybykov almost 9 years ago

  • 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)
orleans - v1.0.10

Published by sergeybykov about 9 years ago

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
orleans - v1.0.9

Published by sergeybykov over 9 years ago

  • 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.
orleans - v1.0.8

Published by sergeybykov over 9 years ago

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.

orleans - v1.0.7

Published by sergeybykov over 9 years ago

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.

orleans - v1.0.5

Published by sergeybykov over 9 years ago

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.

orleans - v1.0.0 updated to include Newtonsoft.Json.dll

Published by sergeybykov over 9 years ago

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.

Package Rankings
Top 3.87% on Proxy.golang.org
Badges
Extracted from project README
NuGet Follow on Twitter Discord Discord
Related Projects