hermes-memory-pgvector é o plugin open-source que dá a uma frota de agentes hermes-agent memória partilhada e duradoura em PostgreSQL e pgvector. A versão 0.5.4 já está disponível no PyPI e não contém quaisquer novas funcionalidades nem quaisquer alterações de código. Eis porque foi lançada na mesma.
Uma versão sem código nela
v0.5.4 altera exatamente dois pisos mínimos de dependências:
psycopg[binary]>=3.3.6,<4
psycopg-pool>=3.3.2,<4
Essa é a alteração completa. A upstream publicou psycopg 3.3.6 e psycopg-pool 3.3.2 a 18 September 2026, ambas versões de correção sem alterações na API. Os predefinidos ficam intactos, não há migração, e nada no próprio código-fonte do plugin mudou.
A correção do pool é a razão
psycopg-pool 3.3.2 propaga cancelamentos e outras exceções base lançadas durante uma verificação de ligação. Isso soa como uma nota de rodapé até vermos como este plugin é construído.
Ele abre um ConnectionPool, partilhado entre a thread do agente e a thread de drenagem do async-writer. Antes de o pool disponibilizar uma ligação, verifica se a ligação continua saudável. Se essa verificação for interrompida — um cancelamento, um encerramento, qualquer coisa derivada de BaseException em vez de Exception — o comportamento anterior podia engoli-la em vez de a deixar seguir o seu caminho. Uma escrita de memória que deveria ter falhado de forma estrondosa desaparece silenciosamente.
Para um componente cuja única função é não perder aquilo que um agente se lembra, o silêncio é o pior modo de falha que existe. Essa única correção da upstream já vale, por si só, uma nova versão.
O que mais o 3.3.6 traz
- Uma consulta cancelada já não espera para sempre quando o servidor deixou de responder. Isto requer libpq 17 ou mais recente — as wheels binárias incluem libpq 18, pelo que entra em efeito em vez de ficar adormecido.
- A consulta em execução é cancelada em
SystemExit. Isso importa no momento em que um worker recebe um SIGTERM a meio de uma consulta: anteriormente, a instrução podia continuar a ser executada do lado do servidor depois de o processo já estar a sair. - As prepared statements são descartadas em
DEALLOCATE ALL, o que evita surpresas de "prepared statement does not exist" quando algo volta a emitirDISCARDentre checkouts. - Menor sobrecarga de espera assíncrona e suporte para Python 3.15.
A pinagem vive em quatro locais, e isso é deliberado
O requisito de psycopg aparece em pyproject.toml, em hermes_pgvector/plugin.yaml, em scripts/install.sh e no comando de instalação impresso no README. Todos os quatro mudaram em conjunto nesta versão, e isso não é pedantismo de manutenção.
Uma revisão completa da base de código em 7 September encontrou o README e o script de instalação ainda a fixar >=3.3.4 enquanto pyproject.toml já tinha passado para >=3.3.5. Qualquer pessoa a seguir o percurso de instalação documentado estava a receber exatamente a versão da qual a versão anterior existia para se afastar. O desvio sobreviveu a um ciclo completo de lançamento sem que ninguém reparasse.
Por isso, a regra agora é que os quatro se movem como um só, sempre, ou a versão não é lançada.
Atualização
pip install -U hermes-memory-pgvector
Sem migração, sem alteração de configuração, sem diferença comportamental que vá notar — que é precisamente o objetivo de uma versão como esta.
A origem e a referência completa da configuração estão no GitHub:
