ecu-tests/CHANGELOG.md
Hosam-Eldin Mostafa de9ccacd1a build(framework): make ecu-framework pip-installable
- 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>
2026-05-14 19:42:20 +02:00

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