3.7 KiB
Release & Update Guide
Diese Anleitung beschreibt die Schritte, die notwendig sind, um eine neue Version des Seasonals Plugins zu veröffentlichen.
1. Version erhöhen
Bevor du baust, musst du die Versionsnummer in den folgenden Dateien aktualisieren (z.B. von 1.0.0.0 auf 1.0.1.0):
-
Jellyfin.Plugin.Seasonals/Jellyfin.Plugin.Seasonals.csprojSuche nach<Version>...</Version>und ändere die Nummer. -
build.yamlÄndere den Wert beiversion: "...". -
manifest.jsonFüge einen neuen Eintrag oben in dieversions-Liste ein (oder bearbeite den vorhandenen, wenn es noch kein Release gab).version: Deine neue Nummer.changelog: Was hat sich geändert?timestamp: Das aktuelle Datum (wird später aktualisiert).checksum: (wird nach dem Build aktualisiert).
Versionierungsschema: Major.Minor.Build.Revision
(Beispiel: 1.0.0.0)
-
Major (1.x.x.x)
- Bedeutung: Hauptversion.
- Erhöhen bei: Inkompatiblen Änderungen (Breaking Changes) oder komplettem Rewrite.
- Folge: Setzt alle nachfolgenden Zahlen auf 0.
-
Minor (x.1.x.x)
- Bedeutung: Nebenversion.
- Erhöhen bei: Neuen Features / Funktionen, die abwärtskompatibel sind.
- Folge: Setzt Build und Revision auf 0.
-
Build (x.x.1.x)
- Bedeutung: Patch / Fehlerbehebung.
- Erhöhen bei: Bugfixes, Sicherheitsupdates (keine neuen Features).
- Folge: Setzt Revision auf 0.
-
Revision (x.x.x.1)
- Bedeutung: Feingranularer Zähler.
- Erhöhen bei: Notfall-Fixes (Hotfixes), automatisierter Erstellung (CI/CD) oder internen Anpassungen.
2. Plugin bauen und packen
Führe den folgenden Befehl im Terminal (PowerShell) im Hauptverzeichnis aus. Wir nutzen hier dotnet build statt publish, um unnötige Dateien zu vermeiden.
dotnet build Jellyfin.Plugin.Seasonals/Jellyfin.Plugin.Seasonals.csproj --configuration Release --output bin/Publish; Compress-Archive -Path bin/Publish/* -DestinationPath bin/Publish/Jellyfin.Plugin.Seasonals.zip -Force; $hash = (Get-FileHash -Algorithm MD5 bin/Publish/Jellyfin.Plugin.Seasonals.zip).Hash.ToLower(); $time = (Get-Date).ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ssZ"); Write-Output "`n----------------------------------------"; Write-Output "NEUE CHECKSUMME (MD5): $hash"; Write-Output "ZEITSTEMPEL: $time"; Write-Output "----------------------------------------`n"
3. Manifest aktualisieren
Nachdem der Befehl durchgelaufen ist, siehst du am Ende eine Ausgabe wie:
----------------------------------------
NEUE CHECKSUMME (MD5): ef8654666ffeae9695e660944f644ad3
ZEITSTEMPEL: 2025-12-15T12:34:56Z
----------------------------------------
- Kopiere die Checksumme.
- Öffne
manifest.json. - Füge die Checksumme bei deinem Versionseintrag unter
"checksum"ein. - Kopiere den Zeitstempel und füge ihn unter
"timestamp"ein. - Stelle sicher, dass die
sourceUrlkorrekt auf dein Repository zeigt.
4. Veröffentlichen
- Lade die Datei
bin/Publish/Jellyfin.Plugin.Seasonals.zipirgendwo hoch (z.B. GitHub Releases). - Stelle sicher, dass die
sourceUrlimmanifest.jsonauf diesen Download zeigt (oder auf das Repo, je nachdem wie Jellyfin das handhabt - meistens istsourceUrlder Link zum ZIP).- Hinweis: Wenn du das Plugin über ein Repo hostest, muss die URL im Manifest direkt auf die ZIP-Datei zeigen.
Zusammenfassung der Dateien
| Datei | Zweck | Änderung nötig? |
|---|---|---|
Jellyfin.Plugin.Seasonals.csproj |
Definiert die DLL-Version | Ja |
build.yaml |
Build-Konfiguration | Ja |
manifest.json |
Plugin-Liste für Jellyfin | Ja (Version, Hash, Zeit) |