Skip to content

[P3][chore][deps] Revisar filelock 4.x depois do virtualenv >= 21.13 (a partir de 2026-10-03) — #2001 fechado, Dependabot passa a ignorar a major #2021

Open

Description

@FabioLeitao

Contexto

O PR #2001 (Dependabot: filelock 3.32.7 → 4.0.0, versão major) foi fechado por decisão do operador em 28/set/2026
por estar bloqueado, sem defeito no filelock em si.

Por que estava bloqueado (verificado)

  • O filelock é dependência apenas transitiva (huggingface-hub, python-discovery/virtualenv via pre-commit, entre
    outras); não está no pyproject.toml.
  • O virtualenv 21.9.0, que está no uv.lock, exige filelock<4. Por isso o resolvedor não conseguia aceitar a 4.x, o
    uv.lock não mudou e o Dependabot só alterou o requirements.txt, deixando os dois arquivos desencontrados.
  • O virtualenv 21.13.0 (publicado em 2026-09-26) já exige filelock<5. Com a espera de 7 dias do repo
    (cooldown: default-days: 7), ele só fica elegível a partir de 2026-10-03.

Atenção: fechar o PR faz o Dependabot IGNORAR essa versão major

Fechar (ou @dependabot close) cria uma regra de ignorar: o Dependabot não vai propor o filelock 4.x de novo sozinho.
Esta issue existe para não perdermos o assunto.

O que fazer (a partir de 2026-10-03)

  1. Esperar o Dependabot propor o virtualenv ≥ 21.13 (ou fazê-lo à mão, se preferir), e mesclar.
  2. Só então tentar o filelock 4.x: uv lock --upgrade-package filelock, e regenerar requirements.txt e pylock.toml
    (procedimento em docs/ops/DEPENDABOT_REQUIREMENTS_SYNC.md).
  3. Antes de mesclar, ler as notas de release do filelock 4.0.0. As que consultei só citam o conserto do soft-rw, sem
    lista de quebras; confirmar no changelog completo.
  4. Se o Dependabot continuar ignorando, remover a regra de ignorar (reabrir o deps(uv): bump filelock from 3.32.7 to 4.0.0 #2001 ou @dependabot recreate).

Critério de aceite

  • virtualenv ≥ 21.13 no uv.lock.
  • filelock 4.x no uv.lock, com requirements.txt e pylock.toml regenerados e check-all com exit 0.

— Claude (Opus 5.5, T14) · auditor, tom recomendatório

Activity

  1. added theissue type on Sep 29, 2026
  2. self-assigned this
    on Sep 29, 2026
  3. FabioLeitao commented on Oct 11, 2026

    @FabioLeitao
    CollaboratorAuthor

    Resultado da tentativa (2026-10-11, executada pelo Cursor no epic #2055, branch local; nada foi commitado).

    • virtualenv 21.14.6 já aceita filelock<5, então o bloqueio original (virtualenv 21.9.0 exigindo filelock<4) deixou de existir.
    • Mas o filelock 4.x não entra no lock estável: o snowflake-connector-python estável (4.8.0, último no PyPI) ainda exige filelock>=3.5,<4.
    • Forçar filelock>=4 (uv lock --upgrade-package 'filelock>=4') resolveu, mas não limpo. O delta no uv.lock foi: filelock 3.32.7 → 4.1.0, virtualenv 21.9.0 → 21.14.6, snowflake-connector-python 4.7.4 → 5.0.0rc5 (release candidate), protobuf 7.34.1 → 6.33.6 (downgrade) e a remoção de boto3, botocore, s3transfer, jmespath e asn1crypto.
    • O uv.lock foi revertido ao estado do HEAD.

    Leitura: um GA não deve arrastar uma pré-release do conector nem um downgrade de protobuf só para subir o filelock. Recomendo manter o item aberto e reavaliar quando o snowflake-connector-python estável liberar filelock>=4 (a 5.0 sair de rc). Até lá, o #2001 (Dependabot) continua corretamente fechado.

    Recomendatório; a decisão é do operador.

  4. FabioLeitao commented on Oct 12, 2026

    @FabioLeitao
    CollaboratorAuthor

    Reprodução em 2026-10-12 (Claude, tom recomendatório)

    Mesmo resultado do comentário de ontem, numa cópia temporária (nada tocado no repo): uv lock --upgrade-package filelock não muda nenhum pacote; forçar filelock==4.0.3 resolve, mas com snowflake-connector-python 4.8.0 → 5.0.0rc5 (pré-release), protobuf 7.34.1 → 6.33.6 (downgrade), virtualenv 21.9.0 → 21.14.7 e remoção de boto3, botocore, s3transfer, jmespath e asn1crypto.

    Nota: o Dependabot reabriu o assunto em #2031 (filelock 4.0.3), porque o ignore criado ao fechar o #2001 vale para aquela versão. Ele só edita requirements.txt, então segue inaplicável.

    Opção, decisão do operador: acrescentar filelock (major) ao ignore de .github/dependabot.yml, no mesmo molde de ebcdic, chardet e rpds-py, para parar de reabrir a cada patch. O arquivo não está na lista de gate. Remover o ignore quando o conector estável liberar filelock>=4.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

P3Low — backlog / nice-to-have

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions