-
Notifications
You must be signed in to change notification settings - Fork 10
Release 2026.4.3: Rust FFI Bridge, RSL Physics & DTS Enhancements #1250
Description
Version: 2026.4.3
Title: Rust FFI Bridge, RSL Physics & DTS Enhancements
Why: Major backend migration (Rust FFI replacing f90wrap), RSL physics refinements, T2 attribution, DTS enhancements, seasonal albedo, comprehensive validation improvements, and critical bug fixes
Highlights (stable, public-facing)
- Rust FFI bridge replaces f90wrap as sole simulation backend (feat: replace f90wrap with Rust FFI bridge as sole simulation backend #1209)
- Rust CLI installed to PATH with unified interface (feat(cli): install Rust CLI to PATH and unify CLI interface #1215)
- T2 attribution module for diagnosing temperature changes (feat: Add T2 attribution module for diagnosing temperature changes #918)
- RSL physics: dynamic c2m/c2h from HF08 theory (Compute c2m/c2h dynamically from HF08 RSL theory #1116, Refine RSL c2m/c2h with explicit R=beta*hd/elm parameterisation (GH#1055) #1232), interpolation bounds fix (Fix interpolation bounds error in RSL profiles (GH#1223) #1228), division-by-zero guard (Fix division-by-zero pitfalls in RSL/resistance chain (GH#1223) #1229)
- Seasonal albedo adjustment for vegetated surfaces (feat: Add seasonal adjustment of alb_id for vegetated surfaces #1211, feat: Auto-initialise vegetation albedo from phenology state #1133)
- DTS: chunk_day for long simulations (feat(dts): add chunk_day parameter for long simulations #1172), multi-grid support (feat(dts): add run_dts_multi for multi-grid simulation support #1173)
- Validation: rules registry (Add a draft rules registry to the validator with two test rules #1246), conditional validation (Feat: add logic in _is_physics_explicitly_configured to allow conditional validation #1247), nlayer limit (Feat: add upper limit to
nlayerto avoid run crashes #1206) - Bug fixes: SPARTACUS LW NaN guard (fix: guard SPARTACUS LW solver NaN from matrix singularity #1212), Pydantic multiprocessing serialisation (fix(dts): serialise Pydantic models across multiprocessing boundaries #1197), output packing overflow (Fix GH1191: fail fast on SUEWS output packing overflow #1198)
Experimental (STEBBS & SPARTACUS, not in public release notes)
19 STEBBS items and 3 SPARTACUS validation items remain [experimental] in the CHANGELOG and are excluded from the version history RST and GitHub Release notes. STEBBS items include setpointmethod, lighting energy, cold water temperature, emissivity options, MetabolismProfile, DaylightControl, and parameter range rules. SPARTACUS items include sfr validation (#1208), building height validation (#1205), and vegetation consistency checks (#1222).
Release Progress
- Science tests sign-off: @MatthewPaskin
- Dev tag selected:
2026.4.3.dev(CI-verified, on master lineage) - CI status: All workflows passed on master HEAD
- No incomplete prior releases:
2026.1.28tagged and published - Fill CHANGELOG gaps (53 missing PRs added)
- Governance review: 17 features promoted to
[stable], 22 items remain[experimental] - Create
docs/source/version-history/v2026.4.3.rstand add to toctree - Create
.github/releases/2026.4.3.md(GitHub Release notes) - Update skill docs (
prep-release,log-changes) for experimental exclusion rule - Submit PR and merge to master
- Tag merge commit
2026.4.3— tagged on40f0fecd5(master HEAD, includes Release 2026.4.3 #1275 + Docs: remove f2py ref, clarify QGIS 3/4 wheel strategy #1277)
Remaining Steps (sub-issues)
- Verify: Actions, PyPI, GitHub Release, Zenodo
- PR to UMEP-dev/umep-reqs to update supy version — umep-reqs#14 updated, awaiting merge by @biglimp
Full guide: dev-ref/RELEASE_MANUAL.md