Release: Version v0.6.0

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 <noreply@anthropic.com>
This commit is contained in:
Dieter Schlüter 2026-06-22 13:48:21 +02:00
commit d0557f7145
5 changed files with 16 additions and 7 deletions

View file

@ -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*

View file

@ -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)_

View file

@ -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://<ip>: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

View file

@ -1 +1 @@
v0.5.0
v0.6.0

View file

@ -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: