Skip to content

v0.5.2

Choose a tag to compare

@malkreide malkreide released this 29 Jul 13:25
7522957

[0.5.2] – 2026-07-29

Wartungs-Release. Beseitigt den letzten von Hand gepflegten Versionsstring in
src/: der User-Agent kommt neu aus den Paket-Metadaten. Für Nutzende ändert
sich nichts — die 21 Tools sind unverändert, der ausgehende User-Agent ist bei
installiertem Paket bitgleich zu v0.5.1. Er entsteht nur nicht mehr manuell.

Geändert / Changed

  • User-Agent kommt aus den Paket-Metadaten. __version__ wird neu über
    importlib.metadata.version() aus der installierten Distribution gelesen,
    der User-Agent daraus zusammengesetzt (USER_AGENT in __init__.py). Damit
    entfällt der letzte von Hand gepflegte Versionsstring in src/ — die
    Fehlerklasse, die den Server von v0.2.0 bis v0.5.0 mit einer falschen
    Version gegenüber jedem Upstream auftreten liess und in v0.5.1 erneut
    manuell nachgezogen werden musste. Ohne Installation (reiner
    Quell-Checkout) meldet der Server 0+unknown statt einer erfundenen
    Nummer.

Behoben / Fixed

  • __version__ stand auf 0.1.0. Das Dunder in __init__.py war seit
    dem Initial-Release nie mitgezogen worden und damit noch weiter abgedriftet
    als der User-Agent. Es wurde bislang nirgends ausgewertet, wäre aber die
    naheliegende Quelle für jede Integration gewesen, die die Serverversion
    wissen will. Entfällt jetzt als eigenständiger Wert.

Tests / CI

  • check_version_sync.py verbietet hartkodierte Versionen in src/. Der
    Check vergleicht weiterhin pyproject.toml mit server.json und meldet
    zusätzlich jedes Versionsliteral unter src/ (User-Agent-Form und
    __version__-Zuweisung). Läuft weiterhin ohne Projekt-Installation im
    lint-Job.
  • Die Versions-Badges beider READMEs sind neu im selben Check. Sie waren
    die dritte Stelle mit einer Versionsnummer und die einzige, die nichts
    erzwang — beim Bump auf 0.5.2 aufgefallen. Rein kosmetisch, aber dieselbe
    Drift-Klasse wie server.json: nur sichtbar, wenn jemand hinschaut.
  • Zwei Unit-Tests (tests/test_unit.py): der UA-Header muss aus
    __version__ gebaut sein, und die installierten Metadaten müssen zu
    pyproject.toml passen. Der zweite Test hat beim Schreiben sofort einen
    veralteten editable Install aufgedeckt und wird ohne Installation
    übersprungen statt zu scheitern.