Skip to content

27.0.0

Latest

Choose a tag to compare

@github-actions github-actions released this 15 Nov 14:58

ReactiveUI 27.0.0 moves modern .NET support to .NET 10 and .NET 11, removes the .NET 8, .NET 9 and .NET Framework 4.6.2 targets, and updates the Primitives, Binding, SourceGenerators and Splat dependencies. This is a major release because applications targeting the removed frameworks must retarget before upgrading, and projects that disable implicit usings must explicitly import the ReactiveUI namespaces they use.

.NET 8 and .NET 9 removal

.NET 8 and .NET 9 both reached Microsoft's end of support on 10 November 2026. Microsoft no longer provides security fixes, servicing updates or technical support for either version. ReactiveUI's modern .NET targets are now .NET 10 and .NET 11, including their supported UI platform variants. See Microsoft's end-of-support announcement and the .NET support policy.

.NET Framework 4.6.2 (net462) removal

Microsoft lists the end of support for .NET Framework 4.6.2 as 12 January 2027. We are removing this target ahead of that deadline as part of the same compatibility change. This reduces the legacy build and dependency combinations we maintain. Packages that provide .NET Framework assets target net47, net471, net472, net48 and net481; available targets vary by package and UI platform. See Microsoft's .NET Framework support policy.

Implicit usings respect your project settings

ReactiveUI's transitive package imports now respect the consuming project's ImplicitUsings setting. Projects that set it to false or disable, or leave it unset, must add explicit using directives for the ReactiveUI and binding namespaces they use. Projects using true or enable retain the automatic imports. This applies to the lean, System.Reactive and WPF package imports. See the change and migration details.

Dependencies and platform updates

  • Updated Splat to 22.0.1, ReactiveUI.Primitives to 10.0.0, ReactiveUI.Binding to 10.0.0 and ReactiveUI.SourceGenerators to 5.0.0. These dependency releases have their own version numbers; their major versions do not need to match ReactiveUI's version.
  • Updated framework-specific dependencies and build tooling while preserving intentional compatibility pins.
  • Updated the iOS documentation app to UIKit's scene lifecycle and aligned Apple example builds with the current SDK toolchain. The .NET 10 macOS deployment minimum is preserved.
  • Aligned analyzer settings with ReactiveUI.SourceGenerators, removed Roslynator and cleaned up unused central package entries and redundant explicit ValueTuple references. Remaining .NET Framework targets already provide ValueTuple.

Upgrading

Retarget .NET 8 or .NET 9 applications to .NET 10 LTS or .NET 11, including the matching platform target for UI applications. For .NET Framework applications, prefer 4.8 or 4.8.1 where supported by your Windows version. Update the ReactiveUI packages used by your application together and review the dependency release notes when upgrading.

If you cannot retarget yet, keep using a compatible ReactiveUI 26.x version while planning the migration. Staying on an older package does not extend Microsoft's runtime support. As with Splat's framework transition, removing these targets lets us focus maintenance and dependency updates on the remaining framework combinations.

🗞️ What's Changed

💥 Breaking Changes

🐛 Fixes

🧹 General Changes

📦 Dependencies

  • 2f277b0 chore(deps): update actions/setup-dotnet digest to 0f4a354 (#4553) renovate[bot]
  • d9c8d14 chore(deps): update dependency roslynator.analyzers to 5.0.1 (#4531) renovate[bot]
  • 990046c chore(deps): update dependency microsoft.sourcelink.github to 10.0.403 (#4546) renovate[bot]
  • 721f544 chore(deps): update actions/download-artifact digest to 9000827 (#4536) renovate[bot]
  • 15b6d89 chore(deps): update dependency microsoft.testing.extensions.codecoverage to 18.12.0 (#4537) renovate[bot]

🔗 Full Changelog: 26.0.1...27.0.0

🙌 Contributions

💖 Thanks to all the contributors: @glennawatson

🤖 Automated services that contributed: renovate[bot]