Rx.NET v5 is required for .NET 5 support of CSWinRT; earlier versions of Rx won't work correctly. To get the Windows API, you need to use the latest Windows SDK (19041), though you can target earlier versions of Windows.
Breaking changes
In Windows, since the net5.0-windows10.0.19041
target now supports all Windows desktop object models, on UWP DispatcherObservable
and releated SubscribeOn/ObserveOn were renamed to be CoreDispatcherObservable
, SubscribeOnCoreDispatcher
, and ObserveOnCoreDispatcher
. This reflects the OS type names. Dispatcher
refers only to the WPF type.
Rx 5.x supports the following platforms
- .NET 5
- .NET 5 with the Windows 10 19041 SDK (able to target earlier Windows versions)
- .NET Framework 4.7
- UWP 10.0.16299
- .NET Standard 2.0
Support for older versions of UWP 10.0 has been removed.
Due to the overwhelming pain that fixing #205 - Implement assembly version strategy caused, we have refactored the libraries into a single library System.Reactive
. To prevent breaking existing code that references the v3 libraries, we have facades with TypeForwarders to the new assembly. If you have a reference to a binary built against v3.0, then use the new System.Reactive.Compatibility
package.
Rx 4.1 supports the following platforms
- .NET Framework 4.6+
- .NET Standard 2.0+ (including .NET Core, Xamarin and others)
- UWP
Notably, Windows 8, Windows Phone 8 and legacy PCL libraries are no longer supported.
The NuGet packages have changed their package naming in the move from v2.x.x to v3.0.0
is nowRx-Main
System.Reactive
is nowRx-Core
System.Reactive.Core
is nowRx-Interfaces
System.Reactive.Interfaces
is nowRx-Linq
System.Reactive.Linq
is nowRx-PlatformServices
System.Reactive.PlatformServices
is nowRx-Testing
Microsoft.Reactive.Testing
This brings the NuGet package naming in line with NuGet guidelines and also the dominant namespace in each package. The strong name key has also changed, which is considered a breaking change. However, there are no expected API changes, therefore, once you make the NuGet change, no code changes should be necessary.