• v0.4.2 14152524f3

    v0.4.2
    All checks were successful
    Run Tests / test (push) Successful in 4m33s
    Build & Publish / build (release) Successful in 44s
    Stable

    scriptos released this 2026-03-30 09:06:17 +00:00 | 0 commits to master since this release

    Release Notes – v0.4.2

    Datum: 30. März 2026


    Übersicht

    Dieses Release behebt ein ärgerliches Kompatibilitätsproblem mit SOGo-Kontaktlisten. Wer SOGo als Groupware nutzt und bisher mysteriöse Fehler beim Parsen der CardDAV-Daten erlebt hat – das sollte jetzt Geschichte sein! 🎉


    Fehlerbehebungen

    • SOGo VLIST-Kontaktlisten werden jetzt gefiltert (da699b2)
      SOGo speichert Kontaktlisten im proprietären VLIST-Format direkt in den CardDAV-Adressbüchern. Der vCard-Decoder konnte diese nicht verarbeiten und brach mit Fehlern ab. Ab sofort werden VLIST-Einträge automatisch aus den CardDAV-Antworten herausgefiltert, bevor sie den Parser erreichen. Die eigentlichen Kontakte (vCards) bleiben selbstverständlich vollständig erhalten.

    Changelog

    Commit Beschreibung
    da699b2 fix: SOGo VLIST-Kontaktlisten aus CardDAV-Antworten filtern
    Downloads
  • v0.4.1 61d58b7462

    v0.4.1
    All checks were successful
    Run Tests / test (push) Successful in 4m36s
    Build & Publish / build (release) Successful in 2m3s
    Stable

    scriptos released this 2026-03-29 22:11:14 +00:00 | 8 commits to master since this release

    Release Notes – v0.4.1

    Datum: 30. März 2026


    Fehlerbehebungen

    • CI/CD: Release-Workflow vereinfacht und korrigiert – Der bisherige workflow_dispatch-basierte Release-Workflow wurde durch ein schlankeres Modell ersetzt, das automatisch auf das release:published-Event reagiert. Manuelle Versionseingabe, Tag-Erstellung und Validierung entfallen – das übernimmt jetzt Gitea direkt beim Erstellen eines Releases. Das reduziert Fehlerquellen und vereinfacht den gesamten Release-Prozess erheblich.

    Changelog

    Commit Beschreibung Autor Datum
    b0ab2eb fix(ci): Release-Workflow auf release:published Event umgestellt Patrick Asmus 2026-03-30
    Downloads
  • v0.4.0 ba5935c891

    v0.4.0
    Some checks failed
    Run Tests / test (push) Has been cancelled
    Stable

    scriptos released this 2026-03-29 21:56:55 +00:00 | 10 commits to master since this release

    Release Notes – v0.4.0

    Datum: 29. März 2026


    Übersicht

    Es ist soweit – v0.4.0 bringt eine ganze Ladung an neuen Features, mehr Konfigurationsmöglichkeiten und ein deutlich verbessertes Logging mit! 🎉

    Diese Version macht den Birthday-Daemon flexibler, transparenter und robuster. Von Jahrestagen über konfigurierbare Sync-Intervalle bis hin zu einem richtigen Docker-Healthcheck – hier steckt richtig viel Neues drin. Viel Spaß beim Updaten!


    Neue Funktionen

    • Jahrestage (Anniversary) & Emoji-Präfixe – Der Daemon unterstützt jetzt neben Geburtstagen auch Jahrestage (ANNIVERSARY). Kalendereinträge bekommen zudem hübsche Emoji-Präfixe, damit man auf den ersten Blick sieht, was Sache ist.
    • Kalenderfarbe automatisch setzen – Die Kalenderfarbe (calendar-color) wird nun automatisch gesetzt – weniger manuelle Arbeit, mehr Einheitlichkeit.
    • Konfigurierbarer Event-Horizont (EVENT_YEARS) – Über die neue Umgebungsvariable EVENT_YEARS lässt sich einstellen, wie viele Jahre im Voraus Events angelegt werden sollen.
    • Mailboxen ausschließen (MAILBOX_EXCLUDE) – Einzelne Mailboxen können jetzt bequem per Umgebungsvariable von der Synchronisation ausgeschlossen werden.
    • Konfigurierbarer Log-Level (LOG_LEVEL) – Das Logging lässt sich jetzt über die Umgebungsvariable LOG_LEVEL steuern (Werte: debug, info, warn, error).
    • Sync-Intervall konfigurierbar (SYNC_INTERVAL) – Das Synchronisationsintervall ist jetzt über SYNC_INTERVAL einstellbar (Standard: 15 Minuten).
    • Docker-Healthcheck – Ein dateibasierter Docker-Healthcheck wurde hinzugefügt, sodass der Container-Status sauber überwacht werden kann.
    • Graceful Shutdown – Signal-Handling sorgt dafür, dass der Daemon bei einem Stop-Signal sauber herunterfährt.

    Fehlerbehebungen

    • Startup-Connectivity-Check optimiert – Der bisherige fixe 15-Sekunden-Delay beim Start wurde durch eine aktive Erreichbarkeitsprüfung von API und SOGo ersetzt. Der Daemon startet jetzt schneller, sobald die Abhängigkeiten bereit sind.
    • Überflüssige Leerzeilen entfernt – Kleinere Code-Cleanups in startup.go.
    • CI: Release-Workflow angepasst – Der Release-Workflow wurde auf manuellen Trigger umgestellt und SCM-Release deaktiviert.

    Verbesserungen

    • Neues Log-Format – Die Log-Ausgaben nutzen jetzt einheitliche Tags: [INFO], [WARN], [ERROR], [DEBUG] – das macht das Lesen und Filtern von Logs deutlich einfacher.

    Dokumentation

    • Hinweis zu fehlender Jahrestag-Unterstützung in der SOGo-Weboberfläche ergänzt sowie Kalenderansicht aktualisiert.
    • Hinweis auf Schnellstart-Anleitung für Umgebungsvariablen in der README ergänzt.
    • CALENDAR_NAME in die Beispiel-Compose-Datei aufgenommen.
    • Beispielausgabe für den Cleanup-Befehl in der Dokumentation ergänzt.

    Changelog

    Commit Beschreibung
    cb1b420 fix(ci): Release-Workflow auf manuellen Trigger umgestellt, SCM-Release deaktiviert
    3ede893 fix: Überflüssige Leerzeilen am Ende von startup.go entfernt
    0311c83 Startup-Connectivity-Check: Fixen 15s-Delay durch aktive Erreichbarkeitsprüfung von API und SOGo ersetzt
    93371e3 feat: Kalenderfarbe (calendar-color) automatisch setzen
    ea598a9 Umgebungsvariable EVENT_YEARS für konfigurierbaren Event-Horizont hinzugefügt
    c151433 docs: Hinweis zu fehlender Jahrestag-Unterstützung in SOGo-Weboberfläche + Kalenderansicht aktualisiert
    05faa43 feat: MAILBOX_EXCLUDE hinzugefügt – Mailboxen per Env von der Synchronisation ausschließen
    1e51010 Log-Format auf [INFO]/[WARN]/[ERROR]/[DEBUG]-Tags umgestellt, Logging erweitert
    58bb3b0 feat: Konfigurierbarer Log-Level über LOG_LEVEL-Umgebungsvariable (debug/info/warn/error) hinzugefügt
    e74d5f7 feat: Jahrestage (ANNIVERSARY) und Emoji-Präfixe für Kalendereinträge
    fc673b0 Graceful Shutdown mit Signal-Handling hinzugefügt
    b36ae57 feat: Sync-Intervall über SYNC_INTERVAL konfigurierbar (Standard: 15m)
    67c3f10 feat: Dateibasierten Docker-Healthcheck hinzugefügt
    efcbd04 docs: Hinweis auf Schnellstart für Umgebungsvariablen in README ergänzt
    b9c81bd docs: CALENDAR_NAME in Beispiel Compose ergänzt
    882fb64 docs: Beispielausgabe für Cleanup-Befehl ergänzt
    Downloads
  • v0.3.2 a296efbb86

    v0.3.2
    Some checks failed
    Run Tests / test (push) Successful in 4m39s
    Make Release / release (push) Failing after 1m48s
    Stable

    scriptos released this 2026-03-28 23:37:46 +00:00 | 36 commits to master since this release

    Release Notes – v0.3.2

    Datum: 29. März 2026


    Überblick

    Dieses Release behebt einen CI/CD-Konfigurationsfehler in der GoReleaser-Konfiguration, der dazu führte, dass der YAML-Parser beim Unmarshalling fehlschlug.


    Fehlerbehebungen

    CI/CD: YAML-Unmarshal-Fehler in .goreleaser.yaml behoben

    • Commit: cb81926
    • Autor: Patrick Asmus (scriptos)
    • Betroffene Datei: .goreleaser.yaml

    Der Block gitea_urls war fälschlicherweise unterhalb von release.gitea eingerückt, wodurch er als verschachteltes Feld interpretiert wurde. Dies führte zu einem YAML-Unmarshal-Fehler beim Ausführen von GoReleaser.

    Änderung: gitea_urls wurde auf die oberste Ebene (Top-Level) der YAML-Konfiguration verschoben, sodass GoReleaser die Konfiguration korrekt parsen kann.

    Downloads
  • v0.3.1 c35f86b7c4

    v0.3.1
    Some checks failed
    Run Tests / test (push) Successful in 4m37s
    Make Release / release (push) Failing after 29s
    Stable

    scriptos released this 2026-03-28 23:09:38 +00:00 | 38 commits to master since this release

    Release Notes – v0.3.1

    Datum: 29. März 2026


    Neue Funktionen

    • Cleanup-Subcommand hinzugefügt – Neuer Befehl zum Entfernen doppelter Kalender. Ermöglicht das Bereinigen von Duplikaten, die durch frühere Programmversionen entstanden sein können. (b346d58)

    Fehlerbehebungen

    • GoReleaser: Gitea-URLs explizit konfiguriert – Ein Fehler bei der automatischen Erkennung der Release-URL wurde behoben, indem gitea_urls in der GoReleaser-Konfiguration explizit gesetzt werden. (a321bb6)

    Dokumentation

    • Dokumentation erweitert und in einzelne Dokumente aufgeteilt – Die bisherige Dokumentation wurde umstrukturiert und in separate Dateien unterteilt: Schnellstart, Funktionsweise, Troubleshooting und Update-Anleitung. (a2ca58e, PR #6)
    • Bildverweis für API-Key-Erstellung ergänzt – Screenshot-Anleitung zur Erstellung eines mailcow API-Keys hinzugefügt. (0a5f78f, PR #7)
    • Hinweis zur Repository-Spiegelung und Issue-Tracker – README um Hinweise zur Spiegelung des Repositories und den korrekten Issue-Tracker ergänzt. (60ecd23, PR #8)
    • Doku-Hinweis auf v0.2.0 präzisiert – Klarstellung in der Dokumentation bezüglich der Mindestversion. (b346d58)
    Downloads
  • v0.3.0 5892230fd8

    v0.3.0
    Some checks failed
    Run Tests / test (push) Successful in 4m40s
    Make Release / release (push) Failing after 1m54s
    Stable

    scriptos released this 2026-03-28 21:30:21 +00:00 | 49 commits to master since this release

    Release Notes – v0.3.0

    Datum: 28. März 2026


    Neue Funktionen

    Optionale Kalender-Benachrichtigungen für Geburtstage (772eaba)

    Geburtstags-Events können ab sofort mit einem VALARM (iCal-Alarm) versehen werden, sodass Kalender-Clients wie SOGo, iOS, Android oder Thunderbird zur konfigurierten Uhrzeit eine Erinnerung anzeigen.

    Neue Umgebungsvariablen:

    Variable Pflicht Standard Beschreibung
    NOTIFICATION_ENABLED Nein false Aktiviert VALARM-Benachrichtigungen für Geburtstags-Events (true/false)
    NOTIFICATION_TIME Nein 08:00 Uhrzeit der Benachrichtigung im Format HH:MM (nur wirksam wenn NOTIFICATION_ENABLED=true)

    Details:

    • Events bleiben weiterhin Ganztags-Events – es wird lediglich ein VALARM-Trigger hinzugefügt.
    • Die Uhrzeit wird intern in eine iCal-Duration umgerechnet (z. B. 08:00PT8H, 09:30PT9H30M), relativ zum Start des Ganztags-Events (Mitternacht).
    • Bestehende Events ohne VALARM werden beim nächsten Synchronisationszyklus automatisch erkannt und neu erstellt – keine manuelle Migration nötig.
    • Falls die Benachrichtigungen wieder deaktiviert werden (NOTIFICATION_ENABLED=false), werden Events mit VALARM ebenfalls automatisch durch Events ohne VALARM ersetzt.

    Fehlerbehebungen

    CI: GITEA_SERVER_URL als Secret ausgelagert (0767ad1)

    • Die GITEA_SERVER_URL wurde in der Release-Workflow-Datei (.gitea/workflows/release.yaml) aus der hartcodierten Konfiguration entfernt und stattdessen als Secret hinterlegt. Dies verbessert die Wartbarkeit und Sicherheit der CI-Pipeline.
    Downloads
  • v0.2.3 eb72cae10c

    v0.2.3
    Some checks failed
    Run Tests / test (push) Successful in 4m57s
    Make Release / release (push) Failing after 2m43s
    Stable

    scriptos released this 2026-03-28 20:19:55 +00:00 | 52 commits to master since this release

    Release Notes – v0.2.3

    Datum: 28.03.2026


    Verbesserungen

    Geburtstagstermine als Ganztags-Events

    Geburtstagstermine werden ab sofort als korrekte Ganztags-Events (VALUE=DATE) im iCal-Format erstellt. Bisher wurden die Termine ohne diesen Parameter angelegt, was in manchen Kalender-Clients zu einer fehlerhaften Darstellung führte.

    • DTSTART und DTEND erhalten nun den Typ VALUE=DATE
    • Automatische Migration: Bestehende Termine werden beim nächsten Lauf erkannt und anhand des neuen Formats validiert. Termine ohne VALUE=DATE werden automatisch neu erstellt.
    • Betroffene Datei: cmd/mcbdd/caldav.go

    Bugfixes

    CI: setup-go Downgrade (v6 → v5)

    Die GitHub-/Gitea-Action setup-go wurde von v6 auf v5 zurückgestuft, da v6 eine Inkompatibilität mit Node 24 im act_runner aufweist.

    Downloads
  • v0.2.2 e3997d8f6f

    v0.2.2
    Some checks failed
    Run Tests / test (push) Successful in 4m46s
    Make Release / release (push) Failing after 2m1s
    Stable

    scriptos released this 2026-03-28 16:43:04 +00:00 | 55 commits to master since this release

    Release Notes – v0.2.2

    Datum: 28. März 2026

    Überblick

    Bugfix-Release zur Behebung der GoReleaser-Konfiguration für Gitea-Releases.

    Vollständiger Changelog

    • 6757362 – fix(ci): Gitea-Release-URL und Token-Typ für GoReleaser ergänzt
    Downloads
  • v0.2.1 f4c92fa537

    v0.2.1
    Some checks failed
    Run Tests / test (push) Successful in 4m57s
    Make Release / release (push) Failing after 1m58s
    Stable

    scriptos released this 2026-03-28 16:15:40 +00:00 | 57 commits to master since this release

    Release Notes – v0.2.1

    Datum: 28. März 2026
    Vergleich: v0.2.0 → v0.2.1


    Fehlerbehebungen (Bugfixes)

    CI/CD: Docker-Login und Build auf CLI umgestellt

    • Der Docker-Login-Schritt in den Gitea-Workflows (docker-test.yaml, release.yaml) verwendet nun direkt docker login über die CLI statt der docker/login-action@v3 GitHub-Action.
    • Der Docker-Build- und Push-Schritt in der Test-Pipeline (docker-test.yaml) wurde von docker/build-push-action@v6 auf native docker build / docker push-Befehle umgestellt.
    • Gitea-spezifische Actions-Expressions (z. B. ${{ gitea.actor }}, ${{ secrets.REGISTRY_TOKEN }} inline) wurden durch Umgebungsvariablen (${GITHUB_ACTOR}, ${REGISTRY_TOKEN}) ersetzt, um die Kompatibilität mit dem Gitea Actions Runner zu verbessern.

    Docker-Tags: Nur noch vollständiges Semver-Tag

    • Die gekürzten Docker-Image-Tags (nur Major v0, Major.Minor v0.2) wurden aus der GoReleaser-Konfiguration (.goreleaser.yaml) entfernt.
    • Es werden ab sofort nur noch das vollständige Semver-Tag (v0.2.1) und latest veröffentlicht, um Verwirrung durch überlappende Tags zu vermeiden.

    Betroffene Dateien

    Datei Änderung
    .gitea/workflows/docker-test.yaml Docker-Login und Build auf CLI umgestellt, Secrets als Env-Variablen
    .gitea/workflows/release.yaml Docker-Login auf CLI umgestellt
    .goreleaser.yaml Gekürzte Major/Minor Docker-Tags entfernt

    Upgrade-Hinweise

    Dieses Release enthält ausschließlich CI/CD- und Build-Konfigurationsänderungen. Es sind keine funktionalen Änderungen am Daemon selbst enthalten. Ein Upgrade ist ohne Anpassungen an der eigenen Konfiguration möglich.

    Downloads
  • v0.2.0 c6c22b1c62

    v0.2.0
    Some checks failed
    Run Tests / test (push) Successful in 4m52s
    Make Release / release (push) Failing after 2m27s
    Stable

    scriptos released this 2026-03-28 15:41:57 +00:00 | 60 commits to master since this release

    Release Notes – v0.2.0

    Datum: 28. März 2026


    Neue Funktionen

    • Hairpin-NAT-Lösung, CA-Zertifikate und konfigurierbarer Kalendername – Unterstützung für Hairpin-NAT-Szenarien, eingebettete CA-Zertifikate sowie die Möglichkeit, den CalDAV-Kalendernamen per Konfiguration festzulegen (c000664)
    • MAILCOW_RESOLVE_HOST für internes DNS-Routing – Neue Umgebungsvariable, um bei internem Netzwerk-Routing (z. B. Docker-Stack) eine alternative Auflösung des Mailcow-Hosts zu ermöglichen (838e702)
    • Startup-Delay von 15 Sekunden – Beim Stack-Neustart wird gewartet, bis nginx bereit ist, bevor der Daemon seine Arbeit aufnimmt (be77b36)

    Fehlerbehebungen

    • CA-Zertifikate zum Container-Image hinzugefügt – Behebt TLS-Verbindungsfehler im Container (3df0ab8)
    • Fehlenden Newline am Dateiende in README.md ergänzt – Pre-commit-Fix (6db5113)
    • LICENSE.md aus trailing-whitespace Hook ausgeschlossen – Verhindert unnötige Formatierungsänderungen (28285b2)

    CI/CD

    • Workflows auf Gitea Actions umgestellt – Migration von GitHub Actions zu Gitea Actions (aad37e3)
    • Workflows von .github nach .gitea verschoben – Verzeichnisstruktur an Gitea angepasst (2900e52)
    • Docker-Test-Workflow hinzugefügt – Automatischer Build-Test bei Pull Requests und manuellem Auslösen (fa28298)
    • Workflow-Anpassungen – Weitere Optimierungen an den CI-Workflows (f0ba2ad)
    • Cleanup alter SHA-getaggter Images – Automatisches Aufräumen veralteter Container-Images (1c70eb6)

    Dokumentation

    • Dokumentation auf Deutsch übersetzt – Gesamte Projektdokumentation ins Deutsche überführt (adec0db)
    • Neue Umgebungsvariablen in .env.example ergänzt – Beispielkonfiguration aktualisiert (e4e2f83)
    • Bild zur README hinzugefügt (f240471)
    • Hinweis zur KI-gestützten Entwicklung in README ergänzt (bde2064)
    • Dokumentation aktualisiert (2a6d9b2)
    • LICENSE.md formatiert (f9bc388)

    Wartung & Sonstiges

    • Containerfile in Dockerfile umbenannt – Einheitliche Benennung (f70d089)
    • Taskfile.yml entfernt – Nicht benötigter Task-Runner bereinigt (27f17fa)
    • Lizenz und Repository-Referenzen auf eigenen Fork aktualisiert (ceb5002)
    • .gitignore: KI-Arbeitsverzeichnis vom Tracking ausgeschlossen (4c496ee)

    Gesamtanzahl Commits: 21

    Downloads