mdgrep/CHANGELOG.md

51 lines
2.6 KiB
Markdown
Raw Normal View History

# Änderungsprotokoll
Alle nennenswerten Änderungen an mdgrep. Format nach [Keep a Changelog](https://keepachangelog.com/de/1.1.0/),
Versionen nach [Semantic Versioning](https://semver.org/lang/de/) (vor 1.0: Nebenversion = möglicher Bruch).
Jede Version ist als Git-Tag verfügbar:
`pip install "mdgrep[web] @ git+https://kitux.de/forgejo/dschlueter/mdgrep.git@vX.Y.Z"`
## [Unreleased]
### Dokumentation
- `BEDIENUNGSANLEITUNG.md` (deutsch): Installation, Suchsyntax, Kommandozeile, Python-API, Web-API, Widget,
Serverbetrieb, Voraussetzungen an die Dokumente, Rezepte, Fehlercodes, Fehlersuche, Release-Ablauf.
- `FUNKTIONSWEISE.md`: interner Aufbau, Datenfluss und Designentscheidungen.
- `CHANGELOG.md` (diese Datei).
## [0.1.1] – 2026-10-12
### Neu
- `split_markdown()` / `load_markdown()`: Parameter `dialect="commonmark" | "python-markdown"`, damit Listen-Blöcke
zur HTML-Struktur des verwendeten Renderers passen (Python-Markdown: Liste braucht Leerzeile davor,
Verschachtelung erst ab 4 Leerzeichen).
### Geändert
- Deutlich schneller: der durchsuchte Text (Titel + Text) wird beim Laden einmal vorberechnet; das
Regex-Zeitlimit gilt nur noch für `/regex/`-Terme (Wörter und Phrasen laufen linear). Typische Suchen über
26 000 Blöcke: ca. 30–140 ms statt 250–700 ms.
### Beim Update zu tun
- Nichts; voll kompatibel zu 0.1.0. Widget-Dateien unverändert (Kopfzeile meldet weiterhin v0.1.0).
## [0.1.0] – 2026-10-12
Erstveröffentlichung.
### Neu
- Suchsprache: Wortbestandteile, `"Phrasen"`, `/reguläre Ausdrücke/`, `AND`/`OR`/`NOT` (auch `UND`/`ODER`/
`NICHT`, `&`, `|`, `-`, `!`) mit Klammern; Groß-/Kleinschreibung egal; Fehler mit festem Code und Position;
Schutz vor katastrophalen regulären Ausdrücken durch Zeitlimits.
- `SearchEngine` über Blöcke im Speicher: Filter, eigene Prädikate, Gruppierung, Sortierung, Seiten,
Zeitbudget, automatisches Neuladen, Ausschnitte mit Hervorhebung.
- Markdown-Zerleger mit den Modi `file`, `heading`, `list`, `paragraph`; Markdown → Text.
- Kommandozeile `mdgrep` (grep-artig, JSON-Ausgabe, grep-Rückgabewerte).
- Flask-Blueprint/-App mit JSON-API und Auslieferung der Widget-Dateien; Entwicklungsserver
`python -m mdgrep.web`.
- JavaScript-Such-Widget ohne Framework: Live-Suche, URL-Zustand, Filter, „Mehr laden", Syntaxhilfe,
deutsch/englisch, Gestaltung über CSS-Variablen; `export_static()` für statische Seiten.
[Unreleased]: https://kitux.de/forgejo/dschlueter/mdgrep/compare/v0.1.1...main
[0.1.1]: https://kitux.de/forgejo/dschlueter/mdgrep/compare/v0.1.0...v0.1.1
[0.1.0]: https://kitux.de/forgejo/dschlueter/mdgrep/src/tag/v0.1.0