3 min de leitura

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}/mcp com métodos padrão resources/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}/jsonrpc e /db/{database}/sse. Caminhos antigos /api/… agora retornam redirecionamentos permanentes 307. Controlado pela nova variável de ambiente API_PREFIX.
  • 🛡️ Proteção de idempotência: Campo opcional idempotencyKey em solicitações JSON-RPC – detecção automática de duplicatas (HTTP 409 + código de erro em caso de colisão) usando pgarachne.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 login foi renomeado para get_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 /metrics foi movido da API pública para sua própria porta segura (por padrão, disponível apenas em 127.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.