3 min di lettura

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}/mcp con i metodi standard resources/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}/jsonrpc e /db/{database}/sse. I vecchi percorsi /api/… ora restituiscono reindirizzamenti permanenti 307. Controllato tramite la nuova variabile d’ambiente API_PREFIX.
  • 🛡️ Protezione idempotenza: Campo opzionale idempotencyKey nelle richieste JSON-RPC – rilevamento automatico dei duplicati (HTTP 409 + codice errore in caso di collisione) utilizzando pgarachne.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 in get_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 su 127.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.