Skip to content

Releases

RunicArtifex.ReactiveUI.Validation 9.0.0

Choose a tag to compare

@github-actions github-actions released this 30 Oct 13:56
41ecd22

What's Changed

  • Complete generated validation capabilities by @ViktorJannicke in #3
  • Publish upstream reviews as artifacts and tracking issues by @ViktorJannicke in #4
  • Accept the current generated gate report in the release guard by @ViktorJannicke in #5
  • Version releases as 9.0.0-runic.N with Nerdbank.GitVersioning by @ViktorJannicke in #6
  • Restore RunicArtifex.DynamicData 10.0.0-runic.118 from nuget.org by @ViktorJannicke in #7
  • Publish to nuget.org as RunicArtifex.ReactiveUI.Validation with trusted publishing by @ViktorJannicke in #8
  • Release 9.0.0 as the first stable version, on DynamicData 10.0.0 by @ViktorJannicke in #9

Full Changelog: v8.1.0...v9.0.0

RunicArtifex.ReactiveUI.Validation 9.0.0-runic.9

Choose a tag to compare

@github-actions github-actions released this 21 Oct 10:51
ac2f3a0

What's Changed

  • Restore RunicArtifex.DynamicData 10.0.0-runic.118 from nuget.org by @ViktorJannicke in #7
  • Publish to nuget.org as RunicArtifex.ReactiveUI.Validation with trusted publishing by @ViktorJannicke in #8

Full Changelog: v9.0.0-runic.1...v9.0.0-runic.9

Runic ReactiveUI.Validation 9.0.0-runic.1

Choose a tag to compare

@github-actions github-actions released this 07 Oct 10:14
0db4def

What's Changed

Full Changelog: https://github.com/Runic-Artifex/ReactiveUI.Validation/commits/v9.0.0-runic.1

Runic ReactiveUI.Validation 8.1.0-runic.0.790.17.15

Choose a tag to compare

@github-actions github-actions released this 05 Oct 21:32
f22d2bb

Runic ReactiveUI.Validation 8.1.0-runic.0.790.17.15

This release adds explicit observable validation for applications that supply their own observations and typed callbacks. Six new methods are shared by both flavors: four AddObservableRule overloads accept complete-state or value streams on a context or view model, while BindObservableValidationState and BindObservablePropertyValidationState follow explicit model/helper/context selection streams and assign projected results through ordinary delegates.

Full property paths retain error metadata and exclusive matching. Helpers capture their registration context, remove their own rule on disposal and roll back failed registration. Bindings detach replaced/null selections and preserve custom state values. Applications own initial observations, asynchronous cancellation and UI dispatch.

Producer AOT/trim analysis narrows annotation boundaries around generated OAPH constructors, supplied-observable rules and metadata-only selectors. False RequiresDynamicCode annotations are removed; legacy reflection observation and target assignment retain RequiresUnreferencedCode. No blanket IsAotCompatible declaration is added.

Realistic package consumers cover reusable generic fields, nullable nested editors with rich typed targets, independent blocking/advisory cross-field rules, dynamic rows with asynchronous result state, and the existing observable foundation. Application adapters also verify synchronous initial replacement/null, disposal, notification snapshots and cleanup when initial getters or callbacks throw.

Release source: f22d2bb42c30d66df19a59333ed4fa633b241940. The dependency cohort remains .NET 10 / SDK 10.0.401, ReactiveUI and ReactiveUI.Reactive 26.0.1, and matching Runic.DynamicData 10.0.0-runic.5 packages.

Final CI passes 618 core tests per OS (309 per flavor), zero failed/skipped, both package graphs and the strict five-case safe console subset. Actual Linux x64 and Windows x64 NativeAOT consumers pass with zero candidate warnings/errors using that CI run's verified Ubuntu package pair. Local Linux verification also passes standalone full-trim execution. The release workflow passes all five jobs, repeats the complete matrix and publishes its own exact Ubuntu package artifact verified by that run's two native RID jobs. The tag, nuspec source and independently downloaded assets are verified.

A Validation generator is design only; no generator package or MVP ships. The supported scope is these tested console paths and dependency cohort. UI platforms, bridge/browser behavior, other RIDs and untested legacy overloads are outside that claim. Earlier .790.17 release assets and their warning-bearing investigation results remain immutable.

