Pular para o conteúdo
Criação de Apps

Versionamento semântico: como numerar as versões do seu app

Resposta rápida

Versionamento semântico (SemVer) usa três números, MAJOR.MINOR.PATCH, como em 2.5.1. Sobe o primeiro quando a mudança quebra a compatibilidade, o segundo quando entra recurso novo compatível e o terceiro quando é só correção de erro. Assim, quem lê o número já entende o tamanho da atualização.

Neste artigo
  1. As três partes
  2. Exemplo prático
  3. Versão e build nas lojas
  4. Boas práticas

Toda atualização de app traz um número: 1.0.0, 1.1.0, 2.0.3. Quando ele é escolhido ao acaso, ninguém entende o que mudou. O versionamento semântico, conhecido como SemVer, é uma convenção que dá significado a cada parte do número.

As três partes

O formato é MAJOR.MINOR.PATCH. Em 3.7.2, o 3 é major, o 7 é minor e o 2 é patch.

  • Major: sobe quando a mudança quebra a compatibilidade. Algo que funcionava de um jeito deixa de funcionar, como um formato de arquivo que mudou ou um recurso removido.
  • Minor: sobe quando você adiciona uma função nova sem quebrar o que existia.
  • Patch: sobe quando só corrige um erro, sem recurso novo.

Ao subir uma parte, as à direita voltam a zero. De 1.4.3 com recurso novo vai para 1.5.0. De 1.5.0 com uma quebra vai para 2.0.0.

Exemplo prático

Imagine um app de lista de tarefas:

  1. 1.0.0: primeira versão pública.
  2. 1.0.1: corrige um erro que fechava o app ao abrir uma lista vazia.
  3. 1.1.0: adiciona lembretes, sem mudar nada do que existia.
  4. 2.0.0: muda o formato de armazenamento e exige que o usuário migre seus dados.

Para quem usa uma biblioteca sua, o número diz se atualizar é seguro (patch), provavelmente seguro (minor) ou exige atenção (major).

Versão e build nas lojas

Nas lojas de aplicativos, normalmente há dois campos: o número de versão, que o usuário vê, e um número de build ou código interno, que precisa aumentar a cada envio. Os nomes exatos mudam conforme a loja. Você pode usar SemVer para o primeiro e um contador simples para o segundo.

Boas práticas

  • Registre as mudanças em um arquivo de notas de versão, com o que entrou, o que foi corrigido e o que quebrou.
  • Marque cada versão publicada com uma tag no repositório, o que ajuda a voltar a um ponto conhecido. Se você ainda está começando com isso, veja Git e GitHub para iniciantes.
  • Não reaproveite um número já publicado com conteúdo diferente.
  • Em fase inicial, versões 0.x indicam que tudo pode mudar. Passe para 1.0.0 quando decidir manter a compatibilidade.

SemVer não resolve tudo. Cabe a você decidir o que conta como quebra, e usuários diferentes podem discordar. Escreva essa regra no projeto para que a equipe aplique o mesmo critério.

  • Versionamento
  • Desenvolvimento
  • Boas práticas

Perguntas frequentes

Preciso usar SemVer em app de celular?

Não é obrigatório. As lojas pedem um número de versão e um código de build, mas o formato do número é escolha sua. SemVer é um padrão popular e fácil de explicar.

Começar na versão 1.0.0 ou 0.1.0?

Muita gente usa 0.x enquanto o produto está em desenvolvimento e muda sem aviso, e passa para 1.0.0 quando considera a interface estável.

Leia também

Criação de Apps

Git e GitHub para iniciantes: o que são e como usar

O que cada um faz, os comandos essenciais e o fluxo mais simples para guardar o histórico dos seus códigos.

· 5 min de leitura
Criação de Apps

Feature flags: como liberar recursos do app aos poucos e com segurança

Um interruptor no código permite testar com poucos usuários antes de liberar para todos.

· 2 min de leitura
Criação de Apps

Ambiente de homologação (staging): o que é e por que usar

Testar em uma cópia protege seus usuários dos erros da próxima atualização.

· 2 min de leitura
Criação de Apps

Idempotência em APIs: como evitar cobranças e pedidos duplicados

Se a mesma requisição chegar duas vezes, o resultado precisa ser o mesmo de quando chega uma.

· 2 min de leitura

Deixe seu comentário