Is your feature request related to a problem?
ReactiveUI.SourceGenerators currently documents compatibility with ReactiveUI 23.2.28+, but ReactiveUI 24 introduces two distinct API profiles:
- The default Primitives-based profile, using the
ReactiveUI package family.
- The System.Reactive-compatible profile, using the
ReactiveUI.Reactive package family.
Projects upgrading to ReactiveUI 24 need to be able to continue using ReactiveUI.SourceGenerators regardless of which ReactiveUI 24 API profile they select.
Describe the solution you'd like
Please add official ReactiveUI 24 compatibility for both supported API profiles:
- The default Primitives-based ReactiveUI 24 profile.
- The System.Reactive-compatible ReactiveUI 24
.Reactive profile.
All currently supported source generators and attributes should compile and operate correctly when the consuming project uses either profile.
Describe alternatives you've considered
The current alternatives are to remain on ReactiveUI 23 or replace source-generated members with manually written implementations.
Neither alternative is suitable for projects adopting ReactiveUI 24.
Suggestions on how to achieve the feature
Keep a single ReactiveUI.SourceGenerators package and detect the available ReactiveUI 24 API profile from the consuming compilation.
Centralize profile-specific namespaces and type mappings, then generate code for either:
- The default Primitives-based
ReactiveUI profile.
- The System.Reactive-compatible
ReactiveUI.Reactive profile.
Add compile-time integration tests for both package families to prevent compatibility regressions.
Additional context
Support should not be limited to only one of the ReactiveUI 24 package families. Both the default Primitives-based profile and the System.Reactive-compatible .Reactive profile should be treated as supported configurations.
Is your feature request related to a problem?
ReactiveUI.SourceGenerators currently documents compatibility with ReactiveUI 23.2.28+, but ReactiveUI 24 introduces two distinct API profiles:
ReactiveUIpackage family.ReactiveUI.Reactivepackage family.Projects upgrading to ReactiveUI 24 need to be able to continue using ReactiveUI.SourceGenerators regardless of which ReactiveUI 24 API profile they select.
Describe the solution you'd like
Please add official ReactiveUI 24 compatibility for both supported API profiles:
.Reactiveprofile.All currently supported source generators and attributes should compile and operate correctly when the consuming project uses either profile.
Describe alternatives you've considered
The current alternatives are to remain on ReactiveUI 23 or replace source-generated members with manually written implementations.
Neither alternative is suitable for projects adopting ReactiveUI 24.
Suggestions on how to achieve the feature
Keep a single
ReactiveUI.SourceGeneratorspackage and detect the available ReactiveUI 24 API profile from the consuming compilation.Centralize profile-specific namespaces and type mappings, then generate code for either:
ReactiveUIprofile.ReactiveUI.Reactiveprofile.Add compile-time integration tests for both package families to prevent compatibility regressions.
Additional context
Support should not be limited to only one of the ReactiveUI 24 package families. Both the default Primitives-based profile and the System.Reactive-compatible
.Reactiveprofile should be treated as supported configurations.