Note that we have aligned versions with .NET, down to the release candidate number. This means that Orleans 7.0.0 replaces the would-be Orleans 4.0.0 release
What's Changed since 4.0.0-preview2
- Fix: GrainDirectoryPartition should allow overwriting an invalid entry by @benjaminpetit in #7903
- Fix typo in MessageFactory by @MeladKamari in #7901
- Trim the correct queue on Chirper account state by @andreaskromann in #7890
- Rename
Microsoft.Orleans.OrleansRuntime
package toMicrosoft.Orleans.Runtime
by @ReubenBond in #7912 - Remove grain directory hand-off entirely by @ReubenBond in #7911
- Optimize hashing by @pentp in #7864
- Remove GrainReference from IGrainStorage contract by @pentp in #7870
- Remove PlatformAbstractions on .NET 6 by @seniorquico in #7889
- Migrate some samples to WebApplicationBuilder by @MeladKamari in #7906
- Remove ThreadSafeRandom by @pentp in #7871
- Optimize SiloAddress creation by @pentp in #7886
- Change QueueId to a struct by @pentp in #7887
- Remove GrainReference from IReminderTable contract by @pentp in #7885
- Added ObserverManager Implementation by @j0nimost in #7863
- Support serialization of record types in hierarchies with empty layers by @ReubenBond in #7925
- Add diagnostic for non-settable properties by @ReubenBond in #7926
- Add build-time analyzer for unsupported grain interface method return types by @ReubenBond in #7930
- Fix build warnings by @ReubenBond in #7860
- Remove unnecessary properties on
Message
object by @ReubenBond in #7857 - Reduce SystemTarget-specific logic by @ReubenBond in #7856
- [4.0] Implement cleanup defunct silo entries ado net clustering by @ElanHasson in #7928
- Fix AzureQueueAdapterFactory.Create constructor arguments by @ReubenBond in #7942
- Fix duplicate streaming event on resume by @benjaminpetit in #7699
- Enable codegen on Orleans.Streaming.SQS by @benjaminpetit in #7947
- Use explicit C# LangVersion by @pentp in #7946
- Avoid passing Spans by reference by @pentp in #7950
- Fix FieldOffset for PackedHeaders by @ReubenBond in #7948
- Use XxHash32/XxHash64 by @pentp in #7949
- Don't use MethodImplOptions.NoInlining on throw-helpers by @pentp in #7951
- Remove obsolete net48 & netcoreapp3.1 code by @pentp in #7954
- Target netstandard2.0 for Orleans.Serialization.Abstractions by @jsteinich in #7965
- Optimize serializer generated code by @pentp in #7960
- Make serializable types immutable by @pentp in #7955
- Fix net7.0 compilation by @EgorBo in #7934
- Rename InternalStreamId to QualifiedStreamId and make it public by @benjaminpetit in #7971
- Improved support for implicit field ids and immutable properties by @mnmr in #7958
- Change the activation strategy for StatelessWorkers from round-robin to on-demand by @COCPORN in #7969
- Move grain components into
ActivationDataExtra
to reduce overhead by @ReubenBond in #7976 - Fix
StatelessWorkerGrainContext.GetComponent
implementation. by @ReubenBond in #7975 - In PubSub: replace extension with GrainId by @benjaminpetit in #7983
- Remove TLS 1.1 from defaults, since it's deprecated by @ReubenBond in #7988
- Fix compilation on C# 11 (
scoped
refs) & migrate to .NET 7.0 by @ReubenBond in #7987 - Add large struct array serialization benchmark by @ReubenBond in #7984
- Migrate all builds to single yaml pipeline by @benjaminpetit in #7994
- Various fixes in build.yaml by @benjaminpetit in #7997
- Delete docs.yml by @IEvangelist in #8000
- Don't generate activators for simple invokables by @pentp in #8001
- Interlocked MultiTaskCompletionSource by @Scooletz in #8003
- Bump version to 7 by @benjaminpetit in #8007
- Switch DyanamoDB provider to use IGrainStorageSerializer by @benjaminpetit in #8009
- Cleanup code generation for [Immutable] types and members by @pentp in #7998
- Fix immutable collections copiers by @pentp in #8002
- Update package refs and fix build issues by @benjaminpetit in #8016
- Modify Voting sample to use Blazor and support misuse prevention by @ReubenBond in #8013
- Stop publishing Microsoft.Orleans.CodeGenerator.MSBuild package by @ReubenBond in #8017
- Optimize serializer generated code (p2) by @pentp in #7995
- Generate less code for abstract type codecs by @pentp in #8014
- Use compound type aliases for generated classes by @ReubenBond in #7943
- In PubSubRendezvousGrain, initialize storage before logging by @christiansparre in #8022
- Allow configuration of OrleansJsonSerializer settings by @benjaminpetit in #8018
- Increase default TurnWarningLengthThreshold from 200ms to 1s by @ReubenBond in #8024
- Add new SerializerTransparentAttribute for abstract classes by @pentp in #8015
- Make Json the default serializer for grain state by @benjaminpetit in #8019
- Change substrings to spans by @vboltsis in #8026
- Update packages to .NET 7 RC2 by @ReubenBond in #8027
- Require opt-in to call chain reentrancy on a per-call-chain basis by @ReubenBond in #8023
- Make StreamImpl and StreamSubscriptionHandleImpl Json.NET friendly by @benjaminpetit in #8028
- Update build SDK to .NET 7.0.0-rc2 by @ReubenBond in #8031
New Contributors
- @MeladKamari made their first contribution in #7901
- @andreaskromann made their first contribution in #7890
- @j0nimost made their first contribution in #7863
- @EgorBo made their first contribution in #7934
- @mnmr made their first contribution in #7958
- @Scooletz made their first contribution in #8003
- @christiansparre made their first contribution in #8022
- @vboltsis made their first contribution in #8026
Full Changelog: v4.0.0-preview2...v7.0.0-rc1