Changelog¶
The full changelog is maintained in the project root at
CHANGELOG.md. Key releases are summarised below.
v4.0.0 (Current)¶
Major release for the differentiable predictive free-boundary equilibrium line: SI inputs, general profile bases, smooth axis/X-point extraction, Anderson acceleration, a fully JIT-compiled forward path, cached batched solves, and an implicit-function-theorem adjoint for coil-current gradients.
Adds the OMAS/IMAS equilibrium bridge with explicit COCOS auditing and the DIII-D 145419 real-data validation lane.
Makes fail-closed input behavior and the multigrid-preconditioned compiled forward path part of the release contract; corrects fine-grid adjoint convergence and refreshes the disruption operating point.
Publishes exact wheel/sdist checksums in the GitHub v4.0.0 release while keeping nonlinear GK, full electromagnetic, DREAM kinetic, Aurora/STRAHL, and production MPI/multi-GPU parity fail-closed.
v3.11.0¶
Minor feature release adding control, transport, surrogate, and equilibrium capabilities on top of v3.10.1, with no public API removed (backward compatible).
Adds the M-4 safety-shield + constrained-PPO policy, the F-7 TGLF transport surrogate, the M-1 Petri→SNN interlock with proof hash, fastest-first FNO/surrogate-MPC/Fokker-Planck dispatch tiers, the T-4 UQ/OOD cards and T-2 safety traceability matrix (fail-closed drift guards), the F-5 PB-KBM pedestal tier, and the F-1 Solov’ev exact suite.
Lands a modular-decomposition pass over oversized modules and a validation-evidence pass; security-bumps
pillow/clickacross the hash-pinned locks.Keeps full-fidelity solver parity gates fail-closed; no blocked claim is promoted, and the F-5 pedestal tier is reported as documented divergence with no parity claim.
v3.10.1¶
Patch release for GitHub Pages publication hardening, pull-request triage, and dependency-maintenance release alignment.
Preserves the
.nojekyllmarker in the Pages artifact and carries the safe CodeQL upload-sarif maintenance update.Publishes a green post-push
mainstate with no open pull requests and no open Dependabot, code-scanning, or secret-scanning alerts before tagging.Keeps full-fidelity solver parity gates fail-closed; no blocked claim is promoted by this patch release.
v3.10.0¶
Runtime-hardening, Studio-federation, generated-manifest, strict-typing, and documentation-alignment release.
Adds the
scpn_fusion.studiofederation API,scpn-emit-studio-manifestCLI, generated Studio manifest, and Studio user guide/tutorial.Expands Sphinx API navigation for Studio, phase bridges, and UI helpers while keeping full-fidelity solver parity gates fail-closed.
Carries the 2026-06-25 maintenance pass with green CI, clean dependency/security alerts, and refreshed generated surfaces before tagging.
v3.9.11¶
Documentation, security-lock, and repository-hygiene release that improves the README, project overview, onboarding, API overview, notebook index, Sphinx entry points, GitHub Pages, changelog, and release notes.
Documentation dependency lock now resolves bleach to 6.4.0, matching the build lane and addressing the open bleach alerts after GitHub rescans the pushed manifests.
Keeps full-fidelity parity fail-closed for external nonlinear GK, electromagnetic, DREAM, Aurora/STRAHL, FreeGS/free-boundary, and distributed GPU/cluster lanes until same-case artifacts and thresholds exist.
v3.9.10¶
Documentation, release-readiness, and FUS-C evidence traceability release that makes the current FUS-C.4, FUS-C.6, and FUS-C.7 local-contract hardening easier to find from README, onboarding, API, benchmark, release, and notebook surfaces.
v3.9.9¶
Documentation, repository-polish, and MIF evidence-coupling release that improved README scanning, onboarding, API orientation, market/application context, notebook guidance, public evidence-boundary navigation, and Faraday/compression sidecar traceability.
Optional native C++ compilation remained hardened behind fail-closed source, compiler, environment, and timeout checks.
v3.9.7¶
Phase 5/6 physics port: 69 new modules (impurity transport, disruption chain, GK three-path, JAX solvers, phase dynamics, runaway electrons, pellet injection, VMEC-lite, blob transport, and more)
Phase 5/6 control port: free-boundary tracking, EKF state estimator, volt-second manager, RWM feedback, mu-synthesis, detachment/density control
GK three-path architecture: native linear eigenvalue solver, quasilinear flux, 5 external GK interfaces, OOD detection, hybrid surrogate validation
Full-fidelity campaign: fail-closed GENE/CGYRO/GS2, full EM, DREAM, Aurora/STRAHL, production-decomposition, and FreeGS strict-parity gates with local contracts ready but external same-case parity still blocked
FreeGS public examples: native profile-source comparison metrics and finite signed-q sanity are published while strict thresholds, grid convergence, and public coil/vacuum sidecars remain open
3,817 tests tracked across 389 Python test files in the generated public inventory
Ruff-only formatting (black eliminated)
v3.1.0¶
TBR realism: Port-coverage (0.80), streaming (0.85), blanket-fill correction factors
Greenwald density limit:
n_GW = I_p / (pi * a^2); scan skips unphysical pointsTemperature cap: Hard 25 keV cap with warning emission
Q ceiling: Capped at 15 (was unbounded at Q=98)
Energy conservation: Per-timestep
W_before/W_afterdiagnostic in transport solverDashboard auto-flagging: PASS/WARN/FAIL flags + matplotlib plots
CI gate hardening: Disruption FPR hard fail (15%), TBR [1.0, 1.4], Q <= 15
Issue templates: YAML forms with mandatory physics reference field
24 new tests, 1141 total passing
v3.0.0¶
Rust SNN via PyO3 (
PySnnPool,PySnnController)Full-chain Monte Carlo UQ: equilibrium -> transport -> fusion power
Shot Replay Streamlit tab with NPZ disruption data overlay
FNO turbulence surrogate deprecated (runtime
FutureWarning)
v2.1.0¶
GEQDSK expansion (100+ multi-machine equilibria)
Sauter bootstrap current model
Spitzer resistivity with neoclassical corrections
Free-boundary Grad-Shafranov extension
v2.0.0¶
Multigrid V-cycle solver (3-5x faster convergence)
Gyro-Bohm + EPED pedestal transport model
H-infinity controller (Riccati ARE synthesis)
Disruption predictor on 10,000 synthetic + 10 reference shots
Real-shot validation gate in CI
v1.0.2¶
GPU acceleration roadmap and
gpu_runtimemoduleFull analytical Jacobian mode for inverse reconstruction
AMR hierarchy and EPED-like pedestal model in Rust kernel
Polynomial chaos UQ module (
fusion-ml/pce)Point-wise \(\psi\) RMSE validation on all 8 SPARC GEQDSKs
Neural equilibrium rewrite (removed sklearn/pickle dependencies)
Multi-regime SPARC-parameterised FNO training
Multigrid V-cycle wired into FusionKernel Picard loop
Solver method selection API (
set_solver_method("sor"|"multigrid"))3D flux-surface mesh generation (OBJ export + PNG preview)
GEQDSK reader/writer with 8-file SPARC validation
RMSE dashboard report generation
Criterion benchmarks for SOR, inverse, and neural transport
v1.0.1¶
Hardening waves H7 and H8 (184 tasks total)
Every
unwrap()in Rust workspace replaced withFusionResult<T>Input validation guards on all public API boundaries
Scoped RNG isolation for deterministic replay
Sensor model guards in diagnostics
MPC input validation
v1.0.0¶
Initial public release
Grad-Shafranov equilibrium solver (Picard + Red-Black SOR)
1.5D radial transport with IPB98(y,2) scaling
Neuro-symbolic compiler (Petri net to SNN pipeline)
FNO turbulence suppressor
Digital twin with RL-trained MLP policy
ML disruption predictor
Shattered pellet injection mitigation
Blanket neutronics and PWI erosion
Synthetic diagnostics and tomography
Compact reactor optimiser (MVR-0.96)
10-crate Rust workspace with PyO3 bindings
Validation against 8 SPARC GEQDSK files and ITPA H-mode database
6 tutorial Jupyter notebooks
Docker support
CI/CD pipeline with GitHub Actions