Changelog¶
The full changelog is maintained in the project root at
CHANGELOG.md. Key releases are summarised below.
v3.9.3 (Current)¶
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
Hardening waves: 263 tasks across 8 waves (S2-S4, H5-H8)
3,815 tests passing across 334 test files
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