The Reactive Extensions for .NET 2.2.4 Released

This is a minor update from Rx.NET v2.2.3 which includes two fixes. First is the support for Windows Universal libraries, and the second is ReplaySubject performance enhancements. With the help from the community, we are moving the Reactive Extensions forward and we have plenty more coming soon.

Windows Universal Support

With the release of Windows Phone 8.1, it is now possible to use the Windows Runtime to build apps that can target each form factor in the family of Windows devices. Using the universal Windows app project templates, you can now create one app where your business logic can be surfaced up through a user experience relevant to the device. This unified approach to app development means that your app has the potential to reach not just Windows phones and tablets, but Windows laptops and workstations as well.

Previously, our NuGet packages did not support Universal Windows Apps, but now, thanks to work from Paul Betts, you can now write Universal Apps using the Reactive Extensions.

ReplaySubject Performance Enhancements

During the development of the Reactive Extensions version 2.0+, we have had a focus on performance as noted in Bart de Smet's post on the Reactive Extensions Team Blog. One of the overlooked areas of the performance work we did as Subjects. We had the community step up in this regard to helping performance better on the ReplaySubject. The details are laid out in this very detailed blog post.  Many thanks to Lee Campbell for his hard work for this feature.

Patterns in Using Generic Virtual Methods Issues

Some patterns in using generic virtual methods may cause increases in compilation time and size on disk when used with Microsoft pre-compilation technologies such as NGEN. This bug fix removes those patterns so that Microsoft pre-compilation technologies such as NGEN work better with the Reactive Extensions library. This change was tested and found to have no noticeable performance impact, other than stabilizing compilation times and the size on disk.

Closed Issues

  • #4 - Add Windows Universal support
  • #3 - Adding ReplaySubject perf improvements


  • 4be7549 - Updating import.targets for flattening
  • d56e5d1 - Add Wpa81 to BuildAll.proj
  • 7041c40 - Universal Unit Tests aren't A Thing yet
  • b94b695 - Add Configurations for Wpa81
  • 03368da - Add a Windows 8.1 + Windows Phone 8.1 Target
  • 7ea7fbb - Some patterns in using generic virtual methods may cause increases in compilation time and memory usage
  • 0815ac7 - Included multiple disposals to Replay UnitTests
  • 98ad574 - Remove comments
  • 5449869 - Adding ReplaySubject perf improvements
  • 044afd5 - Use background thread for long-running ThreadPoolScheduler