mdgrep/CHANGELOG.md
dschlueter aec824d8be docs: add CHANGELOG.md and documentation overview
- CHANGELOG.md (Keep a Changelog, German) for 0.1.0, 0.1.1 and unreleased
  documentation work, incl. "Beim Update zu tun"
- README: documentation table (manual, how it works, changelog, license)
- manual: release steps now include updating CHANGELOG/FUNKTIONSWEISE

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 21:34:51 +02:00

2.6 KiB
Raw Blame History

Änderungsprotokoll

Alle nennenswerten Änderungen an mdgrep. Format nach Keep a Changelog, Versionen nach Semantic Versioning (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.