- Add pyproject.toml (hatchling backend, version 0.1.0, name ecu-framework). Runtime deps split out from requirements.txt; test extras and the Melexis-transitive bundle are opt-in. - Add CHANGELOG.md (Keep-A-Changelog format), seeding [Unreleased] with the installable shift and a [0.1.0] entry for the existing baseline. - ecu_framework/__init__.py: resolve __version__ from importlib.metadata with a "0.0.0+local" fallback for source checkouts. Add power and flashing to __all__ and the docstring (previously stale). - Drop per-subpackage __version__ from lin/ and power/. A single pyproject.toml version is the source of truth; subpackage-level __version__ strings drift and nothing consumed them. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1.3 KiB
1.3 KiB
Changelog
All notable changes to ecu-framework are documented in this file.
The format follows Keep a Changelog, and this project adheres to Semantic Versioning.
The single source of truth for the current version is [project.version] in
pyproject.toml; at runtime it is exposed as ecu_framework.__version__.
[Unreleased]
Added
pyproject.toml— the framework is nowpip install -e .-able.- Top-level
ecu_framework.__version__is read from installed package metadata viaimportlib.metadata, with a"0.0.0+local"fallback for source checkouts that have not beenpip install-ed.
Removed
- Per-subpackage
__version__strings onlin,power,flashing. Versioning is centralized on the distribution; subpackages no longer carry their own.
[0.1.0] - 2026-05-14
Initial tagged baseline. The framework already supports:
- LIN abstraction (
LinInterface,LinFrame) with mock, MUM, and deprecated BabyLIN adapters - Owon PSU control with cross-platform serial-port resolution
- UDS-over-LIN flashing scaffold (
HexFlasher) - Pytest plugin: requirement traceability, HTML report metadata, CI summary
- LDF parsing helpers and generated per-frame
pack/unpackAPIs - Raspberry Pi deployment recipe and a Docker image for mock-only CI