Versões e tags
Versões semânticas, dist-tags, depreciação e retirada.
A documentação que vem no Ronne AI Marketplace 0.3.0, traduzida do inglês.
Versões
Cada release é uma versão: major.minor.patch, como 1.4.0. O primeiro release é 1.0.0. Uma versão nunca muda depois de publicada: uma correção é uma versão nova.
Um pré-release é para quem testa antes de todos, como 1.1.0-beta.1: um id de letras minúsculas e dígitos, começando com uma letra, e um número que sobe a cada pré-release.
Ninguém digita uma versão: ela decorre da escolha feita ao lançar, um item de cada vez ou vários de uma vez, caso em que uma só escolha dá a cada item a sua própria próxima versão.
Patch, minor ou major
Quem lança escolhe que tipo de mudança é; a versão vem daí.
| Incremento | Quando | Exemplo |
|---|---|---|
| patch | Correções; nada novo, nada removido. | 1.4.0 → 1.4.1 |
| minor | Algo novo que não quebra nada para ninguém: um arquivo, uma dependência, uma palavra-chave, uma opção. | 1.4.0 → 1.5.0 |
| major | Uma mudança que quebra algo nas instalações: uma opção, uma dependência ou um arquivo nomeado que foi removido. | 1.4.0 → 2.0.0 |
Para uma proposta de mudança, a caixa de diálogo de publicação sugere um incremento a partir do que mudou, e diz por quê. Ao lançar vários de uma vez, Suggested for each usa a sugestão de cada proposta; ou escolha um incremento para todos. Um primeiro release é 1.0.0 de qualquer jeito.
Lançar em lote
Submissões aprovadas podem sair juntas: marque-as em My submissions (as suas), ou na aba To release da fila de revisão (moderadores e root, as de qualquer pessoa), e depois clique em Release selected. Select all cobre a página que você está vendo, nas duas telas: mostre 100 por página, ou filtre antes, para lançar mais itens de uma só vez.
- Um só conjunto de configurações para todos: estável ou pré-release, o incremento (o sugerido para cada mudança, ou um para todos), a tag (a padrão de cada versão, ou uma para todos) e notas de versão opcionais. Um primeiro release é sempre 1.0.0.
- Todas as versões aparecem antes, como cada caixa de diálogo de publicação as mostraria, e Release fica desativado até que as configurações sirvam para todas.
- As dependências vão primeiro. Selecionar uma submissão adiciona as dependências aprovadas dela que ainda não foram lançadas, marcadas como incluídas; uma que ainda esteja em revisão a deixa de fora.
- Cada uma é lançada separadamente. Uma que falhe, como uma proposta desatualizada, só barra a si mesma e o que depende dela no lote (ignoradas); o resto sai. No máximo 50 de cada vez.
Depreciar ou retirar
| Ação | O que acontece | Quando usar |
|---|---|---|
| deprecated | Continua instalável, e o rmk imprime a mensagem dela sempre que a instala ou atualiza. | Há uma versão ou um item melhor: "Use a 1.2.0 ou mais recente." |
| yanked | Novas instalações não conseguem obtê-la; um projeto cujo lockfile a fixa ainda a instala, com um aviso. Se latest apontava para ela, a tag volta para a versão estável mais nova que restar. | Está quebrada ou insegura. A retirada pode ser desfeita. |
Onde o item tem uso informado, a página Versions mostra as execuções e instalações de cada versão em 30 dias, e as duas caixas de diálogo mostram esses números antes de você confirmar: quem ainda receberia um aviso de depreciação, e o que uma retirada barraria.