What's Changed
- Source link on dashboard to main orleans repo by @hendrikdevloed in #9911
- Fix flakiness in CallChainReentrancy_WithSuppression by @ReubenBond in #9913
- Fix IdSpan equality violation: Create("") and default now correctly unequal by @Copilot in #9902
- Additional tracing spans for activation, persistence, and migration by @rkargMsft in #9870
- Fix activation-count placement fallback for partial statistics by @ReubenBond in #9914
- Apply grains preferences on the server instead of the UI client by @miguelhasse in #9887
- Harden analyzer symbol handling by @Youssef1313 in #9666
- Fix flake in StuckGrainTest_StuckDetectionOnDeactivation by @ReubenBond in #9915
- chore(deps): bump dotnet-sdk from 10.0.102 to 10.0.103 by @dependabot[bot] in #9906
- Fix flaky Sched_Task_ClosureWorkItem_Wait scheduler test by @ReubenBond in #9916
- Fix flaky StuckGrain forwarding test by @ReubenBond in #9917
- Add ClearLogAsync method to JournaledGrain by @m3nax in #9849
- Add ADO.NET Persistence support for SQLite by @jeromeksi in #9846
- chore(deps-dev): bump js-yaml from 4.1.0 to 4.1.1 in /src/Dashboard/Orleans.Dashboard.App by @dependabot[bot] in #9778
- Fix Orleans.Serialization.Protobuf README to document Google.Protobuf instead of protobuf-net by @Copilot in #9779
- Removed unnecessary Task.Run in OnConnectionAsync methods by @desdesdes in #9650
- Fix flaky ResumeAfterSlowSubscriber on slow machines by @ReubenBond in #9918
- DeleteStateOnClear support for AdoNet storage provider by @modabas in #8535
- CodeGenerator: clean up attribute handling and remove obsolete custom-attribute build properties by @Youssef1313 in #9665
- Remove JSON format option from ADO.NET configuration docs by @alesma in #9836
- Add
ConfigureAwaitanalyzer for grain code (ORLEANS0014) by @ReubenBond in #9845 - Fix SQLite CI package resolution for net8/net10 by @ReubenBond in #9920
- Stabilize SingleWorkerInvocationUnderLoad test by @ReubenBond in #9919
- Add MemoryPack Serializer by @Drecik in #9838
- Migrates Consul tests to use Testcontainers by @Meir017 in #9707
- Start ActivationRebalancerMonitor without eagerly fetching a report by @ReubenBond in #9228
- Rename IDurableJobContext to IJobRunContext by @benjaminpetit in #9798
- chore: Using IMeterFactory for metrics - ApplicationRequestInstruments by @Meir017 in #9656
- Add
IServiceLifecycleinterface with lifecycle hooks for client and silo by @ledjon-behluli in #9792 - Fix flaky NonReentrantGrainTimer_NoKeepAlive_Test by @ReubenBond in #9925
- Enable polling for durable jobs by @benjaminpetit in #9802
- Implement poisoned shard detection and handling in AzureStorageJobShardManager by @benjaminpetit in #9907
- Flow CancellationToken through durable jobs tests by @Copilot in #9909
- Add loopback fallback when local IP discovery finds no candidates by @ReubenBond in #9926
- Fix flaky GrainTimer_Change timer assertion timing by @ReubenBond in #9928
- Make orphan-call transaction abort deterministic by @ReubenBond in #9930
- Fix flaky stuck-grain deactivation test on slow runners by @ReubenBond in #9931
- Upgrade centrally managed packages by @ReubenBond in #9929
- Fix dashboard log stream loading feedback when disabled by @miguelhasse in #9922
- Refactor ScheduleJobAsync to use ScheduleJobRequest struct by @Copilot in #9908
- Add concurrent job slow start for durable jobs by @benjaminpetit in #9910
- Enable crash dump collection for CI test runs by @ReubenBond in #9932
- feat: Dashboard support showing generic class names by @hendrikdevloed in #9924
- Use public ECR for Consul Testcontainers image by @ReubenBond in #9933
- Include known providers in error message when provider is not found by @Copilot in #9733
- Use System.Threading.Lock for .NET 9+ by @Copilot in #9892
- Fix flaky ObservableGrain_AsyncEnumerable_SlowConsumer test by @ReubenBond in #9935
- Stabilize flaky TimerOrleansTest_Basic by @ReubenBond in #9934
- Fix flaky stuck grain forwarding test by @ReubenBond in #9936
- Skip Consul tests when Docker daemon is unsupported by @ReubenBond in #9937
- Remove Azure Cloud Services hosting project by @ReubenBond in #9938
- Fix flakiness in Generic_ScheduleDelayedPingAndDeactivate by @ReubenBond in #9939
- Reorganize test projects for clarity and consistency by @ReubenBond in #9912
- Activation cancel logging cleanup by @rkargMsft in #9897
- Fix off-by-one and empty-buffer handling in PrefixingBufferWriter.GetSpan by @Copilot in #9941
- Fix persistent stream subscriber registration race by @ReubenBond in #9927
- Fix flaky NoReconnectionToGatewayNotReturnedByManager test by @ReubenBond in #9942
- StateMachineManager.WorkLoop: run on grain scheduler by @ReubenBond in #9947
- Downgrade "No callback for response message" from Warning to Debug in OutsideRuntimeClient by @Copilot in #9950
- Generational decay of anchored grains in LAR by @ledjon-behluli in #9944
- [Streaming] Provide a global stream sequence from NATS to StreamSequenceToken by @arogggh in #9969
- chore(deps): bump dotnet-sdk from 10.0.103 to 10.0.201 by @dependabot[bot] in #9966
- Enable nullable by @rkargMsft in #9841
- Filter allowed stream & broadcast channel predicates by @ReubenBond in #9968
- Deterministic Deactivation testing support by @rkargMsft in #9962
- Add IMembershipManager abstraction for external membership systems by @ReubenBond in #9960
- Implement slow-start budget for orphaned shard claims and enhance related logging by @benjaminpetit in #9943
- [Rebalancer] Avoid crashing silo startup by @ledjon-behluli in #9977
- Fix grains not recycling after cancelling DelayDeactivation by @Copilot in #9945
- [Membership] Ensure predecessors are killed early during startup by @ReubenBond in #9955
- Align all membership providers' CleanupDefunctSiloEntries to remove non-Active stale entries by @Copilot in #9972
- Fix CodeQL workflow failing on merge_group events due to ephemeral ref upload error by @Copilot in #9980
- Fix Consul tests failing with unhandled DockerApiException on registry rate limit by @Copilot in #9981
- Azure Blob storage: pooled reads, streaming serializer, buffered writes by @egil in #9879
- Fix flaky MergeGrainResolverWithClientRefreshTests on macOS CI by @Copilot in #9982
- [Automated] Update API Surface Area by @github-actions[bot] in #9631
- Add DiagnosticSource event definitions for Orleans runtime observability by @ReubenBond in #9983
- Use TimeProvider in Reminders, AsyncTimer, Streams by @ReubenBond in #9984
- Add an option to exclusively lock Transactional State by @scalalang2 in #9970
- Reduce nondeterminism in reminder tests by @ReubenBond in #9989
- Reduce nondeterminism in broadcast channel tests by @ReubenBond in #9991
- Reduce nondeterminism in streaming tests by @ReubenBond in #9990
- Fix reminder churn test determinism by @ReubenBond in #9997
- Fix AQ filtering CI coverage by @ReubenBond in #10001
- Enable Cosmos provider CI by @ReubenBond in #10002
- Fix NATS GitHub Actions filter by @ReubenBond in #10000
- Fix reminder churn tick floor by @ReubenBond in #10005
- Add Redis Stream streaming implementation by @buzzers in #8401
- NATS consumer retry and replicas by @NSTA2 in #9975
- Update GitHub Actions to Node.js 24-compatible versions by @ReubenBond in #10008
- Use LoggerMessage in NATS provider by @ReubenBond in #10009
New Contributors
- @miguelhasse made their first contribution in #9887
- @jeromeksi made their first contribution in #9846
- @desdesdes made their first contribution in #9650
- @modabas made their first contribution in #8535
- @alesma made their first contribution in #9836
- @Drecik made their first contribution in #9838
- @arogggh made their first contribution in #9969
- @NSTA2 made their first contribution in #9975
Full Changelog: v10.0.1...v10.1.0