design spec_version updates
Mantenedores costumam responder em até 10 dias
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 25/100
Direção de pesquisa
Comece lendo a issue #2040 e o comportamento existente dos metadados do python-tuf e das atualizações do repositório. Compare as três estratégias de spec_version descritas aqui, incluindo como as succinct delegations afetam a compatibilidade. A tarefa estará concluída quando estiverem documentados quem define a versão, quais ferramentas são necessárias e um design resolvido para determinar a spec_version mínima suportada.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Since a incompatible spec version update seems to get more interest (see #2040), we should start with actually designing how spec version numbers are going to work... Who is responsible for setting the version and what tools exist to help there?
As an example, lets say that TUF spec decides that succinct delegations are an incompatible spec addition -- this is a reasonable decision as adding succinct delegations to a targets metadata makes it invalid for older clients. Let's say, this is spec version 2.0.0.
Assume python-tuf supports spec 2.0.0. Now repositories are going to have many reasonable choices. At least these exist:
- start using 2.0.0 in all new metadata files (but keep old ones as is even when the are resigned). This is what happens by default with current python-tuf: this leads to bugs as soon as
- succinct delegations are added to existing metadata
- new metadata is added that old clients should be able to access
- start using 2.0.0 in all metadata files whenever they get re-signed. Issues appear when:
- any metadata that old clients should be able to access is resigned
- start using 2.0.0 in all metadata that contain succinct delegations but legacy version in all others, even newly created metadata -- this allows old clients to keep accessing any metadata that doesn't contain succinct delegations
The last one is arguably most useful but also quite tricky to implement, at least in python-tuf (likely a lot easier in the repository itself): it might be possible to write methods that scans the metadata structure and decides "what is the lowest spec version that this structure supports": this method could be used by the repository when it's updating expiry,version,etc metadata content to also set spec_version at that time.
- Linguagem predominante
- Python
- Estrelas
- 1.7k
- Forks
- 304
- Merge médio
- 9h 25min
- PRs com merge (30d)
- 14
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de theupdateframework/python-tuf
-
switch to main branch?Aberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 48/100
theupdateframework/python-tuf#3001 ·
Mantenedores costumam responder em até 10 dias
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 42/100
theupdateframework/python-tuf#2979 · 1 comentário ·
Mantenedores costumam responder em até 10 dias
-
Use Immutable ReleasesAbertaenhancement github_actions
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 45/100
theupdateframework/python-tuf#2920 · 1 comentário · 2 reações ·
Mantenedores costumam responder em até 10 dias
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 35/100
theupdateframework/python-tuf#2842 · 3 comentários ·
Mantenedores costumam responder em até 10 dias
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
theupdateframework/python-tuf#2836 · 7 comentários ·
Mantenedores costumam responder em até 10 dias
Todas as issues de theupdateframework/python-tuf
Issues semelhantes
-
pydanty:is-working
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
pydantic/pydantic-ai#8843 ·
Mantenedores costumam responder em até 1 dia
-
breaking change enhancement server
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
sktime/sktime#11310 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 1 dia
-
needs-triage
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 85/100
Mantenedores costumam responder em até 1 dia