All Versions
Latest Version
Avg Release Cycle
20 days
Latest Release
1259 days ago

Changelog History
Page 7

  • v2.0.0-beta1 Changes

    • 💥 Breaking changes

      • Most packages are now targetting .NET Standard 2.0 (which mean they can be used from either .NET Framework or .NET Core 2.0).
      • These packages still target .NET Framework 4.6.1: Microsoft.Orleans.TestingSiloHost, Microsoft.Orleans.ServiceFabric, Microsoft.Orleans.OrleansTelemetryConsumers.Counters, Microsoft.Orleans.OrleansTelemetryConsumers.NewRelic and the PowerShell module.
      • Deprecated the Orleans Logging infrastructure.
      • Orleans now uses the Microsoft.Extensions.Logging abstractions package (MEL for short from now on).
      • The legacy Orleans' Logger abstraction is preserved as obsolete for backwards compatibility in a new Microsoft.Orleans.Logging.Legacy package, but it's just a wrapper that forwards to ILogger from MEL. It is recommended that you migrate to it directly.
      • This package also contains a provider for the new MEL abstraction that allows forwarding to ILogConsumer, in case the end-user has a custom implementation of that legacy interface. Similarly, it is recommended to rewrite the custom log consumer or telemetry consumer and implement ILoggerProvider from MEL instead.
      • The APM methods (TrackXXX) from Logger were separated into a new ITelemetryProducer interface, and it's currently only being used by Orleans to publish metrics. #3390
      • Logging configuration is no longer parsed from the XML configuration, as the user would have to configure MEL instead.
      • Created a Microsoft.Orleans.Core.Abstractions nuget package and moved/refactored several types into it. We plan to rev and do breaking changes to this package very infrequently.
      • NuGet package names were preserved for beta1, but several DLL filenames were renamed.
      • Runtime code generation was removed (Microsoft.Orleans.OrleansCodeGenerator package). You should use build-time codegen by installing the Microsoft.Orleans.OrleansCodeGenerator.Build package in the grain implementations' and interfaces' projects.
      • SiloHostBuilder and ClientBuilder are intended to replace the previous ways of initializing Orleans. They are not at 100% parity with ClusterConfiguration and ClientConfiguration so these are still required for beta1, but they will be eventually deprecated.
      • Note that when using SiloHostBuilder and ClientBuilder, Orleans will no longer scan every single assembly loaded in the AppDomain by default, and instead you need to be explicit to which ones you use by calling the AddApplicationPartXXX methods from each of the builders.
      • Silo membership (and its counterpart Gateway List Provider on the client) and MessagingOptions can be configured using the utilities in the Microsoft.Extensions.Options package. Before the final 2.0.0 release, the plan is to have everything moved to that configuration infrastructure.
      • Upgraded several dependencies to external packages that are .NET Standard compatible
      • Add support for Scoped services. This means that each grain activation gets its own scoped service provider, and Orleans registers IGrainActivationContext that can be injected into Transient or Scoped service to get access to activation specific information and lifecycle events #2856 #3270 #3385
      • Propagate failures in Grain.OnActivateAsync to callers #3315
      • Removed obsolete GrainState class #3167
    • Non-breaking improvements

      • Build-time codegen and silo startup have been hugely improved so that the expensive type discovery happens during build, but at startup it is very fast. This can remove several seconds to startup time, which can be especially noticeable when using TestCluster to spin up in-memory clusters all the time #3518
      • Add SourceLink support for easier debugging of nuget packages. You can now follow the following steps to debug Orleans code within your app: #3564
      • Add commit hash information in published assemblies #3575
      • First version of Transactions support (still experimental, and will change in the future, not necessarily back-compatible when it does). Docs coming soon.
      • Fast path for message addressing #3119
      • Add extension for one-way grain calls #3224
      • Google PubSub Stream provider #3210
      • Lease based queue balancer for streams #3196 #3237 #3333
      • Allow localhost connection in AWS SQS Storage provider #3485
    • 🛠 Non-breaking bug fixes

      • Fix occasional NullReferenceException during silo shutdown #3328
      • Avoid serializing delegates and other non-portable types #3240
      • ServiceFabric membership: ensure all silos reach a terminal state #3568
      • Limit RequestContext to messaging layer. It is technically a change in behavior, but not one that end users could have relied upon, but listing it here in case someone notices side-effects due to this #3546
  • v1.5.10 Changes

    • 🛠 Non-breaking bug fixes
      • Remove activation from message target list if constructor threw an exception (#5960)
  • v1.5.9 Changes

    • 🛠 Non-breaking bug fixes
      • Do not call release header/body on a message in the dispatcher (#5921)
  • v1.5.7 Changes

    🛠 Two fixes backported from v2.x

    • 🛠 Non-breaking bug fixes
      • Fixes for Multi-Cluster Support (#3974)
      • Add GSI cache maintenance and tests (#5184)
  • v1.5.6 Changes

    • Non-breaking improvements
      • Make MaxSockets in SocketManager configurable #5033
  • v1.5.5 Changes

    • 🛠 Non-breaking bug fixes
      • Fix programmatic subscribe bugs (#4943 - #3843)
      • Propagate message serialization errors to callers (#4944 - #4907)
    • 💥 Breaking bug fixes
      • Add StreamSubscriptionHandleFactory to subscribe on behalf feature (#4943 - #3851). While technically a breaking change, it only impacts users of the programmatic subscriptions feature that tried to use it with SMS stream by fixing that scenario (along with #3843).
  • v1.5.4 Changes

    • 🛠 Non-breaking bug fixes
      • Fixing codegen when a type's name contains comma (#3639)
      • Set a timeout value for the synchronous socket read operations (#3716)
    • Non-breaking improvements
      • Add MaxSocketAge to OrleansConfiguration.xsd (#3721)
      • Avoid overload checks for response messages (#3743)
      • Expedite gateway retries when gateway list is exhausted (#3758)
  • v1.5.3 Changes

    • Non-breaking improvements
      • CodeGen: support builds which use reference assemblies (#3753)
  • v1.5.2 Changes

    • 🛠 Non-breaking bug fixes

      • Fix memory leak when using grain timers #3452
      • Fix infrequent NullReferenceException during activation collection #3399
      • Improve resiliency in in client message pump loop #3367
      • Service Fabric: fix leak in registration of partition notifications #3411
      • Fixed duplicate stream message cache monitoring bug #3522
      • Several minor bug fixes and perf improvements #3419 #3420 #3489
    • Non-breaking improvements

      • Support for PostgreSql as a Storage provider #3384
      • Make JsonConverters inside OrleansJsonSerializer public #3398
      • Set TypeNameHandling in OrleansJsonSerializer according to configuration #3400
  • v1.5.1 Changes

    • 🛠 Non-breaking bug fixes
      • Support implicit authentication to DynamoDB (via IAM Roles) #3229
      • Added missing registration for 7-component tuple and several collection interfaces #3282 #3313
      • Support custom silo names in Service Fabric integration #3241
      • Fix scheduling of notification interfaces (which impacted Service Fabric integration) #3290
      • Dispose IServiceProvider during client shutdown #3249
      • ClusterClient.Dispose() is now equivalent to Abort() #3306
      • Avoid BadImageFormatException from being written in the log during Silo or client startup #3216
      • Add build-time code generation to Microsoft.Orleans.OrleansServiceBus package #3344
      • Several minor bug fixes and perf improvements, as well as reliability in our test code #3234 #3250 #3258 #3283 #3301 #3309 #3311