Orleans v2.1.0 Release Notes
-
Major changes
- New scheduler (#3792)
- Hosted Client (#3362)
- Distributed Transaction Manager (#3820, #4502, #4538, #4566, #4568, #4591, #4599, #4613, #4609, #4616, #4608, #4628, #4638, #4685, #4714, #4739, #4768, #4799, #4781, #4810, #4820, #4838, #4831, #4871, #4887)
- New Code Generator (#4934, #5010, #5011)
- Support for Tansfer of Coordination in transaction (#4860, #4894, #4949, #5026, #5024)
💥 Breaking changes
- None
Non-breaking improvements
- Test clustering: minor fixups (#4342)
- TestCluster: wait for cluster stabilization before starting tests (#4343)
- Avoid continuation in synchronous case (#4422)
- Improve Dictionary allocation in RequestContext (#4435)
- Copy elements in-place in InvokeMethodAsync (#4463)
- Azure blob storage provider: respect UseJson setting (#4455)
- Fix orleans integration with third party DI solution which requires public constructor (#4453)
- Remove unused Stopwatch in Grain.OnSetupState (#4403) (#4472)
- Add validator for ClusterOptions (#4450)
- Non-static statistics: Round 1 (#4515)
- Remove saving of minidumps because that functionality is platform specific. (#4558)
- Fix Dependency Injection without changing Abstractions project (#4573)
- Sanitize "." from azure queue name (#4582)
- Add Client/SiloHost builder delegate to legacy GrainClient and Silo/AzureSilo (#4552)
- Support of ValueTask as a grain method return type (#4562)
- Convert IMembershipTableGrain into a SystemTarget (#4479)
- Convert counter values before calling ITelemetryProducer.TrackMetric (#4623)
- Optimize removing consumed buffers from read buffer (#4629)
- Remove unused settings MaxPendingWorkItemsHardLimit in SchedulingOptions (#4672)
- Udpate reference links in sql files (#4684)
- Use netcoreapp2.0 for msbuild target dll if using dotnet core msbuild but targeting full .net (#4689)
- Make AzureBasedReminderTable public to allow reuse in extensions (#4699)
- Remove per-call timer (#4399)
- Make LifecycleSubject logging less verbose (#4660)
- Do not use ip address from interface not operational (#4713)
- Updated Ignore(this Task) method (#4729)
- Make azure queue name configurable (#4762)
- Auto-installing grain extensions (#4815)
- Allow implicit subscription attribute to be inheritable (#4824)
- Do not place stateless worker locally if the silo is stopping (#4853)
- When deactivating a grain, do not stop timers if there are running requests (#4830)
- No default grains storage added to container if one is not configured. (#4861)
- Revisit silo stop/shutdown timeout (#4875)
- Add timeout mechanism for grain deactivation (#4883)
- Do not try to register GrainVersionStore if an implementation of IVersionStore is already registered (#4911)
- Consul clustering enhancements (#4942)
- IsOrleansShallowCopyable fixes (#4945)
- Feature per grain collection attribute (#4890)
- Add Microsoft.Orleans.Streaming.AzureStorage as a dependency to Microsoft.Orleans.OrleansAzureUtils. (#4954)
- Migrate Orleans.TelemetryConsumers.Counters to netstandard (#4914)
- Add TableName to AzureStorageClusteringOptions, AzureStorageGatewayOptions and AzureTableReminderStorageOptions (#4978)
- Added support for TableName on AWS legacy configurator (#4983)
- Added Validations for Blob Names and refactored the AzureUtils for Blob & Container names. (#5020)
- Add LargeMessageWarningThreshold back to Silo(Client)MessagingOptions (#5022)
- Make MaxSockets in SocketManager configurable. (#5033)
- Cleanup types in transaction state storage interface (#5030)
🛠 Non-breaking bug fixes
- Fix telemetry consumer construction (#4392)
- Fix client connection retry (#4429)
- Fix routing in Silo Gateway (#4483)
- Don't generate serializers for foreign types in Orleans.Streaming.EventHubs (#4487)
- Fix NRE on AWS DynamoDB storage provider. #4482 (#4513)
- Fix Exception thrown in MembershipOracle.TryToSuspectOrKill (#4508)
- Fix logging level check on Grain exception (#451
- Assign Issue property in RecordedConnectionIssue.Record(...) (#4598)
- Fix (or workaround?) for codegen using netcore/netstandard 2.1 (#4673)
- Don't enforce reentrancy for one way requests (#4382)
- Cleanup Reminders PartitionKey (#4749)
- Fix NullReferenceException in ExecutingWorkItemsTracker (#4850)
- Fix NullReferenceException in LocalGrainDirectory when trace logging is enabled (#4854)
- Fix dependency injection cycle when OrleansJsonSerializer is used as a serialization provider (#4876)
- Propagate unserializable exceptions to callers (#4907)
- Fixing race condition with simple queue cache (#4936)
- More fixed to Transfer of Coordination (transactions) (#4968)
- Ensure AsyncAgent restarts on fault (#5023)