Novinky
Novinky
Podrobnější informace o změnách v jednotlivých verzích naleznete přímo v GitHub Releases.
v2.0.2
- 🔒 Zpevnění zabezpečení: Uzavřeno několik nálezů ze statické analýzy — cache klíče poolu přímé autentizace nyní používají HMAC (namísto pouhého SHA-256), přidána explicitní kontrola, že servírované statické soubory nemohou uniknout z nakonfigurované složky, HTML escapování stavového textu přihlášení v nástroji SSE Tester, whitelist URL schémat pro odkazy ve výsledcích vyhledávání na webu s dokumentací a oprávnění s nejmenšími právy pro CI workflow.
- 📦 Aktualizace závislostí: Aktualizovány všechny Go závislosti, včetně
gin-gonic/ginna v1.12.0 alib/pqna v1.12.3 (nyní vyžaduje Go 1.25). - 🌐 3 nové jazyky: Web s dokumentací je nyní dostupný v polštině, ukrajinštině a řečtině — celkem 10 jazyků.
v2.0.1
- 🔒 Bezpečnostní oprava: Aktualizována tranzitivní HTTP/3 závislost
quic-gona v0.59.1, čímž se uzavírá zranitelnost v expanzi QPACK trailerů, která mohla útočníkovi umožnit vyčerpání paměti serveru nebo klienta. - 🎨 Vylepšení webu s dokumentací: Nový přepínač světlého/tmavého/automatického motivu a ikonový přepínač jazyků, ikonové odkazy GitHub/Podpora v navigaci, oprava duplicitně zakódovaných strukturovaných dat JSON-LD a rozšířený
llms.txt.
v2.0.0
- 🔒 Bezpečné výchozí hodnoty (bez zpětné kompatibility):
DB_SSLMODEmá nyní výchozí hodnoturequire,ALLOWED_ORIGINSuž nedefaultuje na*aJWT_SECRETmusí mít alespoň 32 bajtů. Před upgradem je nutné zkontrolovat konfiguraci stávajících nasazení. - 🧹 Odstranění starých cest: Zrušeny přesměrovací cesty
/api/…a/sse/…a zastaralý JSON-RPC aliaslogin. Používejte přímo/{prefix}/:database/…aget_jwt. - 🛡️ Přísnější autentizace a chybové zprávy: Nový limit přihlašovacích pokusů na IP adresu (
LOGIN_RATE_LIMIT_PER_IP) uzavírá mezeru pro credential spraying a chyby MCP nástrojů už standardně nevyzrazují surové chybové zprávy PostgreSQL (lze zapnout zpět pomocíMCP_SQL_ERROR_DETAIL). - ⚙️ Konfigurovatelné limity spojení: Limit poolu přímých (Basic Auth) spojení je nyní konfigurovatelný přes
DIRECT_POOL_LIMIT. - 🔑 Podpora externích IdP (BYO JWT): Nová nastavení
JWT_ISSUER,JWT_AUDIENCEaJWT_LEEWAYumožňují navázat vydané tokeny na konkrétního vydavatele/publikum a upravit toleranci časového posunu. - 🧰 Nové nástroje: Samostatný JWT Getter (
/tools/get-jwt) a SSE Tester (/tools/test-sse) doplňují Explorer pro rychlé manuální testování. - 🐛 Opravy stability: Opraveno zaseknuté vypínání SSE a chyba v obnově mrtvého spojení, která mohla serveru znemožnit opětovné připojení k PostgreSQL.
- 🧪 Zpřísnění CI: Do každého buildu přidán
golangci-lint, Go race detector agovulncheck, rozšířeno testovací pokrytí. - 📦 Vydávací proces: Přidán
CHANGELOG.mda rozdělen release workflow namake release-local(sestavení a ověření) amake release(tag, publikace, aktualizace Homebrew tapu).
v1.3.0
- 🌐 PgArachne Explorer – moderní PWA: Kompletní vizuální a funkční obnova – tmavý/světlý motiv (automaticky), responzivní rozložení karet, zvýrazňování syntaxe JSON, tlačítko pro kopírování, lepší UX přihlašování (záložky heslo/token), podpora instalace PWA (manifest, ikony, service worker), sdílitelné odkazy pomocí parametru
?url=…. - 🛠️ Podpora Model Context Protocol (MCP): Nový endpoint
/{prefix}/{db}/mcpse standardními metodamiresources/list,resources/read,prompts/list,prompts/get– plně podporovaný funkcemi PostgreSQL a znovu využívající stávající autentizaci a přepínání rolí. - 🔧 Konfigurovatelný prefix API: Výchozí hodnota změněna na
/db/{database}/jsonrpca/db/{database}/sse, původní cesty/api/…a/sse/…zůstaly zachovány jako přesměrování 307 pro zpětnou kompatibilitu. Řízeno proměnnou prostředíAPI_PREFIX. - 🛡️ Ochrana idempotence: Volitelné pole
idempotencyKeyv JSON-RPC požadavcích – automatická detekce duplicit (HTTP 409 + chybový kód při kolizi) pomocípgarachne.save_idempotency_key(). - 📚 Vylepšení dokumentace: Nová sekce /tools/ s kartami (Explorer + chystaný macOS Toolbar), nová stránka“Architectural Decisions”, SECURITY.md s instrukcemi pro hlášení zranitelností, lepší typografie ve všech jazycích díky TypoLima, vylepšená podpora stránky 404 pro GitHub Pages.
- 📝 Přejmenování metody přihlášení: JSON-RPC metoda
loginbyla přejmenována naget_jwt(starý název zůstává jako zastaralý alias s varováním v logu). - 📊 Vyčištění logování: Při logování do souboru se na konzoli zobrazují pouze minimální informace o spuštění → čistší výstup v produkčních/docker prostředích.
v1.2.0
- 🛡️ Bezpečnost: Validace přístupových tokenů probíhá ještě před navázáním spojení s databází. Zlepšena ochrana proti podvržení IP adres (přidáno nastavení
TRUSTED_PROXIES) a skrytí interních databázových chyb před koncovým uživatelem. - 📊 Izolované metriky: Prometheus endpoint
/metricsse přesunul z veřejného API na vlastní zabezpečený port (ve výchozím stavu dostupný pouze na127.0.0.1:9090). - 📦 Nová možnost instalace: Projekt má nyní oficiální Homebrew tap pro macOS a Linux. Buildy jsou podepsané a generované přes GoReleaser.
- 📚 Přepracovaná dokumentace: Zcela nový vzhled postavený na frameworku Hugo. Přidáno bleskové full-textové vyhledávání, možnost kopírování kódu a příklady pro produkční nasazení (Nginx hardening, BYO JWT).
- ⚙️ Vylepšená správa démona: Přidána podpora pro vlastní konfiguraci cesty k
PID_FILE.
v1.1.0
- 🔌 Sjednocené API: Volání přes
POST /api/<db>(volaná metoda je specifikována v JSON-RPC body). - ⚡ Real-time notifikace: Nový endpoint
GET /sse/<db>?channels=...pro poslouchání událostí z databáze s podporou více kanálů. - 📈 Pozorovatelnost: Podrobné Prometheus metriky pro HTTP, auth, JSON-RPC a SSE.
- 🏋️ Zásadní zvýšení stability: Ochrana proti pomalým klientům, přísné časové limity a automatické čištění spojení.