Bump ReactiveUI from 23.2.27 to 24.0.0 - #159
Closed
dependabot[bot] wants to merge 1 commit into
Closed
Conversation
--- updated-dependencies: - dependency-name: ReactiveUI dependency-version: 24.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Contributor
Author
|
Superseded by #160. |
auto-merge was automatically disabled
July 27, 2026 04:59
Pull request was closed
dependabot
Bot
deleted the
dependabot/nuget/SpecLens.Avalonia/ReactiveUI-24.0.0
branch
July 27, 2026 04:59
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Updated ReactiveUI from 23.2.27 to 24.0.0.
Release notes
Sourced from ReactiveUI's releases.
24.0.0
ReactiveUI 24.0.0
ReactiveUI 24 is a major release. ReactiveUI now runs on the allocation-conscious
ReactiveUI.Primitivesengine, with System.Reactive becoming optional. This changes public type identities and, for the System.Reactive-compatible distribution, namespaces, so review the migration path before upgrading.Choose your distribution
Both distributions use the same ReactiveUI.Primitives engine, custom schedulers, and optimized sinks. Choose one package family consistently based on the reactive types you want in your public API.
ReactiveUI,ReactiveUI.WPF,ReactiveUI.WinForms,ReactiveUI.WinUI,ReactiveUI.Maui,ReactiveUI.Blazor,ReactiveUI.AndroidX, etc.ReactiveUIRxVoid,ISequencer,Signal<T>ReactiveUI.Reactive,ReactiveUI.WPF.Reactive,ReactiveUI.WinForms.Reactive,ReactiveUI.WinUI.Reactive,ReactiveUI.Maui.Reactive,ReactiveUI.Blazor.Reactive, etc.ReactiveUI.ReactiveandReactiveUI.Reactive.BuilderUnit,IScheduler,Subject<T>New default: ReactiveUI.Primitives types
Keeping the existing package names selects the new default distribution. The normal
ReactiveUInamespaces remain, but these public reactive types change:System.Reactive.Concurrency.ISchedulerbecomesReactiveUI.Primitives.Concurrency.ISequencer.System.Reactive.UnitbecomesReactiveUI.Primitives.RxVoid.Subject<T>,BehaviorSubject<T>, andReplaySubject<T>becomeSignal<T>,BehaviorSignal<T>, andReplaySignal<T>.IObservable<T>, so the default distribution does not require System.Reactive for observable composition. System.Reactive can still coexist with the default packages; choose the.Reactivefamily when you specifically want ReactiveUI APIs to use System.Reactive'sISchedulercompatibility seam (together withUnitand subject interop types).Use System.Reactive schedulers with ReactiveUI: choose the
.ReactivepackagesUse the
.Reactivepackages when you want ReactiveUI itself to accept and expose System.Reactive'sISchedulertypes. Merely referencing or using System.Reactive elsewhere does not require this distribution. Replace each ReactiveUI package with its matching.Reactivepackage; for example, useReactiveUI.ReactivewithReactiveUI.WPF.Reactiveinstead ofReactiveUIwithReactiveUI.WPF.The compatibility packages intentionally have distinct type identities. Most ReactiveUI APIs move from
ReactiveUItoReactiveUI.Reactive, builder APIs move toReactiveUI.Reactive.Builder, and platform XAML/CLR namespace mappings may also need updating. This namespace change is part of why version 24 is a major release.The
.Reactivepackages are not the old implementation: they use the same Primitives engine and performance work as the default packages, while exposing System.Reactive 7 types at the interop boundary.Other changes to know about
RoutingState,IScreen, andRoutedViewHostremain in the main package. DynamicData-backed routing, change-set, collection, and auto-persist helpers now live inReactiveUI.Routing, orReactiveUI.Routing.Reactivefor the System.Reactive distribution.WhenAnyValue/ToPropertysubscription and emission, with 5–13× less allocation. Both distributions benefit because both run on Primitives.IActivatableView.WhenActivatedoverloads accept anIObservable<object?>ViewModel-change source and avoid reflection and trim warnings.WhenAnyValueno longer loses a concurrent first change, WPF main-thread scheduling now dispatches correctly from background threads, suspension state is materialized before shutdown persistence, interaction task handlers resume on the captured UI context, and pureObservableMixinshelpers work before builder initialization..Reactivepackage now resolves its XAML namespace and ships the default theme required byViewModelViewHost.ReactiveUI.Internal.SingleValueObservable<T>orSyncExecuteObservable<T>should use the equivalentReactiveUI.Primitives.Advancedsignal types (ReturnSignal<T>andStartSignal<T>).🗞️ What's Changed
💥 Breaking Changes
✨ Features
♻️ Refactoring
... (truncated)
24.0.0-beta.3
🗞️ What's Changed
💥 Breaking Changes
✨ Features
🐛 Fixes
⚡ Performance
🧹 General Changes
📦 Dependencies
📌 Other
🔗 Full Changelog: reactiveui/ReactiveUI@23.2.28...24.0.0-beta.3
🙌 Contributions
🌱 New contributors since the last release: @dwcullop
... (truncated)
24.0.0-beta.2
🗞️ What's Changed
💥 Breaking Changes
✨ Features
🐛 Fixes
⚡ Performance
🧹 General Changes
📦 Dependencies
📌 Other
🔗 Full Changelog: reactiveui/ReactiveUI@23.2.28...24.0.0-beta.2
🙌 Contributions
🌱 New contributors since the last release: @dwcullop
💖 Thanks to all the contributors: @ChrisPulman, @Copilot, @dwcullop, @glennawatson, @xackus
... (truncated)
24.0.0-beta.1
🗞️ What's Changed
💥 Breaking Changes
✨ Features
🐛 Fixes
⚡ Performance
🧹 General Changes
📦 Dependencies
📌 Other
🔗 Full Changelog: reactiveui/ReactiveUI@23.2.28...24.0.0-beta.1
🙌 Contributions
🌱 New contributors since the last release: @dwcullop
💖 Thanks to all the contributors: @ChrisPulman, @Copilot, @dwcullop, @glennawatson, @xackus
... (truncated)
23.2.28
🔏 23.2.28 — consolidated, re-signed release
This is the recommended 23.x release. It supersedes and folds together
23.1.1,23.1.8,23.2.1,23.2.19, and23.2.27, which were signed with a code-signing certificate that has since been revoked — NuGet restore fails on them withNU3012.23.2.28is identical in code to23.2.27but re-signed with a valid certificate, and it depends on the re-signed Splat19.4.1. Those superseded releases have been removed and their notes consolidated here.🗞️ What's Changed
🐛 Fixes
DependencyPropertylookup (#4350, fixes #3921)BindCommandpassing the wrong parameter after a new ViewModel is assigned to the View (#4324)ComponentModelFallbackConverterfalse positives + missingConverterServiceregistrations (#4313)WithWinForms()initialization + ReactiveCommand output-propagation tests (#4314)StackOverflow, activator negative ref-count, a binding regression, and testing extensions (#4301)✨ Enhancements
WithCoreServices()and additional platform converters (#4316)🧹 Build, CI & signing
23.2.27source)📦 Dependencies
19.4.1(re-signed)🔗 Full Changelog: reactiveui/ReactiveUI@22.3.1...23.2.28
🙌 Contributions
💖 Thanks to all the contributors — @glennawatson, @ChrisPulman, @Copilot, and Maciej Walczak (see the linked PRs for attribution).
🤖 Automated services that contributed: @renovate[bot], @github-code-quality[bot]
Commits viewable in compare view.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)