Published asset SHA-256
Runic.ReactiveUI.Validation.8.1.0-runic.0.790.17.15.nupkg 17be4c3b5f46e9ff237b5f89bf97c4ff1f47b5dfef9abd250516cc454c57e95f
Runic.ReactiveUI.Validation.Reactive.8.1.0-runic.0.790.17.15.nupkg 08d6087dbd86e0ae92f1230275351240d8b2e32b7765e5b6c2b31e8ae47b4fd2

Runic ReactiveUI.Validation 8.1.0-runic.0.790.17

Choose a tag to compare

@github-actions github-actions released this 05 Oct 19:50
c9fa501

Runic ReactiveUI.Validation 8.1.0-runic.0.790.17

Release version/tag: 8.1.0-runic.0.790.17 / runic-v8.1.0-runic.0.790.17.
Published GitHub release on 2026-10-05 at 19:50:16 UTC.
Source/tag target: c9fa501c4d2e9442d85693dae77bb6f727e9eb7a.
The release workflow passed its own 594 tests and all package/example gates.

Bindings now detach replaced or null models/helpers and dispose safely more than
once. Context membership and current validation update synchronously, so adding
or removing a blocking rule changes same-turn command admission correctly.

Both flavors retain their existing API and add 14 methods for explicit
validation contexts and typed state bindings. Keep blocking rules independent
from advisory contexts, and project complete rule states into typed properties
or callbacks. Shared collection recipes cover initial empty state, child edits,
replacement/removal and disposal. An opt-in BenchmarkDotNet solution measures
both flavors; its reports include exact sources and shared-host limitations.

Observable delivery change: public ValidationContext.Validations,
Valid and ValidationStatusChange now deliver on the owning model
context. IsValid and Text remain scheduled presentation properties.
Native/UI consumers must dispatch at their presentation boundary when they need
a different thread or scheduler. Serialize model mutations on their owner.

Supported cohort: .NET 10, SDK 10.0.401, ReactiveUI /
ReactiveUI.Reactive 26.0.1, and released Runic.DynamicData /
Runic.DynamicData.Reactive 10.0.0-runic.5. DynamicData release source:
edd2d175794afc86e964a06cb55329f44793009f. Bootstrap verified both hashes:

Dependency package SHA-256
Runic.DynamicData ebd6e4329af148f8a1b3caa00e1391726e2379872b027a693cce787718055366
Runic.DynamicData.Reactive 49f3e11fdd62b357b376ee26b45deca94cbfc1a52a918bc228aff09c92fc5268

Verification: local Release build passed with zero warnings/errors; 594 tests
passed (297 per flavor), zero failed/skipped
. Both ordinary collection examples,
eight negative package-graph tests and both expanded independent package
consumers passed. Consumers verify exact versions, matching flavors, exclusion
of both upstream DynamicData IDs and no System.Reactive in Primitives.
CI run 37363825486
at the exact source above passed both OS jobs in attempt 2: Windows attempt 1
completed all gates, and the Linux-only retry passed every gate at the same
source: 594 tests per OS (297 per flavor), zero failed/skipped, eight guard
tests each, clean builds, both examples and both expanded consumers. The initial
Linux attempt executed no work because a hosted runner was
not acquired. Both OS verification package versions were 8.1.0-runic.0.790.17;
the earlier local pair was .804 because version-tag metadata differed.
The published release identity is recorded above.

No new platform or blanket Native AOT support is claimed. SDK scheduler probes
cover source adapters, rather than end-to-end bridge/browser behavior. Final
benchmarks are provisional throughput measurements, not UI-latency or comparative
performance guarantees.

Published assets were downloaded and verified against API SHA-256 values:

Release asset SHA-256
Runic.ReactiveUI.Validation.8.1.0-runic.0.790.17.nupkg 5d3c5261324181b7d8b995cc7b242977adba21a0ad81c361a4d4bd8a163d14df
Runic.ReactiveUI.Validation.Reactive.8.1.0-runic.0.790.17.nupkg e3ba50fa1ad991912bd2d243a923c25055e9d434fb6d7c2eb840cf1ebbd5cb4b

Runic ReactiveUI.Validation 8.1.0-runic.0.790

Choose a tag to compare

@github-actions github-actions released this 05 Oct 16:04
509dd45