Immich udgiver nu release candidates. Sådan fungerer de

I det meste af sin levetid havde Immich én slags release. En ny version dukkede op på GitHub, folk hentede den, og fejlrapporterne kom ind i løbet af de følgende dage. Derefter rettede en patchrelease de værste af dem. Det virker. Det betyder også, at den første bølge af brugere står for testen på deres rigtige biblioteker, uden at have meldt sig til det.
Siden v3 er det ændret. Før en stor release går ud, udgiver Immich nu først én eller flere release candidates. v3.0 havde fire af dem i juni, før den stabile version kom den 2. juli. v3.2 gik igennem tre. v3.3 havde tre på under en uge, mellem den 29. september og den 2. oktober.
Hvad en release candidate er
En release candidate, eller RC, er en version, som udviklerne mener er klar, men som de vil have flere øjne på, før de kalder den endelig. Funktionerne er færdige. Der kommer ikke nye til. Det, der sker i RC-fasen, er test og fejlrettelser, intet andet.
Du kan genkende en på versionsnummeret. v3.3.0-rc.0 er den første kandidat til v3.3.0, v3.3.0-rc.1 den anden, og så videre. Det følger semantisk versionering, hvor alt efter bindestregen markerer en forhåndsversion. En forhåndsversion regnes altid som ældre end den version, den leder frem til, så v3.3.0-rc.2 sorteres før v3.3.0. Når ingen finder noget alvorligt i den sidste kandidat, går den samme kode ud som den stabile release.
Fotografer, der har arbejdet i mørkekammer, kender mønsteret. Du eksponerer ikke dit bedste ark fotopapir først. Du laver en prøvestrimmel, tjekker den, justerer og laver først derefter det rigtige print. En RC er prøvestrimlen.
Sådan tester du en, og hvad der kan gå galt
Til serveren peger du variablen IMMICH_VERSION i din .env-fil på kandidaten, for eksempel v3.3.0-rc.2, og kører docker compose pull && docker compose up -d. Der findes også et rullende v3-rc-tag, der altid peger på den nyeste kandidat. Til mobilapps kan Android-brugere installere APK’en fra release notes eller tilmelde sig betaen på Google Play. iOS-brugere tilmelder sig via TestFlight. Linkene står i hver release på GitHub, og det er også der, fejl skal rapporteres.
Nu til bagsiden, for der er en. Hver RC kommer med den samme advarsel: den er ikke en stabil release, og den kan indeholde fejl eller ændringer, der bryder bagudkompatibiliteten. Den advarsel er ikke en formalitet. En ny version kører som regel databasemigreringer, når den starter. De migreringer går kun fremad. Immich understøtter ikke nedgradering, så hvis en RC ødelægger noget, kan du ikke skifte tilbage til den tidligere version og fortsætte. Du gendanner fra en backup, eller du venter på den næste kandidat.
Så reglen er kedelig, og den er den rigtige. Tag en frisk backup af både databasen og din uploadmappe, før du prøver en RC. Endnu bedre: test på en anden instans med en kopi af dine data, ikke på det bibliotek, din familie bruger hver dag. Hvis du ikke har en backup, du for nylig har gendannet fra, er vores indlæg om 3-2-1-backupreglen et godt sted at starte.
Hvis du har en ledig maskine og lidt tid, er test af RC’er noget af det mest nyttige, du kan gøre for et open source-projekt. At skrive kode er ikke den eneste måde at bidrage på. En klar fejlrapport mod en RC løser et problem for tusindvis af mennesker, før de nogensinde ser det.
Hvad det betyder for PixelUnion-brugere
Intet ændrer sig i den måde, du bruger PixelUnion på. Vi kører ikke release candidates på din instans. Vi venter på den stabile release og ruller den derefter ud i etaper, som vi gjorde med v3. Du får de nye funktioner, når de har været igennem RC-fasen og vores egne kontroller.
Vi følger dog RC’erne tæt. De fortæller os tidligt, hvad der er på vej, så vi kan forberede os og fortælle dig om det. Og fordi flere tester før den endelige release, bør de stabile versioner, der når frem til dig, indeholde færre overraskelser. Det er godt for selvhosting-fællesskabet, og det er godt for os.
Vi vil gerne gøre mere end at kigge på. I fremtiden vil vi køre en betaversion af PixelUnion. Hvis du giver besked om, at du vil være med, får din instans nye Immich-versioner før den stabile release, så du kan hjælpe med at teste og hurtigt give feedback. Den feedback går tilbage til Immich-projektet, og det er hele pointen. Om og hvornår denne funktion kommer, ved vi endnu ikke. Når vi ved mere, læser du det her først.
Hvis du hellere vil overlade testen, backupperne og opgraderingerne til en anden, er det det, vi er her for.
Kom gratis i gang med PixelUnion →
Forsidefoto af Francisco Gonzalez på Unsplash.