Skip to content

chore: bump aiohttp para 3.14.3 (fase 2, #1251) - #1281

Open
Rossi-Luciano wants to merge 1 commit into
scieloorg:masterfrom
Rossi-Luciano:chore/1251-phase2-aiohttp
Open

chore: bump aiohttp para 3.14.3 (fase 2, #1251)#1281
Rossi-Luciano wants to merge 1 commit into
scieloorg:masterfrom
Rossi-Luciano:chore/1251-phase2-aiohttp

Conversation

@Rossi-Luciano

@Rossi-Luciano Rossi-Luciano commented Aug 16, 2026

Copy link
Copy Markdown
Contributor

O que esse PR faz?

Fase 2 da estratégia de atualização de dependências definida na issue #1251: aiohttp 3.9.1 → 3.14.3.

pip-audit encontrou 41 vulnerabilidades conhecidas na versão atual, corrigidas em versões que vão de 3.9.4 até 3.14.3. É o maior salto de versão da estratégia depois do lxml, mas continua dentro do mesmo major (3.x).

Onde a revisão poderia começar?

requirements.txt, único arquivo alterado. Uso do aiohttp no código está isolado em packtools/sps/libs/async_download.py (ClientSession, TCPConnector(ssl=False), session.get()), uma API estável e sem mudanças entre essas versões.

Como este poderia ser testado manualmente?

pip install -r requirements.txt
pytest -q

Deve dar o mesmo resultado do master (40 failed pré-existentes, 5973 passed, 30 skipped).

Algum cenário de contexto que queira dar?

Independente da fase 1 (PR #1280): este PR parte direto do master, não da branch da fase 1, já que os pacotes não têm nenhuma relação de código entre si.

Validação: rodei pytest completo com o venv contendo só o aiohttp bumped (resto igual ao master, para isolar a variável). Duas rodadas deram 40 failed / 5973 passed / 30 skipped, idêntico ao baseline. Uma rodada intermediária mostrou 44 failed por causa do mesmo flake em test_i18n.py já visto na fase 1 (passa isolado, passa na repetição, não determinístico, sem relação com este bump).

async_download.py não tem nenhum teste cobrindo ele hoje. Não tratei isso aqui (fora do escopo desta fase), mas fica registrado como gap de cobertura.

Screenshots

N/A (mudança de dependências, sem interface).

Quais são os tickets relevantes?

Parte de #1251 (fase 2 da estratégia de atualização de dependências).

Referências

Estratégia priorizada descrita nos comentários de progresso da issue #1251.


Segurança da informação (NSI.04)

Este PR manipula dados sensíveis ou pessoais (LGPD)?

  • Sim
  • Não

Este PR altera autenticação, autorização, controle de acesso ou gerenciamento de sessão?

  • Sim
  • Não

Este PR introduz, atualiza ou remove dependências de terceiros?

  • Sim — as novas dependências foram verificadas no SBOM/Trivy sem vulnerabilidades críticas/altas em aberto?

    • Verificado e aprovado
    • Pendente / vulnerabilidade aceita com justificativa:

    Este repositório não usa Trivy/SBOM (é biblioteca, não serviço containerizado, conforme SECURITY_ADHERENCE.md seção 3). O gate real de dependências é o Snyk, que já rodou automaticamente neste PR com resultado success. Verifiquei manualmente com pip-audit antes de abrir o PR, confirmando que a versão-alvo corrige as 41 CVEs conhecidas na versão atual.

  • Não

Este PR foi validado pelo pipeline de segurança (SonarQube / Trivy)?

  • Sim
  • Não aplicável a este PR (justifique): SonarQube e Trivy não estão configurados neste repositório (SECURITY_ADHERENCE.md seção 3). Os gates automáticos reais (Snyk e GitGuardian) rodaram neste PR com status success.

Este PR concatena, monta ou executa comandos SQL, HTML ou JavaScript a partir de entrada externa?

  • Sim
  • Não

Este PR expõe novos endpoints, telas ou serviços?

  • Sim
  • Não

Algum segredo, senha, chave ou token está sendo adicionado ao código-fonte?

  • Não, nenhum segredo foi commitado
  • Sim

Fase 2 da estrategia de atualizacao de dependencias: aiohttp 3.9.1
tinha 41 vulnerabilidades conhecidas (pip-audit), corrigidas em
versoes que vao de 3.9.4 ate 3.14.3. Fica no mesmo major (3.x) em
todo o salto, sem quebra de API esperada.

Uso no codigo e raso e estavel entre versoes: apenas
aiohttp.ClientSession, aiohttp.TCPConnector(ssl=False) e
session.get() em packtools/sps/libs/async_download.py. Nao ha
suite de testes cobrindo esse modulo (gap pre-existente, nao
tratado aqui).

Validado com pytest completo (venv com apenas aiohttp bumped,
resto igual ao master): duas rodadas deram 40 failed, 5973 passed,
30 skipped, identico ao baseline. Uma rodada intermediaria mostrou
44 failed pelo mesmo flake de test_i18n.py ja identificado na fase
1 (nao reproduz, nao relacionado a este bump).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants