Skip to content
Latchkey

standard-version vs semantic-release: Versionamento

O standard-version faz o bump de versão e do changelog localmente quando você decide; o semantic-release automatiza totalmente o versionamento e a publicação a partir do histórico de commits no CI.

O standard-version lê os Conventional Commits para fazer o bump da versão, atualizar o changelog e criar a tag - mas é você quem o roda e envia a release, mantendo um humano no controle. O semantic-release assume todo o pipeline: no CI ele determina a próxima versão a partir dos commits, gera as notas, publica no npm e cria a GitHub release sem nenhuma etapa manual. O standard-version oferece controle; o semantic-release oferece automação total. (O standard-version está agora deprecado em favor de forks, mas o modelo é amplamente usado.)

standard-versionsemantic-release
GatilhoManual (você o roda)Automático no CI
PublicaçãoVocê faz push/publicaTotalmente automatizada
ControleAlto (portão humano)Baixo (sem intervenção)
ConfiguraçãoSimplesMais plugins/config
Melhor paraReleases controladasEntrega contínua

No CI

O semantic-release foi feito para CI: faça merge na branch de release e ele versiona, cria a tag, publica e escreve as notas automaticamente, o que é ideal para entrega contínua. O standard-version serve a times que querem bumps conduzidos por commits, mas com um humano decidindo quando cortar e enviar uma release. Ambos dependem de Conventional Commits disciplinados.

Acelere

Faça cache das dependências para que o job de release comece rápido; ambos publicam a partir de um build que roda em runners de CI, e runners gerenciados mais rápidos encurtam as etapas de build e publicação.

O veredito

Querer publicação totalmente automatizada e sem intervenção a cada merge qualificado: semantic-release. Querer bumps de versão e changelog conduzidos por commits, mas com um humano decidindo quando fazer a release: standard-version (ou um fork mantido). Escolha pelo quanto de controle manual você quer sobre o corte das releases.

Guias relacionados