Skip to content

Release candidate 1.0.0.rc2

Pre-release
Pre-release

Choose a tag to compare

@BDonnot BDonnot released this 04 Aug 20:32
· 6 commits to dev_0.13.2 since this release
362e594

Second release candidate for 1.0.0 — a major version with a pluggable solver architecture, several new grid elements, and expanded network-loader support. See CHANGELOG.rst for the full list of changes.
Highlights
Pluggable solver architecture: built-in and external algorithms now share a common AlgorithmRegistry, loadable by name — including third-party C++ solver plugins (load_algorithm_plugin)
New grid elements: proper HVDC support in AC/DC powerflow, Static Var Compensators (SVC), a dedicated StorageContainer, and remote voltage control for generators/SVCs
Expanded network loading: init_from_pypowsybl gains operating limits, zero-impedance line fusing, and OLF-parity tooling (bake_outer_loops, compare_baked); new native loaders init_from_powermodels and init_from_pf_delta
Performance: multi-threaded ContingencyAnalysis (nb_thread), plus a fast additive binary serialization path (save_binary/load_binary) alongside pickle
Correctness/hardening: whole-grid check_grid() consistency validation (run automatically on load), ASan/UBSan CI, a new Catch2 C++ unit test suite
Breaking changes
Dropped Python 3.8 support (EOL)
lightsim2grid.SolverType moved to lightsim2grid.solver.SolverType
Binary format bumped (grids saved with an older version need re-saving); pickle format changed for storage and HVDC containers
Newton-Raphson Jacobian column ordering changed
Several C++ plugin-facing API renames (set_gridmodel → set_lsgrid, compute_pf signature, etc.) — see CHANGELOG.rst if you maintain a solver plugin