From 3a62e160edcdd97f35be97696544a7be832872cc Mon Sep 17 00:00:00 2001 From: Glenn Watson <5834289+glennawatson@users.noreply.github.com> Date: Fri, 26 Jun 2026 11:42:56 +1000 Subject: [PATCH 1/4] refactor!: drop duplicate sinks for Primitives 5.7.0 concretes Bump ReactiveUI.Primitives to 5.7.0 and delete in-repo observable sinks that the package now provides as concrete signal classes. - Remove ReactiveUI.Internal.SingleValueObservable (+ Void/True/False singletons), SyncExecuteObservable, StartObservable - Use the seam-neutral Primitives concretes instead: ReturnSignal, StartSignal and ImmutableReturnRxVoidSignal - Import ReactiveUI.Primitives.Advanced (lean) / ReactiveUI.Primitives.Reactive.Advanced (shim) via ReactiveShim.props and the test Directory.Build.props so the names resolve under both seams - Trim the removed public types from the ReactiveUI.Core PublicAPI baselines - Drop the obsolete SingleValueObservable unit test BREAKING CHANGE: the public types ReactiveUI.Internal.SingleValueObservable and ReactiveUI.Internal.SyncExecuteObservable are removed; construct the equivalent ReactiveUI.Primitives.Advanced signal classes instead. --- src/Directory.Packages.props | 2 +- src/ReactiveShim.props | 7 ++ .../Internal/SingleValueObservable{T}.cs | 26 ------- .../Internal/SyncExecuteObservable.cs | 35 --------- .../net10.0-android36.0/PublicAPI.Shipped.txt | 6 -- .../net10.0-ios/PublicAPI.Shipped.txt | 6 -- .../net10.0-maccatalyst/PublicAPI.Shipped.txt | 6 -- .../net10.0-macos/PublicAPI.Shipped.txt | 6 -- .../net10.0-tvos/PublicAPI.Shipped.txt | 6 -- .../PublicAPI.Shipped.txt | 6 -- .../PublicAPI/net10.0/PublicAPI.Shipped.txt | 6 -- .../net11.0-android37/PublicAPI.Shipped.txt | 6 -- .../net11.0-ios/PublicAPI.Shipped.txt | 6 -- .../net11.0-maccatalyst/PublicAPI.Shipped.txt | 6 -- .../net11.0-macos/PublicAPI.Shipped.txt | 6 -- .../net11.0-tvos/PublicAPI.Shipped.txt | 6 -- .../PublicAPI.Shipped.txt | 6 -- .../PublicAPI/net11.0/PublicAPI.Shipped.txt | 6 -- .../PublicAPI/net462/PublicAPI.Shipped.txt | 6 -- .../PublicAPI/net472/PublicAPI.Shipped.txt | 6 -- .../PublicAPI/net481/PublicAPI.Shipped.txt | 6 -- .../PublicAPI.Shipped.txt | 6 -- .../PublicAPI/net8.0/PublicAPI.Shipped.txt | 6 -- .../PublicAPI.Shipped.txt | 6 -- .../PublicAPI/net9.0/PublicAPI.Shipped.txt | 6 -- .../Activation/CanActivateViewFetcher.cs | 2 +- .../Property/PropertyBinderImplementation.cs | 2 +- .../Interactions/Interaction.cs | 2 +- .../Internal/SingleValueObservable.cs | 28 ------- .../Internal/StartObservable.cs | 44 ----------- .../Mixins/ObservableLoggingMixins.cs | 2 +- .../CombinedReactiveCommand.cs | 2 +- .../ReactiveCommand/ReactiveCommand.cs | 36 +++++---- .../ReactiveCommand{TParam,TResult}.cs | 4 +- src/ReactiveUI.Shared/Routing/RoutingState.cs | 2 +- .../Suspension/DummySuspensionDriver.cs | 10 +-- .../Suspension/SuspensionHostExtensions.cs | 16 ++-- .../android/BundleSuspensionDriver.cs | 6 +- .../android/FlexibleCommandBinder.cs | 8 +- .../AppSupportJsonSuspensionDriver.cs | 6 +- src/tests/Directory.Build.props | 4 + .../AutoPersist/AutoPersistCollectionTest.cs | 12 +-- .../AutoPersist/AutoPersistHelperTest.cs | 58 +++++++-------- .../Commands/CombinedReactiveCommandTest.cs | 28 +++---- .../ReactiveCommandTest.ExecutionAndInvoke.cs | 4 +- ...iveCommandTest.IsExecutingAndExceptions.cs | 6 +- .../Commands/ReactiveCommandTest.cs | 2 +- .../ReactiveUI.Tests/Core/ObservablesTests.cs | 73 ------------------- .../ReactiveUI.Tests/InteractionsTest.cs | 2 +- 49 files changed, 121 insertions(+), 434 deletions(-) delete mode 100644 src/ReactiveUI.Core/Internal/SingleValueObservable{T}.cs delete mode 100644 src/ReactiveUI.Core/Internal/SyncExecuteObservable.cs delete mode 100644 src/ReactiveUI.Shared/Internal/SingleValueObservable.cs delete mode 100644 src/ReactiveUI.Shared/Internal/StartObservable.cs delete mode 100644 src/tests/ReactiveUI.Tests/Core/ObservablesTests.cs diff --git a/src/Directory.Packages.props b/src/Directory.Packages.props index 80c46e902a..9d10a8fc8f 100644 --- a/src/Directory.Packages.props +++ b/src/Directory.Packages.props @@ -6,7 +6,7 @@ 20.0.0 - 5.6.0 + 5.7.0 1.56.25 2.10.0.2 diff --git a/src/ReactiveShim.props b/src/ReactiveShim.props index d6686b587e..309f97291f 100644 --- a/src/ReactiveShim.props +++ b/src/ReactiveShim.props @@ -40,6 +40,10 @@ Broadcaster) resolve unqualified to the lean ReactiveUI.Primitives namespace. Open generics can't be aliased, so this is a namespace import rather than a per-type alias like RxVoid/ISequencer above. --> + + + + + @@ -39,6 +42,7 @@ +