# Ä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] ## [0.1.2] – 2026-10-15 ### 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). ### Beim Update zu tun - Nichts; nur Dokumentation, Code unverändert und voll kompatibel zu 0.1.1. Widget-Dateien unverändert (Kopfzeile meldet weiterhin v0.1.0). ## [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.2...main [0.1.2]: https://kitux.de/forgejo/dschlueter/mdgrep/compare/v0.1.1...v0.1.2 [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