Changelog¶
The full changelog is maintained in the project root at
CHANGELOG.md. Key releases are summarised below.
v3.9.11 (Current)¶
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.
Release readiness remains pending until the remote CI run for the release commit is green.
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