Uma ferramenta de changelog para empresas de ferramentas para devs e APIs.
Um changelog que fecha o loop.
Os usuários pedem algo. Sua equipe entrega. Quem pediu fica sabendo. As entradas são elaboradas a partir de pull requests mesclados, aguardam sua revisão e são publicadas em um feed JSON ou em um widget de duas linhas dentro do seu produto.
Grátis para um repositório. Sem cartão de crédito.
O modo escuro chegou
Ative em Configurações ou deixe seguir o tema do sistema.
Publicado na issue #482, onde foi pedido
Webhooks com novas tentativas por 24 horas
Entregas com falha são repetidas com backoff, e cada tentativa aparece no painel.
Exportações CSV mantêm seu fuso horário
Os horários de uma exportação agora batem com os do app.
O que os seus usuários leem. Elaborado a partir do pull request mesclado e publicado quando você aprova.
- Feed JSON público em todos os planos
- Incorpore o widget em duas linhas
- Rascunhos aguardam revisão por padrão
- Grátis para um repositório, sem cartão
Seu changelog, renderizado com seu próprio código
O feed é um endpoint público simples, com CORS aberto para qualquer origem, então você pode lê-lo de uma página, de um passo de build ou com curl. Dez linhas de React bastam e seu changelog vira parte do seu produto em vez de um link de distância.
- Filtre por repositório, pagine com um cursor, até 50 entradas por chamada
- ETag forte e Cache-Control de 60 segundos, então um feed inalterado responde 304
- Também um feed de roadmap com três colunas fixas: planned, building, shipped
const ID = 'YOUR_ID'; const API = 'https://api.changeloop.dev'; export function Changelog() { const [entries, setEntries] = useState([]); useEffect(() => { fetch(`${API}/v1/public/${ID}/changelog.json`) .then((r) => r.json()) .then((feed) => setEntries(feed.data)); }, []); return entries.map((e) => <Entry key={e.id} {...e} />); }
Ou incorpore com duas linhas
Um custom element que renderiza dentro de um shadow root, então nem herda seus estilos nem vaza para eles. Tem três abas: suas atualizações, seu roadmap e uma caixa onde seus usuários podem escrever.
- Dois atributos, o ID do seu feed e a origem da sua API
- Fixe uma versão para que os bytes nunca mudem, ou receba o build mais recente automaticamente
- Sem pacote npm, sem passo de build, sem chave para rotacionar
Elaborado ao mesclar, reservado para uma pessoa
Um pull request é mesclado no seu branch padrão. O Changeloop lê o título e a descrição e escreve uma entrada para as pessoas que usam seu produto. Seu código-fonte nunca entra nisso.
- Atualizações de dependências, jobs de CI e refactors são filtrados antes de qualquer coisa ser elaborada
- Os rascunhos esperam na caixa de revisão, onde você edita o texto, aprova ou rejeita
- A publicação automática é por repositório, desligada até você ativá-la
O modo escuro chegou
Ative em Configurações ou deixe seguir o tema do sistema.
Um pedido chega como issue, sai como entrada
No GitHub, a caixa de feedback do widget abre uma issue rotulada no seu próprio repositório, então entra na triagem que você já faz. Mescle um pull request que diz fixes #12, aprove a entrada, e deixamos um comentário nessa issue com o link do que foi entregue.
- Três rótulos em cada issue: bug ou feature-request, uma prioridade e from-widget
- O e-mail de quem enviou nunca chega à issue nem ao modelo que a classifica
- Eles conferem o status sozinhos no widget. Ainda não enviamos e-mail a eles.
Modo escuro, por favor
Registrada automaticamente pelo widget de feedback.
Entregue: visualizações salvas na caixa de entrada
Incluído em todos os planos
Feed JSON do changelog
Entradas publicadas, das mais recentes para as mais antigas, filtráveis por repositório e paginadas com um cursor opaco.
Feed JSON do roadmap
Planned, building e shipped, sempre nessa ordem, a partir dos rótulos nas suas próprias issues do GitHub.
Widget incorporável
Um custom element em um shadow root, com atualizações, roadmap e feedback em três abas.
Uma página hospedada, como recurso alternativo
Uma página simples para o seu feed, para antes de você construir a sua e para os links que deixamos nas issues.
Elaborado a partir de pull requests mesclados
O título e a descrição de um merge viram uma entrada voltada ao cliente. O código, não.
Caixa de revisão
Edite o texto, aprove ou descarte. Um rascunho descartado pode ser restaurado depois.
Mudanças internas ficam de fora
Atualizações de dependências, mudanças de CI, refactors e correções de digitação nunca chegam à fila.
Feedback no seu próprio repositório do GitHub
No GitHub, os envios do widget abrem issues rotuladas no seu repositório, sem o e-mail de quem enviou. Projetos do GitLab e do Bitbucket alimentam só o changelog.
Preço fixo para equipes
Um preço único para repositórios ilimitados no plano Team. Nada de cobrança por repositório.
O que um desenvolvedor pergunta primeiro
Posso renderizar o changelog na minha própria interface?
Sim, e essa é a ideia. Cada entrada publicada é servida por um feed JSON público com CORS aberto para qualquer origem, sem chave e sem login, então dez linhas de React bastam para renderizá-lo nos seus próprios componentes. A documentação para desenvolvedores traz cada endpoint, campo e código de status.
Do que o widget precisa da minha parte?
Uma tag script e um elemento com dois atributos, o ID do seu feed e a origem da API. Ele renderiza dentro de um shadow root, então o seu CSS e o dele nunca se encontram. Mostra atualizações, roadmap e uma caixa de feedback.
O que o Changeloop lê do meu repositório?
No GitHub, o título e a descrição dos pull requests mesclados no seu branch padrão, além de metadados do repositório. O GitHub App não tem permissão para ler os arquivos do seu repositório, cada build do Changeloop é verificado para garantir que ele nunca solicite um diff, e qualquer coisa que pareça um segredo é removida antes de o rascunho ser escrito. Funciona com tokens de instalação de curta duração em vez de um token de acesso pessoal. O GitLab e o Bitbucket enviam o mesmo tipo de dado por um webhook que você adiciona.
Algo é publicado sem mim?
Só se você pedir. Os rascunhos esperam na caixa de revisão até alguém aprová-los, e a publicação automática é uma opção por repositório que fica desligada até você ativá-la.
O que acontece com o feedback que meus usuários enviam?
No GitHub, ele abre uma issue rotulada no seu próprio repositório, marcada como bug ou feature-request, com uma prioridade e o rótulo from-widget, então entra na triagem que você já faz. Um projeto do GitLab ou do Bitbucket alimenta seu changelog, mas não isso. Abrir uma issue exige um token de acesso que deliberadamente não pedimos, e o Bitbucket removeu seu issue tracker em agosto de 2026. O e-mail de quem enviou é removido antes que a mensagem chegue a essa issue ou ao modelo que a classifica. Quando você aprova a entrada que entrega o pedido, deixamos um comentário na issue com o link do que foi entregue, e quem enviou pode ver o status no widget. Não enviamos e-mail a essa pessoa, essa parte ainda não foi construída.
O que é grátis e o que é pago?
O plano Free cobre um repositório com 20 gerações de IA por mês e inclui o feed de changelog, o feed de roadmap, o widget e a página hospedada. O plano Team é um preço único fixo para repositórios ilimitados.
DO BLOG
Notas do app
Notas de versão na prática
Como escrever release notes que as pessoas realmente leem
Mudanças de API
O que é uma mudança que quebra algo, e como lançá-la
Ciclo de feedback
Fechar o ciclo de feedback pelo changelog
Coloque seu changelog dentro do seu produto.
Crie uma conta gratuita, conecte um repositório e aponte sua própria interface para o feed.


