# 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