From d0557f7145218bf84c43b245fbc67ab29403b7a0 Mon Sep 17 00:00:00 2001 From: dschlueter Date: Mon, 22 Jun 2026 13:48:21 +0200 Subject: [PATCH] Release: Version v0.6.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Versionsnummer von v0.5.0 auf v0.6.0 angehoben (VERSION, README, PROJECT_STRUCTURE, HILFE, helpers.get_version-Fallback). Changelog- Eintrag 0.6.0 ergänzt (Auto-Save, LAN-Zugriff, Test-Isolation-Fix, create_app-Factory, app.config['LESSONS'], Route-Tests + ruff). Co-Authored-By: Claude Sonnet 4.6 --- HILFE.md | 4 ++-- PROJECT_STRUCTURE.md | 2 +- README.md | 13 +++++++++++-- VERSION | 2 +- services/helpers.py | 2 +- 5 files changed, 16 insertions(+), 7 deletions(-) diff --git a/HILFE.md b/HILFE.md index 68b7df1..c48c88b 100644 --- a/HILFE.md +++ b/HILFE.md @@ -1,4 +1,4 @@ -# 📖 Typewriter Trainer - Online-Hilfe (v0.5.0) +# 📖 Typewriter Trainer - Online-Hilfe (v0.6.0) Willkommen beim Typewriter Trainer! Diese Hilfe erklärt alle Funktionen und gibt Tipps für effektives Tipptraining. @@ -440,4 +440,4 @@ Der Text scrollt **automatisch**, sodass: --- -*Typewriter Trainer v0.5.0 - Mit ❤️ entwickelt für effektives Tipptraining* +*Typewriter Trainer v0.6.0 - Mit ❤️ entwickelt für effektives Tipptraining* diff --git a/PROJECT_STRUCTURE.md b/PROJECT_STRUCTURE.md index 1bc75fa..9999925 100644 --- a/PROJECT_STRUCTURE.md +++ b/PROJECT_STRUCTURE.md @@ -249,4 +249,4 @@ Alle sensiblen Dateien sind bereits in `.gitignore` aufgelistet. --- **Letzte Aktualisierung**: 2025-10-27 -**Version**: v0.5.0 _(siehe [VERSION](VERSION) Datei)_ +**Version**: v0.6.0 _(siehe [VERSION](VERSION) Datei)_ diff --git a/README.md b/README.md index 0b7a826..273878e 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Typewriter Tutor - Adaptiver Tipptrainer -**Version:** v0.5.0 _(siehe [VERSION](VERSION) Datei)_ +**Version:** v0.6.0 _(siehe [VERSION](VERSION) Datei)_ Ein moderner, webbasierter Tipptrainer mit **adaptivem Metronom** und umfangreichen Statistiken. Das Programm passt sich automatisch Ihrer Tippgeschwindigkeit an und hilft Ihnen, das Zehnfingerschreiben systematisch zu erlernen. @@ -436,7 +436,16 @@ Contributions sind willkommen! Bitte: > **Hinweis:** Die aktuelle Versionsnummer wird zentral in der [VERSION](VERSION) Datei verwaltet. -### Version 0.5.0 (Aktuell) +### Version 0.6.0 (Aktuell) +- ✅ **Auto-Save**: Periodisches Speichern des Fortschritts (Standard alle 10s, im Code einstellbar) sowie beim Pausieren – schützt vor Datenverlust bei abruptem Abbruch +- ✅ **LAN-Zugriff**: Erreichbar von allen Geräten im Netzwerk; die LAN-URL wird beim Start ausgegeben (`Tipp-Training im LAN: http://:5000`) +- ✅ **Fix: Integrationstests isoliert**: Tests zerstörten zuvor die echte Datenbank – nun via `create_app()`-Factory mit In-Memory-DB sauber getrennt +- ✅ **Application-Factory**: `create_app(config)` ermöglicht isolierte Test-Apps und nebenwirkungsfreien Import +- ✅ **Robustere Architektur**: Lektionen zentral über `app.config['LESSONS']` (behebt stale-state-Fehler u.a. auf der Statistik-Seite) +- ✅ **Mehr Tests & Linting**: Route-Level-Tests (Flask-Testclient), ruff im Pre-commit-Hook (97 Tests gesamt) +- ✅ **Fix**: doppelte Statistik-Einträge, CSRF gezielt nur für `/shutdown`, defensiveres Laden von `lessons.json` + +### Version 0.5.0 - ✅ **Lektionsspezifische Datenpersistenz**: Jede Lektion speichert ihren Fortschritt unabhängig - ✅ **Automatisches Pausieren**: Beim Wechsel zur Statistikseite wird automatisch pausiert und gespeichert - ✅ **Korrekte Datenwiederherstellung**: Alle Daten (Cursor-Position, Eingabe, Trainingszeit) werden beim Zurückkehren korrekt geladen diff --git a/VERSION b/VERSION index b043aa6..60f6343 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v0.5.0 +v0.6.0 diff --git a/services/helpers.py b/services/helpers.py index f03c482..2d9079d 100644 --- a/services/helpers.py +++ b/services/helpers.py @@ -39,7 +39,7 @@ def get_version() -> str: with open(version_file, 'r') as f: return f.read().strip() except Exception: - return '0.5.0' + return '0.6.0' def get_or_create_secret_key() -> str: