Skip to content

BREOS 0.5.1

Latest

Choose a tag to compare

@Str4vinci Str4vinci released this 11 Aug 15:11
· 15 commits to develop since this release
62ab4f4

Purpose

0.5.1 prepares BREOS for the 0.6.0 cleanup without removing compatibility yet. It also tightens configuration validation, consolidates internal configuration metadata, and aligns a public battery-degradation helper with the simulation path.

Highlights

A clear 0.6.0 deprecation window. The unused breos.numba_kernels module and breos[fast] extra, the article-scoped Wöhler/Miner comparison subsystem, and six undocumented orphaned helpers now emit targeted DeprecationWarnings when used. They keep their 0.5.x signatures and behaviour and are scheduled for removal in 0.6.0; the migration guide contains the complete inventory.

Configuration consistency. App configuration metadata now lives in one declarative registry that derives defaults, accepted keys, CLI options, and CLI override handling. Historical ordering, aliases, precedence, validation messages, and simulation results are preserved.

Sweep validation fixed. validate-config now accepts the documented [sweep] section, rejects empty or malformed sweep grids, and regression-tests every shipped example configuration.

Battery helper consistency. resistance_to_efficiency() now uses the same mapping as the live resistance-fade simulation path, preserving configured charge/discharge asymmetry. Simulation results are unchanged because the runtime path already used this mapping.

Compatibility and provenance

The article lifetime comparison remains available throughout 0.5.x, but its wording now accurately describes it as a documentation-derived BREOS approximation rather than Polysun output or source code. Generated plot legends use “documentation-derived baseline.”

Python 3.14 was already in the CI matrix and has run successfully since June; this release also makes that job a required branch-protection check alongside Python 3.11–3.13.

Validation

The full suite passed with 799 tests, plus both slow validation tests. Ruff, formatting, strict Sphinx documentation, release artifact verification, and the Python 3.11–3.14 CI matrix all passed. The validation baseline changed only in its version and date stamps; all numerical outputs are identical.

What's Changed

Full Changelog: v0.5.0...v0.5.1