-
v2.0.0 Stable
released this
2026-07-20 07:13:22 +02:00 | 4 commits to main since this releasedaw-lua-common 2.0.0
Erstes größeres Major-Release seit Beginn der Bibliothek – durchgängige Umstellung der Fehlerbehandlung auf
nil, err, mehrere Modul-Splits, ein vollständiger Team-Review-Durchlauf über alle Module, und eine repo-weite Vereinheitlichung der Fehlermeldungen.Breaking Changes
uuid.lua:validate()→is_valid(),get_short_code()→short_code(),is_version_4()entfernt (war redundant zuis_valid())config_parser.lua:convert()erkennt keine wissenschaftliche Notation (1e5) oder Hex-Literale (0x10) mehr als Zahlen – bleiben jetzt bewusst Stringyaml.dump(): nicht serialisierbare Typen (Funktionen, Coroutines) liefern jetztnil, errstatt eines Platzhalter-Stringsjson.encode(): NaN/Infinity werden jetzt abgelehnt statt als ungültiges JSON ausgegebencrypto.hmac_*: Keys mit NUL-Bytes oder abschließendem Zeilenumbruch werden jetzt aktiv abgelehnt statt still fehlinterpretiert- Fehlermeldungen: einheitlich
[ERROR] modul.funktion: ...im ganzen Repository (vorher mehrere uneinheitliche Varianten)
Neu
base64.lua: jetzt vollständig ohne externe Abhängigkeit (keinopensslmehr nötig)fs.remove_dir_recursive(),yaml.dump(), vollständigefs/-,json/- undyaml/-Modulaufteilungcrypto/inhash.lua+hmac.lua+ Fassade aufgeteilt (fragjan 250-Zeilen-Limit)
Robustheit
- Kalender- und Zeitzonen-Validierung in
time.lua - Vollständiges RFC-8259-Escaping in
json/encode.lua, passende\uXXXX-Dekodierung injson/decode.lua - Shell-Quoting-Fixes, Typprüfungen an praktisch jeder öffentlichen Funktion
decimal.is_valid()garantiert jetzt, dassparse()danach nicht mehr scheitert
Zahlen
- 391 Tests (vorher ~220), grün unter Lua 5.1 und 5.4
- fragjan: 34 Dateien, 711 Checks, clean
Bekannte offene Punkte (nicht release-blockierend)
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
1 download