Skip to content

chore: remove cap desatualizado de charset-normalizer<3.0 (fase 5, #1251) - #1284

Open
Rossi-Luciano wants to merge 1 commit into
scieloorg:masterfrom
Rossi-Luciano:chore/1251-phase5-charset-normalizer
Open

chore: remove cap desatualizado de charset-normalizer<3.0 (fase 5, #1251)#1284
Rossi-Luciano wants to merge 1 commit into
scieloorg:masterfrom
Rossi-Luciano:chore/1251-phase5-charset-normalizer

Conversation

@Rossi-Luciano

Copy link
Copy Markdown
Contributor

O que esse PR faz?

Fase 5 da estratégia de atualização de dependências definida na issue #1251: investiga e remove o cap charset-normalizer<3.0 em requirements.txt e setup.py (TESTS_REQUIRE), atualizando para a versão atual 3.5.1.

Investigação

Rastreei a origem do cap via git log -S "charset-normalizer" -- requirements.txt: foi introduzido no commit f33136cc (jan/2023), num commit genérico de "atualiza os requirements", sem justificativa registrada na mensagem.

charset-normalizer não é importado em nenhum lugar do código do packtools (confirmei via grep), é apenas dependência transitiva de requests, que já declara suporte oficial a charset_normalizer<4,>=2 (confirmei via importlib.metadata.requires("requests") na versão 2.34.2, já atualizada na fase 1). Sem CVE aberta nem na versão pinada (2.1.1) nem na nova (3.5.1): não era um bloqueio de segurança, apenas um cap desatualizado sem razão documentada.

Onde a revisão poderia começar?

requirements.txt e setup.py (TESTS_REQUIRE), únicos arquivos alterados.

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 das fases 1-4 (PR #1280/#1281/#1282/#1283): parte direto do master.

Validação: pytest completo com venv isolado (só charset-normalizer alterado, resto igual ao master). Duas rodadas deram 40 failed / 5973 passed / 30 skipped, idêntico ao baseline (a primeira rodada mostrou 44 failed pelo flake já conhecido de test_i18n.py, que já apareceu nas fases 1, 2 e 3 e sumiu na repetição, confirmando não ser regressão).

Screenshots

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

Quais são os tickets relevantes?

Parte de #1251 (fase 5 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 roda automaticamente neste PR. Verifiquei manualmente com pip-audit: nem a versão antiga nem a nova têm CVE aberta, essa mudança não é motivada por segurança, é remoção de um cap desatualizado sem justificativa registrada.

  • 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) rodam neste PR.

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

…ieloorg#1251)

Fase 5 da estrategia de atualizacao de dependencias: investiga e
remove o cap charset-normalizer<3.0 em requirements.txt e
setup.py (TESTS_REQUIRE).

Investigacao (via git log -S): o cap foi introduzido em jan/2023
(commit f33136c) num commit generico de "atualiza deps", sem
justificativa registrada. charset-normalizer nao e importado em
nenhum lugar do codigo do packtools (grep confirma) -- e apenas
dependencia transitiva de requests, que ja declara suporte oficial
a charset_normalizer<4,>=2 (confirmado via importlib.metadata na
versao 2.34.2, ja bumped na fase 1). Sem CVE aberta na versao
pinada (2.1.1) nem na nova (3.5.1).

Bump: charset-normalizer -> 3.5.1 (exato, mesmo padrao das outras
fases) em requirements.txt; TESTS_REQUIRE em setup.py atualizado de
'<3.0' para '>=3.5.1' para manter os dois arquivos consistentes.

Validado com pytest completo (venv isolado, so charset-normalizer
alterado, resto igual ao master): duas rodadas deram 40 failed,
5973 passed, 30 skipped, identico ao baseline (a primeira rodada
mostrou 44 failed pelo flake ja conhecido de test_i18n.py, que
sumiu na segunda rodada, confirmando nao ser regressao).
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