Loading...

Rx.NET v7.0 Released

Rx.NET v7.0 Released

In this video, Ian Griffiths announces Rx.NET 7.0, highlighting a potential 95MB reduction in application deployment size by moving UI framework support out of the main System.Reactive package into separate NuGet packages (System.Reactive.Windows.Forms, System.Reactive.Wpf, System.Reactive.Uwp, and System.Reactive.WindowsRuntime).

He explains the three breaking changes:

  • dropping .NET 6 and 7 support (now targeting .NET 8+ and tested on 8–10),
  • fixing a nullable annotation bug in OfType (no runtime change),
  • the UI-package split that prevents Windows TFMs from implicitly pulling in WPF/WinForms, which previously bloated self-contained deployments (example growing from 102MB to 197MB with Rx 6.1).

Rx 7.0 keeps binary compatibility by retaining UI code at runtime but hiding it from reference assemblies, with analyzers guiding developers to add the right package; he also recounts the historical "great unification" decision and invites feedback via GitHub for community suggestions of v8.0 features.

Full documentation is available at Introduction to Rx.NET.

  • 00:00 Rx.NET 7.0 Overview
  • 00:30 Breaking Change One TFMs
  • 01:51 TFM Confusion Explained
  • 03:18 Breaking Change Two Nullability
  • 04:37 Big Change UI Packages Split
  • 07:21 Demo The 95MB Problem
  • 12:51 Rx 7 Deployment Results
  • 15:14 Source vs Binary Breaking
  • 18:10 ReactiveUI Still Works
  • 22:34 Why This Happened
  • 26:22 Wrap Up Next Steps

Published on:

Learn more
endjin.com
endjin.com

We help small teams achieve big things.

Share post:

Related posts

Providing comparative context with DAX Calculated Tables under Row Level Security

Row Level Security in Power BI solves one problem (who sees what) but introduces another - comparisons across the full dataset become impossib...

6 hours ago

How to Implement Generation in RAG

Understand the generation step of RAG: how LLMs use augmented context to produce grounded responses, how to enforce structured outputs with Py...

1 day ago

How to Implement Augmentation in RAG

Understand the augmentation step of RAG: how retrieved documents are structured into prompts, how metadata and citations improve response qual...

2 days ago

How to Implement Retrieval in RAG

Understand the retrieval step of RAG: Learn how database queries, keyword search, vector search, and hybrid approaches find the right informat...

3 days ago

TypeDeclaration: An Abstraction for Understanding JSON Schema

The Corvus.Json.CodeGeneration library analyses JSON Schema and builds a TypeDeclaration tree that maps schema patterns to code patterns. The ...

6 days ago

Optimising DAX: Practical Examples

The final post in the Optimising DAX series: the CALCULATE trap, variables and IF.EAGER, slicer costs, and a practical approach to isolating s...

7 days ago

Optimising DAX: Data Materialisation

Data materialisation is when the storage engine gives up on efficient processing and rebuilds the entire table. This post explains what trigge...

8 days ago

Building API Reference Documentation From Code, Part 2: Under the Hood

A deep dive into the cross-assembly linking, PDB-based source links, TFM scanning, enrichment merging, and search indexing that power our API ...

9 days ago

Building API Reference Documentation From Code, Part 1: The Pipeline

We generate about 8,800 API reference pages from 16 libraries across two engine versions, with source links, TFM availability badges, and hand...

10 days ago

Writing Effective Copilot Instructions for Complex Codebases

A flat copilot-instructions.md works for small projects. When your codebase hits 500k lines, 19 projects, and multiple code generators, you ne...

13 days ago

Newsletter

Get the latest Dynamics 365 and Power Platform content in your inbox

A curated digest of community blogs, product news, videos, and podcasts — delivered without the noise.

Weekly updates Unsubscribe anytime Fresh community picks
We use your email only for the newsletter and you can unsubscribe at any time.
By subscribing, you agree to the privacy policy.