github dotnet/orleans v2.4.0

latest releases: v8.1.0, v8.1.0-preview3, v7.2.6...
4 years ago
  • Major improvements
    • Reduced reliance on cluster membership table and speed up clustering convergence by sending versioned snapshots of the table as part of gossip messages
    • Configurable transactional state roles to support cases when a transactional state cannot be transaction manager

Important: An incompatibility was reported of 2.4.0 with clustering providers, such as MongoDB and DynamoDB, that do not implement correctly or at all membership table version. This issue has been addressed via #5863 in v2.4.1.

This release is backward compatible with 2.0.* releases, which allows for in-place upgrade of a running cluster.

  • Non-breaking improvements

    • Improve serializer performance hygiene (#5409)
    • Add UseLinuxEnvironmentStatistics method for ISiloBuilder (#5498)
    • Improve activation & directory convergence (#5424)
    • Updated stream subscription handle extension functions to handle batch consumption, comparable to what is supported for subscribe. (#5502)
    • Add square bracket guards (#5521)
    • Added batch stream production back in. (#5503)
    • Allow default(ImmutableArray) to be serialized (#5587)
    • Improve Roslyn TypeCode generation (#5604)
    • Remove lock from CallbackData (#5595)
    • Execute tasks scheduled against defunct activations (#5588)
    • Make transaction log group max size configurable (#5656)
    • Reduce delay local directory when cluster membership is not stable (#5677)
    • Add Incoming grain call filter extensions for ISiloBuilder (#5466)
    • ClusterClient: only call IRuntimeClient.Reset for OutsideRuntimeClient (#5694)
    • CodeGenerator: skip empty projects (#5689)
    • Add UseAzureTableReminderService OptionsBuilder overload (#5703)
    • Dispose TestCluster after tests (#5715)
    • Add validator for DevelopmentClusterMembershipOptions (#5721)
    • Fix CategoryDiscoverer first-chance exception while debugging (#5710)
    • Configure application parts in UseTransactions (#5741)
    • Added better type handling to DynamoDB deserialization (#5764)
    • Add UsePerfCounterEnvironmentStatistics overload for ISiloBuilder (#5784)
    • Improve codegen's .NET Core 3 compatibility (#5799)
    • Support configurable supported roles in transactional state. (#5802)
    • Cleanup transaction confirmation worker logging. (#5815)
    • Update xUnit & fix minor test project issues (#5598)
    • Avoid wrapping exceptions thrown during lifecycle (#5665)
    • Expose versioning from membership (#5695)
    • Improve lifecycle logging (#5711)
    • Improvements for cluster membership (#5747)
    • Send a snapshot of the membership table on gossip (#5796)
    • Always log stack trace when a Task is enqueued for an invalid activation (#5833)
    • Add core tracing events (#5691)
  • Non-breaking bug fixes

    • Use local silo as default primary silo (#5522)
    • On the client, close gateway connection to dead silos (#5561)
    • Prevent NullReferenceException with some storage providers when state is Nullable (#5570)
    • Accommodate existing RequestContext.PropagateActivityId value in ClusterClient (#5575)
    • Fix #5565 - NullReferenceException in ConvertAsync helper (#5582)
    • Fix NullReferenceException in TestCluster.cs (#5592)
    • NoOp delete when ETag is null in AzureTableStorage provider (#5577)
    • Fix potential NullReferenceException in PersistentStreamProvider (#5597)
    • Fix breakage in Microsoft.Extensions.Hosting (#5610)
    • Fix ReadLineStartingWithAsync for LinuxEnvironmentStatistics (#5608)
    • Add null check in MessageCenter.TryDeliverToProxy (#5641)
    • Improve cleanup of activations on dead silos (#5646)
    • Fix Nullable (#5663)
    • Fixes #5661 by allowing configuration to pass in value of MetadataPro… (#5662)
    • Fix #5473 - codegen fails on recursively defined types (#5688)
    • Fix the test trace file name on Unix systems (#5708)
    • Fixed DynamoDB reminder issue (#5739)
    • Fix incorrectly configured listening ports in tests (#5751)
    • Fix concurrency bug in TestCluster (#5754)
    • Replace Environment.FailFast with Environment.Exit (#5759)
    • Fix OnCompleteAsync & OnErrorAsync in StreamImpl. (#5769)
    • Fix exception in LatestVersionSelector when there are no deployed versions of a grain. (#5720)
    • Fix build on VS 2019 16.2.0 (#5791)
    • Fixed bug in SMS streams where events were not being delivered to batch observers. (#5801)
    • Fixed bug preventing OnError from being called on batch consumers. (#5812)
    • Terminate ConfirmationWorker loop on deactivation (#5821)
    • Stop background transaction processing when a grain deactivates (#5832)
    • Reject failed activations and fix possible race condition (#5825)

Don't miss a new orleans release

NewReleases is sending notifications on new releases.