docmd v0.8.3 ist ein umfassendes architektonisches Update, das Workspaces einführt und so die zentralisierte Verwaltung mehrerer Dokumentationsprojekte ermöglicht. Dieses Release setzt außerdem Prioritäten bei Sicherheit & Stabilität mit einem gehärteten Rendering im gesamten Ökosystem und verbesserter Routing-Zuverlässigkeit.
✨ Highlights
🚀 Workspaces-Architektur
Das Multi-Projekt-System wurde als Workspaces völlig neu konzipiert. Sie können nun mehrere unabhängige Dokumentationsprojekte aus einer einzigen Root-Konfiguration mit leistungsstarken neuen Funktionen verwalten:
- Globale Konfigurationsvererbung: Definieren Sie Ihr
theme, Ihremenubar, Ihrenavigationund Ihrlogoim Root, um sie automatisch auf alle Projekte anzuwenden. - Premium Projekt-Switcher: Eine neue, schlanke UI-Komponente zur nahtlosen Navigation zwischen Projekten mit Unterstützung für mehrere Positionen (
sidebar-top,sidebar-bottomundoptions-menu). - Flexible Overrides: Projekte können globale Standardwerte in ihrer lokalen Konfiguration selektiv überschreiben.
- Abwärtskompatibilität: Bestehende Multi-Projekt-Konfigurationen werden automatisch in das neue Workspace-Schema überführt.
🛡️ Erhöhte Sicherheit & Stabilität
Dieses Release führt eine Reihe interner Verbesserungen ein, um die Dokumentations-Engine und ihre Plugins gegen Rendering-Probleme in Grenzfällen zu härten:
- Gehärtetes Rendering: Die Verwendung von
innerHTMLwurde im Core und in den Plugins systematisch durch sichere DOM-APIs (createElement,DOMParser) ersetzt. - Universeller Sicherheitsaudit: Die Monorepo-Failsafe-Pipeline enthält nun ein spezielles, AST-basiertes Sicherheitsaudit, um unsichere DOM-Muster (
innerHTML,outerHTML,document.write) vor jeder Veröffentlichung zu erkennen und zu blockieren. - Erhöhte Suchsicherheit: Suchergebnisse verwenden nun eine zuverlässigere Rendering-Pipeline, um sicherzustellen, dass Inhalte immer sicher verarbeitet werden.
- Dev-Server-Isolation: Verbesserter Verzeichnisdurchquerungsschutz im lokalen Entwicklungsserver für eine bessere Isolierung der Umgebung.
🛠 Verbesserungen & Fixes
Normalisierung der automatisch zugewiesenen Indizes
Es wurde ein Fehler im Zero-Config Auto-Router behoben, bei dem als Verzeichnisindizes zugewiesene Dateien (wenn keine index.md vorhanden ist) aufgrund einer Abweichung beim abschließenden Schrägstrich (Trailing Slash) nicht korrekt gerendert wurden. Die Engine normalisiert diese Pfade nun korrekt und stellt ein stabiles Routing und eine korrekte index.html-Generierung für alle automatisch indizierten Verzeichnisse sicher.
Routing-Stabilität
Verbesserte Pfadvorhersagbarkeit im Auto-Router, um Unstimmigkeiten bei abschließenden Schrägstrichen in Verzeichnissen ohne dedizierte Indexdatei zu beheben.
TUI-Pipeline & Klarheit bei Workspace-Builds
Verfeinerung der Terminalausgabe (TUI) für Multi-Projekt-Workspace-Builds. Build-Protokolle sind nun sowohl bei Standalone- als auch bei Workspace-Builds konsistent in strikte Abschnitte (Data Indexing, Publishing usw.) gegliedert, was überlappenden Text, endlose Ladeanimationen und unzusammenhängende Statusmeldungen verhindert.
Anpassungen an der UI-Seitenleiste
Es wurde ein Layoutfehler behoben, bei dem Dropdown-Menüs (Versions-, Sprach- und Projekt-Switcher) innerhalb der Seitenleiste durch den Begrenzungsrahmen der Seitenleiste abgeschnitten wurden. Diese Menüs werden nun sicher über dem Hauptinhaltsbereich gerendert und richten sich dynamisch an der Breite der Seitenleiste aus.
📦 Paket-Updates
- Node.js-Typen:
@types/nodeaufv25.8.0aktualisiert. - GitHub Actions: CI/CD-Workflows auf die neuesten stabilen Versionen aktualisiert.
📝 Vollständiger Changelog
🚀 Neue Funktionen
- Core-Engine:
workspace-Schema für zentralisiertes Projektmanagement eingeführt. - UI-Komponenten: Teilkomponente
project-switcherund Event-Delegationslogik hinzugefügt. - Config-Loader: Globale Standardwertzusammenführung und Aliasing für
menubar-Einträge (title/path) implementiert. - Pipeline: Statisch analysierendes Sicherheitsaudit in Universal Failsafe V5.0 integriert, um strikte DOM-Sicherheitsstandards in allen Paketen durchzusetzen.
🐛 Fehlerbehebungen
- Threads-Plugin: Kommentar-Rendering und Metadaten-Escaping durch Umstellung auf DOMParser gehärtet.
- Search-Plugin: Ergebnis-Rendering und Datenattributsicherheit verbessert, innerHTML ersetzt.
- Icon-Renderer: Attribut-Rendering für SVG-Icons gehärtet.
- Tabs-Komponente: Attributsicherheit in Tab-Navigationsschaltflächen verbessert.
- Core-Engine: Pfadnormalisierung für automatisch zugewiesene Indexdateien im Generator behoben.
- Routing: Implizite Indexzuweisung im Auto-Router entfernt, um die Pfadvorhersagbarkeit zu verbessern.
- Dev-Server: Pfadvalidierung für statiche Dateibereitstellung verbessert.
- UI-Assets:
overflow: hiddenaus der Seitenleiste entfernt und Positionierungskontexte überarbeitet, um abgeschnittene Dropdown-Menüs zu verhindern. - CLI / TUI: Hängende Statusmeldungen und ungeschlossene UI-Abschnitte bei Workspace- und Dev-Builds behoben.
🚀 Infrastruktur
- Refactoring: Workspace-Engine in
workspace.tsumbenannt und Terminologie im Monorepo vereinheitlicht. - Abhängigkeiten:
@types/nodevon 25.7.0 auf 25.8.0 angehoben. - Workflows: GitHub Actions-Gruppe auf die neuesten Versionen aktualisiert.