Zum Inhalt

Aktualisieren

Krywerk prüft nicht selbst auf neue Versionen und sendet dafür keine Anfragen ins Internet. Neue Versionen erscheinen auf der Release-Seite; was sich geändert hat, steht im Changelog. Versionen folgen Semantic Versioning: Vor 1.0 können sich Konfiguration und Server-Schnittstelle noch ändern – das steht dann im Changelog unter „Geändert“ mit Hinweisen zur Umstellung.

Desktop-App

  1. Krywerk beenden (Infobereich bzw. Menüleiste › Beenden – hängt alle Laufwerke aus).
  2. Neue Version wie bei der Installation installieren:
    • Windows: neuen Installer ausführen (ersetzt die alte Version).
    • macOS: neue Krywerk.app in Programme ersetzen.
    • Linux: sudo apt install ./Krywerk_<Version>_amd64.deb, AppImage austauschen bzw. install.sh erneut ausführen.
  3. Krywerk starten. Einstellungen, gemerkte Passwörter und freigeschaltete Geräte bleiben erhalten.

macOS fragt bei nicht signierten Versionen nach einem Update einmal, ob Krywerk auf den Schlüsselbund zugreifen darf – Immer erlauben wählen.

Ältere Versionen lesen Einstellungen einer neueren Version, überschreiben sie aber nicht (Hinweis in der App).

Krywerk Server

cd /opt/krywerk && git pull
cd crates/kw-server/deploy
./backup.sh /var/backups/krywerk 30                 # vorher sichern
docker compose build && docker compose run --rm server check
docker compose up -d                                # Datenbank-Migrationen laufen beim Start automatisch

Ein Zurück auf eine ältere Version ist nach einer Schema-Änderung nur mit der Sicherung von vorher möglich (ältere Server verweigern neuere Datenbanken mit einer klaren Meldung). Caddy/Keycloak/Postgres-Images regelmäßig aktualisieren (docker compose pull && docker compose up -d; Keycloak-Hauptversionen nach dessen Upgrade-Anleitung). Mit dem fertigen Image statt eigenem Build: in deploy/.env KRYWERK_VERSION=<Version> setzen, dann docker compose pull && docker compose up -d.

Kompatibilität

  • Die Apps (Krywerk, Cryptomator) sprechen das Hub-Protokoll; eine neue Server-Version bleibt dazu kompatibel.
  • Die Datenbank wird beim Start automatisch migriert. Ein älterer Server verweigert eine neuere Datenbank mit klarer Meldung – zurück nur mit der Sicherung von vor dem Update.

Neue Version veröffentlichen (Betreuer)

  1. In CHANGELOG.md den Abschnitt „Unreleased“ in ## [<Version>] – <JJJJ-MM-TT> umbenennen und einen neuen, leeren „Unreleased“ darüber anlegen.
  2. Version in Cargo.toml ([workspace.package]) setzen; cargo build aktualisiert Cargo.lock.
  3. Commit, Pull Request, nach main mergen.
  4. Tag setzen und pushen: git tag -s v<Version> -m "Krywerk <Version>" && git push origin v<Version>.
  5. Der Workflow Release baut alle Pakete, das Server-Image (ghcr.io/…/krywerk-server:<Version>), SBOM und Prüfsummen und legt das Release mit den Notizen aus dem Changelog an. Versionen 0.x erscheinen als Vorabversion.
  6. Website und Dokumentation neu bauen und veröffentlichen: make site deploy.