Neuigkeiten
Neuigkeiten
Detailliertere Informationen zu den Änderungen in den einzelnen Versionen finden Sie direkt in GitHub Releases.
v2.0.2
- 🔒 Sicherheitsverbesserungen: Mehrere Befunde aus der statischen Analyse behoben — die Cache-Schlüssel des Direct-Auth-Pools verwenden jetzt HMAC statt eines reinen SHA-256, eine explizite Containment-Prüfung für das Ausliefern statischer Dateien, HTML-Escaping des Login-Statustexts im SSE Tester, eine URL-Schema-Allowlist für Suchergebnis-Links der Doku-Website und Least-Privilege-Berechtigungen im CI-Workflow.
- 📦 Abhängigkeits-Updates: Alle Go-Abhängigkeiten aktualisiert, u. a.
gin-gonic/ginauf v1.12.0 undlib/pqauf v1.12.3 (erfordert nun Go 1.25). - 🌐 3 neue Sprachen: Die Dokumentations-Website ist jetzt auch auf Polnisch, Ukrainisch und Griechisch verfügbar — insgesamt 10 Sprachen.
v2.0.1
- 🔒 Sicherheitskorrektur: Die transitive HTTP/3-Abhängigkeit
quic-gowurde auf v0.59.1 aktualisiert und schließt damit eine QPACK-Trailer-Expansionslücke, die es einem böswilligen Peer ermöglichen konnte, den Speicher von Server oder Client zu erschöpfen. - 🎨 Verbesserungen an der Doku-Website: Neuer Hell/Dunkel/Auto-Theme-Umschalter und ein reiner Icon-Sprachumschalter, GitHub/Support-Icon-Links in der Navigationsleiste, Behebung doppelt kodierter JSON-LD-Strukturdaten und ein erweitertes
llms.txt.
v2.0.0
- 🔒 Sichere Standardwerte (breaking):
DB_SSLMODEist nun standardmäßigrequire,ALLOWED_ORIGINSist nicht mehr standardmäßig*, undJWT_SECRETmuss mindestens 32 Byte lang sein. Bestehende Deployments müssen ihre Konfiguration vor dem Upgrade prüfen. - 🧹 Legacy-Bereinigung: Die Weiterleitungspfade
/api/…und/sse/…sowie der veraltete JSON-RPC-Aliasloginwurden entfernt. Verwenden Sie direkt/{prefix}/:database/…undget_jwt. - 🛡️ Strengere Authentifizierung & Fehlerbehandlung: Ein neues Login-Rate-Limit pro IP (
LOGIN_RATE_LIMIT_PER_IP) schließt eine Lücke für Credential-Spraying, und MCP-Tool-Fehler geben standardmäßig keine rohen PostgreSQL-Fehlermeldungen mehr weiter (mitMCP_SQL_ERROR_DETAILwieder aktivierbar). - ⚙️ Konfigurierbare Verbindungslimits: Das Limit für den Direct-Auth-Verbindungspool ist nun über
DIRECT_POOL_LIMITkonfigurierbar. - 🔑 Unterstützung externer IdPs (BYO JWT): Neue Einstellungen
JWT_ISSUER,JWT_AUDIENCEundJWT_LEEWAYbinden ausgestellte Token an einen bestimmten Aussteller/Zielgruppe und ermöglichen eine anpassbare Uhr-Toleranz. - 🧰 Neue Tools: Ein eigenständiger JWT Getter (
/tools/get-jwt) und SSE Tester (/tools/test-sse) ergänzen den Explorer für schnelle manuelle Tests. - 🐛 Stabilitätskorrekturen: Ein blockierendes SSE-Shutdown-Problem und ein Fehler bei der Wiederherstellung toter Verbindungen wurden behoben, der den Server dauerhaft von PostgreSQL trennen konnte.
- 🧪 CI-Härtung:
golangci-lint, der Go-Race-Detector undgovulnchecklaufen nun bei jedem Build, zusätzlich erweiterte Testabdeckung. - 📦 Release-Prozess:
CHANGELOG.mdhinzugefügt und der Release-Workflow inmake release-local(Build & Verifikation) undmake release(Tag, Veröffentlichung, Aktualisierung des Homebrew-Taps) aufgeteilt.
v1.3.0
- 🌐 PgArachne Explorer – moderne PWA: Komplette visuelle und funktionale Überarbeitung – dunkles/helles Farbschema (automatisch), responsives Kartenlayout, JSON-Syntaxhervorhebung, Kopieren-in-die-Zwischenablage-Schaltfläche, bessere Auth-Benutzerführung (Passwort/Token-Tabs), PWA-Installationsunterstützung (Manifest, Icons, Service Worker), freigebbare Links über
?url=…-Parameter. - 🛠️ Model Context Protocol (MCP) Unterstützung: Neuer Endpunkt
/{prefix}/{db}/mcpmit Standardmethodenresources/list,resources/read,prompts/list,prompts/get– vollständig von PostgreSQL-Funktionen unterstützt und unter Wiederverwendung der bestehenden Authentifizierung & Rollenumschaltung. - 🔧 Konfigurierbares API-Präfix: Standard wurde auf
/db/{database}/jsonrpcund/db/{database}/ssegeändert, die Legacy-Pfade/api/…und/sse/…bleiben als 307-Weiterleitung für Abwärtskompatibilität erhalten. Gesteuert über die UmgebungsvariableAPI_PREFIX. - 🛡️ Idempotenzschutz: Optionales
idempotencyKey-Feld in JSON-RPC-Anfragen – automatische Duplikatserkennung (HTTP 409 + Fehlercode bei Kollision) mittelspgarachne.save_idempotency_key(). - 📚 Dokumentationsverbesserungen: Neuer /tools/-Bereich mit Karten (Explorer + kommende macOS Toolbar), neue Seite“Architectural Decisions”, SECURITY.md mit Anweisungen zur Meldung von Schwachstellen, bessere Typografie in allen Sprachen durch TypoLima, verbesserte 404-Seitenunterstützung für GitHub Pages.
- 📝 Umbenennung der Login-Methode: JSON-RPC-Methode
loginumbenannt inget_jwt(alter Name bleibt als veralteter Alias mit Warnung im Log erhalten). - 📊 Logging-Bereinigung: Bei der Protokollierung in eine Datei zeigt die Konsole nur minimale Startinformationen an → sauberere Ausgabe in Produktions-/Docker-Umgebungen.
v1.2.0
- 🛡️ Sicherheit: Die Validierung des Zugriffstokens erfolgt nun vor dem Herstellen einer Datenbankverbindung. Verbesserter Schutz gegen IP-Spoofing (Einstellung
TRUSTED_PROXIEShinzugefügt) und Verbergen interner Datenbankfehler vor dem Endbenutzer. - 📊 Isolierte Metriken: Der Prometheus-Endpunkt
/metricswurde von der öffentlichen API auf einen eigenen, sicheren Port verschoben (standardmäßig nur unter127.0.0.1:9090verfügbar). - 📦 Neue Installationsmöglichkeit: Das Projekt verfügt nun über einen offiziellen Homebrew-Tap für macOS und Linux. Builds werden signiert und über GoReleaser generiert.
- 📚 Überarbeitete Dokumentation: Komplett neues Erscheinungsbild basierend auf dem Hugo-Framework. Blitzschnelle Volltextsuche, Möglichkeit zum Kopieren von Code und Beispiele für den Produktiveinsatz (Nginx-Hardening, BYO JWT) hinzugefügt.
- ⚙️ Verbesserte Daemon-Verwaltung: Unterstützung für die benutzerdefinierte Pfadkonfiguration der
PID_FILEhinzugefügt.
v1.1.0
- 🔌 Vereinheitlichte API: Aufrufe über
POST /api/<db>(die aufgerufene Methode wird im JSON-RPC-Body angegeben). - ⚡ Echtzeit-Benachrichtigungen: Neuer Endpunkt
GET /sse/<db>?channels=...zum Abhören von Datenbankereignissen mit Mehrkanalunterstützung. - 📈 Observability (Beobachtbarkeit): Detaillierte Prometheus-Metriken für HTTP, Auth, JSON-RPC und SSE.
- 🏋️ Wesentliche Stabilitätsverbesserungen: Schutz vor langsamen Clients, strikte Timeouts und automatische Verbindungsbereinigung.