Skip to main content

WorkTime - Releases

← App details

Nextcloud 34

WorkTime 0.14.0
Release Details
UpdatedJuly 12, 2026, 10:05 p.m.
Changelog

Changed

  • Monatsgenehmigung standardmäßig aus (#472): Der Genehmigungsworkflow für Monate ist bei neuen Installationen jetzt standardmäßig ausgeschaltet. Wer ihn nutzen möchte, aktiviert ihn bewusst unter „Einstellungen → Genehmigung". Bestehende Instanzen, die den Workflow bereits verwenden, behalten ihre Einstellung unverändert (eine Migration schreibt den bisherigen Zustand fest, damit nichts stillschweigend umschaltet).

Fixed

  • Abgelehnter Urlaub verbrauchte weiterhin Urlaubstage (#443): Ein vom Vorgesetzten abgelehnter Urlaubsantrag wurde weiter als „verbraucht" gezählt und reduzierte dauerhaft das Urlaubskonto. Dadurch konnten spätere, eigentlich zulässige Anträge fälschlich mit „Nicht genügend Urlaubstage" blockiert werden. Abgelehnte Anträge geben die Tage jetzt wieder frei.
  • Abgelehnte Abwesenheit blockierte einen neuen Antrag (#443): Nach einer Ablehnung ließ sich für dieselben Tage kein korrigierter Antrag (oder eine Krankmeldung) mehr anlegen, weil die abgelehnte Abwesenheit noch als Überschneidung galt. Nur noch offene und genehmigte Abwesenheiten blockieren.
  • Halber Feiertag bei bezahlter Abwesenheit falsch verrechnet (#443): Lag ein genehmigter Urlaub auf einem halben Feiertag (Heiligabend/Silvester, sofern aktiviert), wurde für diesen Tag ein Minus von etwa vier Stunden im Überstundenkonto erzeugt. Der halbe verbleibende Arbeitstag wird jetzt korrekt durch den Urlaub gedeckt.
  • Doppelzählung bei Genehmigung mit vorhandenen Zeiteinträgen (#443): Wurde ein ganztägiger Abwesenheitsantrag genehmigt, obwohl am selben Tag bereits Zeiteinträge erfasst waren, entstanden Phantom-Überstunden. Die Genehmigung prüft diesen Konflikt jetzt und weist mit klarer Meldung darauf hin.
  • Team-Jahresübersicht zählte Feiertage und halbe Tage als Urlaub (#443): In der Jahresübersicht pro Monat wurden Feiertage innerhalb eines Urlaubs sowie halbe Urlaubstage als volle Urlaubstage gezählt, was der Jahresbilanz auf demselben Bildschirm widersprach. Die Monatswerte berücksichtigen jetzt Feiertage und den Halbtags-Anteil.
  • Pausenwarnung bei geteiltem Arbeitstag mit Lücke (#443): Ein durch eine Pausenlücke geteilter Tag mit mehr als neun Stunden reiner Arbeitszeit löste keine §4-Pausenwarnung aus, während derselbe Tag als ein Eintrag mit erfasster Pause korrekt gewarnt hätte. Die Prüfung bezieht sich jetzt einheitlich auf die reine Arbeitszeit.
  • Arbeitszeitprofile rückwirkend anlegbar (#453): Ein Arbeitszeitprofil ließ sich für kein Datum vor dem laufenden Monat anlegen. Das Nachtragen wechselnder Arbeitszeiten (etwa beim Umstieg auf die App) ist jetzt bis zum Eintrittsdatum möglich, ohne bereits genehmigte Zeiträume zu verändern.
  • Fehlende Feiertage werden bei der Berechnung erzeugt (#438): In Jahren oder Bundesländern, für die noch keine Feiertage generiert waren, wurde ein Feiertag als Arbeitstag gewertet. Fehlende Feiertage werden jetzt bei Bedarf automatisch ergänzt.
  • Betriebsferien überspringen bestehende Abwesenheiten tagegenau (#454): Überschnitt sich ein Betriebsferien-Zeitraum mit einer bereits vorhandenen persönlichen Abwesenheit, werden die betroffenen Tage jetzt sauber übersprungen statt doppelt gebucht.
  • Jahresübertrag-Tabelle ohne horizontalen Scrollbalken (#440): Die Tabelle unter „Jahresübertrag" passt sich jetzt der Breite an.
  • Bemerkung des Antragstellers in der Genehmiger-Ansicht (#461): Die zu einem Urlaubsantrag erfasste Bemerkung ist jetzt auch für den genehmigenden Vorgesetzten sichtbar.

Changed (intern)

  • Härtung des automatischen Code-Reviews in der CI und Aktualisierung einer Entwicklungs-Abhängigkeit. Keine Auswirkung auf die Funktion.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignaturemPcTx4p4t16GxAVFey2wtPOK2keFraeHoKoFeyp19K47ky+A3QeprfskvCBSBRkMBm1emPqEo15GflW4U1qTARaOr4oYRaEmcSHGyjJRYhTbWXt6BwRvqYJ+LtUhqPcMP2BF8ca2aEkMayBt6zrfb6sBBYM0tv2aGk9+8Ev2Bij9T1rHO0I0dvGW64ywPaY6K3D16AGHDYAwn/3/pDBKFhNt7ise3yZ/CKN2WRfiUNXHnw8jODysuI94FMbbkj9bJa6Sg6hMBQ1+2r294IDZhDiEamzM/DfIAcctXSolupKnxMqQyqZ1zm3vih2sna2phUKTNSUGc6anW2C8uBz9HQ==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.13.0
Release Details
UpdatedJuly 10, 2026, 10:29 a.m.
Changelog

Added

  • Betriebsferien zentral eintragen (#15): Admin und HR können unter „Einstellungen → Betriebsferien" einen Schließungszeitraum für alle aktiven oder einzeln ausgewählte Mitarbeiter als genehmigten Urlaub buchen. Die Buchung ist pro Person arbeitszeit- und feiertagsbewusst (Teilzeit, 4-Tage-Woche und ohnehin freie Tage werden korrekt behandelt), zentral markierte Einträge sind vor Mitarbeiter-Bearbeitung geschützt, und bestehende Betriebsferien lassen sich als Ganzes wieder entfernen. Eine Suche filtert die Mitarbeiterauswahl.
  • Konfigurierbare Behandlung von zu wenig Resturlaub (#15): Reicht der Resturlaub eines Mitarbeiters nicht für die Betriebsferien, wählt der Admin pro Vorgang bewusst, wie der Überhang behandelt wird — die App trifft keine rechtliche Wertung: (1) nicht buchen und auflisten, (2) bezahlte Freistellung über den neuen Abwesenheitstyp „Betriebsschließung" (kein Urlaubs- oder Überstundenabzug), (3) Freizeitausgleich (baut Überstunden ab) oder (4) Urlaub ins Minus (Vorgriff auf das Folgejahr). Der Resturlaub wird dabei bis 0 aufgebraucht und nur der Rest nach der gewählten Option gebucht; die Aufteilung ist jahresgenau. Mitarbeiter mit bereits erfassten Zeiten im Zeitraum werden nicht gebucht, sondern aufgelistet.

Changed

  • Härtung des automatischen Code-Reviews in der CI (#451): Rein intern, keine Auswirkung auf die Funktion.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
Signatured4Vt2PEvzp3f2vRClsCVeV271DBl7vVXkgdNVjg15XeJTuHMCUInLWuRI0Gwi5geHfz0Isuzfzj15SmTBIyStxTwMYQIFSYWXEukROxR49RSW/2H5B1Houfdkd8+cb0TqG1W8V7IvDxHvYaXyMX8vF1qo+46w5yztRaqT8TcNt2FHF3cSzhIY9tOzLEMEK099axLoB1Q9EEqVB5ECb//p6lCi8A2LeXyeoklaKM/9ff23tz+GJjEb7XQNadELWriSI5dJ//ksi7lJGKf0oMJxmMbjNWgoSI33R34N0OI50XSbZAHXG2OnuYhPjJq7p1nCQyKh1hKK/Iy7DIiUrkJpA==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.12.4
Release Details
UpdatedJuly 7, 2026, 8:16 p.m.
Changelog

Fixed

  • Maximale tägliche Arbeitszeit wird an der Arbeitszeit statt der Anwesenheit gemessen (#437): Die Warnung „Maximale tägliche Arbeitszeit überschritten" bezog sich auf die Anwesenheit (inklusive Pause) statt auf die tatsächliche Arbeitszeit. Ein Tag mit z. B. 9:55 Arbeitszeit (10:40 Anwesenheit, 45 Minuten Pause) löste dadurch fälschlich die Warnung aus. Die 10-Stunden-Grenze (§3 ArbZG) bezieht sich jetzt korrekt auf die Arbeitszeit ohne Pause, analog zur Pausenprüfung aus 0.12.2.
  • Urlaub über den Jahreswechsel wird korrekt behandelt (#439): Eine Abwesenheit, die über den Jahreswechsel läuft (z. B. Weihnachtsurlaub vom 29.12. bis 02.01.), fehlte in der persönlichen Abwesenheitsliste und wurde nicht vom Urlaubskonto abgezogen, war in der Team-Ansicht aber sichtbar. Solche Urlaube erscheinen jetzt wieder in der eigenen Liste, bleiben ein einziger Eintrag (bearbeit- und stornierbar) und werden tagegenau auf beide Jahre verteilt angerechnet.

Changed

  • Release-fokussiertes Code-Review in der CI (#435): Rein intern, keine Auswirkung auf die Funktion.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignatureXo00weSx01xdZoVr3SKzi3gLOu1jtxr+60QyZCiHK4ifLN+q9oZ4H1h1uhfhb51HAV0Tw9RH3Auktid5L7RYnilU5qQTWvRNb/1iT3LnA53PTGKDAJQHJmIVeEHfEqK4mDZsv9QzFjdub16JBuju1WGYv/bDj6OReE6Zpe0TxOYh2cD3ZCh9ATFvJVYk6F6zvJa5f0wwmph827TW9flFR5Ssh2RiUAeW3OHF0s/4WbiYHyxGbiiK8xZgrAWE0QUPhpmg+xcIcbrhy2FiZ61pLMFl8QtoTNXteXAYU14V03PG/9rKjKTsK7khqw9v6tLkLIEXHZQxxBy7wPVNt4WcXQ==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.12.3
Release Details
UpdatedJuly 5, 2026, 11:50 a.m.
Changelog

Added

  • Nextcloud 34 („Hub 26 Spring") unterstützt (#402): Die App ist jetzt für Nextcloud 34 freigegeben und darauf installierbar. Zuvor blockierte die deklarierte Höchstversion (33) die Installation auf NC 34. Die Kompatibilität wurde geprüft (ausschließlich OCP-APIs, keine der in NC 34 entfernten Legacy-Zugriffe), es waren keine Code-Anpassungen nötig.
  • Überstunden-Auszahlung (#401): Manager und HR können angesammelte Überstunden in Geld vergüten. Der ausgezahlte Betrag (in Stunden) reduziert den Überstundensaldo — analog zum Freizeitausgleich. Erfassen und Löschen sind möglich (Korrektur = löschen + neu), jede Aktion wird protokolliert. Neuer Einstellungsbereich „Konten" (Jahresübertrag + Auszahlungen).

Fixed

  • Auszahlung kann den Saldo nicht mehr überziehen (#426, #428): Eine Auszahlung wird jetzt server-seitig gegen den verfügbaren Überstundensaldo geprüft und abgelehnt, wenn sie ihn überschreiten würde. Die Prüfung ist gegen gleichzeitige Anfragen abgesichert (Transaktion mit Sperre auf die betroffene Mitarbeiter-Zeile).

Changed

  • Test- und CI-Härtung (#405, #21): Container-freie PHPUnit-Baseline, Test-Matrix über mehrere PHP-/Nextcloud-Versionen (inkl. Frühwarnung gegen die NC-Entwicklungsversion) und ein Build-/Lint-Gate. Rein intern, keine Auswirkung auf die Funktion.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignaturelT4SDJcjNIupkiehbxG0hXDREaINs9GauRdgIMc26lAGwSlTq4Eu8ELq391tpM5hbVyN831AHA9CdIq7g5SzmRgEoFYRZk2Cpcn1XoRhjPufdFYnYntIAquVFSJnA0RnHdrZXAB+Vwln2nl/RoZ1Ye7oAQk7JL0pKbZ28KoTv7N4UEywamXJIHctBOChDrIpKsEL8KpEKT81KC3uotn6at7ERTRZLtfOjqAfSHkBXOgmUieXc7CTgzGclvTM/wLQxzlySp9fQtQh/mDMr9WosphN18jTcoMe1Jy4AFH9LeW9NqClaN/TDMJJz8JjvQ2YIsNouJL8yyzCMLEt+o5k5A==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0

Nextcloud 33

WorkTime 0.14.0
Release Details
UpdatedJuly 12, 2026, 10:05 p.m.
Changelog

Changed

  • Monatsgenehmigung standardmäßig aus (#472): Der Genehmigungsworkflow für Monate ist bei neuen Installationen jetzt standardmäßig ausgeschaltet. Wer ihn nutzen möchte, aktiviert ihn bewusst unter „Einstellungen → Genehmigung". Bestehende Instanzen, die den Workflow bereits verwenden, behalten ihre Einstellung unverändert (eine Migration schreibt den bisherigen Zustand fest, damit nichts stillschweigend umschaltet).

Fixed

  • Abgelehnter Urlaub verbrauchte weiterhin Urlaubstage (#443): Ein vom Vorgesetzten abgelehnter Urlaubsantrag wurde weiter als „verbraucht" gezählt und reduzierte dauerhaft das Urlaubskonto. Dadurch konnten spätere, eigentlich zulässige Anträge fälschlich mit „Nicht genügend Urlaubstage" blockiert werden. Abgelehnte Anträge geben die Tage jetzt wieder frei.
  • Abgelehnte Abwesenheit blockierte einen neuen Antrag (#443): Nach einer Ablehnung ließ sich für dieselben Tage kein korrigierter Antrag (oder eine Krankmeldung) mehr anlegen, weil die abgelehnte Abwesenheit noch als Überschneidung galt. Nur noch offene und genehmigte Abwesenheiten blockieren.
  • Halber Feiertag bei bezahlter Abwesenheit falsch verrechnet (#443): Lag ein genehmigter Urlaub auf einem halben Feiertag (Heiligabend/Silvester, sofern aktiviert), wurde für diesen Tag ein Minus von etwa vier Stunden im Überstundenkonto erzeugt. Der halbe verbleibende Arbeitstag wird jetzt korrekt durch den Urlaub gedeckt.
  • Doppelzählung bei Genehmigung mit vorhandenen Zeiteinträgen (#443): Wurde ein ganztägiger Abwesenheitsantrag genehmigt, obwohl am selben Tag bereits Zeiteinträge erfasst waren, entstanden Phantom-Überstunden. Die Genehmigung prüft diesen Konflikt jetzt und weist mit klarer Meldung darauf hin.
  • Team-Jahresübersicht zählte Feiertage und halbe Tage als Urlaub (#443): In der Jahresübersicht pro Monat wurden Feiertage innerhalb eines Urlaubs sowie halbe Urlaubstage als volle Urlaubstage gezählt, was der Jahresbilanz auf demselben Bildschirm widersprach. Die Monatswerte berücksichtigen jetzt Feiertage und den Halbtags-Anteil.
  • Pausenwarnung bei geteiltem Arbeitstag mit Lücke (#443): Ein durch eine Pausenlücke geteilter Tag mit mehr als neun Stunden reiner Arbeitszeit löste keine §4-Pausenwarnung aus, während derselbe Tag als ein Eintrag mit erfasster Pause korrekt gewarnt hätte. Die Prüfung bezieht sich jetzt einheitlich auf die reine Arbeitszeit.
  • Arbeitszeitprofile rückwirkend anlegbar (#453): Ein Arbeitszeitprofil ließ sich für kein Datum vor dem laufenden Monat anlegen. Das Nachtragen wechselnder Arbeitszeiten (etwa beim Umstieg auf die App) ist jetzt bis zum Eintrittsdatum möglich, ohne bereits genehmigte Zeiträume zu verändern.
  • Fehlende Feiertage werden bei der Berechnung erzeugt (#438): In Jahren oder Bundesländern, für die noch keine Feiertage generiert waren, wurde ein Feiertag als Arbeitstag gewertet. Fehlende Feiertage werden jetzt bei Bedarf automatisch ergänzt.
  • Betriebsferien überspringen bestehende Abwesenheiten tagegenau (#454): Überschnitt sich ein Betriebsferien-Zeitraum mit einer bereits vorhandenen persönlichen Abwesenheit, werden die betroffenen Tage jetzt sauber übersprungen statt doppelt gebucht.
  • Jahresübertrag-Tabelle ohne horizontalen Scrollbalken (#440): Die Tabelle unter „Jahresübertrag" passt sich jetzt der Breite an.
  • Bemerkung des Antragstellers in der Genehmiger-Ansicht (#461): Die zu einem Urlaubsantrag erfasste Bemerkung ist jetzt auch für den genehmigenden Vorgesetzten sichtbar.

Changed (intern)

  • Härtung des automatischen Code-Reviews in der CI und Aktualisierung einer Entwicklungs-Abhängigkeit. Keine Auswirkung auf die Funktion.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignaturemPcTx4p4t16GxAVFey2wtPOK2keFraeHoKoFeyp19K47ky+A3QeprfskvCBSBRkMBm1emPqEo15GflW4U1qTARaOr4oYRaEmcSHGyjJRYhTbWXt6BwRvqYJ+LtUhqPcMP2BF8ca2aEkMayBt6zrfb6sBBYM0tv2aGk9+8Ev2Bij9T1rHO0I0dvGW64ywPaY6K3D16AGHDYAwn/3/pDBKFhNt7ise3yZ/CKN2WRfiUNXHnw8jODysuI94FMbbkj9bJa6Sg6hMBQ1+2r294IDZhDiEamzM/DfIAcctXSolupKnxMqQyqZ1zm3vih2sna2phUKTNSUGc6anW2C8uBz9HQ==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.13.0
Release Details
UpdatedJuly 10, 2026, 10:29 a.m.
Changelog

Added

  • Betriebsferien zentral eintragen (#15): Admin und HR können unter „Einstellungen → Betriebsferien" einen Schließungszeitraum für alle aktiven oder einzeln ausgewählte Mitarbeiter als genehmigten Urlaub buchen. Die Buchung ist pro Person arbeitszeit- und feiertagsbewusst (Teilzeit, 4-Tage-Woche und ohnehin freie Tage werden korrekt behandelt), zentral markierte Einträge sind vor Mitarbeiter-Bearbeitung geschützt, und bestehende Betriebsferien lassen sich als Ganzes wieder entfernen. Eine Suche filtert die Mitarbeiterauswahl.
  • Konfigurierbare Behandlung von zu wenig Resturlaub (#15): Reicht der Resturlaub eines Mitarbeiters nicht für die Betriebsferien, wählt der Admin pro Vorgang bewusst, wie der Überhang behandelt wird — die App trifft keine rechtliche Wertung: (1) nicht buchen und auflisten, (2) bezahlte Freistellung über den neuen Abwesenheitstyp „Betriebsschließung" (kein Urlaubs- oder Überstundenabzug), (3) Freizeitausgleich (baut Überstunden ab) oder (4) Urlaub ins Minus (Vorgriff auf das Folgejahr). Der Resturlaub wird dabei bis 0 aufgebraucht und nur der Rest nach der gewählten Option gebucht; die Aufteilung ist jahresgenau. Mitarbeiter mit bereits erfassten Zeiten im Zeitraum werden nicht gebucht, sondern aufgelistet.

Changed

  • Härtung des automatischen Code-Reviews in der CI (#451): Rein intern, keine Auswirkung auf die Funktion.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
Signatured4Vt2PEvzp3f2vRClsCVeV271DBl7vVXkgdNVjg15XeJTuHMCUInLWuRI0Gwi5geHfz0Isuzfzj15SmTBIyStxTwMYQIFSYWXEukROxR49RSW/2H5B1Houfdkd8+cb0TqG1W8V7IvDxHvYaXyMX8vF1qo+46w5yztRaqT8TcNt2FHF3cSzhIY9tOzLEMEK099axLoB1Q9EEqVB5ECb//p6lCi8A2LeXyeoklaKM/9ff23tz+GJjEb7XQNadELWriSI5dJ//ksi7lJGKf0oMJxmMbjNWgoSI33R34N0OI50XSbZAHXG2OnuYhPjJq7p1nCQyKh1hKK/Iy7DIiUrkJpA==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.12.4
Release Details
UpdatedJuly 7, 2026, 8:16 p.m.
Changelog

Fixed

  • Maximale tägliche Arbeitszeit wird an der Arbeitszeit statt der Anwesenheit gemessen (#437): Die Warnung „Maximale tägliche Arbeitszeit überschritten" bezog sich auf die Anwesenheit (inklusive Pause) statt auf die tatsächliche Arbeitszeit. Ein Tag mit z. B. 9:55 Arbeitszeit (10:40 Anwesenheit, 45 Minuten Pause) löste dadurch fälschlich die Warnung aus. Die 10-Stunden-Grenze (§3 ArbZG) bezieht sich jetzt korrekt auf die Arbeitszeit ohne Pause, analog zur Pausenprüfung aus 0.12.2.
  • Urlaub über den Jahreswechsel wird korrekt behandelt (#439): Eine Abwesenheit, die über den Jahreswechsel läuft (z. B. Weihnachtsurlaub vom 29.12. bis 02.01.), fehlte in der persönlichen Abwesenheitsliste und wurde nicht vom Urlaubskonto abgezogen, war in der Team-Ansicht aber sichtbar. Solche Urlaube erscheinen jetzt wieder in der eigenen Liste, bleiben ein einziger Eintrag (bearbeit- und stornierbar) und werden tagegenau auf beide Jahre verteilt angerechnet.

Changed

  • Release-fokussiertes Code-Review in der CI (#435): Rein intern, keine Auswirkung auf die Funktion.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignatureXo00weSx01xdZoVr3SKzi3gLOu1jtxr+60QyZCiHK4ifLN+q9oZ4H1h1uhfhb51HAV0Tw9RH3Auktid5L7RYnilU5qQTWvRNb/1iT3LnA53PTGKDAJQHJmIVeEHfEqK4mDZsv9QzFjdub16JBuju1WGYv/bDj6OReE6Zpe0TxOYh2cD3ZCh9ATFvJVYk6F6zvJa5f0wwmph827TW9flFR5Ssh2RiUAeW3OHF0s/4WbiYHyxGbiiK8xZgrAWE0QUPhpmg+xcIcbrhy2FiZ61pLMFl8QtoTNXteXAYU14V03PG/9rKjKTsK7khqw9v6tLkLIEXHZQxxBy7wPVNt4WcXQ==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.12.3
Release Details
UpdatedJuly 5, 2026, 11:50 a.m.
Changelog

Added

  • Nextcloud 34 („Hub 26 Spring") unterstützt (#402): Die App ist jetzt für Nextcloud 34 freigegeben und darauf installierbar. Zuvor blockierte die deklarierte Höchstversion (33) die Installation auf NC 34. Die Kompatibilität wurde geprüft (ausschließlich OCP-APIs, keine der in NC 34 entfernten Legacy-Zugriffe), es waren keine Code-Anpassungen nötig.
  • Überstunden-Auszahlung (#401): Manager und HR können angesammelte Überstunden in Geld vergüten. Der ausgezahlte Betrag (in Stunden) reduziert den Überstundensaldo — analog zum Freizeitausgleich. Erfassen und Löschen sind möglich (Korrektur = löschen + neu), jede Aktion wird protokolliert. Neuer Einstellungsbereich „Konten" (Jahresübertrag + Auszahlungen).

Fixed

  • Auszahlung kann den Saldo nicht mehr überziehen (#426, #428): Eine Auszahlung wird jetzt server-seitig gegen den verfügbaren Überstundensaldo geprüft und abgelehnt, wenn sie ihn überschreiten würde. Die Prüfung ist gegen gleichzeitige Anfragen abgesichert (Transaktion mit Sperre auf die betroffene Mitarbeiter-Zeile).

Changed

  • Test- und CI-Härtung (#405, #21): Container-freie PHPUnit-Baseline, Test-Matrix über mehrere PHP-/Nextcloud-Versionen (inkl. Frühwarnung gegen die NC-Entwicklungsversion) und ein Build-/Lint-Gate. Rein intern, keine Auswirkung auf die Funktion.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignaturelT4SDJcjNIupkiehbxG0hXDREaINs9GauRdgIMc26lAGwSlTq4Eu8ELq391tpM5hbVyN831AHA9CdIq7g5SzmRgEoFYRZk2Cpcn1XoRhjPufdFYnYntIAquVFSJnA0RnHdrZXAB+Vwln2nl/RoZ1Ye7oAQk7JL0pKbZ28KoTv7N4UEywamXJIHctBOChDrIpKsEL8KpEKT81KC3uotn6at7ERTRZLtfOjqAfSHkBXOgmUieXc7CTgzGclvTM/wLQxzlySp9fQtQh/mDMr9WosphN18jTcoMe1Jy4AFH9LeW9NqClaN/TDMJJz8JjvQ2YIsNouJL8yyzCMLEt+o5k5A==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.12.2
Release Details
UpdatedJune 27, 2026, 6:57 a.m.
Changelog

Fixed

  • Automatische Pausenberechnung nach §4 ArbZG (#403): Die gesetzliche Mindestpause wurde anhand der Anwesenheitszeit (Kommen bis Gehen) statt der tatsächlichen Arbeitszeit bestimmt. Bei knapp über 9 Stunden Anwesenheit wurden dadurch 45 statt der ausreichenden 30 Minuten vorgeschlagen und beim Speichern verlangt. Die Schwellen orientieren sich jetzt an der Arbeitszeit ohne Pause (§2 Abs. 1 ArbZG): bei einer Anwesenheit bis 9,5 Stunden genügen 30 Minuten. Gilt für den Pausenvorschlag im Eintragsformular und die Tagesprüfung über mehrere nahtlose Einträge.

Added

  • Vollständigere tschechische Übersetzung (#259): 48 bisher unübersetzte Oberflächentexte wurden ins Tschechische übersetzt.

Changed

  • Übersetzungs-Konsistenzprüfung (#259): Ein Wächter (Pre-Commit-Hook + CI) stellt sicher, dass die Übersetzungskataloge exakt zum Code passen, damit Texte nicht mehr unbemerkt auf den deutschen Quelltext zurückfallen.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignaturejNOlVNoTFOtuWej0Agi82f49HKkoM49mpocKY41JErfTfwHOAY7yofWnlEmUCvNuSXvr7AdaImL+zljTwvzWPwurajlBxG+f8nn6J9KKKm3M+sirT8UBgRXzXutLe5XjfZoFxNqZ/3DiI7h+UEloxi2/R0wZiHqbJ4pFIoXhHNO3zHNSHQaKElNcGdVrJVESBtfkLx4Jqapa1ptZ1s1MGNvFotU0h0byxt84zwtQvCIaz8a4gWrzISUF1BUnAzHOcz9mrSPeHwq+sTrImdq/w0wcg1ffOVliXMFNnoIpt7kCgqRwtpFPTJEbnL7xQopuvQtbKk8UdY63+lVJX9DmXA==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.12.1
Release Details
UpdatedJune 26, 2026, 12:49 p.m.
Changelog

Added

  • Aktives Archivieren beim Genehmigen (#323): Beim Genehmigen eines Monats lässt sich die PDF jetzt sofort ins Archiv schreiben, mit unmittelbarer Rückmeldung, ob sie neu erstellt, aktualisiert oder ersetzt wurde.

Fixed

  • Genehmigungen für Vorgesetzte wieder zugänglich (#357): Nach dem 0.12.0-Redesign sahen Vorgesetzte (ohne Admin-/HR-Rolle) die Tabs „Genehmigungen" und „Auswertung", konnten sie aber nicht öffnen — ein Klick warf sie zurück auf die Zeiterfassung. Die Zugriffsregeln sind wieder konsistent: Vorgesetzte öffnen jetzt die Genehmigungen, die org-weite Auswertung bleibt Admin/HR vorbehalten, und der Team-Tab ist für alle Mitarbeitenden nutzbar.
  • HR-Manager erreichen die Mitarbeiterverwaltung (#394): HR-Managern fehlte der Zugang zu Einstellungen → Mitarbeiter, Projekte und Jahresübertrag, obwohl sie die Berechtigung dafür haben. Der Einstellungs-Bereich ist jetzt auch für HR erreichbar; reine Admin-Bereiche bleiben verborgen.
  • Korrektur genehmigter Monate wieder auffindbar (#387): Die Schaltfläche zum erneuten Öffnen eines bereits genehmigten Monats war im 0.12.0-Redesign verloren gegangen und ist wieder da.
  • PDF-Download in der Genehmigung (#394): Der direkte „Monatsbericht als PDF"-Button pro Mitarbeiter ist im Monats-Dialog der Genehmigungsansicht wieder verfügbar.
  • Wochenstunden im PDF-Arbeitszeitnachweis (#356): Bei mehreren Arbeitszeitprofilen zeigte der PDF-Kopf die falschen Wochenstunden. Es wird jetzt das im jeweiligen Monat gültige Profil verwendet.
  • Genehmigende ohne eigenes Profil (#394): Approver bzw. HR ohne eigenen Mitarbeiter-Eintrag landeten beim Start auf einer leeren Zeiterfassung; sie werden jetzt auf eine passende Ansicht geleitet.
  • Englische und tschechische Übersetzungen (#396): Mehrere Oberflächentexte erschienen in der englischen und tschechischen Ansicht auf Deutsch, weil Katalogeinträge nicht exakt zum Code passten. Abweichende und fehlende Übersetzungen wurden korrigiert (30 Einträge ergänzt).
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignaturehpXOxx1beXo+/qD0Y1GToezOGLc+gHZ7RwVJoKaOr4dClptjcT9f1eC6p+Civ7zh2Hod94fOGMzmJ9oPCapd2AXGbJDUe6JC6bvtAcTogo4KmeqqF/1hDgFl0ctQgMvxl2ehLHBMwtyetIQcWyloyRIu8xSK5gSqw54ZqnIOjMQAamkXUcjHbV0ry1g94PeMJ+H/MAO/+U19x+t6PzDd1lFJGA9sHNSFEVrnIYakwVRByPeelBeTVtbPK+CbBDE7QTbstSTuefWK7SBYAiMbBu4y/TjR7G0sFO3QfyNRiyWpsWMPcXv88M5FWQ5vxiFuhPCUGDcdpotLvfi2MFNCSg==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.12.0
Release Details
UpdatedJune 25, 2026, 3:52 p.m.
Changelog

Added

  • Monats-Details vor dem Genehmigen (#369): In den Genehmigungen öffnet ein Klick auf eine Monatszeile jetzt einen Dialog mit allen Zeiteinträgen des Monats (Datum, Zeiten, Pause, Stunden, Projekt, Beschreibung). So lässt sich ein Monat vor der Freigabe prüfen, ohne die Ansicht zu wechseln; Genehmigen und Zurückweisen sind direkt aus dem Dialog möglich.
  • Monats-Zurückweisung mit Begründung (#368): Ein eingereichter Monat kann jetzt mit Angabe eines Grundes zurückgewiesen werden. Die Einträge gehen zur Korrektur an die Mitarbeitenden zurück und können nach Anpassung erneut eingereicht werden.
  • Sichtbarer PDF-Archiv-Status (#323): Unter Einstellungen → PDF-Archiv zeigt ein neuer Status-Bereich die zuletzt erfolgreich archivierten Monate sowie ausstehende und fehlgeschlagene Archivierungen. Fehlgeschlagene lassen sich per Klick erneut anstoßen, und schlägt eine automatische Archivierung endgültig fehl, erhält der Archiv-Admin eine Nextcloud-Benachrichtigung statt eines stillen Fehlers.
  • Rekursive Team-Sicht für Vorgesetzte (#347): Ein Vorgesetzter sieht jetzt nicht nur die direkt zugeordneten Mitarbeitenden, sondern den gesamten Team-Unterbaum.

Fixed

  • Veraltete Archiv-PDF nach erneuter Genehmigung (#323): Wurde ein genehmigter Monat zurückgenommen, korrigiert und erneut genehmigt, blieb die alte PDF im Archiv liegen. Beim Zurücknehmen wird die archivierte PDF jetzt entfernt und bei der erneuten Genehmigung frisch erzeugt. Damit entspricht das Archiv immer dem aktuell genehmigten Monatsstand.
  • Überstunden-Kontostand in der Monatsansicht (#358): Die Kennzahl zeigt jetzt den kumulierten Kontostand statt nur des aktuellen Monatswerts.
  • Abwesenheiten: Überschneidungen zwischen einer Abwesenheit und erfassten Zeiteinträgen werden jetzt verhindert (#360); beim Anlegen folgt das Enddatum automatisch dem Startdatum (#364); die Inline-Bearbeitung und einige Darstellungsdetails wurden korrigiert (#361, #367).
  • Audit-Log (#362): Ein Klick auf einen Eintrag öffnet eine Detailsicht mit den vollständigen alten und neuen Werten; lange Änderungstexte brechen jetzt um statt horizontal zu scrollen.

Changed

  • Einheitliches Design über alle Ansichten (#369): Zeiterfassung, Abwesenheiten, Team, Genehmigungen, Auswertung und Audit-Log folgen jetzt einem gemeinsamen Aufbau (einheitlicher Kopfbereich, Umschalter, Breite, Tabellen im Karten-Look). Das Tabellen-Layout der Auswertung wurde überarbeitet (Spaltenbreiten, Wochenstunden), und die Einstellungs-Ansichten wurden angeglichen.
  • Vollständige tschechische Übersetzung (#354, #355): Fehlende tschechische und englische Texte (u. a. in Genehmigungen, Team und Auswertung) wurden ergänzt.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignaturetLzF2YWmwdnmbrM3cUkGjU59J6nAuS8ITlyb2oY2nuNEwXfnzYkh/yUZ7YLSXh3Jqyc9PEWdnX6UY78DGvo/waF2fe24caqRO1a1grw0gwXIu44pV8JXjnZJO0E9WDpoElLUWsxNqMMjKOt9o5oJfUH1Di83EzwPuc/DrDwGtlhI6r9AHk4V9C6mBJlJkmnyKQ1KELPb4kaQShifOy5Tas3xnoM23xMNuu8g2E5zfGxSGozR8uHH++IqH4noN6GyBgEPFa0HGF080bitBBghSOlI9T87thPJfitTzkR6eM1TV2rNSbq2ev6Yg/DZnHMB/bkkryP+ogQ+ZYJZXpe+IA==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.11.2
Release Details
UpdatedJune 19, 2026, 12:26 p.m.
Changelog

Added

  • Arbeitszeitnachweis über frei wählbaren Zeitraum (#102): Neben dem monatlichen Arbeitszeitnachweis lässt sich jetzt ein PDF über einen frei wählbaren Zeitraum erzeugen (z. B. vom 20. bis zum 20.). In der Zeiterfassung öffnet die Aktion „PDF über Zeitraum …" einen Dialog mit Start- und Enddatum; der Nachweis wird über genau diese Spanne gerechnet (Arbeitstage, Abwesenheiten, Soll/Ist), lückenlos auch über Monatsgrenzen hinweg. Die monatliche Übersicht, Genehmigung und Monatssperre bleiben unverändert.

Fixed

  • Pflichtfelder „Projekt erforderlich" / „Beschreibung erforderlich" hatten keine Wirkung (#329): Trotz aktivierter Schalter unter Arbeitszeit-Regeln ließen sich Zeiteinträge ohne Projekt bzw. ohne Beschreibung speichern. Beide Regeln werden jetzt im Frontend (Pflichtmarkierung, Hinweis, gesperrtes Speichern) und im Backend (maßgebliche Validierung) durchgesetzt. Damit niemand ausgesperrt wird, greift die Projektpflicht nur für Mitarbeitende, die tatsächlich mindestens ein auswählbares Projekt haben.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignatureqlsKu5wYevRfh5AfZJVVVVdHyuG+H87FqZ913qP4FmHXT31HqSHC2SkQ2LOKhyjffgMmAY4QyzMdCu3fcgWWSISgHln/xYB0H/5stZpkzIX5WMJMS2oWU472wGnrWyOlQsHgREEnppYrjt5pAyqUMVypTIKEItN68MveQv1mjvn/RyN5VrsxZ+cKazq8IvgGRAQ1d/zXCQeTupEqxKZGQNf3HcBULpmTfHmiOZjPXFNx6VT5oZkPnyxD//LfKy0bjMVFIcL4MjFf1kq/+tY2xhmAG1w/A7OKm5OxCPr+XncySMALLkCW4UPxpmdDOMkEPbaXwdE940nDXhxEmeyWQA==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.11.1
Release Details
UpdatedJune 18, 2026, 7:25 p.m.
Changelog

Fixed

  • Genehmigung schlug fehl, wenn der Genehmiger kein eigenes Mitarbeiter-Profil hat (#324): Als Admin/HR ließ sich ein beantragter Urlaub nicht genehmigen (Meldung „Fehler beim Genehmigen"), während „Ablehnen" funktionierte. Ursache war, dass das Genehmigen fälschlich voraussetzte, dass der genehmigende Account selbst als Mitarbeiter angelegt ist. Genehmigen funktioniert jetzt auch ohne eigenes Mitarbeiter-Profil.
  • Abwesenheits- und Arbeitstage blieben bei „0" trotz erfasster Abwesenheit (#325): Wurde ein Mitarbeiter mit 0 Wochenstunden angelegt, entstand ein Arbeitszeitprofil ohne Arbeitstage, wodurch im Monatsbericht und im Arbeitszeitnachweis-PDF alle Tage (auch genehmigte Krankheits- oder Urlaubstage) mit 0 gezählt wurden. Das Anlegen mit 0 Wochenstunden wird jetzt verhindert; zusätzlich weisen Monatsansicht und PDF auf ein fehlendes Arbeitszeitprofil hin, falls ein Monat 0 Arbeitstage ergibt.
  • Speichern/Abbrechen in der Inline-Bearbeitung von Abwesenheiten (#314): Die Buttons standen übereinander statt nebeneinander.

Added

  • Lückenlose Tagesübersicht im Arbeitszeitnachweis-PDF (#318): Der Monatsbericht listet jetzt jeden Kalendertag als eigene Zeile. Abwesenheiten (z. B. Krankheit, Urlaub) erscheinen direkt in der jeweiligen Tageszeile statt nur in einer separaten Übersicht; Wochenenden werden dezent grau dargestellt.

Changed

  • Projekt-Auswertung lädt die Projekt- und Mitarbeiterlisten beim PDF-Export nur noch einmal statt doppelt (#311).
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignatureE1E+gXuUz1ovSXs06VjEdYwRagNWbBZsvgA/E3b+hCFlPqFBhxA9fMaHBoZ74L/jhx5GILSRb1PJffhCUSVbwdZVDHvbvzvTzPl7p3d5sh3c3w8tNHbFFWrRSnJx1pYMlQ/Cx3bWHPWN0Wb/UPdZc6kZuPdVyzMYexqi9BYitcKseeaeSd+ApoCFFZGEU3bsndX+lLhlb8qQ9QQ9mxxl6Eae4liYEtHcdERyg5rudazrZaH3QFGRgzO4dI7RscQuxuhmztaf/pWsaZdgzPiRefCwIi4SLSnbWH7oaw7daZZov/8L9b3h9TlViSmDVJ5uSU3rQsvkhaLBDf+vYnsNOg==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.11.0
Release Details
UpdatedJune 16, 2026, 10:01 p.m.
Changelog

Added

  • Projekt-Auswertung für Admin/HR (#57): Eine neue Auswertungsansicht summiert die erfassten Arbeitszeiten je Projekt und Mitarbeiter:in über einen wählbaren Zeitraum. Projekte und Mitarbeitende werden über kompakte Chips (Projektfarbe + Kunde bzw. Initialen) aus- und abgewählt, mit Suche und Top-N-Skalierung für größere Teams. Es gibt eine aggregierte Sicht (Summen) und eine Einzelbuchungssicht, beide sortierbar und im App-Stil als Karten dargestellt. Kennzahlen-Karten (Gesamtzeit, Projekte, Mitarbeitende) fassen den gewählten Zeitraum zusammen. Die Auswertung ist auf Admin/HR beschränkt.
  • CSV- und PDF-Export der Projekt-Auswertung (#57): Beide Ansichten lassen sich als CSV oder PDF exportieren. Der Export folgt der Auswahl und der aktiven Registerkarte (aggregiert oder Einzelbuchungen) und dokumentiert im Kopf, welche Projekte und Mitarbeitenden ausgewertet wurden.
  • Projekt-Zuordnung pro Mitarbeiter:in (#58): Projekte können gezielt einzelnen Mitarbeitenden zur Buchung freigegeben werden – oder per Schalter „für alle freigeben" allen. So sehen Mitarbeitende in der Zeiterfassung nur die für sie relevanten Projekte.
  • Optionales Kundenfeld an Projekten (#292): Projekte können einem Kunden zugeordnet werden. Der Kunde erscheint in der Projekt-Auswertung und als eigene Projekt-Spalte im monatlichen Arbeitszeitnachweis (PDF).

Fixed

  • Datum im eingebetteten Bearbeiten-Modus nicht änderbar (#302): Beim Bearbeiten eines Zeiteintrags direkt in der Tag-/Tabellenansicht ließ sich das Datum nicht mehr anpassen. Das Datumsfeld ist im eingebetteten Bearbeiten-Modus jetzt editierbar.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignaturecdhSeXEtcEndzjhyNs4MMEKY274wO6nC3BltDTRu/WNKmAk9GjejwaVSfuYvX9ibdvcaUeGdk9xyxcMujTRYh7yCTRe7cb4sRJTIlMkeKfknTaiS9P3Cl2M8L+EeKFEu83dltEzMAVgAd56vj/KIWm3yVYKqOh4kGhWXrDLii2pJAeAPybxipglr9me35YngBNdR9HdEL010dNUVweiX43YPAQOxtfT+A9dUhKoiX9EQDCSiSUG2ZQJVhFOc0G5+DBTbTmkaUqRNjJt0qMFBlCX9f3ByAC4N2+w+b8diLdjvveABSIrXyDT8ohD9hfv2k1my3lQSxqTyLel9zHGLXA==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.10.1
Release Details
UpdatedJune 15, 2026, 2:01 p.m.
Changelog

Fixed

  • Monatssperre griff beim Löschen nicht (#296): Das Sperren abgeschlossener Monate (HR-Korrekturworkflow, #148) war beim Anlegen und Ändern aktiv, beim Löschen von Zeiteinträgen und Abwesenheiten jedoch nicht – ein abgeschlossener Eintrag konnte ohne Pflichtbegründung und ohne erneutes Öffnen des Monats entfernt werden. Das Löschen prüft jetzt denselben Sperr-Mechanismus: Mitarbeiter werden in abgeschlossenen Monaten blockiert, Admin/HR im Korrektur-Modus müssen eine Begründung (min. 10 Zeichen) angeben, die ins Audit-Log geschrieben wird, und der betroffene Monat wird automatisch zur erneuten Genehmigung geöffnet. Zusätzlich wurde ein Bounds-Guard für die Monatsnamen-Auflösung in den Benachrichtigungen ergänzt.

Added

  • HR-Korrekturworkflow für abgeschlossene Monate (#148): Mitarbeiter sind in abgeschlossenen Monaten (vollständig genehmigt oder vergangenes Kalenderjahr) für Änderungen an Zeiteinträgen und Abwesenheiten gesperrt – mit klarer Meldung „Dieser Zeitraum ist abgeschlossen. Bitte wende dich an HR.". Admin/HR wechseln über einen neuen „Korrigieren"-Einstieg in der Mitarbeiterliste in einen Korrektur-Modus: Sie arbeiten im Kontext des Mitarbeiters (Kontext-Banner über allen Ansichten) und dürfen auch abgeschlossene Monate ändern. Jede Korrektur in einem abgeschlossenen Monat erfordert eine Pflichtbegründung (min. 10 Zeichen), die im Audit-Log gespeichert wird. Der betroffene Monat wird automatisch zur erneuten Genehmigung geöffnet, und der Mitarbeiter wird per Benachrichtigung inklusive Begründung informiert.

Changed

  • App-Store-Screenshot des HR-Korrektur-Modus ergänzt (#293).
  • Verwaisten l10n-String aus der Quota-Umstellung entfernt (#287).
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignaturekeaFtRE/3eEKxjR7xaqI3XJItsFR4mwpumPefuZ6IUcJ0SrHwMal4Mj2JS2tKoimMP5AcrvEtIslOemzBAT1oDZrXMDwhi38jl7NoApkV6cHxpIBwAMLoxXE1+wRvxChaoHD912gXg5L4gZ4i2JIsa72S7PtlljiaMF5+bQS/o6UaaEmdfPhhb6DBf23lu7RQqIHsJ7VleL1FYfTIdzvpaxhwLTm0b3iveXzN3KFDzcIMPiDFhn/o7ilKGxlDnHRmCMbzLL6U7jaVWYAl8os3Fd6e88tCEbDURsvC64HuPvgymWcJ1lJwakZjXLa0U7ee8Y0dd3lo+Gtv95z1U3dYw==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.10.0
Release Details
UpdatedJune 15, 2026, 10:15 a.m.
Changelog

Added

  • HR-Korrekturworkflow für abgeschlossene Monate (#148): Mitarbeiter sind in abgeschlossenen Monaten (vollständig genehmigt oder vergangenes Kalenderjahr) für Änderungen an Zeiteinträgen und Abwesenheiten gesperrt – mit klarer Meldung „Dieser Zeitraum ist abgeschlossen. Bitte wende dich an HR.". Admin/HR wechseln über einen neuen „Korrigieren"-Einstieg in der Mitarbeiterliste in einen Korrektur-Modus: Sie arbeiten im Kontext des Mitarbeiters (Kontext-Banner über allen Ansichten) und dürfen auch abgeschlossene Monate ändern. Jede Korrektur in einem abgeschlossenen Monat erfordert eine Pflichtbegründung (min. 10 Zeichen), die im Audit-Log gespeichert wird. Der betroffene Monat wird automatisch zur erneuten Genehmigung geöffnet, und der Mitarbeiter wird per Benachrichtigung inklusive Begründung informiert.

Changed

  • App-Store-Screenshot des HR-Korrektur-Modus ergänzt (#293).
  • Verwaisten l10n-String aus der Quota-Umstellung entfernt (#287).
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
Signatureue+alT7KvWV3n4I40OxA0E8Wam7LWTD6L+jVuLdKeyII8HjW7ck9DtALoTj+yeB/IJ8u1P1HqszKbsZJx/kIP/lMhUyHSqRO5fB2L78E+cR8M4BnDPj3kZTysFlvWOnSHD1SaHHcmJXMLXSW4PEjrMtfDQk/GUkWC4j4PIcsYzOyhS5dE4U3gBwUamHlCsIVOmlNc781gn2VLobjNk238t7e4yVrWyc50G5r9gL8DJhfzYGyIapeAO6BsgWDuDSaUPojsBP4aVm2GD2/SSXKeygMAxX+3LmxGxj+8ReQwgxftJWXzgPDnbBqIs4obJ7KqVgKO/qyxWibzOXOBcGQzQ==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.9.4
Release Details
UpdatedJune 14, 2026, 7:33 p.m.
Changelog

Fixed

  • Abweichende Urlaubstage in Team- und Mitarbeiteransicht (#281): Der Jahres-Urlaubsanspruch wurde anteilig über alle Arbeitszeitprofile eines Jahres gemittelt. Zusammen mit dem automatisch angelegten Initial-Profil (Default 30 Tage) und einem später mit Startdatum mitten im Jahr gesetzten Profil entstand ein geblendeter Wert (z. B. 30 + 14 → ~21; „bei 30 Tagen geht's", weil 30 dem Default entspricht). Der Anspruch wird jetzt aus dem am Stichtag gültigen Profil genommen (kein Blending), sodass Profil-Editor, Mitarbeiter- und Team-Ansicht denselben Wert zeigen. Bestehende Daten korrigieren sich nach dem Update automatisch. Pro-rata bleibt für die Soll-Stunden erhalten, wo es korrekt ist.
  • Teilzeit konnte keine ganzen Wochen Urlaub beantragen (#282): Die Frontend-Vorab-Prüfung zählte naiv Kalender-Werktage (Mo–Fr) und blockierte das Speichern, sobald diese Zahl den Resturlaub überstieg — bei Teilzeitkräften fälschlich (z. B. 3 Wochen = 15 statt der real abgezogenen 6 Tage). Die unzuverlässige Schätzung blockiert nicht mehr; das Backend prüft autoritativ schedule- und feiertagsgenau und zieht nur die tatsächlichen Arbeitstage ab. Die Quota-Warnung wurde zu einem weichen, korrekt formulierten Hinweis.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignatureROMedmHkf5alqIr6TFWsWjtWxYr2KscyDNg++KnCt0zElcXQvJ6Gu2ZSAl6vLihAfuEM24O0Rp6FJPCT4PCf0Ml0MG2/c07Dun8Ufiq3rWIhUJp+5yHakcLWahV/O25utr9lGiE8ZkHnDaNAooEZHqD/sslvRUvyF6/P5dyc88LMPE8P3GafUfE5RK0FCUJZaX/AVxaOHCw12zXa4sUnfCBE6wx7xdx0d9nBkTgCUgAdZVRfoC3waYsQ/u6CBnOmZULzIO5NTATmSylapUonYjyUIlOjtI2hLt/ZI/kdq42KnM6q35t8rikKzptFBa5pucgyUlZ8bjU+kbe+MNMpQQ==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.9.3
Release Details
UpdatedJune 12, 2026, 11:43 a.m.
Changelog

Changed

  • 0.9er-Design der Abwesenheiten- und Übersichtsseiten (#251, #252): Umfassende UI-Überarbeitung aus dem Design-Feedback. Quick Wins (#263): „Ist/Soll"-Label, gekürzte Hilfetexte, PDF-Icon, klarere Überschriften „Urlaub"/„Überstunden", ausgeblendete Null-Überträge. Schrift/Kontrast kräftiger (#266), markierte Zeile mit Akzent verbunden (#267), Wochentrennung + kompakte Nicht-Arbeitstage (#268), Abwesenheiten mit KPI-Hierarchie, Jahr-Picker und Hover-Aktionen (#269), Abwesenheitskonto als Themen-Boxen + Listen-Karte (#270).
  • Überstunden-Berechnung & Formate (#251, #252): Der laufende Tag zählt erst zum Soll, sobald Zeit erfasst oder eine Abwesenheit eingetragen ist (kein „Morgen-Minus" mehr). Dauer wird am Bildschirm als HH:MM angezeigt (PDF bleibt dezimal), Jahresurlaub als „Rest / Anspruch", Freizeitausgleich als „Tage (≈h)".

Fixed

  • Manuell erfasste Feiertage um einen Tag verschoben (#273): Beim Speichern wurde das Datum aus dem Datepicker mit toISOString() (UTC) umgewandelt; in Zeitzonen östlich von UTC (z. B. CH/DE) wurde aus der lokalen Mitternacht der Vortag, sodass der Feiertag −1 Tag gespeichert wurde. Das Feiertags-Formular nutzt jetzt das zeitzonensichere formatDateISO. Dieselbe Umstellung wurde am Default-Gültig-ab im Arbeitszeitprofil-Editor vorgenommen.
  • Lange Bemerkungen brechen in Abwesenheits- und Genehmigungstabellen um (#275): Bemerkungen ohne natürliche Trennzeichen dehnten die Tabellen über ihren Container hinaus (ererbtes white-space: nowrap). Anzeigenotiz-Zellen in AbsenceRow und ApprovalOverviewView bekommen jetzt einen umbrechenden Wrapper (max-width 22rem, white-space: normal, overflow-wrap: anywhere). Die Beschreibungsspalte in der Detail-Tabelle wechselt konsistent von Ellipsis-Abschneiden auf Zeilenumbruch.

Internationalisierung

  • Fehlende de/en-Übersetzungen für die überarbeiteten Views nachgezogen (#271) und die Locale-Ermittlung auf das zentrale getLocale() vereinheitlicht (#272).
  • Hilfetext am Feld „Urlaubstage" von „Restanspruch" auf „Resturlaub" vereinheitlicht (#276).

Intern

  • CI: fetch-depth: 0 für die Claude-Review-Workflows, damit der Diff eine Merge-Basis hat (#264).
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignatureBrAHPZGKD6AcGgzqWun1x/eEPXD4HeX51uuYIwZ+x/VJD7MohIHibxotzwQ7bZjeOW987KxWDDOl8DVUkEGJwPKW1IKh0A+3G1+u6syAnkzUQTVU1jD7d0NhQlTOIR/DV5aCle/kboYe8EvEOZ3jFtEZzkZsuXWe/4bybeLl4P/werEo8skChqsMrJABRx9qrbar7kyIKAXS+PJZ0c/y9gVWthAPZZ66dvBt5EWRtLnIvT4i2WYj7ONqkYOEriscD0xS7etEGSKBEmof/TSF/dAfVXweW7vV7v06YLNk4GIorkAePApHM9wB+262TFOYk6BS2067V6hBJILtj3Ce5g==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.9.2
Release Details
UpdatedJune 7, 2026, 9:38 p.m.
Changelog

Added

  • Tschechische Übersetzung (#258): Community-Beitrag von @mysticNicoCZ, deckt rund 94 % der Oberflächentexte ab. Der Plural-Header wurde auf das korrekte tschechische Schema (nplurals=3) gesetzt (#260).

Fixed

  • Mitarbeiterübersicht zeigt das heute gültige Arbeitszeitprofil (#202): Wochenstunden und Urlaubstage in der Übersicht stammten aus einem zwischengespeicherten Wert, der an das Profil mit dem neuesten Gültig-ab-Datum gekoppelt war. Ein zukünftig datiertes Profil überschrieb damit die Anzeige, sodass die Übersicht (z. B. 40 Std.) vom tatsächlich gültigen Profil (z. B. 31,5 Std.) abweichen konnte. Das Arbeitszeitprofil ist jetzt die alleinige Quelle: Übersicht, Team-Ansicht und Bearbeiten-Dialog leiten die Werte live aus dem heute gültigen Profil ab. Im Bearbeiten-Dialog werden Wochenstunden und Urlaubstage wieder angezeigt (schreibgeschützt, mit Verweis aufs Arbeitszeitprofil).
  • PDF-Export: lange Bemerkungen brechen sauber um (#203): In den Tabellen für Zeiteinträge und Abwesenheiten wurden lange Bemerkungen abgeschnitten und sprengten das Layout. Die Zellen nutzen jetzt dynamische Zeilenhöhen, das Tabellenraster bleibt konsistent.

Changed

  • Aktive-Profil-Auflösung als Batch-Query (#202): Mitarbeiterlisten lösen das gültige Profil in einer einzigen Abfrage auf (kein N+1 mehr). EmployeeService::update() nimmt Wochenstunden und Urlaubstage nicht mehr entgegen — diese Werte gehören ausschließlich zum Arbeitszeitprofil.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignaturecvgNlkyO2EJMlM5B0z0BGZUlUntgkSrI3X3KEDNQB6S2iuDEMSNUd0G4orP0ibeUl5666zYQc3pPswxS6T5o53km6t75ta+CJ1LJsnP9z5T6HSWb9BEacD0mg3AjtmZ4XQNOUO8pr452RPDO33qNOxyOGp06j8OXntM6bhdg/5vqh4k93MZiz/EZtxAyFKuZt1JEb25FTFURtaU5QYtB7TPkZWh6hUiykSVCXlbD21R9p9JcEn8G8lqIuU2y6d+ChfLmSHHhh9zwZPoDycgYGI/EEcnHtC03Z50e9zi94ChArfe318giVJAUpRtusU2ZnweBFJgb/9stznwwk83wKg==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.9.1
Release Details
UpdatedJune 1, 2026, 4:34 p.m.
Changelog

Security

  • Supervisor sieht nur sein eigenes Team in der Abwesenheitsübersicht (#244): Vorher behandelte AbsenceController::overview() jeden Supervisor pauschal als privilegiert, sodass isEmployeeVisibleInOverview() automatisch alle Mitarbeiter freigab. Supervisoren sahen damit Abwesenheiten ALLER Mitarbeiter, nicht nur ihres Teams — DSGVO-relevant, weil Abwesenheits-Typen Krankheits-Info durchscheinen lassen können. Jetzt: Admin/HR sehen weiterhin alle Mitarbeiter unmaskiert; Supervisoren sehen nur Mitarbeiter, deren supervisor_id mit ihrer eigenen Employee-ID übereinstimmt, mit Klartext-Typen nur für die eigenen Team-Mitglieder. Fremde Sichten greifen wie bisher auf die per-Employee-Sichtbarkeitsregel zurück.

Fixed

  • TypeError bei ungültigem Zeitformat in Zeiteinträgen (#245): DateTime::createFromFormat() liefert bei ungültigem Format false — das wurde ungesichert an validate(?DateTime) durchgereicht und ergab unter declare(strict_types=1) einen TypeError statt einer sauberen ValidationException. ?: null-Guard + Skip-Branch für checkOverlap() behoben.
  • TypeError bei unvollständigen Abwesenheits-Daten in der Tageliste (#245): Wenn die API eine Abwesenheit ohne startDate/endDate liefert, crashte die Tageliste mit TypeError auf absence.startDate.split('-'). Null-Guard ergänzt.

Changed

  • package.json mit info.xml synchronisiert (#246): package.json und package-lock.json standen nach dem 0.9.0-Release auf 0.8.1. Jetzt konsistent mit info.xml, damit Tools und der /release-Skill korrekte Vorgängerversion sehen.
  • SPDX-Lizenz-Header in allen PHP-Dateien (#248): Allen 67 PHP-Dateien in lib/ wurde der NC-Standard-Header (SPDX-FileCopyrightText + SPDX-License-Identifier: AGPL-3.0-or-later) hinzugefügt. App-Lizenz bleibt AGPL-3.0-or-later wie in info.xml; das schließt die Convention-Lücke für Auditoren und Forks.
  • Integrity-sauberes Upgrade: Der CleanupExtraFiles-Repair-Step räumt jetzt auch veraltete worktime-<hash>.js-Bundle-Dateien aus früheren Releases weg. NC kopiert beim App-Update zwar neue Dateien rein, löscht aber keine alten — bei jedem Upgrade blieben sonst stale .js / .js.map / .js.LICENSE.txt aus der Vorversion liegen, die der Integrity-Check als EXTRA_FILE flagged hat. Beim ersten Lauf werden alle worktime-*-Bundles entfernt, die nicht in der aktuellen signature.json stehen.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignatureRS2wxlDycO37sn2LBB6JRG+3HpC+WSFGJJr4FiJCclRFgT4ZYBxIkWYYsx/E8gkf62c5uFY4xhxrP3WNBE7SzB3sXyywDCQnia+2W5R75ooqUN35cUAE10pSgxqGDHxRFSL5S/KvKDmB6W+UR4glHRyp5r6FH/yvAgbNXyEb++35yytTFWKV28ZUWAlngwahRYdcWGSQQlLrkxjkJsC74isbXj4tJjpN37hmpao7jb5G3tFfCAKe5wuYTtv/dYfh6RslFDOdKUwA8C+UOeJkX7khIbGBYAQaMSALFiaWxubYE5OeyjYtaPQ9k3lWvnAbFqftMZh8gluSyyWO1T9riQ==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.9.0
Release Details
UpdatedJune 1, 2026, 10:55 a.m.
Changelog

Added

  • Sidebar-Navigation in System-Einstellungen (#237): Statt langer Scrollseite mit Inhaltsübersicht-TOC zeigt die Settings-View jetzt links eine Sidebar mit gruppierten Sektionen (Team · Firma · Abläufe · Kalender) und rechts nur die ausgewählte Sektion. Aktive Sektion persistiert im URL-Hash (?sec=…) für Bookmarks und Browser-Back. Mobile: Sidebar fällt unter den Content. Pattern entspricht NCs eigener Server-Settings-UI.
  • Jahresansicht in Zeiterfassung (#235): Der Ansichts-Toggle in der Zeiterfassung erhält einen dritten Modus „Jahr" neben „Liste" und „Kalender". Zeigt eine Monatstabelle mit Soll/Ist/Überstunden, hebt den aktuellen Monat mit „Jetzt"-Pille hervor und springt per Klick auf einen vergangenen Monat zurück in die Liste-Ansicht. KPI-Leiste oben aggregiert auf Jahres-Soll/Ist/Überstunden und Urlaub.
  • Sticky Inhaltsübersicht (Anker-Chips) in System-Einstellungen (#222): Horizontale TOC-Leiste am Seitenkopf (in 0.9.0 durch die Sidebar-Navigation ersetzt).

Changed

  • DayList und MonthCalendar in einheitlicher Card-Optik (#233): Tagesliste und Monatskalender erhalten denselben Card-Rahmen (--color-border-dark, --border-radius-large) wie KPI-Leiste und Detail-Panel. Der Tagesheader sitzt jetzt innerhalb der Card statt freistehend darüber.
  • „Heute"-Pille in DayList (#233): Der aktuelle Tag wird durch eine kleine blaue „Heute"-Pille markiert, statt durch einen fehlplatzierten Bullet.
  • Stabiler MonthPicker in Zeiterfassung (#235): Der Monatswähler bleibt beim Durchsteppen durch Monate an fester Position, auch wenn sich der Status-Badge (Entwurf/Eingereicht/Genehmigt) und der „Monat einreichen"-Button ein- und ausblenden. Liegt nun direkt neben dem Ansichts-Toggle.
  • PDF-Download in NcActions-Overflow-Menü (#235): Der PDF-Download-Button wird ins Drei-Punkte-Menü rechts oben verschoben, um die Toolbar zu entlasten.
  • NcSelect in Persönlichen Einstellungen (#227): Die Sichtbarkeit-Dropdowns in „Meine Einstellungen" nutzen NcSelect statt nativer Browser-Selects, einheitlich mit dem Rest der App.
  • Stärkere Eingabe-Borders in System-Einstellungen (#237): Text- und Zahlen-Inputs erhalten einen kräftigeren Border (--color-border-dark statt blasser NC-Default), um Lesbarkeit zu verbessern.
  • Firmendaten + Standardwerte zusammengeführt (#237): Die separate Standardwerte-Sektion mit nur zwei Feldern entfällt; Wochenstunden und Urlaubstage wandern als „Standard-Wochenstunden" und „Standard-Urlaubstage" in die Firmendaten-Sektion.
  • Naming-Konsistenz Sidebar/Headline (#237): Section-Überschriften wurden auf die Sidebar-Labels gekürzt („Mitarbeiterverwaltung" → „Mitarbeiter", „Genehmigungs-Workflow" → „Genehmigung", „PDF-Archivierung" → „PDF-Archiv").
  • App-Store-Screenshots auf neuen UI-Stand (#241): Alle Screenshots in appinfo/info.xml und im screenshots/-Ordner aktualisiert. Neuer Jahr-Tab-Screenshot ergänzt, veraltete Übersichts-/Monatsbericht-Screenshots entfernt.

Fixed

  • YearPicker mit min/max-Bounds: Die Jahresansicht-Pfeile werden an den Jahresgrenzen (frühestes Eintrittsjahr, aktuelles Jahr + 1) deaktiviert.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignatureUSL9Oz0FM5PScwgGqXcA0BhCcUvjkEGh/Yus2NLQ6vcNZf6vasHyx/f1O6DkBsxeb5/NQGkww+fInHMGxTm2VWPkZsCD4ftI+gn/nJcqJnn+XqmUiAKR+Kk5l0N76pSiqX0SM4do/Mm4jTOUeK1/pH3KZ/4IEAKUDmrGVXdcdA/Ud/z9r1VlC4Fkpn7V3FLA/oVKL+onAJqEpr3Z67tWWMyhd/wXyztdolCosddgMeGJb3qMF+DyC3DvALKEv5v28O+5MFo+F8RS+cJq+r7LIRqxV18QNX/VfUTCy4R3ZphugpEFmYqvhkw9ElHYVQdArQ0s31cFlWyRSpkdUN3/ZQ==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.8.1
Release Details
UpdatedMay 27, 2026, 11:28 a.m.
Changelog

Fixed

  • Freizeitausgleich senkt jetzt die Überstunden (#186): Ein Freizeitausgleich-Tag wurde als Arbeitszeit gutgeschrieben, während das Soll voll bestehen blieb. Beide Effekte hoben sich auf, der Überstunden-Saldo blieb unverändert. Jetzt bleibt der FZA-Tag im Soll und wird nicht ins Ist gerechnet, dadurch sinkt der Saldo um genau die Tagessollzeit. Korrigiert in beiden Berechnungspfaden (Monatsbericht und archivierte PDFs). Die Aufschlüsselung der Monatsübersicht weist den Freizeitausgleich zusätzlich als eigene Zeile aus.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
Signatureb0byLCC5A+uW4sKCi7cXsp9tjv6wl/DH2EHm51354Cg8/BXh62iYWTpBKm3MEFGKvWDHzHzzTsqF4mBUzyMkNnuuyoL3rH/VpX+/YQ13EBObV3A5/NnX0JDnCeu5eMVad2DrMigTO6MlBNoZlfndaBkYn7VKpoF6F2jC+ZjecYTpRY17vRo1INjJVr+cJf/e3RR0UAYbWShF6ihepypX7eReQAR503XXhrHRkJ+uNy3xnPvH8NnC6bDDwDTLZBt3F+TfRg7UrgmFUe+3vU6VGwncyannohZ600refYni4lRrX1IiO2uCIc7LOHb5pwCYyFCAQIEgZgghZCjT9Fuv+A==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.8.0
Release Details
UpdatedMay 27, 2026, 6:17 a.m.
Changelog

Added

  • Benachrichtigung bei Rücknahme der Genehmigung (#187): Wird die Genehmigung eines Monats zurückgenommen, erhält der betroffene Mitarbeiter eine Nextcloud-Benachrichtigung („Die Genehmigung deiner Zeiteinträge für … wurde zurückgenommen. Bitte erneut einreichen.").
  • Eigener Abschnitt „Genehmigungs-Workflow" mit Konsequenzen-Bestätigung (#188): Der Schalter „Genehmigung erforderlich" ist aus den Arbeitszeit-Regeln in einen eigenen Abschnitt mit Beschreibung gezogen. Beim Umschalten erscheint ein Bestätigungsdialog, der die firmenweiten Folgen erklärt; bei Abbruch bleibt der alte Zustand erhalten.
  • Bestätigung für folgenreiche Einstellungen (#189): Das Entfernen eines HR-Managers fragt jetzt mit Konsequenz-Hinweis nach (Rechteverlust), und das automatische Generieren der Feiertage zeigt vorab einen Hinweisdialog (alle Bundesländer werden neu erzeugt, manuelle Feiertage bleiben erhalten).

Fixed

  • Resturlaub-Übertrag im Mitarbeiter-Dashboard (#176): Der Resturlaub-Übertrag aus dem Vorjahr wird jetzt im Dashboard-Urlaubskonto als eigene Position „Übertrag Vorjahr" ausgewiesen und in „Verbleibend" eingerechnet (analog zum Überstunden-Übertrag und konsistent zum Bericht).
  • Backend-Texte übersetzbar (#192): Benachrichtigungs-Subjects und serverseitige Validierungs-Fehlermeldungen laufen jetzt über die Übersetzungsschicht (IL10N) und erscheinen in der Sprache des jeweiligen Nutzers statt fest auf Deutsch.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignaturecPqa9U/3AeYjYIijJTAhfPiFqGxpVzONkD+AS240lqZY306g0dTsl58Obvybr96OcdvGCI4FAjqtZcMyf6rYODLnyeAnxVqQWSi99xnGMo7o8XlpRXPSWVn3/+UEbO773RB5ed3tXUcYcqthNcajWLB7MFgK/TBRtShjzYjxQQP+W0AJEKPxhS8ilJxgt8x0s6gsYeXJ87831AFGUW/k2ZZAB2eA2fjo3eic0vC/YQVqqcyphgoY9fRM1W9imfis6nEI9HxBLhHBJ6iBldtAXc05vV3jaWOjb57esTSeuX0jFqFGm/R81QaBFyPjxh69CvcGwIM25+acS8/LD2qbcw==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.7.3
Release Details
UpdatedMay 22, 2026, 8:33 p.m.
Changelog

Added

  • Genehmigungs-Workflow optional schaltbar (#177): Der Schalter approval_required ist jetzt wirksam. Bei deaktivierter Genehmigung werden Einreichen-Button, Status-Spalte/-Badges und der Zeiteinträge-Abschnitt der Genehmigungsübersicht ausgeblendet. Stundenzählung bleibt statusunabhängig. Default = bisheriges Verhalten.
  • Genehmigten Monat wieder öffnen (#178, #179): Admin, HR-Manager und Vorgesetzte (canApprove) können einen genehmigten Monat zur Korrektur zurück auf Entwurf setzen. Begründung ist Pflicht, jede Rücknahme wird im Audit-Log (reopen) protokolliert.

Fixed

  • Urlaubs-Genehmigung bleibt erreichbar wenn Workflow aus (#184): Bei deaktiviertem Genehmigungs-Workflow blieb auch die Urlaubs-/Abwesenheits-Genehmigung verborgen. Navigation und Route bleiben jetzt immer erreichbar, nur der Zeiteinträge-Abschnitt wird ausgeblendet.
  • Hilfetexte zu Genehmigung und PDF-Archivierung korrigiert (#183): Der Tooltip am Genehmigungs-Schalter behauptete fälschlich, ohne Genehmigung flössen Stunden nicht in die Überstunden ein. Text korrigiert, PDF-Archivierungs-Hilfe ergänzt (alle 4 l10n-Dateien).
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignatureLptVlCExgwx3fmelbT2f7BbuWOcLn9i4I8Yj9FcuFTP4vB+d+9m9zP1oh7P55oPy4a8SjciGMiu5m8Y53cOHAbrkBQCeI8BXcMyoRtRV5Bqs6UkmESA8DPKEk3sM/1y6y3wh4W5+DDSSnfSshxZ4R0Oj9y1M8mJ6VG5q8lWHk/qx29k+mN8/oeQU3t6iR5eZHpv64aAhw7gxS8Vahd6XMjIMUMzaGC9OzYuufrNE4tAAqNileZa/43EAlBtB8K6dmgUJoZ/4nYnHF2Lqx5/NgTY2/y1DXGC5DaLOXxVMmzZ4bBNJ19kVtE1s+80st6UFHphRIl+FLK7bmMCtL46zeQ==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.7.2
Release Details
UpdatedMay 19, 2026, 8:11 p.m.
Changelog

Fixed

  • Nicht-existierende CSS-Datei (#170): Util::addStyle für css/main.css aus dem PageController entfernt — die Datei existierte nicht (CSS wird von webpack ins JS-Bundle gebündelt). Im Browser-Konsolen-Log keine MIME-Type-Fehlermeldung mehr.

Changed

  • App Store Screenshots aktualisiert: Alle 6 Screenshots durch frische Captures mit sauberen Demo-Daten ersetzt. Zusätzlich neues Audit-Log-Screenshot.
  • App-Beschreibung erweitert: info.xml beschreibt jetzt die Features aus v0.6.x und v0.7.x (Audit-Log, Jahresübertrag, kontextuelle Hilfe, HR-Manager-Rolle, Mehrsprachigkeit).
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignaturepsVKb9/on5KawIm2CnC6uW90sUBR9x87ziIZ+1eiZlSdUjN1XV6vP98oXxBIQiwWxVFW4lzF2AlGfyOzrynFplKGSE6UdJQpK3VBLOscR3NDylJU6SNXl4+NNQ/vCZdYfSbmNSuImJnd9h9RHz3kXTicvY8uPJOF0LiVDTovX+tXTyEOMAZ8We1DWb+/1m9OVGhZ+exMuOhD1klYt8ZK9cjpnAmQkEaRNc5XyQll8yKDFytYK52hehw6ruHDvjlN93wAEGTWXK99B2DeRjSnKTgnBza39B3Dodycyd1atg7LmQ04og7NbPhaSHqq0W/3L79f7Qmk6F+CENRGB9QneQ==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.7.1
Release Details
UpdatedMay 17, 2026, 10:03 p.m.
Changelog

Fixed

  • Audit-Log Kontrast (#162): Schrift in der Änderungsspalte war kaum lesbar (blasse NC CSS-Variablen). Alle Farben durch explizite Hex-Werte ersetzt (#b91c1c, #15803d, #555).
  • Audit-Log Diff-Anzeige (#163): Änderungsspalte zeigte bei update-Aktionen den kompletten Objekt-Dump. Jetzt werden nur tatsächlich geänderte Felder als Feld: alt → neu angezeigt. Interne Felder (id, employeeId, createdAt, updatedAt) werden ausgeblendet.
  • Monatsübergreifende Abwesenheiten in Genehmigungsansicht (#164): Eine Abwesenheit die z.B. vom 27.04–08.05 läuft, zeigte im April-View den gesamten Zeitraum. Jetzt wird der Zeitraum auf den angezeigten Monat geclipt (April: 27.04–30.04, Mai: 01.05–08.05).
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignaturecKbuTkFVn9ybaEPmnXooWbPo2EfvL87/L2O5GT4vkUON41sKrvQBnLaghzbNBPTDb43ny3YzH2MNf3kkyU0KHMLSG6MGykGGYxIm0n186dAzQQqV3CQh6VnK1tQCgRSvdgbOdxDjEJ2tXmHJNK6nY86UA9O8S7XoQH+AnHw5yMWWAHq32FaZwXkdcOSsIupjVRPoErZ3UfgBxiaiwA9ib2EPjLSGVBiGtsKOQt8UAt7nqA0TgJ6L1Wzrmv+vGa5aVKwnb/wVTI/VlARsymuEehdn/VqZTgxUz24qMMpjEdMkpCQN/yeq+TPP9pA5LEPY1saOXThm32K43vwrxqSiiQ==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.7.0
Release Details
UpdatedMay 17, 2026, 7:39 p.m.
Changelog

Added

  • Audit-Log View (#91): Neue Ansicht für Admin und HR-Manager mit vollständigem Änderungsprotokoll. Filterbar nach Monat und Mitarbeiter. Farbige Action-Badges (erstellt, aktualisiert, gelöscht) mit Old→New-Diff-Anzeige.
  • Jahresübertrag für Überstunden und Urlaubstage (#100): Offene Überstunden und nicht genommene Urlaubstage aus dem Vorjahr werden automatisch ins neue Jahr übertragen. Konfigurierbar in Admin-Einstellungen. Dashboard und Jahresübersicht zeigen Übertragswerte an.
  • Jahresübertrag UX-Überarbeitung (#144): Übertragsstatus in Übersicht, manuelle Korrekturmöglichkeit, verbesserter Workflow für HR-Manager.

Fixed

  • Genehmigungsansicht zeigt jetzt auch Abwesenheiten (#158): In der aufgeklappten Detailzeile werden Urlaub, Krankheit etc. neben Zeiteinträgen angezeigt, sortiert nach Datum mit farbigem Typ-Badge.
  • Urlaubsquoten-Validierung (#147): Urlaubsantrag wird beim Erstellen und Bearbeiten gegen das verfügbare Kontingent geprüft. Überschreitung zeigt Warnung im Formular.
  • Eintrittsdatum wird bei Sollberechnung berücksichtigt (#145): Monate vor dem Eintrittsdatum liefern 0-Stats statt falscher Minusstunden.
  • FZA-Stunden reduzieren Soll nicht mehr (#149): Freizeitausgleich wurde fälschlicherweise vom Monatssoll abgezogen.
  • Pausenvalidierung als Toast (#151): Blockierende UI-Sperre bei Pausenverstoß durch informativen Toast-Hinweis ersetzt.
  • Warnhinweise mit lesbarem Kontrast (#146): Warntexte nutzen jetzt --color-main-text statt kaum lesbarer NC-Standardfarbe.

Changed

  • Batch-Loading für Team-Abfragen: Team- und Jahresübersicht laden Daten jetzt in einem Batch-Request mit DB-Indizes statt N+1 Queries.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignatureDiLgNWNJ/iLDcZhfLsqk8K2/GET8nS6rixBqWZCOw+JarPURIUpJ8t3K1hegZ3Lsbzr9t3xhkf0NLv2IYIGfBW+HSIgwVKKLbZuFxd+OJF9yfUJIOxuqBmJo7gkH7VCD0/xT5LqcaJjI+7QGcuTJDCaG9gGhg3VGSVPiEcSKlqJebtls8Bj+ij8CUYv59RYvCtDn2bi7CLBLm+2TqpJG43VRzw8hfrKWaic2f8+ZfTJQvkolkSQQKjCSiIIowwN7slsKrgo2o2gMZFrfn3IZvQLLRoYxqJ4MWbaU8mpuk/fd64WscriAnB8SU9zJeW4UUQ003WCz4Xd6DuxmWKTUkQ==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.6.4
Release Details
UpdatedMay 4, 2026, 11:36 a.m.
Changelog

Fixed

  • v0.6.3 war nicht installierbar: Tarball enthielt __MACOSX/-Ordner (macOS-Metadaten). NC verweigert Installation bei mehr als einem Top-Level-Ordner. v0.6.3 wurde aus dem App Store entfernt. Dieses Release ist inhaltlich identisch mit v0.6.3, aber mit korrektem Tarball.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignatureKZnCskAEF5wxPZq03FcBNDgI0VTJ4giJMV5k+M89jeGGQ4B6AYSLDqZntlq9LAHjoS0lzAj7h7PDqsHQorlm3zdhDJCarLb77ojelS5owjBcl1Dv4/x4J+ClEt3Ux+apEGGzlNWSOlYCAyJ59bgUeVAyc3CZdwyf4GQdqvEeFZSmIzOt7Cn+x74FDbymSdk8nj1CieCP/dPYb4T23x+yG0DLz9W8EWtRpeZwXZTgt2x3Fxn7v+niSu7Pc6tYQR3qTJpMwKuqzgOspw2LfCK0klgKMmS9kvp7cL0/DVkVBCiL/qUWMSjf1X2WAhwEiOw3D8QDjK3eQW91g7kXwE6wjA==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.6.1
Release Details
UpdatedApril 29, 2026, 11:56 a.m.
Changelog

Fixed

  • Uebersetzungen funktionieren jetzt (#103): Fehlende l10n/*.js-Dateien ergaenzt (NC laedt nur .js, nicht .json). Alle hardcoded deutschen Strings durch t()-Aufrufe ersetzt. Hardcoded de-DE Locale durch NC-Locale ersetzt. 51 fehlende Uebersetzungs-Keys ergaenzt (390 Keys gesamt).
  • Dashboard zeigt korrekte Minusstunden (#98): Fuer den aktuellen Monat wird jetzt das proportionale Soll (bis heute) statt des vollen Monatssolls angezeigt. Kein irregulaeres Defizit mehr am Morgen.
  • Stornierte Abwesenheiten in Zeiterfassung (#108): Stornierte Abwesenheiten (z.B. zurueckgenommener Freizeitausgleich) werden in der Zeiterfassungsliste nicht mehr angezeigt. In der Abwesenheitsuebersicht bleiben sie mit Status "Storniert" sichtbar.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
Signaturekn9jEWtVWUZAls72WByJw82AogsX4WssoFBA0/pv56N1Rig1hifnTjGD6FlOfH+bYB79q8gzX8BK0nZxugdbQdXuNcVmbXZdO1qmgPJYsCLH1j2X/BkR3nq70z3zGQgMw2rOsNnnBqClB/aSidFo1rBn1VAyQxN+VIdEzCwcmAwXSyEvqBClShw554k3IDDddtZ/4C8SFINnE3Ys+IU3KbC63KGNAcghf1N/KVlmIY3uxbCXZC0TTX6KJvl+MCqPFDyHTVGGvch1+tlQE8CEEVvwlnOLGR7QxwxoP/3FtB+Qx8LH8GbdnSyxdajuYg2E7rGWpeqYu00kRhRhpEhwmA==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.6.0
Release Details
UpdatedApril 14, 2026, 12:03 p.m.
Changelog

Fixed

  • KRITISCH (#88): App-Update und occ upgrade stuerzten auf Nextcloud 33 ab, weil der Repair-Step die seit NC 11 deprecated und in NC 33 entfernte OC_App::getAppPath() nutzte. Betroffene User konnten ihre Nextcloud-Instanz nicht mehr aktualisieren. Fix nutzt jetzt die OCP-API IAppManager::getAppPath().
  • Abwesenheits-Timeline: jede Abwesenheitsart hat jetzt eine eigene, deutlich unterscheidbare Farbe (#87)
  • Irrefuehrender Dialog-Text beim Einreichen des Monats: enthielt "keine Aenderungen moeglich", obwohl Nachtraege durchaus eingereicht werden koennen
  • Yes/No-Buttons im Bestaetigungsdialog werden jetzt auf Deutsch angezeigt

Added

  • Genehmigungsansicht (#68): Aufklappbare Detailzeile pro Mitarbeiter mit Datum, Beginn/Ende, Pause, Arbeitszeit, Projekt, Beschreibung und Status. PDF-Monatsbericht direkt aus der Detailansicht herunterladbar.
  • Auto-Genehmigung fuer Krankheit und Kind krank (#74): Krankmeldungen gehen ohne Genehmigungsworkflow direkt auf "genehmigt". Vorgesetzte sehen sie als "Zur Kenntnisnahme" in der Genehmigungsuebersicht.
  • Benachrichtigungs-Flow fuer Krankmeldungen und stornierte Krankmeldungen

Changed

  • UI-Konsistenz (#69): Team-, Genehmigungs- und Abwesenheitsuebersicht nutzen jetzt einheitliche Typografie, Padding und Kartenstil wie die etablierten Referenz-Views (Dashboard, Zeiterfassung, Meine Einstellungen)
  • Icon-Unifikation: Entfernen-Buttons nutzen durchgaengig das Close-Icon (statt gemischt Close/Delete)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignaturenAAW7M8rzDxWVlbfmGMzmUXLt4pdXxhReOL5YUrLeYKtB3bGaPxmBvQHlSFn9lRkUUp3NWPs6p7oaJDOKO4vEOVwVVtkIh1kGrO8kRwbceRZlCO/4vDz4KVs0923SVxbaDy/C9uTvpi2RFXZcx8QEJGzCOyBUWOnQAVPHZYSbG/Oi0LD/wRxdQAyiL+PkrIC7mmouzsxOj81XgAMw+LO541Pydgev42HwkXwgwzC21FPDofWm9NBJCUeEJRiS41SKodUoHmeLMNChAwMe1w+GdsXdL3axekUgZwpOkLm1BhynG4M28JcGctJv9XEDwoYmnaHi8u2KRMztTn4u4+qtw==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.5.1
Release Details
UpdatedApril 12, 2026, 8:20 p.m.
Changelog

Fixed

  • Header "Abwesenheitsuebersicht" wurde vom Sidebar-Toggle ueberlagert (padding-left: 50px ergaenzt)
  • Monat-Navigation im MonthPicker funktionierte nicht (falsches Event-Binding)

Changed

  • Admin/HR/Supervisor sehen in der Abwesenheitsuebersicht die vollstaendige Typ-Legende
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignatureTNaUe8E3fVg4Sg0zdHHmCOTpcZgOKjW3hvK0y5dXwj6FQBLwMCTKCEcIKxGXhT4KO1z9jHgf2RczQg0m6PSk167dhEKTO53FVxojwFLW5K4sdmSCx8pAIHJTmHAgO6F5vShg1/eVMKtOhH6jYxcj5QWiS9ojm+mkhY3WWkvyUSrWF8/xpv7HGArXp33I68ZtCc8v8IuUNSxm95lgiLlirxpOLDW/Tc2WzBX7B/AmX7DCaqqzTB1SoYVLOWt6P8UZcjotgG7v7XVlZ10G/xpFbv0cSvqOlhrvhIKdcXW8SkRsvBntZzXGDb0Vjh0lA9FwDXr/e9Dd1RDZWKQVZ3iKkQ==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.5.0
Release Details
UpdatedApril 12, 2026, 7:15 p.m.
Changelog

Added

  • Abwesenheitsuebersicht (#3): Neue Timeline-Ansicht, farbige Balken pro Person
  • Datenschutz-Einstellungen pro Mitarbeiter: Sichtbarkeit (Alle/Team/Niemand) + Detailgrad (Detailliert/Nur abwesend)
  • Auto-Save fuer Einstellungen in "Meine Einstellungen"

Fixed

  • KRITISCH: Inkonsistenz zwischen v0.4.2 und v0.4.3/v0.4.4 behoben. In v0.4.2 war die absence_visibility-DB-Spalte angelegt worden, v0.4.3/v0.4.4 haben den zugehoerigen Code aber wieder entfernt — was zu "Interner Serverfehler" beim Oeffnen der App fuehrte. Dieses Release stellt den konsistenten Zustand her.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignaturepBpvbh3W+3lP6i0cROmTqdHAoltiq3QD9HFIsgIqD5zKSnxQJNCekPgo6VPWWMTS7BNQRn4iX3by3zKXLHqvbDsxMdIKnUCu6ni3/UAA5/CD8ENlxBfM8F96E9fQlc5Bb53SMWjHzvmzIQ9h4+GywLJ+xJA/iC9Z7yolIH725Hse8+/Vc9d7QhUHtBV9d/Z1RQSzjRn640DIhLGUmq7v9SMC8Bk7WXh2QnhP4HK4YeMroxRyjjvNDENvt6bRpUonihxqykd5DFqEpS1k4niBsXCi813p2EQQ35+4RH+V7I+AByPVCG4OueRJVyCC+rgreCpQaW2zCOxrE36nfEYWTQ==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.4.1
Release Details
UpdatedApril 11, 2026, 8:25 p.m.
Changelog

Fixed

  • Integritaetspruefung: test-results/ und appinfo/*.crt aus Tarball entfernt
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignaturePrxqvt5Hqs/523o2GlJ//aRS+Lf6dNNaBwR2MrZzoMXuJYScthA5IzI2/qDt27gthjSuEu8583w2WxkYYnDTOc73123EKoFNKTB3UTWoswdf7DNJWerAoBmK6iP6prdf1F7udaCJDEHINdgG2RUeHuRZK34APSxtU+/q2QBs1X3OAnUb04TFFoT0wgK8m0N4sEXoLQMftNW9EbTXHs23PYpz13DY0OtpCwo6gOeYHhaEs8Zf6iZf9l3i3qcHrQE5JPvbsXjeETBw7uDUp5VgCT8xEwMvIlqMkiYVEDl53oNHrXmIbVcuEbEbQqpWxNQqy90jQBYQ+7AdThKeu9lM7g==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.4.0
Release Details
UpdatedApril 10, 2026, 10:21 p.m.
Changelog

Added

  • Projektverwaltung UI in den Einstellungen (#41)
  • Vollstaendige englische Uebersetzungen und Berechtigungsinfo-Button
  • Aufklappbare Soll/Ist-Berechnungsdetails in der Ueberstundenanzeige (#52)
  • Abwesenheiten und Feiertage werden in der Tagesliste angezeigt (#53)
  • Jahresuebersicht im Dashboard mit 12-Monats-Tabelle (#54)
  • Mitarbeiter mit 0 Wochenstunden (Aushilfen auf Abruf) koennen angelegt werden (#61)

Changed

  • Dashboard redesigned: flache Cards, Redundanzen entfernt
  • Einheitliches Typografie-System ueber alle Views (15px/13px)
  • TCPDF Fonts reduziert (24 MB → 640 KB)
  • Neues Arbeitszeitprofil hat heute als Default-Datum

Fixed

  • TCPDF Vendor-Dependency im Release enthalten (#50)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
Signaturej2auVz44HNQw5V0n43YzTsdwMaiRvGi9xWpQfbz1U8WlohGPpqK84dVLM4G1VZNCPpkcEeE7M7/SC+aCHTXKQdnZsP7N1uebbter6B1nnDmR27EXt9UkuAOhUJwmHVHlTuieGqjiOEqpMmPvyS0n/2w988iAuPwFeE5CHf7PPU3tQm3BtNROSQuOujqOcfEnW8rboK1nzbNWGRL60GqdVqejCzGIw0M5xf1pd4aZ0Va6WLrCvFfI6Hk9S/8yDfmgb/7bNaSoQ3punuwAwktmMO/T720qSjfBXqVa/ypRxzcdwWtM2TG2AXN/0+0gbHt67kgIniMR/AEzhaypSnKcYg==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.3.0
Release Details
UpdatedMarch 24, 2026, 10:22 p.m.
Changelog

Added

  • Arbeitszeitprofile mit Wochenprofil und Stichtag (#39)
  • Stunden pro Wochentag individuell konfigurierbar (Mo-So)
  • Samstag/Sonntag im Profil-Editor anzeigbar
  • Soll-Berechnung nutzt das am jeweiligen Tag gueltige Profil
  • Pro-rata Urlaubsberechnung bei Profilwechsel
  • Max. Tagesstunden aus Einstellungen als Limit im Profil-Editor
  • Feld "Arbeitstage pro Woche" pro Mitarbeiter (manuell, Default 5)
  • Kontakt-E-Mail in info.xml

Fixed

  • IDOR-Schutz: update/delete pruefen employeeId-Ownership
  • Duplicate-Validierung fuer Profil-Stichtage (valid_from)
  • Pausenzeit-Einstellungen werden jetzt korrekt ausgewertet (#43)
  • Frontend-Validierung mit visueller Rueckmeldung bei Ueberschreitung der Max-Stunden
  • Fehlermeldungen im Profil-Editor zeigen konkrete Validierungsfehler

Changed

  • suggestBreak() und validateBreak() nutzen konfigurierte Werte statt hardcoded 30/45 Min
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
Signaturekb/4/15+VcGj94KWgOXKKUB7VN3i5imGuvVKUWAJ6nVyH/9s/yZwhjSbxgvsTkm0IWFnK3Hg70KVPXtbo/xLpAYaPtzd+JPrbdaha3I92Zp7zAHR1nsn9Wvy79aJ9svwBHFIhVGnEXJF4V1dDHpndCqII9pOTblb6GVXXmXlI3mvnU0Rx5lQaiMxw3pKhdeGTgwIoMzLt3RSrSVeafdiZV8taaupDkO5J3i9uxvRBeWSVGCtKGd3xa9a+59lwb0TpROdY/aRk4C4KNzxIBTV8mEcaQZFUNY6+j5yk6muWkZ3ReGqgk9BFYhQMPIlwhNy4ETS7hN4/SSGQmuY0QDNDw==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.2.0
Release Details
UpdatedMarch 18, 2026, 11:40 p.m.
Changelog

Added

  • Team-Jahresuebersicht mit Ueberstunden, Urlaub und Status pro Mitarbeiter (#32)
  • Jahres-Picker Komponente fuer Team-View
  • API-Endpoint fuer Jahresberichte (ReportController)

Fixed

  • Korrekte Jahres-Ueberstundenberechnung im Dashboard (#37)
  • Beschreibungsspalte in der Zeiteintrags-Ansicht sichtbar (#35)
  • Null-Guard fuer employeeId in allen Controllern (#33)
  • Verbessertes Onboarding fuer Nutzer ohne Mitarbeiterprofil
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignatureEozLqaBSbAPMbat9KegvF/pOWAMGZ1NNg6zCvTJj/yLbyVHB0M4joD9q7Nk8QBWeNvQqGq5gQwbFle2ZFgqnBdWZbqmMoq2VTyN/49EjqPPZdLaPuZFbBRuxx+RnF7lSl3T5dIeUocGFgkKBaH2VAMSzCr6dDGeWwDE0QTaKB37aUBzf+HEx1M7JSP9EGbLGJ+AH+g8Sa9MH5spKPILTNM3D6BPGqxHASlvgN9uWqFnP/m7ZFz3tWhB8xpMymEyrJf22Zcebi7nCfu9Gs2dM2ZK4jYByNq2RQHUgbKztPwPEVopAbMsH8cndSxNXbnEyAqt0bk3W5K4EQvaiSxM87Q==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.1.1
Release Details
UpdatedFeb. 23, 2026, 8:48 p.m.
Changelog

Added

  • Zeiterfassung mit Start, Ende, Pause
  • Automatischer Pausenvorschlag gemaess §4 ArbZG
  • Projektbezogene Zeiterfassung
  • Monatsuebersicht mit Soll/Ist/Ueberstunden-Berechnung
  • PDF-Export fuer Monatsberichte (TCPDF)
  • Abwesenheitsverwaltung (Urlaub, Krankheit, Sonderurlaub, etc.)
  • Urlaubskonto mit automatischer Berechnung verbleibender Tage
  • Deutsche Feiertage pro Bundesland (Gauss-Algorithmus fuer Ostern)
  • Team-Uebersicht fuer Vorgesetzte
  • Genehmigungsworkflow fuer Zeiteintraege und Abwesenheiten
  • Berechtigungssystem (Admin, HR Manager, Supervisor, Employee)
  • Vollstaendige deutsche und englische Lokalisierung
  • E-Mail-Prefill aus Nextcloud-Profil bei Mitarbeiteranlage
  • Nextcloud 32 und 33 Kompatibilitaet

Fixed

  • Webpack chunk filenames shortened to avoid hosting provider issues
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignatureBdvZL53XDJ4BdZ0MaP3pGD81pVNc3lqXhM/IMR76xDvAjnLnzjS7+d8aDATf4tHBu5O13TT3Qg+i3yET736giC9w0FSfEKi6hlEEygzDz6BtL8UVUees/oIzB8jn1NX3vdsv0uUNUWcn3ndpXgMPL0P0SD9HpBt6R1xHKHkfSdH9hVTpvU/sYiC8eqCqO71wnIRUCZUf/0VORXZ2rFJ8Vn0s31KTxItrNNBD8bqnmg5k56QgIFdF3I4pMZpC+mAORipUxIl/P9eIXuZ8LYRzQtN8+tc18zNe7lZRwfI2Zf6RLe9mbFvpOrMnUg6CI/SgWSLBE9bU1js6fd6aDPDK9A==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0

Nextcloud 32

WorkTime 0.14.0
Release Details
UpdatedJuly 12, 2026, 10:05 p.m.
Changelog

Changed

  • Monatsgenehmigung standardmäßig aus (#472): Der Genehmigungsworkflow für Monate ist bei neuen Installationen jetzt standardmäßig ausgeschaltet. Wer ihn nutzen möchte, aktiviert ihn bewusst unter „Einstellungen → Genehmigung". Bestehende Instanzen, die den Workflow bereits verwenden, behalten ihre Einstellung unverändert (eine Migration schreibt den bisherigen Zustand fest, damit nichts stillschweigend umschaltet).

Fixed

  • Abgelehnter Urlaub verbrauchte weiterhin Urlaubstage (#443): Ein vom Vorgesetzten abgelehnter Urlaubsantrag wurde weiter als „verbraucht" gezählt und reduzierte dauerhaft das Urlaubskonto. Dadurch konnten spätere, eigentlich zulässige Anträge fälschlich mit „Nicht genügend Urlaubstage" blockiert werden. Abgelehnte Anträge geben die Tage jetzt wieder frei.
  • Abgelehnte Abwesenheit blockierte einen neuen Antrag (#443): Nach einer Ablehnung ließ sich für dieselben Tage kein korrigierter Antrag (oder eine Krankmeldung) mehr anlegen, weil die abgelehnte Abwesenheit noch als Überschneidung galt. Nur noch offene und genehmigte Abwesenheiten blockieren.
  • Halber Feiertag bei bezahlter Abwesenheit falsch verrechnet (#443): Lag ein genehmigter Urlaub auf einem halben Feiertag (Heiligabend/Silvester, sofern aktiviert), wurde für diesen Tag ein Minus von etwa vier Stunden im Überstundenkonto erzeugt. Der halbe verbleibende Arbeitstag wird jetzt korrekt durch den Urlaub gedeckt.
  • Doppelzählung bei Genehmigung mit vorhandenen Zeiteinträgen (#443): Wurde ein ganztägiger Abwesenheitsantrag genehmigt, obwohl am selben Tag bereits Zeiteinträge erfasst waren, entstanden Phantom-Überstunden. Die Genehmigung prüft diesen Konflikt jetzt und weist mit klarer Meldung darauf hin.
  • Team-Jahresübersicht zählte Feiertage und halbe Tage als Urlaub (#443): In der Jahresübersicht pro Monat wurden Feiertage innerhalb eines Urlaubs sowie halbe Urlaubstage als volle Urlaubstage gezählt, was der Jahresbilanz auf demselben Bildschirm widersprach. Die Monatswerte berücksichtigen jetzt Feiertage und den Halbtags-Anteil.
  • Pausenwarnung bei geteiltem Arbeitstag mit Lücke (#443): Ein durch eine Pausenlücke geteilter Tag mit mehr als neun Stunden reiner Arbeitszeit löste keine §4-Pausenwarnung aus, während derselbe Tag als ein Eintrag mit erfasster Pause korrekt gewarnt hätte. Die Prüfung bezieht sich jetzt einheitlich auf die reine Arbeitszeit.
  • Arbeitszeitprofile rückwirkend anlegbar (#453): Ein Arbeitszeitprofil ließ sich für kein Datum vor dem laufenden Monat anlegen. Das Nachtragen wechselnder Arbeitszeiten (etwa beim Umstieg auf die App) ist jetzt bis zum Eintrittsdatum möglich, ohne bereits genehmigte Zeiträume zu verändern.
  • Fehlende Feiertage werden bei der Berechnung erzeugt (#438): In Jahren oder Bundesländern, für die noch keine Feiertage generiert waren, wurde ein Feiertag als Arbeitstag gewertet. Fehlende Feiertage werden jetzt bei Bedarf automatisch ergänzt.
  • Betriebsferien überspringen bestehende Abwesenheiten tagegenau (#454): Überschnitt sich ein Betriebsferien-Zeitraum mit einer bereits vorhandenen persönlichen Abwesenheit, werden die betroffenen Tage jetzt sauber übersprungen statt doppelt gebucht.
  • Jahresübertrag-Tabelle ohne horizontalen Scrollbalken (#440): Die Tabelle unter „Jahresübertrag" passt sich jetzt der Breite an.
  • Bemerkung des Antragstellers in der Genehmiger-Ansicht (#461): Die zu einem Urlaubsantrag erfasste Bemerkung ist jetzt auch für den genehmigenden Vorgesetzten sichtbar.

Changed (intern)

  • Härtung des automatischen Code-Reviews in der CI und Aktualisierung einer Entwicklungs-Abhängigkeit. Keine Auswirkung auf die Funktion.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignaturemPcTx4p4t16GxAVFey2wtPOK2keFraeHoKoFeyp19K47ky+A3QeprfskvCBSBRkMBm1emPqEo15GflW4U1qTARaOr4oYRaEmcSHGyjJRYhTbWXt6BwRvqYJ+LtUhqPcMP2BF8ca2aEkMayBt6zrfb6sBBYM0tv2aGk9+8Ev2Bij9T1rHO0I0dvGW64ywPaY6K3D16AGHDYAwn/3/pDBKFhNt7ise3yZ/CKN2WRfiUNXHnw8jODysuI94FMbbkj9bJa6Sg6hMBQ1+2r294IDZhDiEamzM/DfIAcctXSolupKnxMqQyqZ1zm3vih2sna2phUKTNSUGc6anW2C8uBz9HQ==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.13.0
Release Details
UpdatedJuly 10, 2026, 10:29 a.m.
Changelog

Added

  • Betriebsferien zentral eintragen (#15): Admin und HR können unter „Einstellungen → Betriebsferien" einen Schließungszeitraum für alle aktiven oder einzeln ausgewählte Mitarbeiter als genehmigten Urlaub buchen. Die Buchung ist pro Person arbeitszeit- und feiertagsbewusst (Teilzeit, 4-Tage-Woche und ohnehin freie Tage werden korrekt behandelt), zentral markierte Einträge sind vor Mitarbeiter-Bearbeitung geschützt, und bestehende Betriebsferien lassen sich als Ganzes wieder entfernen. Eine Suche filtert die Mitarbeiterauswahl.
  • Konfigurierbare Behandlung von zu wenig Resturlaub (#15): Reicht der Resturlaub eines Mitarbeiters nicht für die Betriebsferien, wählt der Admin pro Vorgang bewusst, wie der Überhang behandelt wird — die App trifft keine rechtliche Wertung: (1) nicht buchen und auflisten, (2) bezahlte Freistellung über den neuen Abwesenheitstyp „Betriebsschließung" (kein Urlaubs- oder Überstundenabzug), (3) Freizeitausgleich (baut Überstunden ab) oder (4) Urlaub ins Minus (Vorgriff auf das Folgejahr). Der Resturlaub wird dabei bis 0 aufgebraucht und nur der Rest nach der gewählten Option gebucht; die Aufteilung ist jahresgenau. Mitarbeiter mit bereits erfassten Zeiten im Zeitraum werden nicht gebucht, sondern aufgelistet.

Changed

  • Härtung des automatischen Code-Reviews in der CI (#451): Rein intern, keine Auswirkung auf die Funktion.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
Signatured4Vt2PEvzp3f2vRClsCVeV271DBl7vVXkgdNVjg15XeJTuHMCUInLWuRI0Gwi5geHfz0Isuzfzj15SmTBIyStxTwMYQIFSYWXEukROxR49RSW/2H5B1Houfdkd8+cb0TqG1W8V7IvDxHvYaXyMX8vF1qo+46w5yztRaqT8TcNt2FHF3cSzhIY9tOzLEMEK099axLoB1Q9EEqVB5ECb//p6lCi8A2LeXyeoklaKM/9ff23tz+GJjEb7XQNadELWriSI5dJ//ksi7lJGKf0oMJxmMbjNWgoSI33R34N0OI50XSbZAHXG2OnuYhPjJq7p1nCQyKh1hKK/Iy7DIiUrkJpA==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.12.4
Release Details
UpdatedJuly 7, 2026, 8:16 p.m.
Changelog

Fixed

  • Maximale tägliche Arbeitszeit wird an der Arbeitszeit statt der Anwesenheit gemessen (#437): Die Warnung „Maximale tägliche Arbeitszeit überschritten" bezog sich auf die Anwesenheit (inklusive Pause) statt auf die tatsächliche Arbeitszeit. Ein Tag mit z. B. 9:55 Arbeitszeit (10:40 Anwesenheit, 45 Minuten Pause) löste dadurch fälschlich die Warnung aus. Die 10-Stunden-Grenze (§3 ArbZG) bezieht sich jetzt korrekt auf die Arbeitszeit ohne Pause, analog zur Pausenprüfung aus 0.12.2.
  • Urlaub über den Jahreswechsel wird korrekt behandelt (#439): Eine Abwesenheit, die über den Jahreswechsel läuft (z. B. Weihnachtsurlaub vom 29.12. bis 02.01.), fehlte in der persönlichen Abwesenheitsliste und wurde nicht vom Urlaubskonto abgezogen, war in der Team-Ansicht aber sichtbar. Solche Urlaube erscheinen jetzt wieder in der eigenen Liste, bleiben ein einziger Eintrag (bearbeit- und stornierbar) und werden tagegenau auf beide Jahre verteilt angerechnet.

Changed

  • Release-fokussiertes Code-Review in der CI (#435): Rein intern, keine Auswirkung auf die Funktion.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignatureXo00weSx01xdZoVr3SKzi3gLOu1jtxr+60QyZCiHK4ifLN+q9oZ4H1h1uhfhb51HAV0Tw9RH3Auktid5L7RYnilU5qQTWvRNb/1iT3LnA53PTGKDAJQHJmIVeEHfEqK4mDZsv9QzFjdub16JBuju1WGYv/bDj6OReE6Zpe0TxOYh2cD3ZCh9ATFvJVYk6F6zvJa5f0wwmph827TW9flFR5Ssh2RiUAeW3OHF0s/4WbiYHyxGbiiK8xZgrAWE0QUPhpmg+xcIcbrhy2FiZ61pLMFl8QtoTNXteXAYU14V03PG/9rKjKTsK7khqw9v6tLkLIEXHZQxxBy7wPVNt4WcXQ==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.12.3
Release Details
UpdatedJuly 5, 2026, 11:50 a.m.
Changelog

Added

  • Nextcloud 34 („Hub 26 Spring") unterstützt (#402): Die App ist jetzt für Nextcloud 34 freigegeben und darauf installierbar. Zuvor blockierte die deklarierte Höchstversion (33) die Installation auf NC 34. Die Kompatibilität wurde geprüft (ausschließlich OCP-APIs, keine der in NC 34 entfernten Legacy-Zugriffe), es waren keine Code-Anpassungen nötig.
  • Überstunden-Auszahlung (#401): Manager und HR können angesammelte Überstunden in Geld vergüten. Der ausgezahlte Betrag (in Stunden) reduziert den Überstundensaldo — analog zum Freizeitausgleich. Erfassen und Löschen sind möglich (Korrektur = löschen + neu), jede Aktion wird protokolliert. Neuer Einstellungsbereich „Konten" (Jahresübertrag + Auszahlungen).

Fixed

  • Auszahlung kann den Saldo nicht mehr überziehen (#426, #428): Eine Auszahlung wird jetzt server-seitig gegen den verfügbaren Überstundensaldo geprüft und abgelehnt, wenn sie ihn überschreiten würde. Die Prüfung ist gegen gleichzeitige Anfragen abgesichert (Transaktion mit Sperre auf die betroffene Mitarbeiter-Zeile).

Changed

  • Test- und CI-Härtung (#405, #21): Container-freie PHPUnit-Baseline, Test-Matrix über mehrere PHP-/Nextcloud-Versionen (inkl. Frühwarnung gegen die NC-Entwicklungsversion) und ein Build-/Lint-Gate. Rein intern, keine Auswirkung auf die Funktion.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignaturelT4SDJcjNIupkiehbxG0hXDREaINs9GauRdgIMc26lAGwSlTq4Eu8ELq391tpM5hbVyN831AHA9CdIq7g5SzmRgEoFYRZk2Cpcn1XoRhjPufdFYnYntIAquVFSJnA0RnHdrZXAB+Vwln2nl/RoZ1Ye7oAQk7JL0pKbZ28KoTv7N4UEywamXJIHctBOChDrIpKsEL8KpEKT81KC3uotn6at7ERTRZLtfOjqAfSHkBXOgmUieXc7CTgzGclvTM/wLQxzlySp9fQtQh/mDMr9WosphN18jTcoMe1Jy4AFH9LeW9NqClaN/TDMJJz8JjvQ2YIsNouJL8yyzCMLEt+o5k5A==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<35.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.12.2
Release Details
UpdatedJune 27, 2026, 6:57 a.m.
Changelog

Fixed

  • Automatische Pausenberechnung nach §4 ArbZG (#403): Die gesetzliche Mindestpause wurde anhand der Anwesenheitszeit (Kommen bis Gehen) statt der tatsächlichen Arbeitszeit bestimmt. Bei knapp über 9 Stunden Anwesenheit wurden dadurch 45 statt der ausreichenden 30 Minuten vorgeschlagen und beim Speichern verlangt. Die Schwellen orientieren sich jetzt an der Arbeitszeit ohne Pause (§2 Abs. 1 ArbZG): bei einer Anwesenheit bis 9,5 Stunden genügen 30 Minuten. Gilt für den Pausenvorschlag im Eintragsformular und die Tagesprüfung über mehrere nahtlose Einträge.

Added

  • Vollständigere tschechische Übersetzung (#259): 48 bisher unübersetzte Oberflächentexte wurden ins Tschechische übersetzt.

Changed

  • Übersetzungs-Konsistenzprüfung (#259): Ein Wächter (Pre-Commit-Hook + CI) stellt sicher, dass die Übersetzungskataloge exakt zum Code passen, damit Texte nicht mehr unbemerkt auf den deutschen Quelltext zurückfallen.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignaturejNOlVNoTFOtuWej0Agi82f49HKkoM49mpocKY41JErfTfwHOAY7yofWnlEmUCvNuSXvr7AdaImL+zljTwvzWPwurajlBxG+f8nn6J9KKKm3M+sirT8UBgRXzXutLe5XjfZoFxNqZ/3DiI7h+UEloxi2/R0wZiHqbJ4pFIoXhHNO3zHNSHQaKElNcGdVrJVESBtfkLx4Jqapa1ptZ1s1MGNvFotU0h0byxt84zwtQvCIaz8a4gWrzISUF1BUnAzHOcz9mrSPeHwq+sTrImdq/w0wcg1ffOVliXMFNnoIpt7kCgqRwtpFPTJEbnL7xQopuvQtbKk8UdY63+lVJX9DmXA==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.12.1
Release Details
UpdatedJune 26, 2026, 12:49 p.m.
Changelog

Added

  • Aktives Archivieren beim Genehmigen (#323): Beim Genehmigen eines Monats lässt sich die PDF jetzt sofort ins Archiv schreiben, mit unmittelbarer Rückmeldung, ob sie neu erstellt, aktualisiert oder ersetzt wurde.

Fixed

  • Genehmigungen für Vorgesetzte wieder zugänglich (#357): Nach dem 0.12.0-Redesign sahen Vorgesetzte (ohne Admin-/HR-Rolle) die Tabs „Genehmigungen" und „Auswertung", konnten sie aber nicht öffnen — ein Klick warf sie zurück auf die Zeiterfassung. Die Zugriffsregeln sind wieder konsistent: Vorgesetzte öffnen jetzt die Genehmigungen, die org-weite Auswertung bleibt Admin/HR vorbehalten, und der Team-Tab ist für alle Mitarbeitenden nutzbar.
  • HR-Manager erreichen die Mitarbeiterverwaltung (#394): HR-Managern fehlte der Zugang zu Einstellungen → Mitarbeiter, Projekte und Jahresübertrag, obwohl sie die Berechtigung dafür haben. Der Einstellungs-Bereich ist jetzt auch für HR erreichbar; reine Admin-Bereiche bleiben verborgen.
  • Korrektur genehmigter Monate wieder auffindbar (#387): Die Schaltfläche zum erneuten Öffnen eines bereits genehmigten Monats war im 0.12.0-Redesign verloren gegangen und ist wieder da.
  • PDF-Download in der Genehmigung (#394): Der direkte „Monatsbericht als PDF"-Button pro Mitarbeiter ist im Monats-Dialog der Genehmigungsansicht wieder verfügbar.
  • Wochenstunden im PDF-Arbeitszeitnachweis (#356): Bei mehreren Arbeitszeitprofilen zeigte der PDF-Kopf die falschen Wochenstunden. Es wird jetzt das im jeweiligen Monat gültige Profil verwendet.
  • Genehmigende ohne eigenes Profil (#394): Approver bzw. HR ohne eigenen Mitarbeiter-Eintrag landeten beim Start auf einer leeren Zeiterfassung; sie werden jetzt auf eine passende Ansicht geleitet.
  • Englische und tschechische Übersetzungen (#396): Mehrere Oberflächentexte erschienen in der englischen und tschechischen Ansicht auf Deutsch, weil Katalogeinträge nicht exakt zum Code passten. Abweichende und fehlende Übersetzungen wurden korrigiert (30 Einträge ergänzt).
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignaturehpXOxx1beXo+/qD0Y1GToezOGLc+gHZ7RwVJoKaOr4dClptjcT9f1eC6p+Civ7zh2Hod94fOGMzmJ9oPCapd2AXGbJDUe6JC6bvtAcTogo4KmeqqF/1hDgFl0ctQgMvxl2ehLHBMwtyetIQcWyloyRIu8xSK5gSqw54ZqnIOjMQAamkXUcjHbV0ry1g94PeMJ+H/MAO/+U19x+t6PzDd1lFJGA9sHNSFEVrnIYakwVRByPeelBeTVtbPK+CbBDE7QTbstSTuefWK7SBYAiMbBu4y/TjR7G0sFO3QfyNRiyWpsWMPcXv88M5FWQ5vxiFuhPCUGDcdpotLvfi2MFNCSg==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.12.0
Release Details
UpdatedJune 25, 2026, 3:52 p.m.
Changelog

Added

  • Monats-Details vor dem Genehmigen (#369): In den Genehmigungen öffnet ein Klick auf eine Monatszeile jetzt einen Dialog mit allen Zeiteinträgen des Monats (Datum, Zeiten, Pause, Stunden, Projekt, Beschreibung). So lässt sich ein Monat vor der Freigabe prüfen, ohne die Ansicht zu wechseln; Genehmigen und Zurückweisen sind direkt aus dem Dialog möglich.
  • Monats-Zurückweisung mit Begründung (#368): Ein eingereichter Monat kann jetzt mit Angabe eines Grundes zurückgewiesen werden. Die Einträge gehen zur Korrektur an die Mitarbeitenden zurück und können nach Anpassung erneut eingereicht werden.
  • Sichtbarer PDF-Archiv-Status (#323): Unter Einstellungen → PDF-Archiv zeigt ein neuer Status-Bereich die zuletzt erfolgreich archivierten Monate sowie ausstehende und fehlgeschlagene Archivierungen. Fehlgeschlagene lassen sich per Klick erneut anstoßen, und schlägt eine automatische Archivierung endgültig fehl, erhält der Archiv-Admin eine Nextcloud-Benachrichtigung statt eines stillen Fehlers.
  • Rekursive Team-Sicht für Vorgesetzte (#347): Ein Vorgesetzter sieht jetzt nicht nur die direkt zugeordneten Mitarbeitenden, sondern den gesamten Team-Unterbaum.

Fixed

  • Veraltete Archiv-PDF nach erneuter Genehmigung (#323): Wurde ein genehmigter Monat zurückgenommen, korrigiert und erneut genehmigt, blieb die alte PDF im Archiv liegen. Beim Zurücknehmen wird die archivierte PDF jetzt entfernt und bei der erneuten Genehmigung frisch erzeugt. Damit entspricht das Archiv immer dem aktuell genehmigten Monatsstand.
  • Überstunden-Kontostand in der Monatsansicht (#358): Die Kennzahl zeigt jetzt den kumulierten Kontostand statt nur des aktuellen Monatswerts.
  • Abwesenheiten: Überschneidungen zwischen einer Abwesenheit und erfassten Zeiteinträgen werden jetzt verhindert (#360); beim Anlegen folgt das Enddatum automatisch dem Startdatum (#364); die Inline-Bearbeitung und einige Darstellungsdetails wurden korrigiert (#361, #367).
  • Audit-Log (#362): Ein Klick auf einen Eintrag öffnet eine Detailsicht mit den vollständigen alten und neuen Werten; lange Änderungstexte brechen jetzt um statt horizontal zu scrollen.

Changed

  • Einheitliches Design über alle Ansichten (#369): Zeiterfassung, Abwesenheiten, Team, Genehmigungen, Auswertung und Audit-Log folgen jetzt einem gemeinsamen Aufbau (einheitlicher Kopfbereich, Umschalter, Breite, Tabellen im Karten-Look). Das Tabellen-Layout der Auswertung wurde überarbeitet (Spaltenbreiten, Wochenstunden), und die Einstellungs-Ansichten wurden angeglichen.
  • Vollständige tschechische Übersetzung (#354, #355): Fehlende tschechische und englische Texte (u. a. in Genehmigungen, Team und Auswertung) wurden ergänzt.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignaturetLzF2YWmwdnmbrM3cUkGjU59J6nAuS8ITlyb2oY2nuNEwXfnzYkh/yUZ7YLSXh3Jqyc9PEWdnX6UY78DGvo/waF2fe24caqRO1a1grw0gwXIu44pV8JXjnZJO0E9WDpoElLUWsxNqMMjKOt9o5oJfUH1Di83EzwPuc/DrDwGtlhI6r9AHk4V9C6mBJlJkmnyKQ1KELPb4kaQShifOy5Tas3xnoM23xMNuu8g2E5zfGxSGozR8uHH++IqH4noN6GyBgEPFa0HGF080bitBBghSOlI9T87thPJfitTzkR6eM1TV2rNSbq2ev6Yg/DZnHMB/bkkryP+ogQ+ZYJZXpe+IA==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.11.2
Release Details
UpdatedJune 19, 2026, 12:26 p.m.
Changelog

Added

  • Arbeitszeitnachweis über frei wählbaren Zeitraum (#102): Neben dem monatlichen Arbeitszeitnachweis lässt sich jetzt ein PDF über einen frei wählbaren Zeitraum erzeugen (z. B. vom 20. bis zum 20.). In der Zeiterfassung öffnet die Aktion „PDF über Zeitraum …" einen Dialog mit Start- und Enddatum; der Nachweis wird über genau diese Spanne gerechnet (Arbeitstage, Abwesenheiten, Soll/Ist), lückenlos auch über Monatsgrenzen hinweg. Die monatliche Übersicht, Genehmigung und Monatssperre bleiben unverändert.

Fixed

  • Pflichtfelder „Projekt erforderlich" / „Beschreibung erforderlich" hatten keine Wirkung (#329): Trotz aktivierter Schalter unter Arbeitszeit-Regeln ließen sich Zeiteinträge ohne Projekt bzw. ohne Beschreibung speichern. Beide Regeln werden jetzt im Frontend (Pflichtmarkierung, Hinweis, gesperrtes Speichern) und im Backend (maßgebliche Validierung) durchgesetzt. Damit niemand ausgesperrt wird, greift die Projektpflicht nur für Mitarbeitende, die tatsächlich mindestens ein auswählbares Projekt haben.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignatureqlsKu5wYevRfh5AfZJVVVVdHyuG+H87FqZ913qP4FmHXT31HqSHC2SkQ2LOKhyjffgMmAY4QyzMdCu3fcgWWSISgHln/xYB0H/5stZpkzIX5WMJMS2oWU472wGnrWyOlQsHgREEnppYrjt5pAyqUMVypTIKEItN68MveQv1mjvn/RyN5VrsxZ+cKazq8IvgGRAQ1d/zXCQeTupEqxKZGQNf3HcBULpmTfHmiOZjPXFNx6VT5oZkPnyxD//LfKy0bjMVFIcL4MjFf1kq/+tY2xhmAG1w/A7OKm5OxCPr+XncySMALLkCW4UPxpmdDOMkEPbaXwdE940nDXhxEmeyWQA==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.11.1
Release Details
UpdatedJune 18, 2026, 7:25 p.m.
Changelog

Fixed

  • Genehmigung schlug fehl, wenn der Genehmiger kein eigenes Mitarbeiter-Profil hat (#324): Als Admin/HR ließ sich ein beantragter Urlaub nicht genehmigen (Meldung „Fehler beim Genehmigen"), während „Ablehnen" funktionierte. Ursache war, dass das Genehmigen fälschlich voraussetzte, dass der genehmigende Account selbst als Mitarbeiter angelegt ist. Genehmigen funktioniert jetzt auch ohne eigenes Mitarbeiter-Profil.
  • Abwesenheits- und Arbeitstage blieben bei „0" trotz erfasster Abwesenheit (#325): Wurde ein Mitarbeiter mit 0 Wochenstunden angelegt, entstand ein Arbeitszeitprofil ohne Arbeitstage, wodurch im Monatsbericht und im Arbeitszeitnachweis-PDF alle Tage (auch genehmigte Krankheits- oder Urlaubstage) mit 0 gezählt wurden. Das Anlegen mit 0 Wochenstunden wird jetzt verhindert; zusätzlich weisen Monatsansicht und PDF auf ein fehlendes Arbeitszeitprofil hin, falls ein Monat 0 Arbeitstage ergibt.
  • Speichern/Abbrechen in der Inline-Bearbeitung von Abwesenheiten (#314): Die Buttons standen übereinander statt nebeneinander.

Added

  • Lückenlose Tagesübersicht im Arbeitszeitnachweis-PDF (#318): Der Monatsbericht listet jetzt jeden Kalendertag als eigene Zeile. Abwesenheiten (z. B. Krankheit, Urlaub) erscheinen direkt in der jeweiligen Tageszeile statt nur in einer separaten Übersicht; Wochenenden werden dezent grau dargestellt.

Changed

  • Projekt-Auswertung lädt die Projekt- und Mitarbeiterlisten beim PDF-Export nur noch einmal statt doppelt (#311).
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignatureE1E+gXuUz1ovSXs06VjEdYwRagNWbBZsvgA/E3b+hCFlPqFBhxA9fMaHBoZ74L/jhx5GILSRb1PJffhCUSVbwdZVDHvbvzvTzPl7p3d5sh3c3w8tNHbFFWrRSnJx1pYMlQ/Cx3bWHPWN0Wb/UPdZc6kZuPdVyzMYexqi9BYitcKseeaeSd+ApoCFFZGEU3bsndX+lLhlb8qQ9QQ9mxxl6Eae4liYEtHcdERyg5rudazrZaH3QFGRgzO4dI7RscQuxuhmztaf/pWsaZdgzPiRefCwIi4SLSnbWH7oaw7daZZov/8L9b3h9TlViSmDVJ5uSU3rQsvkhaLBDf+vYnsNOg==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.11.0
Release Details
UpdatedJune 16, 2026, 10:01 p.m.
Changelog

Added

  • Projekt-Auswertung für Admin/HR (#57): Eine neue Auswertungsansicht summiert die erfassten Arbeitszeiten je Projekt und Mitarbeiter:in über einen wählbaren Zeitraum. Projekte und Mitarbeitende werden über kompakte Chips (Projektfarbe + Kunde bzw. Initialen) aus- und abgewählt, mit Suche und Top-N-Skalierung für größere Teams. Es gibt eine aggregierte Sicht (Summen) und eine Einzelbuchungssicht, beide sortierbar und im App-Stil als Karten dargestellt. Kennzahlen-Karten (Gesamtzeit, Projekte, Mitarbeitende) fassen den gewählten Zeitraum zusammen. Die Auswertung ist auf Admin/HR beschränkt.
  • CSV- und PDF-Export der Projekt-Auswertung (#57): Beide Ansichten lassen sich als CSV oder PDF exportieren. Der Export folgt der Auswahl und der aktiven Registerkarte (aggregiert oder Einzelbuchungen) und dokumentiert im Kopf, welche Projekte und Mitarbeitenden ausgewertet wurden.
  • Projekt-Zuordnung pro Mitarbeiter:in (#58): Projekte können gezielt einzelnen Mitarbeitenden zur Buchung freigegeben werden – oder per Schalter „für alle freigeben" allen. So sehen Mitarbeitende in der Zeiterfassung nur die für sie relevanten Projekte.
  • Optionales Kundenfeld an Projekten (#292): Projekte können einem Kunden zugeordnet werden. Der Kunde erscheint in der Projekt-Auswertung und als eigene Projekt-Spalte im monatlichen Arbeitszeitnachweis (PDF).

Fixed

  • Datum im eingebetteten Bearbeiten-Modus nicht änderbar (#302): Beim Bearbeiten eines Zeiteintrags direkt in der Tag-/Tabellenansicht ließ sich das Datum nicht mehr anpassen. Das Datumsfeld ist im eingebetteten Bearbeiten-Modus jetzt editierbar.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignaturecdhSeXEtcEndzjhyNs4MMEKY274wO6nC3BltDTRu/WNKmAk9GjejwaVSfuYvX9ibdvcaUeGdk9xyxcMujTRYh7yCTRe7cb4sRJTIlMkeKfknTaiS9P3Cl2M8L+EeKFEu83dltEzMAVgAd56vj/KIWm3yVYKqOh4kGhWXrDLii2pJAeAPybxipglr9me35YngBNdR9HdEL010dNUVweiX43YPAQOxtfT+A9dUhKoiX9EQDCSiSUG2ZQJVhFOc0G5+DBTbTmkaUqRNjJt0qMFBlCX9f3ByAC4N2+w+b8diLdjvveABSIrXyDT8ohD9hfv2k1my3lQSxqTyLel9zHGLXA==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.10.1
Release Details
UpdatedJune 15, 2026, 2:01 p.m.
Changelog

Fixed

  • Monatssperre griff beim Löschen nicht (#296): Das Sperren abgeschlossener Monate (HR-Korrekturworkflow, #148) war beim Anlegen und Ändern aktiv, beim Löschen von Zeiteinträgen und Abwesenheiten jedoch nicht – ein abgeschlossener Eintrag konnte ohne Pflichtbegründung und ohne erneutes Öffnen des Monats entfernt werden. Das Löschen prüft jetzt denselben Sperr-Mechanismus: Mitarbeiter werden in abgeschlossenen Monaten blockiert, Admin/HR im Korrektur-Modus müssen eine Begründung (min. 10 Zeichen) angeben, die ins Audit-Log geschrieben wird, und der betroffene Monat wird automatisch zur erneuten Genehmigung geöffnet. Zusätzlich wurde ein Bounds-Guard für die Monatsnamen-Auflösung in den Benachrichtigungen ergänzt.

Added

  • HR-Korrekturworkflow für abgeschlossene Monate (#148): Mitarbeiter sind in abgeschlossenen Monaten (vollständig genehmigt oder vergangenes Kalenderjahr) für Änderungen an Zeiteinträgen und Abwesenheiten gesperrt – mit klarer Meldung „Dieser Zeitraum ist abgeschlossen. Bitte wende dich an HR.". Admin/HR wechseln über einen neuen „Korrigieren"-Einstieg in der Mitarbeiterliste in einen Korrektur-Modus: Sie arbeiten im Kontext des Mitarbeiters (Kontext-Banner über allen Ansichten) und dürfen auch abgeschlossene Monate ändern. Jede Korrektur in einem abgeschlossenen Monat erfordert eine Pflichtbegründung (min. 10 Zeichen), die im Audit-Log gespeichert wird. Der betroffene Monat wird automatisch zur erneuten Genehmigung geöffnet, und der Mitarbeiter wird per Benachrichtigung inklusive Begründung informiert.

Changed

  • App-Store-Screenshot des HR-Korrektur-Modus ergänzt (#293).
  • Verwaisten l10n-String aus der Quota-Umstellung entfernt (#287).
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignaturekeaFtRE/3eEKxjR7xaqI3XJItsFR4mwpumPefuZ6IUcJ0SrHwMal4Mj2JS2tKoimMP5AcrvEtIslOemzBAT1oDZrXMDwhi38jl7NoApkV6cHxpIBwAMLoxXE1+wRvxChaoHD912gXg5L4gZ4i2JIsa72S7PtlljiaMF5+bQS/o6UaaEmdfPhhb6DBf23lu7RQqIHsJ7VleL1FYfTIdzvpaxhwLTm0b3iveXzN3KFDzcIMPiDFhn/o7ilKGxlDnHRmCMbzLL6U7jaVWYAl8os3Fd6e88tCEbDURsvC64HuPvgymWcJ1lJwakZjXLa0U7ee8Y0dd3lo+Gtv95z1U3dYw==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.10.0
Release Details
UpdatedJune 15, 2026, 10:15 a.m.
Changelog

Added

  • HR-Korrekturworkflow für abgeschlossene Monate (#148): Mitarbeiter sind in abgeschlossenen Monaten (vollständig genehmigt oder vergangenes Kalenderjahr) für Änderungen an Zeiteinträgen und Abwesenheiten gesperrt – mit klarer Meldung „Dieser Zeitraum ist abgeschlossen. Bitte wende dich an HR.". Admin/HR wechseln über einen neuen „Korrigieren"-Einstieg in der Mitarbeiterliste in einen Korrektur-Modus: Sie arbeiten im Kontext des Mitarbeiters (Kontext-Banner über allen Ansichten) und dürfen auch abgeschlossene Monate ändern. Jede Korrektur in einem abgeschlossenen Monat erfordert eine Pflichtbegründung (min. 10 Zeichen), die im Audit-Log gespeichert wird. Der betroffene Monat wird automatisch zur erneuten Genehmigung geöffnet, und der Mitarbeiter wird per Benachrichtigung inklusive Begründung informiert.

Changed

  • App-Store-Screenshot des HR-Korrektur-Modus ergänzt (#293).
  • Verwaisten l10n-String aus der Quota-Umstellung entfernt (#287).
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
Signatureue+alT7KvWV3n4I40OxA0E8Wam7LWTD6L+jVuLdKeyII8HjW7ck9DtALoTj+yeB/IJ8u1P1HqszKbsZJx/kIP/lMhUyHSqRO5fB2L78E+cR8M4BnDPj3kZTysFlvWOnSHD1SaHHcmJXMLXSW4PEjrMtfDQk/GUkWC4j4PIcsYzOyhS5dE4U3gBwUamHlCsIVOmlNc781gn2VLobjNk238t7e4yVrWyc50G5r9gL8DJhfzYGyIapeAO6BsgWDuDSaUPojsBP4aVm2GD2/SSXKeygMAxX+3LmxGxj+8ReQwgxftJWXzgPDnbBqIs4obJ7KqVgKO/qyxWibzOXOBcGQzQ==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.9.4
Release Details
UpdatedJune 14, 2026, 7:33 p.m.
Changelog

Fixed

  • Abweichende Urlaubstage in Team- und Mitarbeiteransicht (#281): Der Jahres-Urlaubsanspruch wurde anteilig über alle Arbeitszeitprofile eines Jahres gemittelt. Zusammen mit dem automatisch angelegten Initial-Profil (Default 30 Tage) und einem später mit Startdatum mitten im Jahr gesetzten Profil entstand ein geblendeter Wert (z. B. 30 + 14 → ~21; „bei 30 Tagen geht's", weil 30 dem Default entspricht). Der Anspruch wird jetzt aus dem am Stichtag gültigen Profil genommen (kein Blending), sodass Profil-Editor, Mitarbeiter- und Team-Ansicht denselben Wert zeigen. Bestehende Daten korrigieren sich nach dem Update automatisch. Pro-rata bleibt für die Soll-Stunden erhalten, wo es korrekt ist.
  • Teilzeit konnte keine ganzen Wochen Urlaub beantragen (#282): Die Frontend-Vorab-Prüfung zählte naiv Kalender-Werktage (Mo–Fr) und blockierte das Speichern, sobald diese Zahl den Resturlaub überstieg — bei Teilzeitkräften fälschlich (z. B. 3 Wochen = 15 statt der real abgezogenen 6 Tage). Die unzuverlässige Schätzung blockiert nicht mehr; das Backend prüft autoritativ schedule- und feiertagsgenau und zieht nur die tatsächlichen Arbeitstage ab. Die Quota-Warnung wurde zu einem weichen, korrekt formulierten Hinweis.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignatureROMedmHkf5alqIr6TFWsWjtWxYr2KscyDNg++KnCt0zElcXQvJ6Gu2ZSAl6vLihAfuEM24O0Rp6FJPCT4PCf0Ml0MG2/c07Dun8Ufiq3rWIhUJp+5yHakcLWahV/O25utr9lGiE8ZkHnDaNAooEZHqD/sslvRUvyF6/P5dyc88LMPE8P3GafUfE5RK0FCUJZaX/AVxaOHCw12zXa4sUnfCBE6wx7xdx0d9nBkTgCUgAdZVRfoC3waYsQ/u6CBnOmZULzIO5NTATmSylapUonYjyUIlOjtI2hLt/ZI/kdq42KnM6q35t8rikKzptFBa5pucgyUlZ8bjU+kbe+MNMpQQ==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.9.3
Release Details
UpdatedJune 12, 2026, 11:43 a.m.
Changelog

Changed

  • 0.9er-Design der Abwesenheiten- und Übersichtsseiten (#251, #252): Umfassende UI-Überarbeitung aus dem Design-Feedback. Quick Wins (#263): „Ist/Soll"-Label, gekürzte Hilfetexte, PDF-Icon, klarere Überschriften „Urlaub"/„Überstunden", ausgeblendete Null-Überträge. Schrift/Kontrast kräftiger (#266), markierte Zeile mit Akzent verbunden (#267), Wochentrennung + kompakte Nicht-Arbeitstage (#268), Abwesenheiten mit KPI-Hierarchie, Jahr-Picker und Hover-Aktionen (#269), Abwesenheitskonto als Themen-Boxen + Listen-Karte (#270).
  • Überstunden-Berechnung & Formate (#251, #252): Der laufende Tag zählt erst zum Soll, sobald Zeit erfasst oder eine Abwesenheit eingetragen ist (kein „Morgen-Minus" mehr). Dauer wird am Bildschirm als HH:MM angezeigt (PDF bleibt dezimal), Jahresurlaub als „Rest / Anspruch", Freizeitausgleich als „Tage (≈h)".

Fixed

  • Manuell erfasste Feiertage um einen Tag verschoben (#273): Beim Speichern wurde das Datum aus dem Datepicker mit toISOString() (UTC) umgewandelt; in Zeitzonen östlich von UTC (z. B. CH/DE) wurde aus der lokalen Mitternacht der Vortag, sodass der Feiertag −1 Tag gespeichert wurde. Das Feiertags-Formular nutzt jetzt das zeitzonensichere formatDateISO. Dieselbe Umstellung wurde am Default-Gültig-ab im Arbeitszeitprofil-Editor vorgenommen.
  • Lange Bemerkungen brechen in Abwesenheits- und Genehmigungstabellen um (#275): Bemerkungen ohne natürliche Trennzeichen dehnten die Tabellen über ihren Container hinaus (ererbtes white-space: nowrap). Anzeigenotiz-Zellen in AbsenceRow und ApprovalOverviewView bekommen jetzt einen umbrechenden Wrapper (max-width 22rem, white-space: normal, overflow-wrap: anywhere). Die Beschreibungsspalte in der Detail-Tabelle wechselt konsistent von Ellipsis-Abschneiden auf Zeilenumbruch.

Internationalisierung

  • Fehlende de/en-Übersetzungen für die überarbeiteten Views nachgezogen (#271) und die Locale-Ermittlung auf das zentrale getLocale() vereinheitlicht (#272).
  • Hilfetext am Feld „Urlaubstage" von „Restanspruch" auf „Resturlaub" vereinheitlicht (#276).

Intern

  • CI: fetch-depth: 0 für die Claude-Review-Workflows, damit der Diff eine Merge-Basis hat (#264).
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignatureBrAHPZGKD6AcGgzqWun1x/eEPXD4HeX51uuYIwZ+x/VJD7MohIHibxotzwQ7bZjeOW987KxWDDOl8DVUkEGJwPKW1IKh0A+3G1+u6syAnkzUQTVU1jD7d0NhQlTOIR/DV5aCle/kboYe8EvEOZ3jFtEZzkZsuXWe/4bybeLl4P/werEo8skChqsMrJABRx9qrbar7kyIKAXS+PJZ0c/y9gVWthAPZZ66dvBt5EWRtLnIvT4i2WYj7ONqkYOEriscD0xS7etEGSKBEmof/TSF/dAfVXweW7vV7v06YLNk4GIorkAePApHM9wB+262TFOYk6BS2067V6hBJILtj3Ce5g==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.9.2
Release Details
UpdatedJune 7, 2026, 9:38 p.m.
Changelog

Added

  • Tschechische Übersetzung (#258): Community-Beitrag von @mysticNicoCZ, deckt rund 94 % der Oberflächentexte ab. Der Plural-Header wurde auf das korrekte tschechische Schema (nplurals=3) gesetzt (#260).

Fixed

  • Mitarbeiterübersicht zeigt das heute gültige Arbeitszeitprofil (#202): Wochenstunden und Urlaubstage in der Übersicht stammten aus einem zwischengespeicherten Wert, der an das Profil mit dem neuesten Gültig-ab-Datum gekoppelt war. Ein zukünftig datiertes Profil überschrieb damit die Anzeige, sodass die Übersicht (z. B. 40 Std.) vom tatsächlich gültigen Profil (z. B. 31,5 Std.) abweichen konnte. Das Arbeitszeitprofil ist jetzt die alleinige Quelle: Übersicht, Team-Ansicht und Bearbeiten-Dialog leiten die Werte live aus dem heute gültigen Profil ab. Im Bearbeiten-Dialog werden Wochenstunden und Urlaubstage wieder angezeigt (schreibgeschützt, mit Verweis aufs Arbeitszeitprofil).
  • PDF-Export: lange Bemerkungen brechen sauber um (#203): In den Tabellen für Zeiteinträge und Abwesenheiten wurden lange Bemerkungen abgeschnitten und sprengten das Layout. Die Zellen nutzen jetzt dynamische Zeilenhöhen, das Tabellenraster bleibt konsistent.

Changed

  • Aktive-Profil-Auflösung als Batch-Query (#202): Mitarbeiterlisten lösen das gültige Profil in einer einzigen Abfrage auf (kein N+1 mehr). EmployeeService::update() nimmt Wochenstunden und Urlaubstage nicht mehr entgegen — diese Werte gehören ausschließlich zum Arbeitszeitprofil.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignaturecvgNlkyO2EJMlM5B0z0BGZUlUntgkSrI3X3KEDNQB6S2iuDEMSNUd0G4orP0ibeUl5666zYQc3pPswxS6T5o53km6t75ta+CJ1LJsnP9z5T6HSWb9BEacD0mg3AjtmZ4XQNOUO8pr452RPDO33qNOxyOGp06j8OXntM6bhdg/5vqh4k93MZiz/EZtxAyFKuZt1JEb25FTFURtaU5QYtB7TPkZWh6hUiykSVCXlbD21R9p9JcEn8G8lqIuU2y6d+ChfLmSHHhh9zwZPoDycgYGI/EEcnHtC03Z50e9zi94ChArfe318giVJAUpRtusU2ZnweBFJgb/9stznwwk83wKg==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.9.1
Release Details
UpdatedJune 1, 2026, 4:34 p.m.
Changelog

Security

  • Supervisor sieht nur sein eigenes Team in der Abwesenheitsübersicht (#244): Vorher behandelte AbsenceController::overview() jeden Supervisor pauschal als privilegiert, sodass isEmployeeVisibleInOverview() automatisch alle Mitarbeiter freigab. Supervisoren sahen damit Abwesenheiten ALLER Mitarbeiter, nicht nur ihres Teams — DSGVO-relevant, weil Abwesenheits-Typen Krankheits-Info durchscheinen lassen können. Jetzt: Admin/HR sehen weiterhin alle Mitarbeiter unmaskiert; Supervisoren sehen nur Mitarbeiter, deren supervisor_id mit ihrer eigenen Employee-ID übereinstimmt, mit Klartext-Typen nur für die eigenen Team-Mitglieder. Fremde Sichten greifen wie bisher auf die per-Employee-Sichtbarkeitsregel zurück.

Fixed

  • TypeError bei ungültigem Zeitformat in Zeiteinträgen (#245): DateTime::createFromFormat() liefert bei ungültigem Format false — das wurde ungesichert an validate(?DateTime) durchgereicht und ergab unter declare(strict_types=1) einen TypeError statt einer sauberen ValidationException. ?: null-Guard + Skip-Branch für checkOverlap() behoben.
  • TypeError bei unvollständigen Abwesenheits-Daten in der Tageliste (#245): Wenn die API eine Abwesenheit ohne startDate/endDate liefert, crashte die Tageliste mit TypeError auf absence.startDate.split('-'). Null-Guard ergänzt.

Changed

  • package.json mit info.xml synchronisiert (#246): package.json und package-lock.json standen nach dem 0.9.0-Release auf 0.8.1. Jetzt konsistent mit info.xml, damit Tools und der /release-Skill korrekte Vorgängerversion sehen.
  • SPDX-Lizenz-Header in allen PHP-Dateien (#248): Allen 67 PHP-Dateien in lib/ wurde der NC-Standard-Header (SPDX-FileCopyrightText + SPDX-License-Identifier: AGPL-3.0-or-later) hinzugefügt. App-Lizenz bleibt AGPL-3.0-or-later wie in info.xml; das schließt die Convention-Lücke für Auditoren und Forks.
  • Integrity-sauberes Upgrade: Der CleanupExtraFiles-Repair-Step räumt jetzt auch veraltete worktime-<hash>.js-Bundle-Dateien aus früheren Releases weg. NC kopiert beim App-Update zwar neue Dateien rein, löscht aber keine alten — bei jedem Upgrade blieben sonst stale .js / .js.map / .js.LICENSE.txt aus der Vorversion liegen, die der Integrity-Check als EXTRA_FILE flagged hat. Beim ersten Lauf werden alle worktime-*-Bundles entfernt, die nicht in der aktuellen signature.json stehen.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignatureRS2wxlDycO37sn2LBB6JRG+3HpC+WSFGJJr4FiJCclRFgT4ZYBxIkWYYsx/E8gkf62c5uFY4xhxrP3WNBE7SzB3sXyywDCQnia+2W5R75ooqUN35cUAE10pSgxqGDHxRFSL5S/KvKDmB6W+UR4glHRyp5r6FH/yvAgbNXyEb++35yytTFWKV28ZUWAlngwahRYdcWGSQQlLrkxjkJsC74isbXj4tJjpN37hmpao7jb5G3tFfCAKe5wuYTtv/dYfh6RslFDOdKUwA8C+UOeJkX7khIbGBYAQaMSALFiaWxubYE5OeyjYtaPQ9k3lWvnAbFqftMZh8gluSyyWO1T9riQ==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.9.0
Release Details
UpdatedJune 1, 2026, 10:55 a.m.
Changelog

Added

  • Sidebar-Navigation in System-Einstellungen (#237): Statt langer Scrollseite mit Inhaltsübersicht-TOC zeigt die Settings-View jetzt links eine Sidebar mit gruppierten Sektionen (Team · Firma · Abläufe · Kalender) und rechts nur die ausgewählte Sektion. Aktive Sektion persistiert im URL-Hash (?sec=…) für Bookmarks und Browser-Back. Mobile: Sidebar fällt unter den Content. Pattern entspricht NCs eigener Server-Settings-UI.
  • Jahresansicht in Zeiterfassung (#235): Der Ansichts-Toggle in der Zeiterfassung erhält einen dritten Modus „Jahr" neben „Liste" und „Kalender". Zeigt eine Monatstabelle mit Soll/Ist/Überstunden, hebt den aktuellen Monat mit „Jetzt"-Pille hervor und springt per Klick auf einen vergangenen Monat zurück in die Liste-Ansicht. KPI-Leiste oben aggregiert auf Jahres-Soll/Ist/Überstunden und Urlaub.
  • Sticky Inhaltsübersicht (Anker-Chips) in System-Einstellungen (#222): Horizontale TOC-Leiste am Seitenkopf (in 0.9.0 durch die Sidebar-Navigation ersetzt).

Changed

  • DayList und MonthCalendar in einheitlicher Card-Optik (#233): Tagesliste und Monatskalender erhalten denselben Card-Rahmen (--color-border-dark, --border-radius-large) wie KPI-Leiste und Detail-Panel. Der Tagesheader sitzt jetzt innerhalb der Card statt freistehend darüber.
  • „Heute"-Pille in DayList (#233): Der aktuelle Tag wird durch eine kleine blaue „Heute"-Pille markiert, statt durch einen fehlplatzierten Bullet.
  • Stabiler MonthPicker in Zeiterfassung (#235): Der Monatswähler bleibt beim Durchsteppen durch Monate an fester Position, auch wenn sich der Status-Badge (Entwurf/Eingereicht/Genehmigt) und der „Monat einreichen"-Button ein- und ausblenden. Liegt nun direkt neben dem Ansichts-Toggle.
  • PDF-Download in NcActions-Overflow-Menü (#235): Der PDF-Download-Button wird ins Drei-Punkte-Menü rechts oben verschoben, um die Toolbar zu entlasten.
  • NcSelect in Persönlichen Einstellungen (#227): Die Sichtbarkeit-Dropdowns in „Meine Einstellungen" nutzen NcSelect statt nativer Browser-Selects, einheitlich mit dem Rest der App.
  • Stärkere Eingabe-Borders in System-Einstellungen (#237): Text- und Zahlen-Inputs erhalten einen kräftigeren Border (--color-border-dark statt blasser NC-Default), um Lesbarkeit zu verbessern.
  • Firmendaten + Standardwerte zusammengeführt (#237): Die separate Standardwerte-Sektion mit nur zwei Feldern entfällt; Wochenstunden und Urlaubstage wandern als „Standard-Wochenstunden" und „Standard-Urlaubstage" in die Firmendaten-Sektion.
  • Naming-Konsistenz Sidebar/Headline (#237): Section-Überschriften wurden auf die Sidebar-Labels gekürzt („Mitarbeiterverwaltung" → „Mitarbeiter", „Genehmigungs-Workflow" → „Genehmigung", „PDF-Archivierung" → „PDF-Archiv").
  • App-Store-Screenshots auf neuen UI-Stand (#241): Alle Screenshots in appinfo/info.xml und im screenshots/-Ordner aktualisiert. Neuer Jahr-Tab-Screenshot ergänzt, veraltete Übersichts-/Monatsbericht-Screenshots entfernt.

Fixed

  • YearPicker mit min/max-Bounds: Die Jahresansicht-Pfeile werden an den Jahresgrenzen (frühestes Eintrittsjahr, aktuelles Jahr + 1) deaktiviert.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignatureUSL9Oz0FM5PScwgGqXcA0BhCcUvjkEGh/Yus2NLQ6vcNZf6vasHyx/f1O6DkBsxeb5/NQGkww+fInHMGxTm2VWPkZsCD4ftI+gn/nJcqJnn+XqmUiAKR+Kk5l0N76pSiqX0SM4do/Mm4jTOUeK1/pH3KZ/4IEAKUDmrGVXdcdA/Ud/z9r1VlC4Fkpn7V3FLA/oVKL+onAJqEpr3Z67tWWMyhd/wXyztdolCosddgMeGJb3qMF+DyC3DvALKEv5v28O+5MFo+F8RS+cJq+r7LIRqxV18QNX/VfUTCy4R3ZphugpEFmYqvhkw9ElHYVQdArQ0s31cFlWyRSpkdUN3/ZQ==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.8.1
Release Details
UpdatedMay 27, 2026, 11:28 a.m.
Changelog

Fixed

  • Freizeitausgleich senkt jetzt die Überstunden (#186): Ein Freizeitausgleich-Tag wurde als Arbeitszeit gutgeschrieben, während das Soll voll bestehen blieb. Beide Effekte hoben sich auf, der Überstunden-Saldo blieb unverändert. Jetzt bleibt der FZA-Tag im Soll und wird nicht ins Ist gerechnet, dadurch sinkt der Saldo um genau die Tagessollzeit. Korrigiert in beiden Berechnungspfaden (Monatsbericht und archivierte PDFs). Die Aufschlüsselung der Monatsübersicht weist den Freizeitausgleich zusätzlich als eigene Zeile aus.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
Signatureb0byLCC5A+uW4sKCi7cXsp9tjv6wl/DH2EHm51354Cg8/BXh62iYWTpBKm3MEFGKvWDHzHzzTsqF4mBUzyMkNnuuyoL3rH/VpX+/YQ13EBObV3A5/NnX0JDnCeu5eMVad2DrMigTO6MlBNoZlfndaBkYn7VKpoF6F2jC+ZjecYTpRY17vRo1INjJVr+cJf/e3RR0UAYbWShF6ihepypX7eReQAR503XXhrHRkJ+uNy3xnPvH8NnC6bDDwDTLZBt3F+TfRg7UrgmFUe+3vU6VGwncyannohZ600refYni4lRrX1IiO2uCIc7LOHb5pwCYyFCAQIEgZgghZCjT9Fuv+A==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.8.0
Release Details
UpdatedMay 27, 2026, 6:17 a.m.
Changelog

Added

  • Benachrichtigung bei Rücknahme der Genehmigung (#187): Wird die Genehmigung eines Monats zurückgenommen, erhält der betroffene Mitarbeiter eine Nextcloud-Benachrichtigung („Die Genehmigung deiner Zeiteinträge für … wurde zurückgenommen. Bitte erneut einreichen.").
  • Eigener Abschnitt „Genehmigungs-Workflow" mit Konsequenzen-Bestätigung (#188): Der Schalter „Genehmigung erforderlich" ist aus den Arbeitszeit-Regeln in einen eigenen Abschnitt mit Beschreibung gezogen. Beim Umschalten erscheint ein Bestätigungsdialog, der die firmenweiten Folgen erklärt; bei Abbruch bleibt der alte Zustand erhalten.
  • Bestätigung für folgenreiche Einstellungen (#189): Das Entfernen eines HR-Managers fragt jetzt mit Konsequenz-Hinweis nach (Rechteverlust), und das automatische Generieren der Feiertage zeigt vorab einen Hinweisdialog (alle Bundesländer werden neu erzeugt, manuelle Feiertage bleiben erhalten).

Fixed

  • Resturlaub-Übertrag im Mitarbeiter-Dashboard (#176): Der Resturlaub-Übertrag aus dem Vorjahr wird jetzt im Dashboard-Urlaubskonto als eigene Position „Übertrag Vorjahr" ausgewiesen und in „Verbleibend" eingerechnet (analog zum Überstunden-Übertrag und konsistent zum Bericht).
  • Backend-Texte übersetzbar (#192): Benachrichtigungs-Subjects und serverseitige Validierungs-Fehlermeldungen laufen jetzt über die Übersetzungsschicht (IL10N) und erscheinen in der Sprache des jeweiligen Nutzers statt fest auf Deutsch.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignaturecPqa9U/3AeYjYIijJTAhfPiFqGxpVzONkD+AS240lqZY306g0dTsl58Obvybr96OcdvGCI4FAjqtZcMyf6rYODLnyeAnxVqQWSi99xnGMo7o8XlpRXPSWVn3/+UEbO773RB5ed3tXUcYcqthNcajWLB7MFgK/TBRtShjzYjxQQP+W0AJEKPxhS8ilJxgt8x0s6gsYeXJ87831AFGUW/k2ZZAB2eA2fjo3eic0vC/YQVqqcyphgoY9fRM1W9imfis6nEI9HxBLhHBJ6iBldtAXc05vV3jaWOjb57esTSeuX0jFqFGm/R81QaBFyPjxh69CvcGwIM25+acS8/LD2qbcw==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.7.3
Release Details
UpdatedMay 22, 2026, 8:33 p.m.
Changelog

Added

  • Genehmigungs-Workflow optional schaltbar (#177): Der Schalter approval_required ist jetzt wirksam. Bei deaktivierter Genehmigung werden Einreichen-Button, Status-Spalte/-Badges und der Zeiteinträge-Abschnitt der Genehmigungsübersicht ausgeblendet. Stundenzählung bleibt statusunabhängig. Default = bisheriges Verhalten.
  • Genehmigten Monat wieder öffnen (#178, #179): Admin, HR-Manager und Vorgesetzte (canApprove) können einen genehmigten Monat zur Korrektur zurück auf Entwurf setzen. Begründung ist Pflicht, jede Rücknahme wird im Audit-Log (reopen) protokolliert.

Fixed

  • Urlaubs-Genehmigung bleibt erreichbar wenn Workflow aus (#184): Bei deaktiviertem Genehmigungs-Workflow blieb auch die Urlaubs-/Abwesenheits-Genehmigung verborgen. Navigation und Route bleiben jetzt immer erreichbar, nur der Zeiteinträge-Abschnitt wird ausgeblendet.
  • Hilfetexte zu Genehmigung und PDF-Archivierung korrigiert (#183): Der Tooltip am Genehmigungs-Schalter behauptete fälschlich, ohne Genehmigung flössen Stunden nicht in die Überstunden ein. Text korrigiert, PDF-Archivierungs-Hilfe ergänzt (alle 4 l10n-Dateien).
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignatureLptVlCExgwx3fmelbT2f7BbuWOcLn9i4I8Yj9FcuFTP4vB+d+9m9zP1oh7P55oPy4a8SjciGMiu5m8Y53cOHAbrkBQCeI8BXcMyoRtRV5Bqs6UkmESA8DPKEk3sM/1y6y3wh4W5+DDSSnfSshxZ4R0Oj9y1M8mJ6VG5q8lWHk/qx29k+mN8/oeQU3t6iR5eZHpv64aAhw7gxS8Vahd6XMjIMUMzaGC9OzYuufrNE4tAAqNileZa/43EAlBtB8K6dmgUJoZ/4nYnHF2Lqx5/NgTY2/y1DXGC5DaLOXxVMmzZ4bBNJ19kVtE1s+80st6UFHphRIl+FLK7bmMCtL46zeQ==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.7.2
Release Details
UpdatedMay 19, 2026, 8:11 p.m.
Changelog

Fixed

  • Nicht-existierende CSS-Datei (#170): Util::addStyle für css/main.css aus dem PageController entfernt — die Datei existierte nicht (CSS wird von webpack ins JS-Bundle gebündelt). Im Browser-Konsolen-Log keine MIME-Type-Fehlermeldung mehr.

Changed

  • App Store Screenshots aktualisiert: Alle 6 Screenshots durch frische Captures mit sauberen Demo-Daten ersetzt. Zusätzlich neues Audit-Log-Screenshot.
  • App-Beschreibung erweitert: info.xml beschreibt jetzt die Features aus v0.6.x und v0.7.x (Audit-Log, Jahresübertrag, kontextuelle Hilfe, HR-Manager-Rolle, Mehrsprachigkeit).
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignaturepsVKb9/on5KawIm2CnC6uW90sUBR9x87ziIZ+1eiZlSdUjN1XV6vP98oXxBIQiwWxVFW4lzF2AlGfyOzrynFplKGSE6UdJQpK3VBLOscR3NDylJU6SNXl4+NNQ/vCZdYfSbmNSuImJnd9h9RHz3kXTicvY8uPJOF0LiVDTovX+tXTyEOMAZ8We1DWb+/1m9OVGhZ+exMuOhD1klYt8ZK9cjpnAmQkEaRNc5XyQll8yKDFytYK52hehw6ruHDvjlN93wAEGTWXK99B2DeRjSnKTgnBza39B3Dodycyd1atg7LmQ04og7NbPhaSHqq0W/3L79f7Qmk6F+CENRGB9QneQ==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.7.1
Release Details
UpdatedMay 17, 2026, 10:03 p.m.
Changelog

Fixed

  • Audit-Log Kontrast (#162): Schrift in der Änderungsspalte war kaum lesbar (blasse NC CSS-Variablen). Alle Farben durch explizite Hex-Werte ersetzt (#b91c1c, #15803d, #555).
  • Audit-Log Diff-Anzeige (#163): Änderungsspalte zeigte bei update-Aktionen den kompletten Objekt-Dump. Jetzt werden nur tatsächlich geänderte Felder als Feld: alt → neu angezeigt. Interne Felder (id, employeeId, createdAt, updatedAt) werden ausgeblendet.
  • Monatsübergreifende Abwesenheiten in Genehmigungsansicht (#164): Eine Abwesenheit die z.B. vom 27.04–08.05 läuft, zeigte im April-View den gesamten Zeitraum. Jetzt wird der Zeitraum auf den angezeigten Monat geclipt (April: 27.04–30.04, Mai: 01.05–08.05).
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignaturecKbuTkFVn9ybaEPmnXooWbPo2EfvL87/L2O5GT4vkUON41sKrvQBnLaghzbNBPTDb43ny3YzH2MNf3kkyU0KHMLSG6MGykGGYxIm0n186dAzQQqV3CQh6VnK1tQCgRSvdgbOdxDjEJ2tXmHJNK6nY86UA9O8S7XoQH+AnHw5yMWWAHq32FaZwXkdcOSsIupjVRPoErZ3UfgBxiaiwA9ib2EPjLSGVBiGtsKOQt8UAt7nqA0TgJ6L1Wzrmv+vGa5aVKwnb/wVTI/VlARsymuEehdn/VqZTgxUz24qMMpjEdMkpCQN/yeq+TPP9pA5LEPY1saOXThm32K43vwrxqSiiQ==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.7.0
Release Details
UpdatedMay 17, 2026, 7:39 p.m.
Changelog

Added

  • Audit-Log View (#91): Neue Ansicht für Admin und HR-Manager mit vollständigem Änderungsprotokoll. Filterbar nach Monat und Mitarbeiter. Farbige Action-Badges (erstellt, aktualisiert, gelöscht) mit Old→New-Diff-Anzeige.
  • Jahresübertrag für Überstunden und Urlaubstage (#100): Offene Überstunden und nicht genommene Urlaubstage aus dem Vorjahr werden automatisch ins neue Jahr übertragen. Konfigurierbar in Admin-Einstellungen. Dashboard und Jahresübersicht zeigen Übertragswerte an.
  • Jahresübertrag UX-Überarbeitung (#144): Übertragsstatus in Übersicht, manuelle Korrekturmöglichkeit, verbesserter Workflow für HR-Manager.

Fixed

  • Genehmigungsansicht zeigt jetzt auch Abwesenheiten (#158): In der aufgeklappten Detailzeile werden Urlaub, Krankheit etc. neben Zeiteinträgen angezeigt, sortiert nach Datum mit farbigem Typ-Badge.
  • Urlaubsquoten-Validierung (#147): Urlaubsantrag wird beim Erstellen und Bearbeiten gegen das verfügbare Kontingent geprüft. Überschreitung zeigt Warnung im Formular.
  • Eintrittsdatum wird bei Sollberechnung berücksichtigt (#145): Monate vor dem Eintrittsdatum liefern 0-Stats statt falscher Minusstunden.
  • FZA-Stunden reduzieren Soll nicht mehr (#149): Freizeitausgleich wurde fälschlicherweise vom Monatssoll abgezogen.
  • Pausenvalidierung als Toast (#151): Blockierende UI-Sperre bei Pausenverstoß durch informativen Toast-Hinweis ersetzt.
  • Warnhinweise mit lesbarem Kontrast (#146): Warntexte nutzen jetzt --color-main-text statt kaum lesbarer NC-Standardfarbe.

Changed

  • Batch-Loading für Team-Abfragen: Team- und Jahresübersicht laden Daten jetzt in einem Batch-Request mit DB-Indizes statt N+1 Queries.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignatureDiLgNWNJ/iLDcZhfLsqk8K2/GET8nS6rixBqWZCOw+JarPURIUpJ8t3K1hegZ3Lsbzr9t3xhkf0NLv2IYIGfBW+HSIgwVKKLbZuFxd+OJF9yfUJIOxuqBmJo7gkH7VCD0/xT5LqcaJjI+7QGcuTJDCaG9gGhg3VGSVPiEcSKlqJebtls8Bj+ij8CUYv59RYvCtDn2bi7CLBLm+2TqpJG43VRzw8hfrKWaic2f8+ZfTJQvkolkSQQKjCSiIIowwN7slsKrgo2o2gMZFrfn3IZvQLLRoYxqJ4MWbaU8mpuk/fd64WscriAnB8SU9zJeW4UUQ003WCz4Xd6DuxmWKTUkQ==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.6.4
Release Details
UpdatedMay 4, 2026, 11:36 a.m.
Changelog

Fixed

  • v0.6.3 war nicht installierbar: Tarball enthielt __MACOSX/-Ordner (macOS-Metadaten). NC verweigert Installation bei mehr als einem Top-Level-Ordner. v0.6.3 wurde aus dem App Store entfernt. Dieses Release ist inhaltlich identisch mit v0.6.3, aber mit korrektem Tarball.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignatureKZnCskAEF5wxPZq03FcBNDgI0VTJ4giJMV5k+M89jeGGQ4B6AYSLDqZntlq9LAHjoS0lzAj7h7PDqsHQorlm3zdhDJCarLb77ojelS5owjBcl1Dv4/x4J+ClEt3Ux+apEGGzlNWSOlYCAyJ59bgUeVAyc3CZdwyf4GQdqvEeFZSmIzOt7Cn+x74FDbymSdk8nj1CieCP/dPYb4T23x+yG0DLz9W8EWtRpeZwXZTgt2x3Fxn7v+niSu7Pc6tYQR3qTJpMwKuqzgOspw2LfCK0klgKMmS9kvp7cL0/DVkVBCiL/qUWMSjf1X2WAhwEiOw3D8QDjK3eQW91g7kXwE6wjA==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.6.1
Release Details
UpdatedApril 29, 2026, 11:56 a.m.
Changelog

Fixed

  • Uebersetzungen funktionieren jetzt (#103): Fehlende l10n/*.js-Dateien ergaenzt (NC laedt nur .js, nicht .json). Alle hardcoded deutschen Strings durch t()-Aufrufe ersetzt. Hardcoded de-DE Locale durch NC-Locale ersetzt. 51 fehlende Uebersetzungs-Keys ergaenzt (390 Keys gesamt).
  • Dashboard zeigt korrekte Minusstunden (#98): Fuer den aktuellen Monat wird jetzt das proportionale Soll (bis heute) statt des vollen Monatssolls angezeigt. Kein irregulaeres Defizit mehr am Morgen.
  • Stornierte Abwesenheiten in Zeiterfassung (#108): Stornierte Abwesenheiten (z.B. zurueckgenommener Freizeitausgleich) werden in der Zeiterfassungsliste nicht mehr angezeigt. In der Abwesenheitsuebersicht bleiben sie mit Status "Storniert" sichtbar.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
Signaturekn9jEWtVWUZAls72WByJw82AogsX4WssoFBA0/pv56N1Rig1hifnTjGD6FlOfH+bYB79q8gzX8BK0nZxugdbQdXuNcVmbXZdO1qmgPJYsCLH1j2X/BkR3nq70z3zGQgMw2rOsNnnBqClB/aSidFo1rBn1VAyQxN+VIdEzCwcmAwXSyEvqBClShw554k3IDDddtZ/4C8SFINnE3Ys+IU3KbC63KGNAcghf1N/KVlmIY3uxbCXZC0TTX6KJvl+MCqPFDyHTVGGvch1+tlQE8CEEVvwlnOLGR7QxwxoP/3FtB+Qx8LH8GbdnSyxdajuYg2E7rGWpeqYu00kRhRhpEhwmA==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.6.0
Release Details
UpdatedApril 14, 2026, 12:03 p.m.
Changelog

Fixed

  • KRITISCH (#88): App-Update und occ upgrade stuerzten auf Nextcloud 33 ab, weil der Repair-Step die seit NC 11 deprecated und in NC 33 entfernte OC_App::getAppPath() nutzte. Betroffene User konnten ihre Nextcloud-Instanz nicht mehr aktualisieren. Fix nutzt jetzt die OCP-API IAppManager::getAppPath().
  • Abwesenheits-Timeline: jede Abwesenheitsart hat jetzt eine eigene, deutlich unterscheidbare Farbe (#87)
  • Irrefuehrender Dialog-Text beim Einreichen des Monats: enthielt "keine Aenderungen moeglich", obwohl Nachtraege durchaus eingereicht werden koennen
  • Yes/No-Buttons im Bestaetigungsdialog werden jetzt auf Deutsch angezeigt

Added

  • Genehmigungsansicht (#68): Aufklappbare Detailzeile pro Mitarbeiter mit Datum, Beginn/Ende, Pause, Arbeitszeit, Projekt, Beschreibung und Status. PDF-Monatsbericht direkt aus der Detailansicht herunterladbar.
  • Auto-Genehmigung fuer Krankheit und Kind krank (#74): Krankmeldungen gehen ohne Genehmigungsworkflow direkt auf "genehmigt". Vorgesetzte sehen sie als "Zur Kenntnisnahme" in der Genehmigungsuebersicht.
  • Benachrichtigungs-Flow fuer Krankmeldungen und stornierte Krankmeldungen

Changed

  • UI-Konsistenz (#69): Team-, Genehmigungs- und Abwesenheitsuebersicht nutzen jetzt einheitliche Typografie, Padding und Kartenstil wie die etablierten Referenz-Views (Dashboard, Zeiterfassung, Meine Einstellungen)
  • Icon-Unifikation: Entfernen-Buttons nutzen durchgaengig das Close-Icon (statt gemischt Close/Delete)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignaturenAAW7M8rzDxWVlbfmGMzmUXLt4pdXxhReOL5YUrLeYKtB3bGaPxmBvQHlSFn9lRkUUp3NWPs6p7oaJDOKO4vEOVwVVtkIh1kGrO8kRwbceRZlCO/4vDz4KVs0923SVxbaDy/C9uTvpi2RFXZcx8QEJGzCOyBUWOnQAVPHZYSbG/Oi0LD/wRxdQAyiL+PkrIC7mmouzsxOj81XgAMw+LO541Pydgev42HwkXwgwzC21FPDofWm9NBJCUeEJRiS41SKodUoHmeLMNChAwMe1w+GdsXdL3axekUgZwpOkLm1BhynG4M28JcGctJv9XEDwoYmnaHi8u2KRMztTn4u4+qtw==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.5.1
Release Details
UpdatedApril 12, 2026, 8:20 p.m.
Changelog

Fixed

  • Header "Abwesenheitsuebersicht" wurde vom Sidebar-Toggle ueberlagert (padding-left: 50px ergaenzt)
  • Monat-Navigation im MonthPicker funktionierte nicht (falsches Event-Binding)

Changed

  • Admin/HR/Supervisor sehen in der Abwesenheitsuebersicht die vollstaendige Typ-Legende
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignatureTNaUe8E3fVg4Sg0zdHHmCOTpcZgOKjW3hvK0y5dXwj6FQBLwMCTKCEcIKxGXhT4KO1z9jHgf2RczQg0m6PSk167dhEKTO53FVxojwFLW5K4sdmSCx8pAIHJTmHAgO6F5vShg1/eVMKtOhH6jYxcj5QWiS9ojm+mkhY3WWkvyUSrWF8/xpv7HGArXp33I68ZtCc8v8IuUNSxm95lgiLlirxpOLDW/Tc2WzBX7B/AmX7DCaqqzTB1SoYVLOWt6P8UZcjotgG7v7XVlZ10G/xpFbv0cSvqOlhrvhIKdcXW8SkRsvBntZzXGDb0Vjh0lA9FwDXr/e9Dd1RDZWKQVZ3iKkQ==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.5.0
Release Details
UpdatedApril 12, 2026, 7:15 p.m.
Changelog

Added

  • Abwesenheitsuebersicht (#3): Neue Timeline-Ansicht, farbige Balken pro Person
  • Datenschutz-Einstellungen pro Mitarbeiter: Sichtbarkeit (Alle/Team/Niemand) + Detailgrad (Detailliert/Nur abwesend)
  • Auto-Save fuer Einstellungen in "Meine Einstellungen"

Fixed

  • KRITISCH: Inkonsistenz zwischen v0.4.2 und v0.4.3/v0.4.4 behoben. In v0.4.2 war die absence_visibility-DB-Spalte angelegt worden, v0.4.3/v0.4.4 haben den zugehoerigen Code aber wieder entfernt — was zu "Interner Serverfehler" beim Oeffnen der App fuehrte. Dieses Release stellt den konsistenten Zustand her.
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignaturepBpvbh3W+3lP6i0cROmTqdHAoltiq3QD9HFIsgIqD5zKSnxQJNCekPgo6VPWWMTS7BNQRn4iX3by3zKXLHqvbDsxMdIKnUCu6ni3/UAA5/CD8ENlxBfM8F96E9fQlc5Bb53SMWjHzvmzIQ9h4+GywLJ+xJA/iC9Z7yolIH725Hse8+/Vc9d7QhUHtBV9d/Z1RQSzjRn640DIhLGUmq7v9SMC8Bk7WXh2QnhP4HK4YeMroxRyjjvNDENvt6bRpUonihxqykd5DFqEpS1k4niBsXCi813p2EQQ35+4RH+V7I+AByPVCG4OueRJVyCC+rgreCpQaW2zCOxrE36nfEYWTQ==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.4.1
Release Details
UpdatedApril 11, 2026, 8:25 p.m.
Changelog

Fixed

  • Integritaetspruefung: test-results/ und appinfo/*.crt aus Tarball entfernt
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignaturePrxqvt5Hqs/523o2GlJ//aRS+Lf6dNNaBwR2MrZzoMXuJYScthA5IzI2/qDt27gthjSuEu8583w2WxkYYnDTOc73123EKoFNKTB3UTWoswdf7DNJWerAoBmK6iP6prdf1F7udaCJDEHINdgG2RUeHuRZK34APSxtU+/q2QBs1X3OAnUb04TFFoT0wgK8m0N4sEXoLQMftNW9EbTXHs23PYpz13DY0OtpCwo6gOeYHhaEs8Zf6iZf9l3i3qcHrQE5JPvbsXjeETBw7uDUp5VgCT8xEwMvIlqMkiYVEDl53oNHrXmIbVcuEbEbQqpWxNQqy90jQBYQ+7AdThKeu9lM7g==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.4.0
Release Details
UpdatedApril 10, 2026, 10:21 p.m.
Changelog

Added

  • Projektverwaltung UI in den Einstellungen (#41)
  • Vollstaendige englische Uebersetzungen und Berechtigungsinfo-Button
  • Aufklappbare Soll/Ist-Berechnungsdetails in der Ueberstundenanzeige (#52)
  • Abwesenheiten und Feiertage werden in der Tagesliste angezeigt (#53)
  • Jahresuebersicht im Dashboard mit 12-Monats-Tabelle (#54)
  • Mitarbeiter mit 0 Wochenstunden (Aushilfen auf Abruf) koennen angelegt werden (#61)

Changed

  • Dashboard redesigned: flache Cards, Redundanzen entfernt
  • Einheitliches Typografie-System ueber alle Views (15px/13px)
  • TCPDF Fonts reduziert (24 MB → 640 KB)
  • Neues Arbeitszeitprofil hat heute als Default-Datum

Fixed

  • TCPDF Vendor-Dependency im Release enthalten (#50)
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
Signaturej2auVz44HNQw5V0n43YzTsdwMaiRvGi9xWpQfbz1U8WlohGPpqK84dVLM4G1VZNCPpkcEeE7M7/SC+aCHTXKQdnZsP7N1uebbter6B1nnDmR27EXt9UkuAOhUJwmHVHlTuieGqjiOEqpMmPvyS0n/2w988iAuPwFeE5CHf7PPU3tQm3BtNROSQuOujqOcfEnW8rboK1nzbNWGRL60GqdVqejCzGIw0M5xf1pd4aZ0Va6WLrCvFfI6Hk9S/8yDfmgb/7bNaSoQ3punuwAwktmMO/T720qSjfBXqVa/ypRxzcdwWtM2TG2AXN/0+0gbHt67kgIniMR/AEzhaypSnKcYg==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.3.0
Release Details
UpdatedMarch 24, 2026, 10:22 p.m.
Changelog

Added

  • Arbeitszeitprofile mit Wochenprofil und Stichtag (#39)
  • Stunden pro Wochentag individuell konfigurierbar (Mo-So)
  • Samstag/Sonntag im Profil-Editor anzeigbar
  • Soll-Berechnung nutzt das am jeweiligen Tag gueltige Profil
  • Pro-rata Urlaubsberechnung bei Profilwechsel
  • Max. Tagesstunden aus Einstellungen als Limit im Profil-Editor
  • Feld "Arbeitstage pro Woche" pro Mitarbeiter (manuell, Default 5)
  • Kontakt-E-Mail in info.xml

Fixed

  • IDOR-Schutz: update/delete pruefen employeeId-Ownership
  • Duplicate-Validierung fuer Profil-Stichtage (valid_from)
  • Pausenzeit-Einstellungen werden jetzt korrekt ausgewertet (#43)
  • Frontend-Validierung mit visueller Rueckmeldung bei Ueberschreitung der Max-Stunden
  • Fehlermeldungen im Profil-Editor zeigen konkrete Validierungsfehler

Changed

  • suggestBreak() und validateBreak() nutzen konfigurierte Werte statt hardcoded 30/45 Min
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
Signaturekb/4/15+VcGj94KWgOXKKUB7VN3i5imGuvVKUWAJ6nVyH/9s/yZwhjSbxgvsTkm0IWFnK3Hg70KVPXtbo/xLpAYaPtzd+JPrbdaha3I92Zp7zAHR1nsn9Wvy79aJ9svwBHFIhVGnEXJF4V1dDHpndCqII9pOTblb6GVXXmXlI3mvnU0Rx5lQaiMxw3pKhdeGTgwIoMzLt3RSrSVeafdiZV8taaupDkO5J3i9uxvRBeWSVGCtKGd3xa9a+59lwb0TpROdY/aRk4C4KNzxIBTV8mEcaQZFUNY6+j5yk6muWkZ3ReGqgk9BFYhQMPIlwhNy4ETS7hN4/SSGQmuY0QDNDw==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.2.0
Release Details
UpdatedMarch 18, 2026, 11:40 p.m.
Changelog

Added

  • Team-Jahresuebersicht mit Ueberstunden, Urlaub und Status pro Mitarbeiter (#32)
  • Jahres-Picker Komponente fuer Team-View
  • API-Endpoint fuer Jahresberichte (ReportController)

Fixed

  • Korrekte Jahres-Ueberstundenberechnung im Dashboard (#37)
  • Beschreibungsspalte in der Zeiteintrags-Ansicht sichtbar (#35)
  • Null-Guard fuer employeeId in allen Controllern (#33)
  • Verbessertes Onboarding fuer Nutzer ohne Mitarbeiterprofil
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignatureEozLqaBSbAPMbat9KegvF/pOWAMGZ1NNg6zCvTJj/yLbyVHB0M4joD9q7Nk8QBWeNvQqGq5gQwbFle2ZFgqnBdWZbqmMoq2VTyN/49EjqPPZdLaPuZFbBRuxx+RnF7lSl3T5dIeUocGFgkKBaH2VAMSzCr6dDGeWwDE0QTaKB37aUBzf+HEx1M7JSP9EGbLGJ+AH+g8Sa9MH5spKPILTNM3D6BPGqxHASlvgN9uWqFnP/m7ZFz3tWhB8xpMymEyrJf22Zcebi7nCfu9Gs2dM2ZK4jYByNq2RQHUgbKztPwPEVopAbMsH8cndSxNXbnEyAqt0bk3W5K4EQvaiSxM87Q==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0
WorkTime 0.1.1
Release Details
UpdatedFeb. 23, 2026, 8:48 p.m.
Changelog

Added

  • Zeiterfassung mit Start, Ende, Pause
  • Automatischer Pausenvorschlag gemaess §4 ArbZG
  • Projektbezogene Zeiterfassung
  • Monatsuebersicht mit Soll/Ist/Ueberstunden-Berechnung
  • PDF-Export fuer Monatsberichte (TCPDF)
  • Abwesenheitsverwaltung (Urlaub, Krankheit, Sonderurlaub, etc.)
  • Urlaubskonto mit automatischer Berechnung verbleibender Tage
  • Deutsche Feiertage pro Bundesland (Gauss-Algorithmus fuer Ostern)
  • Team-Uebersicht fuer Vorgesetzte
  • Genehmigungsworkflow fuer Zeiteintraege und Abwesenheiten
  • Berechtigungssystem (Admin, HR Manager, Supervisor, Employee)
  • Vollstaendige deutsche und englische Lokalisierung
  • E-Mail-Prefill aus Nextcloud-Profil bei Mitarbeiteranlage
  • Nextcloud 32 und 33 Kompatibilitaet

Fixed

  • Webpack chunk filenames shortened to avoid hosting provider issues
Licenses GNU Affero General Public License v3.0 or later
Certificate-----BEGIN CERTIFICATE-----
MIIDAzCCAesCAhLvMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYwMjA2MTgwNzAyWhcNMzYwNTE0MTgwNzAyWjATMREwDwYD
VQQDDAh3b3JrdGltZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL/b
9iUR/hnnlbkchImfamKpEfnMyIiM6Ewe58W3JrJGA6pycVkamLyeUEcaRMbaZmbK
5oosZ8g/mVjLSZcAbM8F2rV4pOsSD6ToJ7S419gCHYBMVsm9HDdYbej65DXXqOJn
VV4xfdj8KSaxsgH/1aVWvKBil8sjLiBUEIHdOCytY3EEzISn8p+Ma5cUC+1Bf9kh
ffY5i0YvZ38R8cdI0SeraLmHBpUy4m91P7Kg03uZspiWwYZBupTZxhlBAawKU/Za
xcViP7+JY8p4lll0io1Q1ViXPnFcj8C9uvnU43k13wRbAWqYV8pUEQcKKbA60Gk/
ZB+Z4b1l+5V0Sp1a0NUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAgOYI54EXGsPe
3aXvprtL4CvR33fEBJguelgz4pqrxSQRgnxJySB6Fo+ocj7wxQt0//sw4bds60cH
82rC6uF23lA7GE0/sdHQPrc9UW/C93oU5pgC54CKWUMqUBgWiBjTe4tStf5gE0C1
5Jad2eMKpEnNO8x7v+OnxOzJYhUZvbN0E3UM5NVjzcZV/lsVQxnmhtXkd4dJ6twy
+QAQlmifHcw4beyvF1A4e1Hwcc4/b9O64RdI/oZ/ehU41uP5zdF61B6A6cF+IbS+
UdTPcyqRqEsFQRw52JpSdkKnFtG76Dg8rD0o5PyrmKOtHMnssPdJicehEoFe144e
OdhkeyiR8w==
-----END CERTIFICATE-----
SignatureBdvZL53XDJ4BdZ0MaP3pGD81pVNc3lqXhM/IMR76xDvAjnLnzjS7+d8aDATf4tHBu5O13TT3Qg+i3yET736giC9w0FSfEKi6hlEEygzDz6BtL8UVUees/oIzB8jn1NX3vdsv0uUNUWcn3ndpXgMPL0P0SD9HpBt6R1xHKHkfSdH9hVTpvU/sYiC8eqCqO71wnIRUCZUf/0VORXZ2rFJ8Vn0s31KTxItrNNBD8bqnmg5k56QgIFdF3I4pMZpC+mAORipUxIl/P9eIXuZ8LYRzQtN8+tc18zNe7lZRwfI2Zf6RLe9mbFvpOrMnUg6CI/SgWSLBE9bU1js6fd6aDPDK9A==
Signature digestsha512
Dependencies
Required Nextcloud versions >=32.0.0,<34.0.0
Minimum Integer bits32
PHP>=8.2.0