diff --git a/source/it-IT/1.0.0/index.html.haml b/source/it-IT/1.0.0/index.html.haml new file mode 100644 index 0000000..a9a5d8f --- /dev/null +++ b/source/it-IT/1.0.0/index.html.haml @@ -0,0 +1,302 @@ +--- +description: Keep a Changelog +title: Keep a Changelog +language: it-IT +version: 1.0.0 +--- + + +- changelog = "https://github.com/olivierlacan/keep-a-changelog/blob/master/CHANGELOG.md" +- gemnasium = "https://gemnasium.com/" +- gh = "https://github.com/olivierlacan/keep-a-changelog" +- issues = "https://github.com/olivierlacan/keep-a-changelog/issues" +- semver = "http://semver.org/" +- shields = "http://shields.io/" +- thechangelog = "http://5by5.tv/changelog/127" +- vandamme = "https://github.com/tech-angels/vandamme/" +- iso = "http://www.iso.org/iso/home/standards/iso8601.htm" +- ghr = "https://help.github.com/articles/creating-releases/" + +.header + .title + %h1 Tenere un Changelog + %h2 Non lasciare che i tuoi amici facciano copia incolla dei git logs nei changelogs. + + = link_to changelog do + Versione + %strong= current_page.metadata[:page][:version] + + %pre.changelog= File.read("CHANGELOG.md") + +.answers + %h3#what + %a.anchor{ href: "#what", aria_hidden: "true" } + Cos'è un changelog? + + %p + Un change log è un file che contiene una lista curata e ordinata cronologicamente + delle modifiche degne di nota per ogni versione di un progetto. + + %h3#why + %a.anchor{ href: "#why", aria_hidden: "true" } + Perché tenere un changelog? + + %p + Per rendere facile agli utilizzatori e contribuenti vedere con precisione quali modifiche + importanti sono state fatte tra ogni release (o versione) del progetto. + + %h3#who + %a.anchor{ href: "#who", aria_hidden: "true" } + Chi ha bisogno di un changelog? + + %p + Le persone ne hanno bisogno. Che si tratti di consumatori o di sviluppatori, gli utenti finali + del software sono persone interessate di ciò che è nel software. + Se il software è cambiato, allora le persone vogliono sapere perché e come. + +.good-practices + %h3#how + %a.anchor{ href: "#how", aria_hidden: "true" } + Come posso fare un buon changelog? + + %h4#principles + %a.anchor{ href: "#principles", aria_hidden: "true" } + Linee guida + + %ul + %li + Changelogs sono per le persone, non per le macchine. + %li + Dovrebbe essere una voce per ogni singola versione. + %li + Gli stessi tipi di modifiche dovrebbero essere raggruppati. + %li + Versioni e sezioni dovrebbero essere collegabili. + %li + L'ultima versione viene prima. + %li + Viene mostrata la data di release di ogni versione. + %li + Si dichiara se il progetto segue il #{link_to "Versionamento Semantico", semver}. + + %a.anchor{ href: "#types", aria_hidden: "true" } + %h4#types Tipologie di cambiamenti + + %ul + %li + %code Added + per le nuove funzionalità. + %li + %code Changed + per le modifiche a funzionalità esistenti. + %li + %code Deprecated + per le funzionalità che saranno rimosse nelle release future. + %li + %code Removed + per funzionalità deprecate rimosse in questa release. + %li + %code Fixed + per tutti i bug fix. + %li + %code Security + per invitare gli utilizzatori ad aggiornare in caso di vulnerabilità. + +.effort + + %h3#effort + %a.anchor{ href: "#effort", aria_hidden: "true" } + How can I reduce the effort required to maintain a changelog? + + %p + Keep an Unreleased section at the top to track upcoming + changes. + + %p This serves two purposes: + + %ul + %li + People can see what changes they might expect in upcoming releases + %li + At release time, you can move the Unreleased section + changes into a new release version section. + +.bad-practices + %h3#bad-practices + %a.anchor{ href: "#bad-practices", aria_hidden: "true" } + Can changelogs be bad? + %p Yes. Here are a few ways they can be less than useful. + %h4#log-diffs + %a.anchor{ href: "#log-diffs", aria_hidden: "true" } + Commit log diffs + + %p + Using commit log diffs as changelogs is a bad idea: they're full of + noise. Things like merge commits, commits with obscure titles, + documentation changes, etc. + + %p + The purpose of a commit is to document a step in the evolution of + the source code. Some projects clean up commits, some don't. + + %p + The purpose of a changelog entry is to document the noteworthy + difference, often across multiple commits, to communicate them + clearly to end users. + + %h4#ignoring-deprecations + %a.anchor{ href: "#ignoring-deprecations", aria_hidden: "true" } + Ignoring Deprecations + %p + When people upgrade from one version to another, it should be + painfully clear when something will break. It should be possible to + upgrade to a version that lists deprecations, remove what's + deprecated, then upgrade to the version where the deprecations + become removals. + %p + If you do nothing else, list deprecations, removals, and any + breaking changes in your changelog. + %h4#confusing-dates + %a.anchor{ href: "#confusing-dates", aria_hidden: "true" } + Confusing Dates + + %p + In the U.S., people put the month first (06-02-2012 for + June 2nd, 2012), while many people in the rest of the world write a + robotic-looking 2 June 2012, yet pronounce it + differently. 2012-06-02 works logically from largest to + smallest, doesn't overlap in ambiguous ways with other date formats, + and is an #{link_to "ISO standard", iso}. Thus, it is the + recommended date format for changelogs. + + %aside + There’s more. Help me collect these antipatterns by + = link_to "opening an issue", issues + or a pull request. + +.frequently-asked-questions + %h3#frequently-asked-questions + %a.anchor{ href: "#frequently-asked-questions", aria_hidden: "true" } + Frequently Asked Questions + %h4#standard + %a.anchor{ href: "#standard", aria_hidden: "true" } + Is there a standard changelog format? + + %p + Not really. There's the GNU changelog style guide, or the two- + paragraph-long GNU NEWS file "guideline". Both are inadequate or + insufficient. + + %p + This project aims to be + = link_to "a better changelog convention.", changelog + It comes from observing good practices in the open source + community and gathering them. + + %p + Healthy criticism, discussion and suggestions for improvements + = link_to "are welcome.", issues + + + %h4#filename + %a.anchor{ href: "#filename", aria_hidden: "true" } + What should the changelog file be named? + + %p + Call it CHANGELOG.md. Some projects use + HISTORY, NEWS or RELEASES. + + %p + While it's easy to think that the name of your changelog file + doesn't matter that much, why make it harder for your end users to + consistently find notable changes? + + %h4#github-releases + %a.anchor{ href: "#github-releases", aria_hidden: "true" } + What about GitHub Releases? + %p + It's a great initiative. #{link_to "Releases", ghr} can be used to + turn simple git tags (for example a tag named v1.0.0) + into rich release notes by manually adding release notes or it can + pull annotated git tag messages and turn them into notes. + %p + GitHub Releases create a non-portable changelog that can only be + displayed to users within the context of GitHub. It's possible to + make them look very much like the Keep a Changelog format, but it + tends to be a bit more involved. + %p + The current version of GitHub releases is also arguably not very + discoverable by end-users, unlike the typical uppercase files + (README, CONTRIBUTING, etc.). Another + minor issue is that the interface doesn't currently offer links to + commit logs between each release. + %h4#automatic + %a.anchor{ href: "#automatic", aria_hidden: "true" } + Can changelogs be automatically parsed? + + %p + It’s difficult, because people follow wildly different formats and + file names. + + %p + #{link_to "Vandamme", vandamme} is a Ruby gem created by the + #{link_to "Gemnasium", gemnasium} team and which parses many (but + not all) open source project changelogs. + + + %h4#yanked + %a.anchor{ href: "#yanked", aria_hidden: "true" } + What about yanked releases? + + %p + Yanked releases are versions that had to be pulled because of a + serious bug or security issue. Often these versions don't even + appear in change logs. They should. This is how you should display + them: + + %p ## 0.0.5 - 2014-12-13 [YANKED] + + %p + The [YANKED] tag is loud for a reason. It's important + for people to notice it. Since it's surrounded by brackets it's also + easier to parse programmatically. + + + %h4#rewrite + %a.anchor{ href: "#rewrite", aria_hidden: "true" } + Should you ever rewrite a changelog? + + %p + Sure. There are always good reasons to improve a changelog. I + regularly open pull requests to add missing releases to open source + projects with unmaintained changelogs. + + %p + It's also possible you may discover that you forgot to address a + breaking change in the notes for a version. It's obviously important + for you to update your changelog in this case. + + + %h4#contribute + %a.anchor{ href: "#contribute", aria_hidden: "true" } + How can I contribute? + + %p + This document is not the truth; it’s my carefully + considered opinion, along with information and examples I gathered. + + %p + This is because I want our community to reach a consensus. I believe + the discussion is as important as the end result. + + %p + So please #{link_to "pitch in", gh}. + +.press + %h3 Conversations + %p + I went on #{link_to "The Changelog podcast", thechangelog} + to talk about why maintainers and contributors should care about changelogs, + and also about the motivations behind this project. +Contact GitHub API Training Shop Blog About +© 2017 GitHub, Inc. Terms Privacy Security Status Help