Orleans v2.0.0-rc1 Release Notes

    • Major changes

      • New provider lifecycle model to replace the old one (#3738, #3887, #3946, #3927, #4000, #4026, #4022, #4045, #4031, #4047, #4063, #4042, #4064, #4066, #4067, )
      • Builder pattern and options-based configuration of components and extensions (#3897, #3900, #3878, #3901, #3947, #3972, #3977, #3948, #3963, #3981, #4020, #4025, #4024, #4030, #4035, #4029, #4022, #4031, #4049, #4064, #4066, #4070, #4067, #4074)
    • 💥 Breaking changes

      • Allow reentrancy within a grain call chain (#3185, #3958). Enabled by default.
      • Move legacy logging methods to legacy package (#3808)
      • Rename "SQL" to "AdoNet" everywhere (#3990)
      • Move ObserverSubscriptionManager to legacy (#3999)
      • Remove metrics publishers (#3988)
      • Make most methods of Grain class non-virtual. (#4004)
      • Refactor EndpointOptions to allow listening on an address that is different from the externally reachable address (#4005)
      • Remove statistics table publishers (#4023)
      • Add startup tasks to replace deprecated bootstrap providers (#4026)
      • Remove FastKillOnCancel setting, add ProcessExitHandlingOptions (#4036)
      • Configure default application parts if no assemblies have been added (#4058)
    • Non-breaking improvements

      • Add processing time measure on silo start up sequence and code gen (#3788)
      • Make buffer size bounded when reading connection preamble (#3818)
      • Make UnObservedExceptionHandler optional (#3829)
      • Display GrainId/type of SystemGrain and SystemTarget in GrainId.ToStringImpl (#3849)
      • Disable debug context usage (#3861)
      • Allow for null access/secret for EC2 provisioned credentials. (#3870)
      • Bring back PerfCounterEnvironmentStatistics (#3891)
      • Expose RequestContextData in PlacementTarget (#3899)
      • Mark all created threads as background & name all threads (#3902)
      • Remove Newtonsoft.JSON dependency from core abstractions (#3926)
      • Update Service Fabric to support .NET Standard (#3931)
      • Dispose InboundMessageQueue during MessageCenter disposal (#3938)
      • Removed uncessesary lock in LocalGrainDirectory (#3961)
      • Add exception msg to WithTimeout method. Refactor MembershipTableFactory (#3962)
      • Allow OrleansJsonSerializer to be used as an external serialization provider (#3960)
      • Sanitize azure queue name (#4001)
      • Outgoing grain call filters (#3842)
    • 🛠 Non-breaking bug fixes

      • Fix read lock on FileLogger & FileLogConsumer. and switch to UTF8 (#3856)
      • Return the Cluster GrainInterfaceMap instead of the local one in InsideRuntimeClient (#3875)
      • Remove locks in LoadedProviderTypeLoaders and ProviderTypeLoader that appear unnecessary and caused occasional deadlocks in tests. (#3914)
      • TestCluster: set instance number for new Silo handles (#3939)
      • Use UriBuilder in ToGatewayUri() (#3937)
      • Fix deadlocks in AdoNet provider and tests caused by AdoNet driver implementations (#3163)
      • Fix FastKillOnCancelKeyPress not stopping the process. (#3935)
      • Fix logger exceptions (#3916)
      • Sort list of silos in HashBasedPlacementDirector (#3964)
      • Fix leasebasedbalancer bug (#4072)