Pular para o conteúdo

Gerador de changelog

Última atualização em 20 de agosto de 2026.

Cole mensagens de commit ou títulos de pull request abaixo e receba um changelog formatado de volta. Roda no seu navegador, nada é enviado a lugar nenhum, e não há cadastro. Prefixos de conventional commits são agrupados automaticamente; o resto é ordenado pelo verbo inicial.

Nada ainda. Cole algumas linhas acima e clique em Gerar.

O que faz com cada linha

As regras são deliberadamente simples e visíveis, para que você possa prever a saída em vez de adivinhar:

  1. Conventional commits são agrupados por tipo. `feat` vira Novo, `fix` vira Corrigido, `perf` vira Melhorado. Um `!` antes dos dois-pontos, ou um marcador BREAKING CHANGE, move a linha para Mudanças que quebram compatibilidade independentemente do tipo.
  2. Qualquer coisa que não seja um conventional commit é ordenada pela primeira palavra. Add, Added, Introduce e Support viram Novo; Fix, Fixed e Resolve viram Corrigido; Improve, Update, Speed e Optimise viram Melhorado; Remove, Removed, Drop e Deprecate viram Removido. Tudo o mais cai em Outros para você organizar à mão.
  3. O ruído é removido: um número de pull request no final, uma linha `Merge pull request ...`, um escopo entre parênteses, e o próprio prefixo de tipo do conventional commit. A frase restante é capitalizada.
  4. Com o filtro ligado, linhas `chore`, `ci`, `test`, `build`, `style` e `refactor` são descartadas, junto com qualquer coisa parecida com uma atualização de dependência. Essa é a maior diferença entre um changelog que as pessoas leem e um que param de ler.

O que não consegue fazer

Ele reescreve a forma das suas mensagens de commit, não o conteúdo. Se um commit diz `fix: race in MembershipCache.resolve()`, é isso que sai, e ainda é uma frase sobre seu código em vez da experiência do usuário. Transformar "race em MembershipCache" em "membros convidados não veem mais um painel vazio" exige saber o que a mudança fez, que é a parte que um gerador não consegue inferir de uma linha de assunto de commit.

Então trate a saída como uma primeira passada: estrutura correta, agrupamento correto, ruído interno já removido, redação ainda por sua conta.

Perguntas frequentes

Algo que eu colar é enviado para algum lugar?

Não. O gerador é um script nesta página; o texto nunca sai do seu navegador e não há nenhuma solicitação para nós quando você clica em Gerar. Você pode confirmar isso com a aba de rede aberta.

Preciso usar conventional commits?

Não. Linhas que seguem a convenção são agrupadas com mais precisão, e o resto recorre ao verbo inicial. Um repositório com mensagens de commit em frases comuns ainda produz um rascunho utilizável.

Como faço isso automaticamente a partir do meu repositório?

Para algo pontual, `git log --pretty=format:%s v1.2.0..HEAD` dá exatamente a entrada que isso espera. Para algo contínuo, git-cliff e github-changelog-generator constroem um arquivo de changelog no CI a partir do seu histórico de commits, e o Changeloop redige uma entrada voltada ao usuário por pull request mesclado e a segura para revisão.

Por que minha saída está cheia de Outros?

Os verbos iniciais não corresponderam a nada conhecido, o que geralmente significa assuntos de commit que começam com um substantivo ou um ID de ticket. Ou edite-os na caixa antes de gerar, ou mova as linhas de Outros manualmente depois.

Leitura adicional: de conventional commits a um changelog, sobre o que o formato de commit compra e onde para.

A versão que também escreve as frases

O Changeloop lê o título e a descrição de cada pull request mesclado, não só a linha de assunto, e redige uma entrada sobre o que mudou para o usuário. Filtra sozinho as atualizações de dependências e refactors, e segura cada rascunho para você editar antes de ser publicado. Grátis para um repositório, sem cartão.

Começar grátis

ou leia a documentação para desenvolvedores