Nouveautés
Des informations plus détaillées sur les changements dans chaque version peuvent être trouvées directement sur GitHub Releases.
v1.3.0
- 🌐 PgArachne Explorer – PWA moderne: Refonte visuelle et fonctionnelle complète – thème sombre/clair (automatique), mise en page adaptative en cartes, coloration syntaxique JSON, bouton de copie dans le presse-papiers, meilleure UX d’authentification (onglets mot de passe/jeton), prise en charge de l’installation PWA (manifeste, icônes, service worker), liens partageables via le paramètre
?url=…. - 🛠️ Support du Model Context Protocol (MCP): Nouvel endpoint
/{prefix}/{db}/mcpavec les méthodes standardsresources/list,resources/read,prompts/list,prompts/get– entièrement soutenu par les fonctions PostgreSQL et réutilisant l’authentification et la commutation de rôles existantes. - 🔧 Préfixe d’API configurable: La valeur par défaut a été changée en
/db/{database}/jsonrpcet/db/{database}/sse. Les anciens chemins/api/…retournent désormais des redirections permanentes 307. Contrôlé par la nouvelle variable d’environnementAPI_PREFIX. - 🛡️ Protection d’idempotence: Champ optionnel
idempotencyKeydans les requêtes JSON-RPC – détection automatique des doublons (HTTP 409 + code d’erreur en cas de collision) viapgarachne.save_idempotency_key(). - 📚 Améliorations de la documentation: Nouvelle section /tools/ avec des cartes (Explorateur + future barre d’outils macOS), nouvelle page “Architectural Decisions”, SECURITY.md avec instructions pour signaler les vulnérabilités, meilleure typographie dans toutes les langues grâce à TypoLima, prise en charge améliorée de la page 404 pour GitHub Pages.
- 📝 Renommage de la méthode de connexion: La méthode JSON-RPC
logina été renommée enget_jwt(l’ancien nom reste comme alias obsolète avec avertissement dans les journaux). - 📊 Nettoyage de la journalisation: Lors de la journalisation dans un fichier, la console n’affiche que des informations minimales de démarrage → sortie plus propre dans les environnements de production/docker.
v1.2.0
- 🛡️ Sécurité : La validation du token d’accès s’effectue avant d’établir une connexion à la base de données. Protection améliorée contre l’usurpation d’IP (ajout du paramètre
TRUSTED_PROXIES) et dissimulation des erreurs internes de la base de données à l’utilisateur final. - 📊 Métriques isolées : L’endpoint Prometheus
/metricsa été déplacé de l’API publique vers son propre port sécurisé (par défaut, disponible uniquement sur127.0.0.1:9090). - 📦 Nouvelle option d’installation : Le projet dispose désormais d’un tap Homebrew officiel pour macOS et Linux. Les builds sont signés et générés via GoReleaser.
- 📚 Documentation repensée : Un tout nouveau design basé sur le framework Hugo. Ajout d’une recherche plein texte ultra-rapide, de la copie de code et d’exemples de déploiement en production (Nginx hardening, BYO JWT).
- ⚙️ Gestion du démon améliorée : Ajout de la prise en charge de la configuration personnalisée du chemin
PID_FILE.
v1.1.0
- 🔌 API unifiée : Appels via
POST /api/<db>(la méthode appelée est spécifiée dans le corps JSON-RPC). - ⚡ Notifications en temps réel : Nouvel endpoint
GET /sse/<db>?channels=...pour écouter les événements de la base de données avec prise en charge multicanal. - 📈 Observabilité : Métriques Prometheus détaillées pour HTTP, auth, JSON-RPC et SSE.
- 🏋️ Amélioration majeure de la stabilité : Protection contre les clients lents, délais d’attente stricts et nettoyage automatique des connexions.