Novità
Informazioni più dettagliate sulle modifiche in ogni versione possono essere trovate direttamente su GitHub Releases.
v1.3.0
- 🌐 PgArachne Explorer – PWA moderno: Completo rinnovamento visivo e funzionale – tema scuro/chiaro (automatico), layout a schede responsive, evidenziazione della sintassi JSON, pulsante copia negli appunti, migliore UX di autenticazione (schede password/token), supporto all’installazione PWA (manifest, icone, service worker), link condivisibili tramite parametro
?url=…. - 🛠️ Supporto Model Context Protocol (MCP): Nuovo endpoint
/{prefix}/{db}/mcpcon i metodi standardresources/list,resources/read,prompts/list,prompts/get– interamente supportato da funzioni PostgreSQL e che riutilizza l’autenticazione e il cambio di ruolo esistenti. - 🔧 Prefisso API configurabile: Il valore predefinito è stato modificato in
/db/{database}/jsonrpce/db/{database}/sse. I vecchi percorsi/api/…ora restituiscono reindirizzamenti permanenti 307. Controllato tramite la nuova variabile d’ambienteAPI_PREFIX. - 🛡️ Protezione idempotenza: Campo opzionale
idempotencyKeynelle richieste JSON-RPC – rilevamento automatico dei duplicati (HTTP 409 + codice errore in caso di collisione) utilizzandopgarachne.save_idempotency_key(). - 📚 Miglioramenti alla documentazione: Nuova sezione /tools/ con schede (Explorer + prossima barra degli strumenti per macOS), nuova pagina “Architectural Decisions”, SECURITY.md con istruzioni per la segnalazione di vulnerabilità, migliore tipografia in tutte le lingue tramite TypoLima, supporto migliorato per la pagina 404 per GitHub Pages.
- 📝 Rinominato metodo di accesso: Il metodo JSON-RPC
loginè stato rinominato inget_jwt(il vecchio nome rimane come alias deprecato con avviso nei log). - 📊 Pulizia della registrazione (logging): Quando si registra su file, la console mostra solo informazioni minime di avvio → output più pulito in ambienti di produzione/docker.
v1.2.0
- 🛡️ Sicurezza: La validazione dei token di accesso avviene prima di stabilire una connessione al database. Migliorata la protezione contro l’IP spoofing (aggiunta l’impostazione
TRUSTED_PROXIES) e mascheramento degli errori interni del database per l’utente finale. - 📊 Metriche isolate: L’endpoint Prometheus
/metricsè stato spostato dall’API pubblica a una porta sicura dedicata (di default disponibile solo su127.0.0.1:9090). - 📦 Nuova opzione di installazione: Il progetto ora ha un tap Homebrew ufficiale per macOS e Linux. Le build sono firmate e generate tramite GoReleaser.
- 📚 Documentazione riprogettata: Look completamente nuovo basato sul framework Hugo. Aggiunta una ricerca full-text ultra rapida, la possibilità di copiare il codice e resi disponibili esempi di deployment in produzione (Nginx hardening, BYO JWT).
- ⚙️ Gestione del demone migliorata: Aggiunto il supporto per la configurazione personalizzata del percorso
PID_FILE.
v1.1.0
- 🔌 API unificata: Chiamate tramite
POST /api/<db>(il metodo chiamato è specificato nel corpo JSON-RPC). - ⚡ Notifiche in tempo reale: Nuovo endpoint
GET /sse/<db>?channels=...per l’ascolto di eventi del database con supporto multicanale. - 📈 Osservabilità: Metriche Prometheus dettagliate per HTTP, auth, JSON-RPC e SSE.
- 🏋️ Importanti miglioramenti della stabilità: Protezione contro client lenti, timeout rigorosi e pulizia automatica delle connessioni.