O que é um changelog? Um changelog é um arquivo que contém uma lista selecionada, ordenada cronologicamente, de mudanças significativas para cada versão de um projeto open source.
# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). ## [Unreleased] ## [1.0.0] - 2017-06-20 ### Added - New visual identity by @tylerfortune8. - Version navigation. - Links to latest released version in previous versions. - "Why keep a changelog?" section. - "Who needs a changelog?" section. - "How do I make a changelog?" section. - "Frequently Asked Questions" section. - New "Guiding Principles" sub-section to "How do I make a changelog?". - Simplified and Traditional Chinese translations from @tianshuo. - German translation from @mpbzh & @Art4. - Italian translation from @azkidenz. - Swedish translation from @magol. - Turkish translation from @karalamalar. - French translation from @zapashcanon. - Brazilian Portugese translation from @aisamu. - Polish translation from @amielucha. - Russian translation from @aishek. ### Changed - Start using "changelog" over "change log" since it's the common usage. - Start versioning based on the current English version at 0.3.0 to help translation authors keep things up-to-date. - Rewrite "What makes unicorns cry?" section. - Rewrite "Ignoring Deprecations" sub-section to clarify the ideal scenario. - Improve "Commit log diffs" sub-section to further argument against them. - Merge "Why can’t people just use a git log diff?" with "Commit log diffs" - Fix typos in Simplified Chinese and Traditional Chinese translations. - Fix typos in Brazilian Portugese translation. - Fix typos in Turkish translation. - Fix typos in Czech translation. - Fix typos in Swedish translation. - Improve phrasing in French translation. - Fix phrasing and spelling in German translation. ### Removed - Section about "changelog" vs "CHANGELOG". ## [0.3.0] - 2015-12-03 ### Added - RU translation from @aishek. - pt-BR translation from @tallesl. - es-ES translation from @ZeliosAriex. ## [0.2.0] - 2015-10-06 ### Changed - Remove exclusionary mentions of "open source" since this project can benefit both "open" and "closed" source projects equally. ## [0.1.0] - 2015-10-06 ### Added - Answer "Should you ever rewrite a change log?". ### Changed - Improve argument against commit logs. - Start following [SemVer](http://semver.org) properly. ## [0.0.8] - 2015-02-17 ### Changed - Update year to match in every README example. - Reluctantly stop making fun of Brits only, since most of the world writes dates in a strange way. ### Fixed - Fix typos in recent README changes. - Update outdated unreleased diff link. ## [0.0.7] - 2015-02-16 ### Added - Link, and make it obvious that date format is ISO 8601. ### Changed - Clarified the section on "Is there a standard change log format?". ### Fixed - Fix Markdown links to tag comparison URL with footnote-style links. ## [0.0.6] - 2014-12-12 ### Added - README section on "yanked" releases. ## [0.0.5] - 2014-08-09 ### Added - Markdown links to version tags on release headings. - Unreleased section to gather unreleased changes and encourage note keeping prior to releases. ## [0.0.4] - 2014-08-09 ### Added - Better explanation of the difference between the file ("CHANGELOG") and its function "the change log". ### Changed - Refer to a "change log" instead of a "CHANGELOG" throughout the site to differentiate between the file and the purpose of the file — the logging of changes. ### Removed - Remove empty sections from CHANGELOG, they occupy too much space and create too much noise in the file. People will have to assume that the missing sections were intentionally left out because they contained no notable changes. ## [0.0.3] - 2014-08-09 ### Added - "Why should I care?" section mentioning The Changelog podcast. ## [0.0.2] - 2014-07-10 ### Added - Explanation of the recommended reverse chronological release ordering. ## 0.0.1 - 2014-05-31 ### Added - This CHANGELOG file to hopefully serve as an evolving example of a standardized open source project CHANGELOG. - CNAME file to enable GitHub Pages custom domain - README now contains answers to common questions about CHANGELOGs - Good examples and basic guidelines, including proper date formatting. - Counter-examples: "What makes unicorns cry?"
Para que serve um changelog?
Para facilitar que usuários e contribuidores vejam precisamente quais mudanças significativas foram realizadas entre cada versão publicada.
Por que eu deveria me importar?
Porque softwares são feitos para pessoas. Se você não liga, por que está contribuindo com projetos open source? Certamente deve haver um fundo de carinho em algum lugar desse seu amável cerebrinho.
Eu conversei com Adam Stacoviak e Jerod Santo no podcast do The Changelog (faz sentido, hein?) sobre por que mantenedores e contribuidores open source devem se importar e as motivações por trás desse projeto. Se você tem tempo (1:06), é um bom programa.
O que faz um changelog ser bom?
Que bom que perguntou.
Um bom changelog se atém a esses princípios:
- É feito para seres humanos, não máquinas, então legibilidade é crucial.
- É fácil de referenciar (linkar) qualquer seção (por isso Markdown ao invés de puro texto).
- Uma subseção por versão.
- Lista as versões publicadas em ordem cronológica decrescente (mais novo em cima).
- Usa todas as datas no formato AAAA-MM-DD. (Exemplo: 2012-06-02 para 2 de Junho de 2012.) É internacional, sensato, e independente de língua.
- Menciona explicitamente se o projeto segue o Versionamento Semântico.
- Cada versão deve:
- Listar sua data de publicação no formato acima.
- Agrupar mudanças descrevendo seus impactos no projeto, como segue:
- Added/Adicionado para novas funcionalidades.
- Changed/Modificado para mudanças em funcionalidades existentes.
- Deprecated/Obsoleto para funcionalidades estáveis que foram removidas das próximas versões.
- Removed/Removido para funcionalidades removidas desta versão.
- Fixed/Consertado para qualquer correção de bug.
- Security/Segurança para incentivar usuários a atualizarem em caso de vulnerabilidades.
Como eu posso minimizar o esforço exigido?
Mantenha sempre uma seção “Unreleased”`”A publicar”` no topo para manter o controle de quaisquer mudanças.
Isso serve a dois propósitos:
- As pessoas podem ver quais mudanças elas podem esperar em publicações futuras.
- No momento da publicação, você apenas tem de mudar o “Unreleased“`”A publicar” para o número de versão e adicionar um novo cabeçalho“Unreleased“\”A publicar”` no topo.
Continue lendo em: http://keepachangelog.com/pt-BR/0.3.0/