Novidades
Informações mais detalhadas sobre as mudanças em cada versão podem ser encontradas diretamente em GitHub Releases.
v1.3.0
- 🌐 PgArachne Explorer – PWA moderno: Renovação visual e funcional completa – tema escuro/claro (automático), layout de cartões responsivo, realce de sintaxe JSON, botão copiar para área de transferência, melhor UX de autenticação (abas senha/token), suporte à instalação PWA (manifesto, ícones, service worker), links compartilháveis via parâmetro
?url=…. - 🛠️ Suporte ao Model Context Protocol (MCP): Novo endpoint
/{prefix}/{db}/mcpcom métodos padrãoresources/list,resources/read,prompts/list,prompts/get– totalmente suportado por funções PostgreSQL e reutilizando a autenticação e troca de função existentes. - 🔧 Prefixo de API configurável: O padrão foi alterado para
/db/{database}/jsonrpce/db/{database}/sse. Caminhos antigos/api/…agora retornam redirecionamentos permanentes 307. Controlado pela nova variável de ambienteAPI_PREFIX. - 🛡️ Proteção de idempotência: Campo opcional
idempotencyKeyem solicitações JSON-RPC – detecção automática de duplicatas (HTTP 409 + código de erro em caso de colisão) usandopgarachne.save_idempotency_key(). - 📚 Melhorias na documentação: Nova seção /tools/ com cartões (Explorer + futura barra de ferramentas para macOS), nova página “Architectural Decisions”, SECURITY.md com instruções para relatar vulnerabilidades, melhor tipografia em todos os idiomas via TypoLima, suporte aprimorado para página 404 no GitHub Pages.
- 📝 Renomeação do método de login: O método JSON-RPC
loginfoi renomeado paraget_jwt(o nome antigo permanece como um alias obsoleto com aviso nos logs). - 📊 Limpeza de registros (logging): Ao registrar em arquivo, o console mostra apenas informações mínimas de inicialização → saída mais limpa em ambientes de produção/docker.
v1.2.0
- 🛡️ Segurança: A validação do token de acesso ocorre antes de estabelecer uma conexão com o banco de dados. Melhoria na proteção contra falsificação de IP (adicionada a configuração
TRUSTED_PROXIES) e ocultação de erros internos do banco de dados para o usuário final. - 📊 Métricas isoladas: O endpoint Prometheus
/metricsfoi movido da API pública para sua própria porta segura (por padrão, disponível apenas em127.0.0.1:9090). - 📦 Nova opção de instalação: O projeto agora tem um tap Homebrew oficial para macOS e Linux. As builds são assinadas e geradas via GoReleaser.
- 📚 Documentação reformulada: Visual totalmente novo construído sobre o framework Hugo. Adição de busca rápida de texto completo, opção de copiar código e exemplos de implantação em produção (Nginx hardening, BYO JWT).
- ⚙️ Gerenciamento aprimorado de daemon: Adicionado suporte para configuração de caminho personalizado do
PID_FILE.
v1.1.0
- 🔌 API unificada: Chamadas via
POST /api/<db>(o método chamado é especificado no corpo JSON-RPC). - ⚡ Notificações em tempo real: Novo endpoint
GET /sse/<db>?channels=...para escutar eventos do banco de dados com suporte a múltiplos canais. - 📈 Observabilidade: Métricas detalhadas do Prometheus para HTTP, auth, JSON-RPC e SSE.
- 🏋️ Melhoria substancial na estabilidade: Proteção contra clientes lentos, tempos de limite rigorosos e limpeza automática de conexões.