- 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>
33 lines
1.3 KiB
Markdown
33 lines
1.3 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to **ecu-framework** are documented in this file.
|
|
|
|
The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
|
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 now `pip install -e .`-able.
|
|
- Top-level `ecu_framework.__version__` is read from installed package metadata
|
|
via `importlib.metadata`, with a `"0.0.0+local"` fallback for source checkouts
|
|
that have not been `pip install`-ed.
|
|
|
|
### Removed
|
|
- Per-subpackage `__version__` strings on `lin`, `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`/`unpack` APIs
|
|
- Raspberry Pi deployment recipe and a Docker image for mock-only CI
|