v0.8.3 — pyproject.toml is the single version source
Fix the version-reporting drift v0.8.2 and every prior release shipped
with. aicodebox.__version__ reported "0.1.0" regardless of the actual
release tag (8 releases of lying), and the docker image only ever
tagged :latest.
Single canonical source now:
- pyproject.toml [project] version — THE one place a release bump
happens.
- aicodebox/__init__.py reads it via importlib.metadata.version();
falls back to "0.0.0+source" sentinel (NOT a hardcoded number)
if dist-info isn't installed.
- Makefile derives the docker tag from pyproject via awk; every
`make build` tags BOTH :vX.Y.Z AND :latest. New `make version`
prints the derived tag.
- uv.lock refreshed.
Verified end-to-end: `docker run psyb0t/aicodebox:v0.8.3 python3 -c
'import aicodebox; print(aicodebox.__version__)'` → "0.8.3".
151 existing tests pass. No behavior change — version derivation is
infrastructure.
Migration: none. Anyone scripting against __version__ was already
getting "0.1.0" regardless of pull; they'll now get the real number
from v0.8.3 onward.