========= 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 points - **Temperature 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_after`` diagnostic in transport solver - **Dashboard 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_runtime`` module - Full 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 :math:`\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 with ``FusionResult`` - 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