mdgrep/CHANGELOG.md
dschlueter 9c6b78ec36 release: mdgrep 0.1.2 (documentation)
- version 0.1.2 in pyproject.toml and __init__.py
- CHANGELOG: [Unreleased] -> [0.1.2] with "Beim Update zu tun"
- install examples and version notes in README, BEDIENUNGSANLEITUNG,
  FUNKTIONSWEISE point to v0.1.2
- no code changes; widget files unchanged (v0.1.0)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 00:05:29 +02:00

2.9 KiB
Raw Permalink 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

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.