mirror of
https://github.com/olivierlacan/keep-a-changelog.git
synced 2025-07-29 16:54:12 +02:00
Temporarily remove sv 1.0.0
It’s breaking the build process. So until we can figure out what’s wrong with @magol let’s just avoid breaking the whole site.
This commit is contained in:
parent
7abd7e47bf
commit
802fbcfea6
@ -1,300 +0,0 @@
|
||||
---
|
||||
description: Håll en ändringslogg
|
||||
title: Håll en ändringslogg
|
||||
language: sv
|
||||
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 Håll en ändringslogg
|
||||
%h2 Låt inte dina vänner slänga in git-loggar i ändringsloggar.
|
||||
|
||||
= link_to changelog do
|
||||
Version
|
||||
%strong= current_page.metadata[:page][:version]
|
||||
|
||||
%pre.changelog= File.read("CHANGELOG.md")
|
||||
|
||||
.answers
|
||||
%h3#what
|
||||
%a.anchor{ href: "#what", aria_hidden: "true" }
|
||||
Vad är en ändringslogg?
|
||||
|
||||
%p
|
||||
En ändringslogg är en fil innehållandes en sammanfattad, kronologiskt ordnad
|
||||
lista över viktiga ändringar för varje version av ett projekt.
|
||||
|
||||
%h3#why
|
||||
%a.anchor{ href: "#why", aria_hidden: "true" }
|
||||
Vad är meningen med en ändringslogg?
|
||||
|
||||
%p
|
||||
För att göra det enklare för användare och medarbetare att se exakt vilka
|
||||
viktiga ändringar som har gjorts mellan varje utgåva (eller version) av projektet.
|
||||
|
||||
%h3#who
|
||||
%a.anchor{ href: "#who", aria_hidden: "true" }
|
||||
Vem behöver en ändringslogg?
|
||||
|
||||
%p
|
||||
Alla behöver det. Oavsett om det är användare eller utvecklare, är
|
||||
alla slutanvändare av mjukvaran människor som bryr sig vad som finns
|
||||
i mjukvaran. När mjukvaran förändras vill folk veta varför och hur.
|
||||
|
||||
.good-practices
|
||||
%h3#how
|
||||
%a.anchor{ href: "#how", aria_hidden: "true" }
|
||||
Hur gör jag en bra ändringslogg?
|
||||
|
||||
%h4#principles
|
||||
%a.anchor{ href: "#principles", aria_hidden: "true" }
|
||||
Riktlinjer
|
||||
|
||||
%ul
|
||||
%li
|
||||
Ändringsloggar är <em>för människor</em>, inte maskiner.
|
||||
%li
|
||||
Det bör finnas en post för varje enskild version.
|
||||
%li
|
||||
Samma typ av ändringar bör grupperas.
|
||||
%li
|
||||
Det bör vara möjligt att länka till versioner och sektioner.
|
||||
%li
|
||||
Senaste versionen kommer först.
|
||||
%li
|
||||
Datum då respektive version släpptes ska visas.
|
||||
%li
|
||||
Notering att du följer #{link_to "Semantisk versionshantering", semver}.
|
||||
|
||||
%a.anchor{ href: "#types", aria_hidden: "true" }
|
||||
%h4#types Typer av ändringar
|
||||
|
||||
%ul
|
||||
%li
|
||||
%code Added
|
||||
för nya funktioner.
|
||||
%li
|
||||
%code Changed
|
||||
för ändringar på existerande funktionalitet.
|
||||
%li
|
||||
%code Deprecated
|
||||
för funktionalitet som snart tas bort.
|
||||
%li
|
||||
%code Removed
|
||||
för nu borttagen funktionalitet.
|
||||
%li
|
||||
%code Fixed
|
||||
för alla buggfixar
|
||||
%li
|
||||
%code Security
|
||||
i fall av sårbarheter.
|
||||
|
||||
.effort
|
||||
|
||||
%h3#effort
|
||||
%a.anchor{ href: "#effort", aria_hidden: "true" }
|
||||
Hur kan jag minimera den insats som krävs för att underhålla en ändringslogg?
|
||||
|
||||
%p
|
||||
Ha en sektion kallad <code>Unreleased</code> högst upp för att hålla reda på
|
||||
kommande ändringar.
|
||||
|
||||
%p Detta tjänar två syften:
|
||||
|
||||
%ul
|
||||
%li
|
||||
Folk kan se vilka ändringar de kan förvänta sig i kommande utgåvor
|
||||
%li
|
||||
Vid lansering behöver du bara flytta innehållet i sektionen
|
||||
<code>Unreleased</code> till en ny versionspost.
|
||||
|
||||
.bad-practices
|
||||
%h3#bad-practices
|
||||
%a.anchor{ href: "#bad-practices", aria_hidden: "true" }
|
||||
Kan ändringsloggar vara dåliga?
|
||||
|
||||
%p Ja, här är några exempel på då de är mindre användbara.
|
||||
|
||||
%h4#log-diffs
|
||||
%a.anchor{ href: "#log-diffs", aria_hidden: "true" }
|
||||
Diffar från incheckningsloggen.
|
||||
|
||||
%p
|
||||
Det är en dålig idé att använda incheckningsloggen som ändringslogg:
|
||||
de är fulla av brus. Saker så som merge-incheckningar, incheckningar med
|
||||
otydliga titlar, dokumentationsförändringar etc.
|
||||
|
||||
%p
|
||||
Syftet med en incheckning är att dokumentera ett steg i utvecklingen av
|
||||
källkoden. Vissa projekt städar upp bland incheckningarna, andra inte.
|
||||
|
||||
%p
|
||||
Syftet med en post i en ändringslogg är att dokumentera den noterbara
|
||||
skillnaden, oftast över flera incheckningar, för att kommunicera dessa
|
||||
tydligt till slutanvändaren.
|
||||
|
||||
%h4#ignoring-deprecations
|
||||
%a.anchor{ href: "#ignoring-deprecations", aria_hidden: "true" }
|
||||
Ignorera föråldrad funktionalitet (deprecations)
|
||||
|
||||
%p
|
||||
När användare uppgraderar från en version till en annan, ska det vara
|
||||
smärtsamt uppenbart när något förväntas gå sönder. Den bör vara möjligt
|
||||
att uppgradera till en version som listar föråldrad funktionalitet, ta
|
||||
bort dessa beroenden i sitt program, och sedan uppgradera till en version
|
||||
där den föråldrade funktionaliteten är borttagen.
|
||||
|
||||
%p
|
||||
Om du inte gör något annat, lista åtminstone föråldrad och borttagen
|
||||
funktionalitet samt förstörande förändringar i din ändringslogg.
|
||||
|
||||
%h4#confusing-dates
|
||||
%a.anchor{ href: "#confusing-dates", aria_hidden: "true" }
|
||||
Förvillande datum
|
||||
|
||||
%p
|
||||
I USA lägger folk månaden först (<code>06-02-2012</code> för 2:a juni 2012),
|
||||
medan många andra runt om i världen skriver <code>2 June 2012</code> men
|
||||
uttalar det annorlunda. <code>2012-06-02</code> fungerar logiskt från störst
|
||||
till minst, överlappar inte på något tvetydligt sätt med andra datumformat,
|
||||
och är en #{link_to "ISO-standard", iso}. Dessutom är det rekommenderat
|
||||
datumformat för ändringsloggar.
|
||||
|
||||
%aside
|
||||
Det finns mer. Hjälp mig att samla dessa antimönster genom att
|
||||
#{link_to "skapa ett issue", "#issues"} eller en pull requests
|
||||
|
||||
.frequently-asked-questions
|
||||
%h3#frequently-asked-questions
|
||||
%a.anchor{ href: "#frequently-asked-questions", aria_hidden: "true" }
|
||||
Vanliga frågor
|
||||
|
||||
%h4#standard
|
||||
%a.anchor{ href: "#standard", aria_hidden: "true" }
|
||||
Finns det ett standardformat på ändringsloggar?
|
||||
|
||||
%p
|
||||
Inte riktigt. GNU:s stilguide för ändringsloggar och den två stycke
|
||||
långa GNU NEWS-filen med riktlinjer finns. Båda är bristfälliga och
|
||||
otillräckliga.
|
||||
|
||||
%p
|
||||
Detta projekt har som mål att bli
|
||||
= link_to "en bättre konvention för ändringsloggar.", changelog
|
||||
Det utgår från uppenbart goda praxis från öppen källkods-världen och sammanför dem.
|
||||
|
||||
%p
|
||||
Konstruktiv kritik, diskussion och förslag till förbättring
|
||||
= link_to "är välkommen.", issues
|
||||
|
||||
%h4#filename
|
||||
%a.anchor{ href: "#filename", aria_hidden: "true" }
|
||||
Vad bör filen med ändringsloggen heta?
|
||||
|
||||
%p
|
||||
Döp den till <code>CHANGELOG.md</code>. En del projekt använder
|
||||
<code>HISTORY</code>, <code>NEWS</code> eller <code>RELEASES</code>.
|
||||
|
||||
%p
|
||||
Även om det är lätt att tänka att det inte spelar så stor roll vad filen
|
||||
med ändringsloggar kallas, varför göra det svårare för dina slutanvändare
|
||||
att enkelt hitta de viktigaste ändringarna?
|
||||
|
||||
%h4#github-releases
|
||||
%a.anchor{ href: "#github-releases", aria_hidden: "true" }
|
||||
Hur är det med GitHub Releases?
|
||||
|
||||
%p
|
||||
Det är ett fantasiskt initiativ. #{link_to "Releases", ghr} kan användas
|
||||
för att göra enkla git-taggar (t.ex. en tagg kallad <code>v1.0.0</code>)
|
||||
till formaterade versionsanteckningar genom att manuellt lägga till
|
||||
versionsanteckningar eller så kan den hämta meddelandena i kommenterade
|
||||
git-taggar och omvandla dessa till versionsanteckningar.
|
||||
|
||||
%p
|
||||
GitHub Releases skapar en icke porterbar ändringslogg som enbart kan visas
|
||||
för användare på GitHub. Det är möjligt att formatera det ungefär som på
|
||||
Håll en ändringslogg-formatet, men det tendera att bli lite mer invecklat.
|
||||
|
||||
%p
|
||||
Nuvarande version av GitHub releases är möjligtvis också lite svår att
|
||||
hitta för slutanvändare, till skillnad från filer med normalt stora
|
||||
bokstäver (<code>README</code>, <code>CONTRIBUTING</code>, etc.).
|
||||
Ett annat bekymmer är att användargränssnittet för närvarande inte
|
||||
erbjuder länkar till incheckningsloggar mellan olika versioner.
|
||||
|
||||
%h4#automatic
|
||||
%a.anchor{ href: "#automatic", aria_hidden: "true" }
|
||||
Kan ändringsloggar bli automatiskt tolkade?
|
||||
|
||||
%p
|
||||
Det är svårt då människor följer vitt olika format och filnamn.
|
||||
|
||||
%p
|
||||
#{link_to "Vandamme", vandamme} är en Ruby gem skapad av gruppen
|
||||
#{link_to "Gemnasium", gemnasium} som tolkar många (men inte alla)
|
||||
ändringsloggar för öppen källkod.
|
||||
|
||||
%h4#yanked
|
||||
%a.anchor{ href: "#yanked", aria_hidden: "true" }
|
||||
Hur är det med brådskande utgåvor ("yanked")?
|
||||
|
||||
%p
|
||||
Brådskande utgåvor är versioner som måste släppas på grund av alvarliga
|
||||
buggar eller säkerhetsproblem. Oftast brukar dessa versioner inte ens
|
||||
finnas med i ändringsloggarna. De borde det. Så här borde du visa dem:
|
||||
|
||||
%p <code>## 0.0.5 - 2014-12-13 [YANKED]</code>
|
||||
|
||||
%p
|
||||
Taggen <code>[YANKED]</code> står ut av en anledning, det är viktigt
|
||||
att folk se det. Då den är omsluten med hakparenteser är det också lättare
|
||||
för ett program att tolka det.
|
||||
|
||||
%h4#rewrite
|
||||
%a.anchor{ href: "#rewrite", aria_hidden: "true" }
|
||||
Borde du någonsin förändra en ändringslogg?
|
||||
|
||||
%p
|
||||
Självklart. Det finns alltid en bra anledning att förbättra en ändringslogg.
|
||||
Jag öppnar regelbundet pull requests för att lägga till saknade utgåvor
|
||||
för öppna källkodsprojekt som inte tar hand om sin ändringslogg.
|
||||
|
||||
%p
|
||||
Det kan också hända att du upptäcker att du glömt att ta upp en icke
|
||||
bakåtkompatibel förändring i en version. I sådana fall är det självklart
|
||||
viktigt att uppdatera din ändringslogg.
|
||||
|
||||
%h4#contribute
|
||||
%a.anchor{ href: "#contribute", aria_hidden: "true" }
|
||||
Hur kan jag bidra?
|
||||
|
||||
%p
|
||||
Detta dokument är inte <strong>sanningen</strong>, det är en noga övervägd
|
||||
åsikt tillsammans med information och exempel jag har samlat på mig.
|
||||
|
||||
%p
|
||||
Detta beror på att jag vill att vår gemenskap ska nå enighet. Jag tror på
|
||||
att diskussionen är lika viktig som slutresultatet.
|
||||
|
||||
%p
|
||||
Så tveka inte att <strong>#{link_to "kasta dig in i diskussionen", gh}</strong>.
|
||||
|
||||
.press
|
||||
%h3 Samtal
|
||||
%p
|
||||
Jag var med i #{link_to "The Changelog podcast", thechangelog}
|
||||
för att prata om varför förvaltare och bidragsgivare bör bry sig om
|
||||
ändringsloggar, och motiveringen bakom detta projekt.
|
Loading…
x
Reference in New Issue
Block a user