ProjectForge 9
Neu in ProjectForge 9: ProjectForge 9.0.0 ↓
ProjectForge 9.0.10 veröffentlicht
2026-10-19, Tag 9.0.10-RELEASE Nur Quellcode
-
Mitarbeiter:innen und Kost-Suche migriert
-
Deutsche Website
-
Getrenntes „Anlegen“ und „Speichern“ in Bearbeitungsformularen
-
Verfügbarkeit: nur noch „Bei Bedarf erreichbar“, öffentlicher Kommentar fürs Team
Überblick
-
Mitarbeiter:innen: Liste und Formular in der neuen Oberfläche; Status, Wochenstunden und Urlaubstage in Dialogen bearbeitet.
-
Kost-Suche: in der neuen Oberfläche, auch als verschiebbares Fenster auf jeder Seite (Alt+K) oder als kleines eigenes Fenster.
-
Bearbeitungsformulare: „Anlegen“ für einen neuen Eintrag, „Speichern“ für einen bestehenden; Speichern legt nie eine Kopie an.
-
Verfügbarkeit: „Bei dringendem Bedarf erreichbar“ in „Bei Bedarf erreichbar“ aufgegangen; der öffentliche Kommentar, im Formular in Rot, ist fürs Team sichtbar, auch in den Tooltips der Abwesenheitsdiagramme.
-
Website: deutsche Fassung der Seiten, FAQ, des Changelogs und der Handbücher unter projectforge.org/de.
-
Rechnungen: Eine Rechnung nur mit gelöschten Positionen lässt sich wieder löschen und wiederherstellen.
Alle Änderungen
-
Website: deutsche Fassung der Seiten, der FAQ, des Changelogs und des Benutzer-, Administrations- und Schnellstart-Handbuchs unter projectforge.org/de, mit Sprachumschalter; der Hilfe-Link des Suchfelds öffnet für deutschsprachige Benutzer das deutsche Benutzerhandbuch.
-
Verfügbarkeit: „Bei dringendem Bedarf erreichbar“ ist in „Bei Bedarf erreichbar“ aufgegangen. Der Kommentar eines Eintrags heißt „Öffentlicher Kommentar“ und steht im Formular in Rot; alle Teammitglieder, die den Eintrag sehen, sehen ihn, auch in den Tooltips der Abwesenheitsdiagramme (z. B. im Diagramm der Vertretungen eines Urlaubs).
-
Kost-Suche: in die neue Oberfläche migriert. Der Menüeintrag blendet sie als verschiebbares Fenster über der aktuellen Seite ein, das auf jeder Seite offen bleibt (auch über die Schaltfläche in der Kopfleiste oder Alt+K; die Position wird gemerkt). Sie lässt sich auch als kleines eigenes Fenster öffnen.
-
Bearbeitungsformulare: Ein neuer Eintrag wird mit „Anlegen“ gespeichert, ein bestehender mit „Speichern“. Beides sind getrennte Schreibvorgänge: Das Speichern eines bestehenden Eintrags kann keine Kopie mehr anlegen, und das Anlegen überschreibt nie einen bestehenden Eintrag.
-
Mitarbeiter:innen: Liste und Formular der Mitarbeiter:innen sind in die neue Oberfläche migriert. Status, Wochenstunden und Urlaubstage werden in Dialogen direkt im Formular bearbeitet; der heute gültige Eintrag ist markiert, künftige Einträge sind abgeschwächt dargestellt.
-
Rechnungen und Eingangsrechnungen: Eine früher nur mit gelöschten Positionen gespeicherte Rechnung lässt sich wieder löschen und wiederherstellen; nur das Speichern wird abgelehnt.
ProjectForge 9.0.9 veröffentlicht
2026-10-19, Tag 9.0.9-RELEASE Nur Quellcode
-
Hotfix-Release
-
Fix: Speichern einer Adresskampagne oder eines Kontos legt keine Kopie mehr an
-
Fix: Aufträge und Rechnungen, deren Positionen alle gelöscht sind, werden abgelehnt
Überblick
-
Adresskampagnen und Konten: Das Speichern eines bestehenden Eintrags in der neuen Oberfläche legt keine Kopie mehr an (z. B. beim Inaktivsetzen einer Kampagne); Kampagnentitel sind eindeutig.
-
Aufträge und Rechnungen: Ein Eintrag, dessen Positionen alle gelöscht wurden, wird beim Speichern abgelehnt, statt ohne Positionen gespeichert zu werden.
-
Weitere Fixes: Suchbegriff in Auswahlboxen mit Mehrfachauswahl, Spaltenüberschriften der Verfügbarkeitseinträge im Urlaubskonto, Build-Datum in der Fußzeile.
Alle Änderungen
-
Adresskampagnen und Konten: Das Speichern eines bestehenden Eintrags legt keine Kopie mehr an (z. B. beim Inaktivsetzen einer Kampagne). Der Titel einer Kampagne darf nicht schon von einer anderen Kampagne verwendet werden.
-
Fußzeile: Das Build-Datum wird ohne Zonen-Suffix angezeigt (2026-10-19 statt 2026-10-19Z).
-
Aufträge, Debitoren- und Kreditorenrechnungen: Ein Eintrag, dessen Positionen alle gelöscht wurden, wird beim Speichern abgelehnt, statt ohne Positionen gespeichert zu werden.
-
Auswahlboxen mit Mehrfachauswahl: Nach einer Auswahl bleibt der Suchbegriff markiert, sodass der nächste eingetippte Name ihn ersetzt, statt angehängt zu werden.
-
Urlaubskonto: Die Spalten Typ, Verfügbarkeit, Ort und Kommentar der Verfügbarkeitseinträge zeigen ihre Überschriften statt Textschlüsseln.
ProjectForge 9.0.8 veröffentlicht
2026-10-19, Tag 9.0.8-RELEASE Nur Quellcode
-
Adressen und Adressen für Kampagnen in der neuen Oberfläche
-
Neue Verfügbarkeitseinträge mit Vertretungen und Schnellansicht
-
Kunden und Projekte unabhängig von Kostenträgern, mit Nummernkreisen
-
Auswahlboxen ohne inaktive Einträge, Namenstreffer zuerst
-
Fix: Manager:innen können Urlaube wieder genehmigen
-
Fix: Team-Kalender auf dem Gateway zeigen nur die für die Person sichtbaren Abwesenheiten
Überblick
-
Adressen: Liste, Ansicht und Formular in die neue Oberfläche migriert, mit vCard-Import, Übernahme aus eingefügtem Text, Exporten, Massenänderung und Favoriten-Stern in der Liste; auch die Adressbücher sind migriert.
-
Adressen für Kampagnen: in die neue Oberfläche migriert, mit einer Vergleichskampagne (z. B. der des Vorjahres), deren Werte sich per Massenänderung oder im Formular übernehmen lassen; Kampagnen können auf inaktiv gesetzt werden.
-
Verfügbarkeit: neue Einträge für Zeiträume eingeschränkter Verfügbarkeit (z. B. Elternzeit, Workation) mit Vertretungen und Konflikten, angezeigt im Kalender, in Team-Kalendern, im Team-Urlaubskalender und in einer Schnellansicht der nächsten Wochen.
-
Urlaube anderer: sichtbar für die Mitglieder der Gruppen der Person ab dem 1. Januar des laufenden Jahres; der Team-Urlaubskalender wählt Benutzer:innen aus, auch Freelancer.
-
Kunden und Projekte: systemweit eindeutige Projektnummern, auch ohne Kostenträger nutzbar, konfigurierbare Nummernkreise mit Vorschlag der nächsten freien Nummer.
-
Auswahlboxen und Listen: inaktive Einträge nur auf Wunsch, Namenstreffer zuerst und auch über Namensteile gefunden, lange Listen fordern einen Suchbegriff an; inaktive Einträge in Listen dünn und grau durchgestrichen.
-
Weiteres: Benachrichtigungsregeln beenden beim Deaktivieren ihre offenen Benachrichtigungen und legen das Ziel von „Öffnen“ fest, der Script-Editor vergleicht Versionen, die Wechselkurs-Schnittstelle wird im System-Dashboard getestet, neue Testdaten für das Setup.
-
Fixes: Genehmigung von Urlauben durch Manager:innen, Abwesenheiten in Team-Kalendern auf dem Gateway, Banner manueller Benachrichtigungsregeln, Verbrauchsbalken im Zeitbericht-Formular, Umwandlung von Terminen in Zeitberichte, veraltete Listenanfragen.
Alle Änderungen
-
Verfügbarkeit
-
Neue Einträge für Zeiträume eingeschränkter Verfügbarkeit (z. B. Elternzeit, Workation) für alle Benutzer:innen, auch Freelancer, mit Typ, Erreichbarkeit, Ort, einem Kommentar fürs Team und einem internen Kommentar, den nur die betroffene Person und HR sehen. Überlappende Einträge derselben Person werden abgelehnt. Sichtbar für die Mitglieder der Gruppen der Person nur ab heute (ein laufender Eintrag ohne seinen Beginn, der z. B. die Dauer einer Krankheit verraten könnte), vollständig für HR und die Vertretungen; den Typ sehen nur die betroffene Person und HR. Verlinkt mit der Urlaubsliste; das Urlaubskonto zeigt die Einträge der Person in seinen drei Jahren getrennt von den Urlauben, mit einem Button zum Hinzufügen.
-
Vertretungen eines Urlaubs: Wer nicht verfügbar ist, gilt wie im Urlaub als abwesend und führt zum Konflikt; andere Einträge (z. B. remote erreichbar) zeigt die Urlaubsseite an, ohne Konflikt.
-
Optionale Vertretungen eines Verfügbarkeitseintrags (alle Benutzer:innen, auch Freelancer): Sind an einem Tag alle abwesend (Urlaub oder nicht verfügbar), ist der Eintrag ein Konflikt – angezeigt im Formular mit den Abwesenheiten der Vertretungen, rot in der Liste mit Konfliktfilter und gezählt am Menüeintrag.
-
Kalender: eine gemeinsame Sicht auf Abwesenheiten – für die gewählten Gruppen und Personen werden Urlaube und Verfügbarkeitseinträge angezeigt, mit Auswahl, was zu sehen ist (Urlaube, nicht verfügbar, remote erreichbar usw.), nur von Personen, die mindestens eine Gruppe mit der betrachtenden Person teilen (HR: von allen). Den Typ eines Eintrags sehen nur die betroffene Person und HR, alle anderen den Status.
-
Team-Kalender mit eingebundenen Urlaubstagen und ihre Abonnements (ICS) zeigen auch die Verfügbarkeitseinträge, im Abonnement immer nur mit Status. Jeder Team-Kalender legt fest, welche Abwesenheiten er enthält (Urlaube, nicht verfügbar, remote erreichbar usw.; standardmäßig alle), in der Kalenderansicht wie im Abonnement.
-
Team-Urlaubskalender: mit derselben Auswahl der Abwesenheiten (Urlaube und die Verfügbarkeitseinträge nach Status) für die gewählten Personen, auf dem Bildschirm und im Excel-Export; nicht verfügbare als Abwesenheit, ihre Kommentare nur für diejenigen, die die Einträge selbst sehen dürfen.
-
-
System-Dashboard: Die Wechselkurs-Schnittstelle wird täglich getestet und als Kachel unter den Schnittstellen angezeigt, damit eine Änderung der Schnittstelle früh auffällt. Im Scheduler-Tab lässt sich der Test sofort starten.
-
Adressen für Kampagnen: Eine Vergleichskampagne (z. B. die des Vorjahres) zeigt ihre Werte und Bemerkungen neben denen der gewählten Kampagne, mit Filtern auf ihre Werte und auf die Unterschiede. Ihre Werte lassen sich für eine Auswahl per Massenänderung oder einzeln im Formular übernehmen. Adresskampagnen können auf inaktiv gesetzt werden: Ihre Werte sind dann nicht mehr änderbar.
-
Verfügbarkeit auf einen Blick
-
Eine Schnellansicht in Kalender, Urlaubskonto sowie Urlaubs- und Verfügbarkeitsliste zeigt, ob Kolleginnen und Kollegen verfügbar sind: eine oder mehrere Personen auswählen und deren Urlaube und Verfügbarkeitseinträge der nächsten 4, 8 oder 12 Wochen als Balken sehen, eine Zeile je Person, Wochenenden und Feiertage hinterlegt. Auswählbar sind die Personen der eigenen Gruppen, für HR und Finance alle. Ein Link führt weiter zum Team-Urlaubskalender für Gruppen und längere Zeiträume.
-
-
Script-Bearbeitung: Ein Button „Änderungen anzeigen“ in der Werkzeugleiste des Code-Editors vergleicht zwei Versionen des Codes nebeneinander (auf kleinen Bildschirmen untereinander): den bearbeiteten Code, die gespeicherte Version oder eines der Backups des Scripts.
-
Auswahlfelder (Gruppen, Benutzer, Mitarbeitende, Adressen, Adressbücher, Konten, Bankkonten): Einträge, deren Name zum Suchbegriff passt, werden zuerst angezeigt, vor Einträgen, die nur über andere Felder wie Organisation oder E-Mail gefunden werden. Gruppen, Benutzernamen, Projekte, Kundenkürzel, Adressbücher, Kalender und Bankkonten werden auch über Teile ihres Namens gefunden, z. B. PF_Controlling über „controlling“.
-
Auswahlboxen für Benutzer:innen und Gruppen: Deaktivierte oder gelöschte Benutzer:innen und Gruppen werden durchgestrichen angezeigt, in den gewählten Werten wie in den Suchergebnissen.
-
Listen: Beendete Projekte und nicht mehr aktive Kunden werden durchgestrichen angezeigt, wie in den Auswahlboxen. Nicht mehr aktive, aber nicht gelöschte Einträge (beendete Projekte, inaktive Kunden, stornierte Rechnungen, abgelehnte oder ersetzte Aufträge, inaktive Benachrichtigungsregeln, deaktivierte Verweise) werden jetzt dünn und grau durchgestrichen und sind so von gelöschten Einträgen unterscheidbar, jeweils mit eigenem Legendeneintrag.
-
Monatsbericht: Ist der Konfigurationsparameter „Zeitberichte ohne Kost2 melden?“ aktiviert, werden ohne Kost2 gebuchte Einträge markiert, in der Ansicht wie im PDF-Export.
-
Auswahlboxen
-
Eine Auswahlbox mit vielen Einträgen (30 oder mehr, z. B. User oder Kost2) listet vor der Eingabe nicht mehr ihre ersten Einträge alphabetisch auf, sondern fordert zur Eingabe eines Suchbegriffs auf. Kurze Listen erscheinen beim Öffnen weiterhin vollständig.
-
-
Team-Urlaubskalender: Personen werden als Benutzer:innen ausgewählt, und die Mitglieder einer gewählten Gruppe werden auch ohne Mitarbeiterdatensatz (z. B. Freelancer) mit ihren Verfügbarkeitseinträgen angezeigt, im Diagramm wie im Excel-Export. Bisher gespeicherte Auswahlen und Favoriten werden übernommen.
-
Adressen
-
Liste, Ansicht und Formular der Adressen sind in die neue Oberfläche migriert, samt vCard-Import, Übernahme von Daten aus einem eingefügten Text oder einer vCard, Bild, Exporten (Excel, vCards, CardDAV-Zugang) und Massenänderung.
-
Der Favoriten-Stern einer Adresse lässt sich direkt in der Liste und in der Ansicht umschalten.
-
Direktwahl und SMS an eine Telefonnummer einer Adresse öffnen sich in einem Dialog über der Liste bzw. Ansicht.
-
Ein hochgeladenes Bild geht nicht mehr verloren, wenn das Formular erst mehr als eine Minute nach dem Hochladen gespeichert wird.
-
-
Adressbücher: Liste und Formular der Adressbücher sind in die neue Oberfläche migriert. Die Liste zeigt die Benutzer:innen und Gruppen mit Voll- und Lesezugriff in eigenen Spalten.
-
Listen: Bei Entitäten mit weniger als 100.000 Einträgen bietet das Zahnradmenü nur noch die Voll-Reindizierung des Suchindex an, für alle Benutzer — sie dauert dort nur wenige Sekunden. Größere Entitäten behalten die Reindizierung der neuesten Einträge und die volle für Administratoren.
-
Benachrichtigungsregeln
-
Inaktive Regeln sind in der Liste durchgestrichen.
-
Das Deaktivieren einer Regel beendet ihre offenen Benachrichtigungen: Deren verzögerte Schritte (z. B. die E-Mail) werden nicht mehr gesendet.
-
„Jetzt auslösen“ ist nur noch bei aktiven Regeln möglich.
-
Zustellung: Das Entfernen eines Schritts ändert nicht mehr die Verzögerung des folgenden (sie konnte 0 werden, also sofort gesendet).
-
„Test an mich“ weist darauf hin, dass der Test sofort über alle Kanäle geht, auch per E-Mail.
-
Je Regel ist wählbar, wohin der Button „Öffnen“ ihrer Benachrichtigungen führt: zur Seite des Auslösers, zu einem beliebigen Menüeintrag oder kein Button.
-
„Öffnen“ ist ein Button neben „Bestätigen“ statt eines Links unter dem Text.
-
-
Setup mit Testdaten: neue, umfangreichere Beispieldaten (Kunden, Projekte, Aufträge, Rechnungen, ein halbes Jahr Zeitberichte, Urlaube, Kalender, Liquiditätsplanung) mit Datumswerten relativ zum Tag des Setups. Die Beispielnutzer:innen erhalten das Admin-Passwort. Die Setup-Seite zeigt den Fortschritt an. Die Standard-Plugins sind direkt nach dem Setup aktiv, ohne Neustart.
-
Urlaube anderer: Die Mitglieder der Gruppen der Person sehen sie ab dem 1. Januar des laufenden Jahres (bisher bis 31 Tage nach ihrem Ende), im Kalender, in Team-Kalendern und ihren Abonnements gleichermaßen. Manager und Vertretungen eines Urlaubs, HR und Finanzen sehen ihn vollständig, jetzt auch in der Urlaubsliste (auch HR mit Leserecht, Finanzen und Controlling). Der Team-Urlaubskalender zeigt Finanzen die Verfügbarkeitseinträge anderer wie allen anderen: von den Mitgliedern der eigenen Gruppen, ab heute.
-
Kunden und Projekte unabhängig von Kostenträgern
-
Jedes Projekt hat eine systemweit eindeutige Projektnummer. Kunden und Projekte sind auch ohne Kostenträger (Kost2) nutzbar, mit frei vergebenen Nummern.
-
Nummernkreise für Kunden und Projekte und ihre Zuordnung zu Kost2 werden in der application.properties konfiguriert (projectforge.fibu.number-ranges.*), einschließlich der Stellenzahl der Projekte je Kunde und der Segmente der Kost2-Nummern, z. B. 1.#...
-
Ohne konfigurierte Nummernkreise behalten Installationen, die die bisherigen Kreise 4... (intern) und 5... (Kunden 0-999) für Kostenträger von Projekten genutzt haben, diese bei; sonst sind Kunden- und Projektnummern frei, mit oder ohne Kostenträger.
-
Neue Kunden und Projekte bekommen die nächste freie Nummer ihres Nummernkreises angeboten.
-
Fakturaquote: Optional zählt die Zeit auf fakturierten Kost2-Arten von Kundenprojekten als fakturiert, unabhängig von der Kost2-Nummer (projectforge.invoicing-quota.billed-by-invoiced-kost2-types).
-
Deckungsbeitrag: Kost2-Zuordnungen akzeptieren die Nummern so, wie ihr Nummernkreis sie gliedert (z. B. 1.0007.3).
-
-
Auswahlboxen für Benutzer, Mitarbeiter, Projekte, Kunden und Kostenträger bieten inaktive Einträge (deaktivierte Benutzer, ausgeschiedene Mitarbeiter, beendete Projekte und Kunden) nicht mehr an. Eine Checkbox „Inaktive anzeigen“ in der Auswahlbox blendet sie wieder ein; bei Benutzern und Mitarbeitern steht sie nur HR, Finanzen, Orga und Admins zur Verfügung. Ein bereits gesetzter inaktiver Eintrag bleibt auswählbar.
-
Adressen für Kampagnen: Liste, Formular und Massenänderung auf die neue Oberfläche migriert. Die Adresse öffnet sich aus den Spalten Firma und Adresse in einem Dialog; die bisherige Seite bleibt als klassische Version erreichbar.
-
Zeitbericht-Formular: Der Verbrauchsbalken der Aufgabe ist nach dem Buchen aktuell und zählt gelöschte Zeitberichte nicht mehr mit.
-
Benachrichtigungsregeln
-
Eine manuelle Regel mit der Anzeige „Banner bis erledigt“ lässt ihre Empfänger:innen den Banner immer als erledigt markieren: Sonst beendete ihn nichts, er blieb für immer stehen.
-
Das Deaktivieren oder Löschen einer Regel beendet ihre offenen Benachrichtigungen sofort, nicht erst beim nächsten stündlichen Lauf.
-
Bearbeiter:innen einer Regel können offene Benachrichtigungen im Protokoll der versendeten Benachrichtigungen beenden, einzeln oder alle einer Regel.
-
-
Auftragsstatistik: Auf einem niedrigen Bildschirm (etwa einem Smartphone im Querformat) scrollt die Seite, sodass die Grafiken erreichbar sind.
-
Urlaube: Manager:innen können Urlaube wieder genehmigen und ablehnen; Einträge, die ohne Angabe zu halben Tagen gespeichert waren, wurden mit fehlendem HR-Recht abgewiesen.
-
An das Gateway übertragene Kalender: Ein Team-Kalender mit Abwesenheiten wird für jede Person erzeugt und zeigt genau die Abwesenheiten, die diese Person sehen darf; zuvor konnten es die einer anderen Person mit demselben Zugriff auf den Kalender sein.
-
Umwandlung eines Termins in einen Zeitbericht: Ein Termin, der an einem anderen Tag endet, ergibt keinen mehrtägigen Zeitbericht mehr („Maximal zugelassene Dauer überschritten“); die Endzeit wird am Starttag übernommen.
-
Listen: Nach schnellem Hin- und Herblättern (z. B. ein Jahr zurück und wieder vor) konnte eine Liste aus einem Eintrag mit dem übersprungenen Filter zurückkommen, wenn dessen veraltete Anfrage zuletzt beantwortet wurde.
ProjectForge 9.0.7 veröffentlicht
2026-10-14, Tag 9.0.7-RELEASE Nur Quellcode
-
Benutzer und Teamkalender in der neuen Oberfläche
-
Team-Urlaubskalender auf der Seite, druckbar
-
Hinweis und Benachrichtigung für Zeitberichte ohne Kost2
-
Fix: zusammen mit Gruppen geänderte Rechte werden korrekt gespeichert
-
Fix: strengere Zugriffsprüfungen bei Urlauben
Überblick
-
Benutzer: Liste und Formular in die neue Oberfläche umgezogen; die Rechte passen sich sofort an die zugeordneten Gruppen an, Tokens werden im Formular erneuert und Geräte abgemeldet, Passwörter in einem Dialog geändert; alternative E-Mail-Adressen anderer User werden abgelehnt.
-
Teamkalender: Liste und Formular in die neue Oberfläche umgezogen, mit dem Abonnement-Link im Formular und den Abonnements von Zeitberichten, Kalenderwochen und Feiertagen im Export-Menü.
-
Team-Urlaubskalender: Die Urlaube der gewählten Mitarbeitenden und Gruppen je Quartal oder Jahr mit einstellbarer Tagesbreite, in Seitenbreite druckbar, Auswahlen als Favoriten; Benutzer ohne HR- oder Finanzrechte wählen nur aus ihren eigenen Gruppen.
-
Urlaub: Tagesbalken im Urlaubskonto, lange Urlaube in den Balken eingepasst; die Urlaubsliste von Benutzern ohne HR- oder Finanzrechte zeigt nur die für sie relevanten Urlaube.
-
Zeitberichte ohne Kost2: optionaler Hinweis beim Speichern und tägliche Benachrichtigungsregel, eingeschaltet über einen neuen Konfigurationsparameter; die Konfigurationsliste lässt sich nach Bereich filtern.
-
System-Dashboard: Stummgeschaltete, ignorierte und erledigte Probleme lassen sich über die Anzahlen der Kennzahlen und Subsystem-Kacheln anzeigen.
-
Fixes: zusammen mit Gruppen geänderte Rechte, strengere Zugriffsprüfungen, Übertrag und Mails bei Urlauben, Excel-Export und automatische Buchung von Urlauben, Deckungsbeitrag für Kontakte von Aufträgen, Breite des Bearbeitungsdialogs im Kalender.
Alle Änderungen
-
Zeitberichte ohne Kost2
-
Ein ohne Kost2 gespeicherter Zeitbericht (dem Strukturelement ist noch keine zugeordnet) zeigt einen Hinweis: Er fehlt im Lohn-Export, das Projektmanagement oder die Buchhaltung muss eine Kost2 zuordnen.
-
Benachrichtigungen: neuer Regeltyp für Zeitberichte ohne Kost2 in den letzten Monaten. Täglich ausgeführt, kommt eine als erledigt markierte Benachrichtigung am nächsten Tag wieder und verschwindet von selbst, sobald alle diese Zeitberichte eine Kost2 haben.
-
Neuer Konfigurationsparameter „Zeitberichte ohne Kost2 melden?“ (standardmäßig aus, nur bei freigeschalteter Kostenrechnung sichtbar): Hinweis beim Speichern und Benachrichtigungsregel greifen nur, wenn er aktiviert ist. Buchen ohne Kost2 bleibt möglich.
-
Konfiguration: Die Liste lässt sich nach Bereich filtern (Pillen wie Finanzen oder Zeitberichte).
-
-
Kalender: Der Bearbeitungsdialog für Zeitberichte und Termine erstreckt sich auf großen Bildschirmen nicht mehr über die gesamte Breite.
-
System-Dashboard: Stummgeschaltete Probleme lassen sich mit einem eigenen Statusfilter anzeigen, ein Klick auf die Anzahl stummgeschalteter, ignorierter oder erledigter Probleme einer Kennzahl oder Subsystem-Kachel listet genau diese, und ein Problem, das nach einer Statusänderung aus der Liste fällt, lässt sich über einen Hinweis wieder anzeigen.
-
Benutzer:innen, alternative und frühere E-Mail-Adressen: Eine Adresse, die schon ein anderer User verwendet, wird abgelehnt, die Hauptadresse wird nicht doppelt gespeichert.
-
Urlaubskonto: Tagesbalken
-
Die Urlaube im Urlaubskonto zeigen neben den Tagen ihren Zeitraum als Balken wie in der Urlaubsliste: Arbeitstage, Wochenenden und Feiertage sowie die Tage ohne anwesende Vertretung.
-
Ein Urlaub über vier Wochen wird mit schmaleren Tagen in derselben Breite gezeichnet (bis zu 13 Wochen), statt nach vier Wochen abgeschnitten zu werden, auch in der Urlaubsliste.
-
-
Team-Urlaubskalender: Die Urlaube der gewählten Mitarbeitenden und Gruppen werden jetzt auch direkt auf der Seite angezeigt, je Quartal oder Kalenderjahr und mit einstellbarer Tagesbreite (bis zum ganzen Zeitraum in Fensterbreite); der Excel-Export beginnt mit dem angezeigten Zeitraum, und der Kalender lässt sich in Seitenbreite drucken (oder als PDF speichern). Auswahlen von Mitarbeitenden und Gruppen lassen sich als Favoriten speichern. Benutzer ohne HR- oder Finanzrechte wählen nur aus ihren eigenen Gruppen und sehen keine Vorjahre mehr. Urlaube, die vor einem Blatt des Excel-Exports beginnen, erscheinen jetzt auch darauf.
-
Kalender: Liste und Formular der Teamkalender sind in die neue Oberfläche migriert. Ein gespeicherter Kalender zeigt seinen Abonnement-Link mit einem Schalter für die Erinnerungen, die Liste bietet im Export-Menü das Abonnement von Zeitberichten, Kalenderwochen und Feiertagen an.
-
Benutzer: Liste und Formular der Benutzerverwaltung sind in die neue Oberfläche migriert. Die angebotenen Rechte passen sich sofort an die zugeordneten Gruppen an, Tokens lassen sich direkt im Formular erneuern und Geräte abmelden; Passwörter werden in einem Dialog geändert, hier wie auf der eigenen Kontoseite.
-
Urlaubsliste: Benutzer ohne HR- oder Finanzrechte sehen ihre eigenen Urlaube, die von ihnen zu genehmigenden oder zu vertretenden sowie die Urlaube ihrer Vertretungen, die sich mit den eigenen überschneiden, nicht mehr alle aktuellen Urlaube ihrer Gruppenkollegen.
-
Deckungsbeitrag: Ansprechpartner und weitere Kontakte eines Auftrags sehen den Deckungsbeitrag seines Projekts, wie im Auftragsbuch. Die Zugriffsprüfung von Aufträgen lädt deren Positionen und Zahlungspläne nicht mehr einzeln nach, z. B. für die Forecast-Grafik und den Deckungsbeitrag.
-
Benutzer: Rechte, die zusammen mit den Gruppen geändert werden, werden jetzt korrekt gespeichert. Ein beim Gruppeneintritt gesetztes Recht ging verloren, und das Recht einer verlassenen Gruppe blieb gesetzt.
-
Urlaub: strengere Zugriffsprüfungen (bei laufenden oder vergangenen Einträgen lässt sich kein anderer Manager mehr eintragen, Löschen und Wiederherstellen richten sich nach dem gespeicherten Eintrag und Wiederherstellen wird wieder geprüft, Urlaube von Vertretungen zählen immer als Konflikt, nur mit Zeitraum und Status, wo sie sonst nicht lesbar sind, Urlaubskontokorrekturen erfordern Schreibrecht); der Resturlaub des Vorjahres wird bei Urlauben über das Ende der Übertragsfrist richtig angerechnet und nach späteren Änderungen neu berechnet; Sonderurlaub zählt bei der Kollisionsprüfung mit; abgelehnte Urlaube erscheinen nicht mehr in Kalendern und Abos; der Kommentar geht nicht mehr per Mail an Vertretungen, entfernte Manager und Vertretungen werden benachrichtigt. Excel-Export: Wochenenden und Feiertage im Urlaub, Halbtage und halbe Arbeitstage werden richtig dargestellt, genehmigte Urlaube haben Vorrang vor solchen in Abstimmung. Automatische Urlaubsbuchung der Zeitberichte: nicht mehr vom Urlaub abgedeckte Tage werden entfernt, eine nicht buchbare Urlaubsaufgabe lässt den Lauf fehlschlagen statt Tage zu überspringen, der nächste erfolgreiche Lauf holt alle seither verpassten Tage nach, gebucht wird nach der Zeitzone des Benutzers. Das Urlaubskonto lädt schneller. Team-Urlaubskalender: für Screenreader lesbar, die gespeicherte Auswahl wird nicht mehr durch einen veralteten Seitenstand überschrieben.
ProjectForge 9.0.6 veröffentlicht
2026-10-14, Tag 9.0.6-RELEASE Nur Quellcode
-
Urlaubsanträge und Urlaubskonto in der neuen Oberfläche
-
Lanes-&-Planes-Schnittstelle für Mitarbeitende und Kostenstellen
-
Datentransfer-Dateien verschlüsselt gespeichert
-
Passwortänderung: Schutz vor Durchprobieren, andere Sitzungen beendet
-
Fix: Deckungsbeitrag zählt nach Buchungsperiode
Überblick
-
Urlaubsanträge: Liste und Formular in die neue Oberfläche umgezogen, mit Balken über den Kalendertagen, die die Tage ohne Vertretung zeigen, einem Jahresfilter zum Vor- und Zurückblättern und dem Resturlaub, der während der Eingabe mitläuft.
-
Urlaubskonto: in die neue Oberfläche umgezogen, mit dem nächsten Jahr in der Statistik und rot markierten Urlaubsanträgen ohne Vertretung.
-
Lanes & Planes: Die aktiven Mitarbeitenden werden mit ihren Kostenstellen, Kostenträgern und ihrem Kreditorenkonto übertragen, abgesichert gegen verdächtig kleine User-Listen und E-Mail-Änderungen; Mitarbeitende haben ein neues Feld Kreditorenkonto.
-
Benutzer:innen: neue Felder alternative und frühere E-Mail-Adressen, durchsuchbar und im Excel-Export.
-
Datentransfer: Dateien im Dateisystem werden komprimiert und können verschlüsselt gespeichert werden (AES-256).
-
Passwörter: Passwort ändern und WLAN-Passwort ändern in der neuen Oberfläche; ein falsches altes Passwort zählt als Fehlanmeldung, und eine Passwortänderung beendet die anderen Sitzungen.
-
Systemverwaltung: Systemstatistik lädt sofort, Kopiervorlagen für die System-Warnmeldung; das Docker-Image basiert auf Java 21.
-
Korrekturen: Deckungsbeitrag nach Buchungsperiode, Jahresfilter der Urlaubsanträge und Verträge, Listen mit veraltetem Filter, Sortierung der Urlaubsliste, abgelehnte Urlaubsanträge im Urlaubsexport, Kostenträger-Cache im Zeitbuchungsformular, Schlüssel der Telefonnummer-Suche und CSRF-Prüfung beim endgültigen Löschen.
Alle Änderungen
-
Mitarbeitende: neues Feld Kreditorenkonto (das DATEV-Konto der bzw. des Mitarbeitenden, z. B. für Reisekosten), auch als Spalte in der Liste und im Excel-Export.
-
Lanes-&-Planes-Schnittstelle
-
Die aktiven Mitarbeitenden werden mit den allgemeinen Kost1 als Kostenstellen, den allgemeinen Kost2 und den Kost2, auf die sie buchen dürfen (über Muster wie 5..02 einschränkbar), als Kostenträger, ihrer Kost1 als Referenz-Kostenstelle, ihrem Kreditorenkonto und ihrem Spitznamen als Kürzel übertragen. Die Nummern werden ohne Punkte übertragen, wie es der DATEV-Export von Lanes & Planes braucht. Die Einstellungen pflegt die Buchhaltung im Konfigurationsparameter „Lanes & Planes“, Aktivierung und API-Key stehen in projectforge.lanesandplanes..
-
Im Konfigurationsparameter können weitere User eingetragen werden, die keine Mitarbeitenden sind (z. B. eine externe Buchhaltung). Sie werden nur mit Name und E-Mail übertragen, werden also nicht deaktiviert, und ihre Rolle und Manager bleiben erhalten. Der Service-Admin und Gastprofile von Lanes & Planes können nicht eingetragen werden: Der Import lässt sie unberührt.
-
Kostenstellen und Kostenträger, die es in Lanes & Planes schon gibt, können mit ihren Namen im Konfigurationsparameter eingetragen werden (aus dem User-Export eingefügt). Sie werden unter diesem Namen übertragen, Lanes & Planes verwendet sie also weiter, statt sie als Dopplung abzulehnen.
-
Eine geänderte E-Mail von Mitarbeitenden wird zurückgehalten (weiter wird die alte übertragen, mit Hinweis im Problem-Dashboard), bis sie in Lanes & Planes geändert und im Konfigurationsparameter bestätigt wurde. Sonst würde Lanes & Planes den User deaktivieren und neu anlegen.
-
Eine verdächtig kleine User-Liste wird nicht übertragen (Lanes & Planes deaktiviert alle nicht übertragenen User): Geprüft wird gegen eine Mindestanzahl und gegen den letzten Push, auch nach einem Neustart von ProjectForge. Ein fehlender Push-Status wird im Problem-Dashboard gemeldet.
-
-
Datentransfer: Im Dateisystem abgelegte Dateien werden komprimiert und können verschlüsselt gespeichert werden (AES-256, Schlüssel in projectforge.files.fileSystemEncryptionKey), damit Backups des Dateisystems sie nicht im Klartext enthalten.
-
Benutzer:innen: neue Felder alternative und frühere E-Mail-Adressen (durch Kommas getrennt, z. B. nach einer Namensänderung), auch durchsuchbar und im Excel-Export.
-
Systemverwaltung: zwei Kopiervorlagen für die System-Warnmeldung (Wartungsarbeiten, neues Release), mit der nächsten vollen Stunde und dem nächsten Release vorbelegt.
-
Passwort ändern und WLAN-Passwort ändern sind Seiten der neuen Oberfläche und zeigen, wann das Passwort zuletzt geändert wurde.
-
Systemstatistik
-
Die Datenbank-Kachel erscheint sofort: Die Zahl der Historierungseinträge und -attribute ist die Schätzung der Datenbank (~) statt einer minutenlangen Zählung.
-
Noch ladende Kacheln zeigen ihre Überschrift und einen Spinner.
-
CPU-Last und System-Load als Balken.
-
-
Urlaubskonto
-
In der neuen Oberfläche; die Statistik enthält jetzt auch das nächste Jahr.
-
Urlaubsanträge mit einem Tag ohne Vertretung sind rot markiert.
-
Ein aus dem Urlaubskonto geöffneter Urlaubsantrag oder Kontokorrektureintrag führt dorthin zurück.
-
-
Urlaubsanträge
-
Liste und Formular in der neuen Oberfläche; Arbeitstage, Resturlaub und die Urlaube der Vertretungen folgen dem Formular während der Eingabe.
-
Das Formular zeigt den Urlaub und die überlappenden Urlaube der Vertretungen als Balken über den Kalendertagen, mit Wochenenden, Feiertagen und den Tagen ohne Vertretung.
-
Die Liste zeigt jeden Urlaubsantrag als Balken über seinen Tagen, die Tage ohne Vertretung rot.
-
Angeboten werden nur die Status, die gesetzt werden dürfen.
-
Ein aus dem Kalender geöffneter Urlaubsantrag führt beim Speichern dorthin zurück.
-
-
Urlaubsanträge
-
Zeitraum und Mitarbeiter stehen immer in der Filterzeile der Liste; der Zeitraum findet jeden Urlaubsantrag, der ihn berührt.
-
Der Zeitraum ist standardmäßig ein Kalenderjahr, die Liste beginnt mit dem laufenden: Jedes eingegebene Datum ergibt sein Jahr, und die Pfeile blättern ein Jahr zurück oder vor. Stattdessen sind auch ein Monat oder ein eigener Zeitraum wählbar.
-
Das Formular zeigt die verfügbaren Urlaubstage auch nach dem gerade bearbeiteten Antrag, rot, wenn sie nicht reichen.
-
-
Docker-Image: basiert auf Java 21 (Eclipse Temurin 21 JRE) statt Java 17. ProjectForge läuft weiterhin ab Java 17.
-
Deckungsbeitrag (Auftragsbuch und Scripte)
-
Buchungssätze zählen im Monat ihrer Satznummer (Buchungsperiode), nicht im Monat ihres Datums: Eine Rechnung vom September, die auf August gebucht ist, zählt jetzt als im August gebucht.
-
Scripte berücksichtigen den laufenden Monat bis heute mit vorläufigen Werten (Zeitberichte und ungebuchte Rechnungen).
-
-
Zeitbuchungsformular: Die Auswahl eines Strukturelements konnte vereinzelt mit "Session/EntityManager is closed" scheitern, während der Kostenträger-Cache neu geladen wurde.
-
Listen
-
Eine Liste kam aus einem Eintrag mit einem veralteten Filter zurück, wenn zuvor auf einen kurz davor verwendeten Filter zurückgeblättert worden war (z. B. ein Jahr zurück und wieder vor).
-
-
Sicherheit
-
Telefonnummer-Suche (/rsPublic/phoneLookup) ist deaktiviert, bis ein eigener Schlüssel in projectforge.phoneLookupKey konfiguriert ist; der bisherige Platzhalter als Vorgabe wird nicht mehr akzeptiert.
-
Endgültiges Löschen prüft das CSRF-Token wie alle anderen schreibenden Aktionen.
-
-
Urlaubsexport
-
Abgelehnte Urlaubsanträge werden nicht mehr exportiert.
-
-
Urlaubsliste: Die Sortierung nach den Spalten Status und Tage hatte keine Wirkung.
-
Jahresfilter
-
Der Jahresfilter der Urlaubsanträge und der Verträge greift wieder; in der neuen Oberfläche wurde er ignoriert.
-
-
Eigenes Passwort oder WLAN-Passwort ändern: Ein falsches altes Passwort zählt als Fehlanmeldung und sperrt weitere Versuche für eine Weile, wie bei der Anmeldung.
-
Eine Passwortänderung (selbst, durch einen Admin oder per Passwort-Zurücksetzen) beendet jetzt auch die anderen offenen Sitzungen des Benutzers, nicht nur die angemeldet gebliebenen Geräte. Die Sitzung, in der das eigene Passwort geändert wurde, bleibt angemeldet.
ProjectForge 9.0.5 veröffentlicht
2026-10-13, Tag 9.0.5-RELEASE QuellcodeJar (SourceForge)
SHA-256 von projectforge-application-9.0.5.jar: 044f60907c25c056a44baf6d457c6b951190ef7fd36f795359bbf044026086a0
-
Urlaub automatisch als Zeitbericht gebucht
-
Adminprotokoll mit Logdatei-Suche, jetzt im System-Dashboard
-
Mein Zugang in der neuen Oberfläche
-
Hängende Cache-Aktualisierungen und Scheduler-Läufe lassen sich beenden
-
Fix: aktuelle Wechselkurse werden wieder vorgeschlagen
Überblick
-
Urlaub: Ein nächtlicher Job bucht vergangene genehmigte Urlaubstage ohne Zeitberichte, einzuschalten in der Konfiguration; ungebuchte Urlaubstage zählen im Monatsbericht und in den Benachrichtigungen wieder als Tage ohne Zeitberichte, getrennt aufgeführt und per Klick buchbar.
-
Konfiguration: Parameter nach Kategorien gruppiert, mit Angabe, wer sie sehen und ändern darf; die bisherigen Urlaubseinstellungen aus projectforge.properties werden einmalig übernommen.
-
Adminprotokoll: ein Tab des System-Dashboards; Suche in den Logdateien der letzten Tage, Kontext jedes Eintrags direkt darunter, anpassbare Tabellen.
-
System-Dashboard: Hängende Cache-Aktualisierungen und Scheduler-Läufe lassen sich beenden, blockierte Datenbankabfragen brechen nach einer Zeitüberschreitung ab, eine fehlgeschlagene Cache-Aktualisierung wird frühestens nach einer Minute wiederholt; der letzte erfolgreiche Lauf eines Jobs wird angezeigt.
-
Mein Zugang: in die neue Oberfläche umgezogen, mit den angemeldet bleibenden Geräten, der Nutzung von Zugangsschlüsseln und längeren GPG- und SSH-Schlüsseln.
-
Benachrichtigungen: neue Regel für Passwörter, die eine einstellbare Anzahl von Tagen nicht geändert wurden.
-
Changelog: die Releases einer Hauptversion mit dem neuesten zuerst.
-
Korrekturen: Vorschläge für Wechselkurse, JCR-Migration in der ausgelieferten Anwendung, Sortierung der Liste der Merlin-Vorlagen.
Alle Änderungen
-
Adminprotokoll
-
Live-Ansicht: Zu jedem Eintrag lässt sich der Kontext aufklappen, die Ereignisse davor und danach im Speicher, alle oder nur die derselben Benutzer:in bzw. desselben Loggers; mit Logger-Spalte.
-
Suche in den Logdateien der letzten Tage nach Text, Zeitraum, Level und Logger-Kategorie (einschließen oder ausblenden), auch für die Tage vor dem Serverstart.
-
Zu jedem Treffer lässt sich der Kontext direkt darunter aufklappen: die Einträge davor und danach, alle oder nur die derselben Benutzer:in bzw. desselben Loggers, mit Blättern zu älteren und neueren. Auch für die Vorkommen einer Störung des System-Dashboards.
-
Die Tabellen der Live-Ansicht und der Logdatei-Suche lassen sich anpassen (Spaltenbreite, Pinnen, Ein- und Ausblenden), pro Benutzer:in gespeichert wie bei allen anderen Listen.
-
-
System-Dashboard
-
Eine hängende Cache-Aktualisierung oder ein hängender Scheduler-Lauf lässt sich beenden und kann danach ohne Neustart sofort wieder laufen.
-
Cache-Aktualisierungen und Scheduler-Läufe warten nicht mehr endlos auf eine Datenbanksperre: Eine blockierte Abfrage bricht nach einer Zeitüberschreitung ab (standardmäßig 60 Sekunden).
-
Nach einer fehlgeschlagenen Cache-Aktualisierung liefert der Cache seine aktuellen Daten und versucht es frühestens nach einer Minute erneut, statt bei jedem Zugriff.
-
-
Genehmigter Urlaub kann automatisch als Zeitbericht gebucht werden: Ein nächtlicher Job bucht die vergangenen Urlaubstage ohne jeden Zeitbericht auf das eingestellte Urlaubs-Strukturelement und den Urlaubs-Kostenträger, nie im Voraus und nie weiter zurück als bis zu seinem letzten erfolgreichen Lauf, ein gelöschter Urlaubs-Zeitbericht wird also nicht erneut gebucht. Finance und Controlling schalten dies in der Konfiguration ein (maximale Anzahl Tage zurück, Urlaubs-Strukturelement und -Kostenträger); die bisherigen Einstellungen in projectforge.properties werden einmalig in die Konfiguration übernommen (eine danach noch gesetzte Property wird ignoriert und bei jedem Start als Störung im System-Dashboard gemeldet, damit sie entfernt werden kann), ungültige Werte werden beim Speichern abgewiesen. Die Konfigurationsliste gruppiert die Parameter nun nach Kategorien und zeigt, wer welchen Parameter sehen und wer ihn ändern darf. Die Statistik der geplanten Jobs merkt sich zudem den letzten erfolgreichen Lauf; nach einem fehlgeschlagenen Lauf zeigt das System-Dashboard, wann der Job zuletzt erfolgreich war.
-
Benachrichtigungen: Eine neue Regel benachrichtigt Benutzer, deren Passwort länger als eine einstellbare Anzahl von Tagen nicht geändert wurde, mit einem Link zum Ändern. Die Benachrichtigung erledigt sich, sobald das Passwort geändert wird.
-
Changelog: Die Releases einer Hauptversion stehen mit dem neuesten zuerst, das eröffnende Release zuletzt, verlinkt oben bei der Hauptversion; auch die Release-Notes eines Updates verlinken darauf.
-
Das Adminprotokoll ist jetzt ein Tab des System-Dashboards; sein eigener Menüeintrag entfällt, alte Links führen auf den Tab.
-
Genehmigte Urlaubstage ohne Zeitberichte zählen im Monatsbericht und in den Benachrichtigungen über fehlende Zeitberichte wieder als Tage ohne Zeitberichte. Der Monatsbericht führt Arbeitstage und Urlaubstage ohne Zeitberichte getrennt auf, ein Klick auf die Urlaubstage öffnet den Dialog zum Buchen mehrerer Tage; Benachrichtigungstexte können alle Tage, nur die Urlaubstage oder nur die übrigen Arbeitstage ohne Zeitberichte aufführen.
-
Mein Zugang
-
In die neue Oberfläche umgezogen, alte Links führen auf die neue Seite. Nach dem Speichern bleibt die Seite offen, eine geänderte Sprache, Zeitzone oder ein geändertes Datumsformat wirkt sofort.
-
Angemeldet bleibende Geräte werden mit Browser, IP-Adresse und letztem Zugriff aufgelistet, das aktuelle Gerät ist markiert; jedes lässt sich einzeln abmelden.
-
Die Nutzung eines Zugangsschlüssels wird als Tabelle der Clients angezeigt (Browser, IP-Adresse, letzter Zugriff, Anzahl der Zugriffe).
-
Die Sprache lässt sich wieder auf die Voreinstellung des Browsers zurücksetzen.
-
Ein leeres Datums- oder Uhrzeitformat nennt die geltende Voreinstellung; die Mobilnummer verweist auf die Einrichtung des zweiten Faktors, wo sie geändert wird.
-
-
Die Migration der Dateien aus dem JCR schlug in der ausgelieferten Anwendung mit "No LoginModule found" fehl.
-
Währungsumrechnung: Beim Anlegen eines neuen Umrechnungskurses oder Ändern des Gültig-ab-Datums werden wieder aktuelle Kurse vorgeschlagen (die Kurs-API war umgezogen).
-
Merlin-Vorlagen: Die Liste lässt sich nach den Spalten Admins, Benutzer und Gruppen sortieren (sie blieb bisher unsortiert).
-
Mein Zugang: Öffentliche GPG- und SSH-Schlüssel dürfen jetzt bis zu 20.000 Zeichen lang sein (bisher 4.096, ein längerer GPG-Schlüssel ließ sich nicht speichern); ein immer noch zu langer Schlüssel wird als Fehler am Feld angezeigt.
Die aktuellen Binaries gibt es auf GitHub, Sourceforge und Docker Hub.
ProjectForge 9.0.4 veröffentlicht
2026-10-11, Tag 9.0.4-RELEASE QuellcodeJar (SourceForge)
SHA-256 von projectforge-application-9.0.4.jar: 47595cb45f18b15f3830463a2177ddfc7d2ccfc3b74f4339c289e50e16cd6d78
-
Benachrichtigungen (experimentell) in der App und per E-Mail
-
System-Dashboard mit Statistik, Scheduler und Caches
-
Scripte in der neuen Oberfläche, auch als Buttons auf ausgewählten Seiten
-
Zeitberichte: keine Überlappungen mehr auf derselben Kost2
-
Fix: von Nutzern eingegebene Texte in Mails nicht mehr als HTML übernommen
Überblick
-
Benachrichtigungen (experimentell): Regeln benachrichtigen in der App (Toast, Banner, Zähler im Menü) und per E-Mail, auch als Kaskade; erste Regeln für fehlende Zeitberichte und verfallende Urlaubstage, dazu manuelle Nachrichten.
-
System-Dashboard: Aus dem Problem-Dashboard wird das System-Dashboard, mit der Systemstatistik und den neuen Tabs Scheduler und Caches; Störungen lassen sich gesammelt bearbeiten, die Kacheln zählen nur offene.
-
Scripte: Liste, Formular und Ausführungsseiten in der neuen Oberfläche mit Code-Editor und Werkzeugleiste; die Ausgabe hat einen eigenen Reiter; ein Script kann als Button auf ausgewählten Seiten erscheinen und erhält deren Filter.
-
Zeitberichte: Buchungen auf derselben Kost2 dürfen sich nicht mehr überlappen; neuer Konfigurationsparameter für Überlappungsgruppen.
-
Rich-Text: Markdown wird formatiert angezeigt und vom Editor übernommen, der jetzt auch Überschriften und Tabellen bietet; auch für die Meldung des Tages und den Hinweis zu KI-Einsparungen.
-
Forecast: Snapshot-Datum für den Stand des Auftragsbuchs an einem Tag, Hinweis zum Plandatum.
-
Listen und Datentransfer: Exporte in einem Menü „Export“; Datentransfer mit Füllstandsbalken, einstellbaren Spalten der Dateitabelle und dem Aktivitätsprotokoll als Reiter.
-
Korrekturen: HTML in Mail-Texten von Nutzern, Umfrage-Mails, stornierte Rechnungen gelten als bezahlt, Umbenennen von Anhängen, Liquiditätseinträge wieder klonbar, Strukturbaum bei gleichzeitigen Änderungen, Projektliste nach Nummer sortiert.
Alle Änderungen
-
Statistiken, Forecast
-
Neues Feld Snapshot-Datum: Der Forecast wird mit dem Stand des Auftragsbuchs dieses Tages berechnet.
-
Der Tooltip des Plandatums zeigt einen Hinweis, den die Finanzbuchhaltung im neuen Konfigurationsparameter „Forecast“ pflegt (formatierter Text mit kleinem Editor).
-
-
Benachrichtigungen (experimentell): Admins und Finanzbuchhaltung können Regeln einrichten, die in der App (Toast, zu bestätigender Toast oder Banner, mit den Stufen Hinweis, wichtig und dringlich, optional als Zähler im Menü) und per E-Mail benachrichtigen, auch als Kaskade (z. B. eine E-Mail, wenn nicht innerhalb von zwei Tagen in der App bestätigt). Erste Regeln: fehlende Zeitberichte und verfallende Urlaubstage; eine manuelle Regel verschickt eine Nachricht auf Knopfdruck. Empfänger:innen sind Gruppen, Benutzer:innen und Mitarbeiter:innen nach Status, standardmäßig nur die Betroffenen. Die Texte sind formatiert und enthalten Variablen wie die Liste der Tage ohne Zeitberichte. Wer eine Benachrichtigung wann bestätigt hat, wird festgehalten. Das Problem-Dashboard zeigt den Zustand der Benachrichtigungs-Jobs. Genehmigte Urlaubstage zählen nicht mehr als Tage ohne Zeitberichte, auch im Monatsbericht.
-
Scripte: Ein Script kann als Button mit Tooltip oben rechts auf ausgewählten Seiten erscheinen, z. B. im Auftragsbuch oder in anderen Listen sowie in den Reitern Forecast und Deckungsbeitrag der Auftragsstatistik. Der Button öffnet die Ausführungsseite des Scripts, und das Script erhält den aktuellen Filter der Seite als Variable pageContext (z. B. pageContext.list() für die angezeigten Einträge).
-
Systemdashboard: neuer Tab „Scheduler“
-
Listet alle geplanten Jobs mit Bereich, Beschreibung, Zeitplan, letztem und nächstem Lauf, Dauer und Status, sortierbar und mit pro Benutzer gespeicherten Spalten wie jede Liste; überfällige und fehlgeschlagene Jobs fallen auf, auch als Kachel in der Übersicht.
-
Die Läufe werden pro Tag gespeichert (fehlgeschlagene und langsame Läufe einzeln) und nach 90 Tagen zu Monaten zusammengefasst.
-
Ein Job kann sofort gestartet werden; ein Lauf wird übersprungen, solange der vorherige noch läuft.
-
-
Systemdashboard: neuer Tab „Caches“
-
Listet alle Caches mit Status, letzter Aktualisierung, Dauer, Verfallszeit und fehlgeschlagenen Aktualisierungen; ein einzelner Cache oder alle Caches lassen sich von Hand aktualisieren.
-
Hängende Cache-Aktualisierungen werden jede Minute erkannt, als Störung gemeldet und unterbrochen; hängende und fehlgeschlagene Caches erscheinen auch als Kachel in der Übersicht.
-
Die Schaltfläche „Alle Caches aktualisieren“ der Systemseite entfällt; der Tab „Caches“ ersetzt sie und aktualisiert alle Caches statt nur einer festen Auswahl.
-
-
Datentransfer: Die belegte Kapazität eines Bereichs wird als farbiger Füllstandsbalken angezeigt, in der Liste und in der Dateiansicht.
-
Massenänderung: Der Dateiname des Excel-Protokolls enthält jetzt den Namen der Entität (z. B. Debitorenrechnungen).
-
Konfiguration: Der Hinweis zu KI-Einsparungen in Zeitberichten und die Meldung des Tages auf der Login-Seite werden mit dem Rich-Text-Editor bearbeitet (fett, kursiv, Listen, Links, Farben).
-
Problem-Dashboard: Die Kennzahlen und die Kacheln der Subsysteme zählen jetzt nur noch die Probleme, die noch angesehen werden müssen. Erledigte, ignorierte und stummgeschaltete Probleme stehen getrennt unter der jeweiligen Zahl, sodass sich die Kacheln sofort ändern, wenn ein Problem bearbeitet wird.
-
Rich-Text: In Markdown geschriebene Texte (z. B. ältere Tooltips und Hinweise) werden formatiert statt mit ihren Steuerzeichen angezeigt und vom Editor direkt übernommen; beim nächsten Speichern werden sie im Rich-Text-Format abgelegt. Als reiner Text eingefügtes Markdown wird ebenfalls umgewandelt. Der Editor bietet jetzt auch Überschriften (Ebene 1 bis 4) und Tabellen.
-
System-Dashboard: Das Problem-Dashboard heißt jetzt System-Dashboard und zeigt in einem eigenen Tab auch die Systemstatistik, die keinen eigenen Menüeintrag mehr hat; alte Links werden weitergeleitet. Die Statistik ist Teil der neuen Oberfläche und zeigt jeden Abschnitt, sobald seine Werte gesammelt sind, statt auf alle zu warten. Speicher, Laufwerke, der Connection-Pool der Datenbank und die Verbindungen zum Datenbankserver werden als Füllstandsbalken angezeigt. Neu hinzugekommen sind Konfiguration und maximale Größe des Pools, Version und Größe der Datenbank, CPU-Last, Prozessoren, physischer Speicher, Betriebssystem, Non-Heap-Speicher, Garbage Collection und Thread-Zahlen.
-
Code-Editor (Scripte): Eine Leiste mit Rückgängig, Wiederholen, Suchen und Ersetzen und Auskommentieren, deren Tooltips das jeweilige Tastaturkürzel nennen, sowie ein Info-Button mit allen Tastaturkürzeln. Die Suche erscheint oben und in der Sprache des Benutzers.
-
Dunkelmodus: Texte werden in schlankerer Strichstärke und geglättet dargestellt und wirken auf dem dunklen Hintergrund nicht mehr übermäßig fett.
-
Datentransfer: Die Spalten der Dateitabelle eines Bereichs lassen sich wie in jeder Liste ein- und ausblenden, verschieben, fixieren und in der Breite ändern; Anordnung und Sortierung bleiben pro Benutzer für alle Bereiche erhalten.
-
Listen: Die Exporte (Excel, PDF, Forecast, Kostenzuweisungen, ics) liegen jetzt in einem Menü „Export“ direkt neben dem Zahnrad; jeder Eintrag zeigt seine Erläuterung direkt im Menü.
-
System-Dashboard: Über die Mehrfachauswahl lassen sich viele Störungen auf einmal auswählen und gemeinsam zur Kenntnis nehmen, erledigen, ignorieren, wieder öffnen, stummschalten oder die Stummschaltung aufheben. Die bisherigen „Probleme“ heißen jetzt „Störungen“.
-
Datentransfer: Das Aktivitätsprotokoll eines Bereichs ist ein eigener Reiter (nach Infos) statt eines Dialogs.
-
Scripte: Die Scriptliste, das Scriptformular, „Meine Scripte“ und die Ausführungsseiten sind Teil der neuen Oberfläche, mit einem Code-Editor mit Syntaxhervorhebung. Die Beschreibungen eines Scripts und seiner Parameter sind Rich-Text (bestehendes Markdown wird beim nächsten Speichern umgewandelt). Ein gespeichertes Script läuft jetzt immer so, wie es gespeichert ist; aus dem Formular werden nur die Parameterwerte übernommen. Direkt ausgeführter Code (ohne gespeichertes Script) läuft jetzt als Kotlin statt als Groovy.
-
Scripte: Die Ausgabe einer Ausführung (Ergebnis, Protokoll) erscheint in einem eigenen Reiter, der nach der Ausführung geöffnet wird. Eine Datei zum Download wird gut sichtbar oben im Ausgabe- und im Ausführungs-Reiter angezeigt.
-
Groovy-Skripte: Mitgeliefert werden nur noch der Groovy-Kern und die Module für Datum, JSON, XML und Templates; die übrigen Module (z. B. Ant, SQL, Swing, Konsole) wurden entfernt.
-
Anhänge: Ein geänderter Dateiname oder eine geänderte Beschreibung wurde nicht gespeichert.
-
Projektliste: Das Sortieren nach der Nummer-Spalte hatte keine Wirkung.
-
Persönliche Box und Mitarbeiterfelder: Der „Mich auswählen“-Knopf zur Auswahl der eigenen Person fehlte.
-
Zeitberichtsliste: Der Hinweis, dass der Filter ein Datum oder Strukturelement braucht, erscheint jetzt hervorgehoben über der Liste statt leicht übersehbar darunter.
-
Debitorenrechnungen: Stornierte Rechnungen und ihre Stornorechnungen gelten jetzt als bezahlt. Sie erscheinen nicht mehr unter dem Filter „unbezahlt“ und werden nicht mehr in die Summen über der Liste (brutto, netto, offen) eingerechnet.
-
Problem-Dashboard: Eine nicht versendbare Mail wird jetzt einmal als Problem des Mailversands gemeldet und nicht mehr zusätzlich als unerwarteter Fehler der Funktion, die sie verschickt hat.
-
Strukturelementliste und Strukturbaum: keine sporadischen internen Fehler mehr, wenn gleichzeitig ein Strukturelement angelegt oder verschoben wird.
-
Anhänge: Lange Dateinamen ohne Leerzeichen werden in der Anhangtabelle umbrochen, statt sie zu verbreitern.
-
Liquiditätsplanung: Einträge lassen sich wieder klonen; der Klon eines wiederkehrenden Eintrags ist ein eigenständiger Eintrag.
-
Mails: Von Nutzern eingegebene Namen, Titel, Dateinamen und Texte werden nicht mehr als HTML übernommen (z.B. in den Mails von Umfragen, Datentransferbereichen, Urlauben und ToDos); im Mail-Text einer Umfrage bleiben nur einfache Formatierungen und Links erhalten.
-
Umfragen
-
Die Links in den Mails führen auf diese Installation statt auf einen fest eingetragenen Server; der Link der Einladung funktioniert wieder.
-
Die Erinnerung vor Fristende geht nur noch an Teilnehmer, die noch nicht geantwortet haben.
-
Der Betreff der Einladung zeigt keine HTML-Tags mehr; Betreff und Text der Mail nach Fristende sind nicht mehr vertauscht.
-
-
Zeitberichte: keine überlappenden Buchungen mehr auf derselben Kost2
-
Zwei Zeitberichte einer Person auf derselben Kost2 (oder, ohne Kost2, auf demselben Strukturelement) dürfen sich zeitlich nicht mehr überlappen, auch nicht bei geteilten Kosten. Bisher ließ sich z. B. ein Urlaub doppelt für dieselbe Zeit buchen, wenn die Kost2 zu keinem Projekt gehörte.
-
Neuer Konfigurationsparameter „Überlappungsgruppen für Zeitberichte“: Gruppen von Kost2-Nummernpräfixen (z. B. „6“ für alle Kost2 6.*), deren Zeitberichte sich nie überlappen; bei geteilten Kosten gilt eine Gruppe wie ein Projekt. Sichtbar für Finanzen und Controlling, änderbar nur für Mitglieder beider Gruppen.
-
Bestehende überlappende Buchungen zeigt der Filter „Nur kollidierte“ der Zeitberichtsliste.
-
-
npm-Sicherheitslücken in projectforge-next und projectforge-webapp behoben: @modelcontextprotocol/sdk, proxy-addr, sharp und source-map-js aktualisiert.
Die aktuellen Binaries gibt es auf GitHub, Sourceforge und Docker Hub.
ProjectForge 9.0.3 veröffentlicht
2026-10-08, Tag 9.0.3-RELEASE Quellcode
SHA-256 von projectforge-application-9.0.3.jar: fbe9999a9a8b919e8c421c6d275da44a408a26c2ed609e5564ea099efc18a2a0
-
Neue Dateiablage in der Datenbank als Ablösung des JCR
-
Kalender: mehrere Tage buchen auch an bereits gebuchten Tagen
-
Korrekturen aus dem Problem-Dashboard
-
Fix: Benutzereinstellungen werden beim Abmelden wieder gespeichert
Überblick
-
Dateiablage: Mit
projectforge.files.store=dbwerden alle Dateien in der Datenbank gespeichert, Dateien des Datentransfers im Dateisystem; bestehende Installationen bleiben bis zur Umstellung beim JCR. -
JCR-Migration: Nach der Umstellung werden die Dateien im Hintergrund kopiert und anhand von Größe und Prüfsumme verifiziert, mit Bericht; Zurückstellen oder Rollback bleiben möglich. Die Systemseite zeigt die aktive Ablage und startet Backup-ZIP und Migration.
-
Backups: Das Admin-Handbuch beschreibt einen Haupt-Dump und einen eigenen Dump der Dateien; das Aufräumen der Backups unterstützt mehrere Präfixe.
-
Kalender: Beim Buchen mehrerer Tage werden auch Tage mit vorhandenen Zeitberichten gebucht, solange sich nichts unzulässig überschneidet; die Vorschau zeigt jede Überschneidung.
-
Datentransfer: Bereiche nach letzter Änderung sortiert, die neueste zuerst.
-
Korrekturen aus dem Problem-Dashboard: Strukturbaum und Listenfilter ohne Sitzung, Feldfehler bei einem Zeitbericht ohne Strukturelement, Rechnungen über die Auftragsnummer auffindbar, weniger unnötige Fehlereinträge im Log.
-
Projekte: Das Ändern der Kost2-Arten eines beendeten Projekts in der Massenänderung wird als Fehler gemeldet, mit dem Grund im Excel-Export.
-
Korrekturen: Benutzereinstellungen beim Abmelden wieder gespeichert, Browser-Zurück in Safari, hohe Firmenlogos auf alten Seiten, breiteres Mail-Layout, Fehlermeldung der E-Rechnungsprüfung, seltener interner Fehler beim Öffnen eines Auftrags.
Alle Änderungen
-
Dateiablage
-
Neue Dateiablage als Ablösung des JCR (Apache Oak): Mit
projectforge.files.store=dbwerden alle Dateien in der Datenbank (Schemapf_files) gespeichert, Dateien des Datentransfers im Dateisystem (Verzeichnisdatatransferim Home-Verzeichnis). Bestehende Installationen bleiben beim JCR, bis aufdbumgestellt wird (siehe Admin-Handbuch). -
Nach der Umstellung auf
dbwerden alle Dateien des JCR im Hintergrund kopiert und anhand von Größe und Prüfsumme verifiziert, mit einem Bericht injcr-migration-report.txtim Home-Verzeichnis; das JCR behält sie, sodass ein Zurückstellen oder ein Rollback auf das vorige Release möglich ist. Eine unterbrochene Migration wird beim nächsten Start fortgesetzt. -
Systemseite: Die Karte „Dokumenten-Repository (JCR)“ zeigt die aktive Ablage und startet das JCR-Backup-ZIP und die Migration.
-
Backups: Das Admin-Handbuch beschreibt zwei Dumps, den Haupt-Dump ohne das Schema
pf_filesund einen eigenen Dump der Dateien; das Aufräumen der Backups akzeptiert mehrere kommagetrennte Präfixe und räumt jede Backup-Serie für sich auf.
-
-
Kalender, mehrere Tage buchen: Ein bereits gebuchter Tag wird ebenfalls gebucht, wenn sich der neue Zeitbericht nicht unzulässig mit einem vorhandenen überschneidet (eine durch geteilte Kosten erlaubte Überschneidung ist in Ordnung); die Vorschau zeigt jede Überschneidung und ob sie erlaubt ist.
-
Datentransfer: Die Liste der Bereiche ist standardmäßig nach der letzten Änderung sortiert, die neueste zuerst.
-
Probleme aus dem Problem-Dashboard
-
Strukturbaum und Listenfilter schlagen ohne Sitzung nicht mehr fehl.
-
Ein Zeitbericht ohne Strukturelement zeigt einen Feldfehler statt eines Serverfehlers.
-
Die Urlaubsliste ist nach der Spalte Modus sortierbar.
-
Rechnungen werden über die Nummer ihres Auftrags gefunden.
-
Keine unnötigen Fehlereinträge im Log mehr für ungespeicherte Aufträge, eine ungültige Suchsyntax (jetzt eine Warnung) und einen systemischen Ausfall der Kalenderabonnements (höchstens einmal am Tag protokolliert).
-
-
Alte Seiten: Ein hohes Firmenlogo wird in der Höhe begrenzt und verdeckt keine Teile der Anwendung mehr.
-
Mails: breiteres Layout; Feldnamen in der Änderungshistorie werden nicht mehr buchstabenweise umbrochen.
-
Projekte: Das Ändern der Kost2-Arten eines bereits beendeten Projekts in der Massenänderung ist ein Fehler, statt stillschweigend übersprungen zu werden; der Excel-Export der Massenänderung zeigt die geänderten Kost2-Arten und listet fehlgeschlagene Einträge mit ihrem Grund. Das Formular eines beendeten Projekts zeigt seine vorhandenen Kostenträger angehakt und beendet.
-
Safari: Browser-Zurück aus einem Eintrag führt wieder zur Liste, statt sie zu überspringen und auf einer früheren Seite zu landen.
-
Geänderte Benutzereinstellungen (z. B. Listenfilter und Spaltenlayouts) werden beim Abmelden wieder gespeichert, statt verloren zu gehen.
-
E-Rechnungsprüfung: Eine E-Rechnung, deren Zahlbetrag nicht zu ihren Positionen passt, wird mit diesem Fehler angezeigt statt mit „keine E-Rechnungsdaten gefunden“.
-
Aufträge: Das Öffnen eines Auftrags konnte in seltenen Fällen mit einem internen Fehler abbrechen.
Die aktuellen Binaries gibt es auf GitHub, Sourceforge und Docker Hub.
ProjectForge 9.0.2 veröffentlicht
2026-10-06, Tag 9.0.2-RELEASE Quellcode
-
Kalender: mehrere Tage auf einmal buchen
-
Aufträge: weitere Ansprechpartner:innen statt fester Rollen
-
Seiten mit Grafiken als anordenbare Kacheln
-
Schnellere Berechnung von Forecast und Deckungsbeitrag
-
Projektliste: Spalten zur letzten Aktivität
Überblick
-
Kalender: mehrere Tage auf einmal buchen, z. B. einen Urlaub oder eine Abwesenheit für Kolleg:innen; Wochenenden, Feiertage und gebuchte Tage werden übersprungen, halbe Arbeitstage anteilig gebucht.
-
Aufträge: eine Ansprechpartner:in und beliebig viele weitere Ansprechpartner:innen statt Projektleitung, Bereichsleitung und Key-Account-Management; sie erhalten denselben Zugriff und die Änderungsmail.
-
Grafiken: Seiten mit Grafiken zeigen sie als Kacheln, die sich anordnen, in der Größe ändern und ausblenden lassen, gespeichert pro Benutzer.
-
Statistiken: Forecast und Deckungsbeitrag deutlich schneller berechnet; die Forecast-Analyse eines Auftrags öffnet sich aus den Forecast-Tabellen in einem Dialog.
-
Projektliste: sortierbare Spalten für die letzte Zeitbuchung, das letzte Auftragsdatum und die letzte Aktivität, um beendete Projekte zu erkennen.
-
Problem-Dashboard: Ein Klick auf eine Kennzahl zeigt die gezählten Probleme; die Mail-Kachel zeigt das Ergebnis der letzten Mail; fehlschlagende Kalenderabos meldet die Fehler-Sammelmail.
-
Listen: Das Suchfeld erhält beim Laden den Fokus; Statistikseite und Problem-Dashboard unter neuen URLs mit Weiterleitung.
-
Korrekturen: Ein geklonter Zeitbericht behält seinen Benutzer, Suchbegriffe in Zellen mit JIRA-Links hervorgehoben, keine veralteten Frontend-Dateien im Release-Jar.
Alle Änderungen
-
Projektliste: Spalten für die letzte Zeitbuchung, das letzte Auftragsdatum und die letzte Aktivität (das spätere von beiden), sortierbar, um vermutlich beendete Projekte zu erkennen.
-
Problem-Dashboard: Ein Klick auf eine Kennzahl (neue Probleme, Regressionen, externe Systeme usw.) zeigt genau die gezählten Probleme.
-
Seiten mit Grafiken (Statistiken, Liquiditätsvorschau, Rechnungen, Meine Statistiken): Grafiken als Kacheln, per Drag & Drop anzuordnen, in Stufen in der Größe zu ändern und auszublenden; die Anordnung wird pro Benutzer gespeichert.
-
Kalender: mehrere Tage auf einmal buchen, z. B. einen Urlaub oder eine Abwesenheit für Kolleg:innen; Wochenenden, Feiertage und bereits gebuchte Tage werden übersprungen, halbe Arbeitstage anteilig gebucht, Vorlagen, zuletzt verwendete Zeitberichte und die Urlaube der gebuchten Person können übernommen werden (Urlaubs-Strukturelement und -Kost2 konfigurierbar über projectforge.timesheet.vacation.taskId/kost2).
-
Statistiken: Eine Pille hinter der Auftragsnummer in den Forecast-Tabellen öffnet die Forecast-Analyse des Auftrags in einem Dialog, ohne die Tabelle zu verlassen.
-
Listen: Das Suchfeld erhält beim Laden der Seite den Fokus (nicht auf Touch-Geräten).
-
Aufträge: eine Ansprechpartner:in und beliebig viele weitere Ansprechpartner:innen statt Projektleitung, Bereichsleitung und Key-Account-Management (bestehende Einträge werden übernommen, die alten Felder bleiben in der Datenbank). Weitere Ansprechpartner:innen haben denselben Zugriff auf den Auftrag und seine Rechnungen wie die Ansprechpartner:in, und die Änderungsmail geht jetzt auch an sie und an alle, die den Auftrag bisher bearbeitet haben.
-
Statistiken: Forecast und Deckungsbeitrag werden deutlich schneller berechnet; der Deckungsbeitrag wird pro Projekt zwischengespeichert.
-
Konfiguration der Deckungsbeiträge: Ein doppelt zugeordneter Kostenträger wird als Fehler markiert.
-
Kostenträger: Die Kostenart wird in Liste und Export nur für Kundenkostenträger (4.x und 5.x) angezeigt, wie im Monatsbericht.
-
Problem-Dashboard: Die Mail-Kachel zeigt das Ergebnis der zuletzt gesendeten Mail (unbekannt, OK, Versand fehlgeschlagen oder Mailserver nicht erreichbar).
-
Fehlschlagende Kalenderabos senden keine eigene Mail mehr an die Administration und die Feedback-Adresse; die Fehler-Sammelmail meldet sie.
-
Die Statistikseite liegt jetzt unter /next/finance/statistics, das Problem-Dashboard unter /next/problemDashboard; alte Links werden weitergeleitet.
-
Ein geklonter Zeitbericht (z. B. im Kalender gezogen) behält seinen Benutzer, wenn der angemeldete Benutzer für ihn buchen darf.
-
Suchbegriffe werden auch in Listenzellen mit JIRA-Links hervorgehoben (Auftragstitel und -referenz, Strukturelement, Zeitbericht, HR-Planung).
-
Das Release-Jar enthält keine veralteten Frontend-Dateien früherer Builds mehr.
Die aktuellen Binaries gibt es auf GitHub, Sourceforge und Docker Hub.
ProjectForge 9.0.1 veröffentlicht
2026-10-06, Tag 9.0.1-RELEASE Nur Quellcode
-
Problem-Dashboard: Probleme als führende Kennzahl
-
Projektstatus in der Massenänderung
-
Fix: ICS-Push des Gateways liefert alle Kalender
-
Fix: nächtliche Neuindizierung bei nicht aktiven Plugins
Überblick
-
Problem-Dashboard und Fehler-Sammelmail: Probleme statt Vorkommen als führende Kennzahl, Zahlen mit Tausendertrennzeichen; Subsystem-Kacheln zählen nur offene Probleme.
-
Projekte: Der Status ist in der Massenänderung änderbar.
-
Gateway: Der ICS-Push liefert wieder alle Kalender eines Benutzers und erzeugt jeden Teamkalender nur einmal pro Lauf.
-
Korrekturen: Die nächtliche Neuindizierung scheitert nicht mehr an Tabellen nicht aktiver Plugins, lange Werte sprengen keine Mail-Tabellen mehr, keine unnötigen Fehlereinträge beim Speichern von Aufträgen.
Alle Änderungen
-
Problem-Dashboard und Fehler-Sammelmail: Probleme statt Vorkommen als führende Kennzahl, damit ein häufiges Problem nicht mehr alle anderen verdeckt; Zahlen mit Tausendertrennzeichen.
-
Der Status von Projekten ist in der Massenänderung änderbar.
-
Der ICS-Push des Gateways erzeugt jeden Teamkalender nur noch einmal pro Lauf.
-
Der ICS-Push des Gateways lieferte pro Benutzer nur den ersten Kalender.
-
Eine Subsystem-Kachel des Problem-Dashboards zählt nur offene Probleme, wie die Liste dahinter.
-
Lange Dateinamen und Werte schieben Tabellen nicht mehr über die Mail-Karte hinaus.
-
Die nächtliche Neuindizierung der Suche scheitert nicht mehr an Tabellen nicht aktiver Plugins.
-
Keine unnötigen Fehlereinträge mehr im Log beim Speichern von Aufträgen.
ProjectForge 9.0: neues Frontend, Wicket abgelöst, alle Bibliotheken aktuell
2026-10-06, Tag 9.0.0-RELEASE QuellcodeJar (GitHub)Jar (SourceForge)Docker
SHA-256 von projectforge-application-9.0.0.jar: 1289b10a87ef77d5f25ea6e363d809fe894d661a60b8ccca7733450362dce5cb
-
Neues Frontend projectforge-next: alle Seiten migriert, Wicket entfernt
-
Problem-Dashboard und Fehler-Sammelmails für den Betrieb
-
Diagramme und Kennzahlen: Auftragsstatistik, Deckungsbeiträge, Forecast
-
E-Rechnungen (XRechnung, ZUGFeRD) und Anbindung an Identity Provider
-
Robuste Schnittstellen zu externen Systemen
-
Aktueller Stack: Spring Boot 4.1, Hibernate 7.4, Next.js 16
Überblick
-
Neues Frontend projectforge-next: alle Seiten migriert, darunter Kalender, Zeitberichte, Auftragsbuch, Rechnungen, Strukturbaum, Zugriffsrechte, Monatsbericht, Liquiditätsplanung und Administration. Das klassische Wicket-Modul wurde entfernt.
-
Problem-Dashboard: Log-Ereignisse werden klassifiziert und zu Problemen mit dauerhaftem Status zusammengefasst, mit Links in den Log-Viewer, JSON-Export für eine KI-gestützte Analyse und priorisierten Fehler-Sammelmails statt einer Mail pro Fehler.
-
Diagramme und Kennzahlen: Auftragsstatistik mit Budget-Szenario, Deckungsbeiträge, Forecast-, Fakturierungs- und Nettosummen-Diagramme mit Vorjahresvergleich, Fakturierungsquote und Fehlerzahlen in der Systemstatistik.
-
Robuste Schnittstellen: Timeouts, Verbindungspools, begrenzte Sync-Threads und Sync-Statistiken für LDAP, Identity Provider, iCal, SMS, Sipgate und das Gateway; ein nicht erreichbares System bricht schnell ab statt zu blockieren, fehlschlagende Kalenderabos werden in wachsenden Abständen wiederholt.
-
E-Rechnungen: XRechnung- und ZUGFeRD-Export von Ausgangsrechnungen, PEPPOL-Validierung, Stornorechnungen und ein E-Rechnungs-Prüfer.
-
Identity Provider: Synchronisation von Benutzern, Gruppen und Passwörtern mit Authentik oder Keycloak (Modul projectforge-idp).
-
Finanzen: wiederkehrende Liquiditätseinträge, DATEV-Import von Eingangsrechnungen, Gehaltsimport, Währungsumrechnung mit online ermittelten Wechselkursen.
-
Technologie: Spring Boot 4.1, Spring 7, Hibernate 7.4, Hibernate Search 8.4, Tomcat 11, Kotlin 2.3, Next.js 16, React 19, TanStack Table.
Alle Änderungen
ProjectForge 9.0 ist ein großes Update. Die klassische Wicket-Oberfläche wurde durch projectforge-next ersetzt, ein neues, mit Next.js und React gebautes Frontend, und alle Bibliotheken wurden auf den aktuellen Stand gebracht. Dazu kommen ein Problem-Dashboard für den Betrieb, viele neue Diagramme mit Kennzahlen, robuste Schnittstellen zu externen Systemen, E-Rechnungen und eine Anbindung an Identity Provider. Die Entwicklungs-Builds bis dahin sind im Changelog als 8.2-Snapshots aufgeführt.
Großes Update - Die klassische Wicket-Oberfläche ist entfernt: alle Seiten laufen in projectforge-next, der einzige Login ist /next/login. Dieses Release fasst alle 8.2-Snapshot-Builds zusammen.
Vor dem Update - Die Datenbank sichern; ihr Schema wird beim ersten Start automatisch migriert.
-
projectforge-next
-
Neues, mit Next.js und React gebautes Frontend mit hellem und dunklem Design, kompakter Navigation oben und einer Schnellsuche im Menü.
-
Tabellen mit Spaltenfiltern, Fixieren, Umsortieren, gespeicherten Layouts und Filterfavoriten; Mehrfachauswahl und Massenänderung für viele Entitäten.
-
Login mit Zwei-Faktor-Authentifizierung und Passwort-Reset unter
/next/login; Angemeldet bleiben mit einem Token pro Gerät.
-
-
E-Rechnungen
-
XRechnung-Export und ZUGFeRD-PDF mit eingebettetem XML, PEPPOL-Validierung, Rechnungsanhänge im Export eingebettet.
-
Stornorechnungen und ein E-Rechnungs-Prüfer für ZUGFeRD-/XRechnung-Dateien.
-
-
Anbindung an Identity Provider (Modul projectforge-idp): Benutzer, Gruppen und Passwörter werden mit Authentik oder Keycloak synchronisiert, einschließlich WLAN-Passwort-Hashes.
-
Problem-Dashboard
-
Log-Ereignisse werden an der Aufrufstelle klassifiziert und in der Datenbank zu Problemen mit dauerhaftem Status zusammengefasst.
-
Dashboard mit Kacheln je Subsystem, Links in den Log-Viewer, Suche der Vorkommen eines Problems in den Log-Dateien und Export als JSON für eine KI-gestützte Analyse.
-
Priorisierte Fehler-Sammelmails je Zielgruppe statt einer Mail pro Fehler; frühe Sammelmail bei neuen Sicherheits- und Datenproblemen.
-
-
Diagramme und Kennzahlen
-
Auftragsstatistik mit eigenem Filter, Diagrammen, Datentabellen, Budget-Szenario und Warnungen vor verlorenen Budgets.
-
Deckungsbeiträge im Auftragsbuch, Forecast-Diagramme, Nettosummen-Diagramme der Ausgangsrechnungen und Rechnungsstatistik mit Vorjahresvergleich.
-
Fakturierungsquote als Diagramm und in Meine Statistiken; Fehlerzahlen in der Systemstatistik.
-
-
Wiederkehrende Serien in der Liquiditätsplanung.
-
Adressimport und -export als vCard und aus Freitext, mit Vergleichsansicht und Warnung vor Dubletten.
-
Eingangsrechnungen aus DATEV importierbar, mit Währung und online ermittelten Wechselkursen.
-
Gateway für den externen Datentransfer mit Delta-Sync, CardDAV-Favoriten und öffentlichem Heartbeat.
-
ICS-Import von Team-Terminen mit Vorschau der Änderungen.
-
Changelog mit News, Suche und Hervorhebung unter
/next/changelog, auch auf Deutsch.
-
Alle Seiten nach projectforge-next migriert, darunter Kalender, Zeitberichte, Auftragsbuch, Ausgangs- und Eingangsrechnungen, Strukturbaum, Zugriffsrechte, Monatsbericht, Liquiditätsplanung, DATEV- und Gehaltsimport, HR-Planung, Gantt-Diagramme und Administration; Links und Lesezeichen der klassischen Seiten führen auf die neuen.
-
Konfigurierbare Kundengruppen und Geschäftsbereiche als Filter für Zeitberichte, Rechnungen, Projekte und Aufträge.
-
Strukturelement-Auswahl mit zuletzt verwendeten Einträgen und Favoriten; JIRA-Issue-Links in Listen und Formularen.
-
Serverseitiges Blättern in Auftrags- und Rechnungslisten; gelöschte Einträge können wiederhergestellt werden.
-
Robuste Schnittstellen
-
Timeouts und gemeinsame Verbindungspools für LDAP, Identity Provider, iCal, SMS, Sipgate und das Gateway, je Schnittstelle konfigurierbar.
-
Ein nicht erreichbares oder zu langsames System bricht schnell mit einer Warnung ab statt zu blockieren; Sync-Läufe nutzen begrenzte Threads statt eines neuen Threads pro Auslöser.
-
Fehlschlagende Kalenderabos werden in wachsenden Abständen wiederholt und nach 90 Tagen deaktiviert.
-
Sync-Statistiken mit Laufzeiten und Anzahlen je Lauf, angezeigt in der Systemstatistik.
-
-
Auftragsbuch und Rechnungen frieren nicht mehr ein, wenn zwei Caches gleichzeitig aktualisiert werden.
-
Viele N+1-Abfragefluten beseitigt; große ID-Listen bleiben unter dem Limit der Datenbank für Bind-Parameter.
-
Abonnierte Kalender, der MS-Project-Export von Gantt-Diagrammen, die Word-zu-PDF-Konvertierung und die LDAP-Synchronisation repariert.
-
CSRF-Schutz und vollständige Feldvalidierung für die REST-Aufrufe; Zugriffsprüfungen für alle REST-Endpunkte, abgesichert durch einen Architekturtest.
-
Sicherheitsreview der Filterkette: vertrauenswürdige Proxys, Ermittlung der Client-IP, Drosselung, sichere Weiterleitungs-URLs.
-
2FA für sensible Seiten erforderlich; gelöschte Gruppen gewähren nie Zugriffsrechte.
-
Modul projectforge-wicket mit allen klassischen Seiten, nur von Wicket genutzten i18n-Schlüsseln und nicht mehr benötigten Bibliotheken.
-
AG Grid (ersetzt durch TanStack Table), react-scripts (ersetzt durch Vite) und JAXB.
-
Alte XML-Benutzereinstellungen werden in den JSON-Speicher migriert.
-
Spring Boot 4.1, Spring 7, Hibernate 7.4, Hibernate Search 8.4, Tomcat 11.
-
Kotlin 2.3, JUnit 6, Gradle 9.8, Next.js 16, React 19, TanStack Table, Vite und Vitest.
-
Versionen werden als X.Y.Z nummeriert und von einem Release-Skript gebaut, die Version wird an einer Stelle gesetzt.
Die aktuellen Binaries gibt es auf GitHub, Sourceforge und Docker Hub.
Entwicklungs-Snapshots (17)
ProjectForge 8.2 Snapshot (2026-10-05)
2026-10-05, Snapshot-Build develop@203115800, Änderungen seit e944881b0 Snapshot
-
Wicket entfernt: letzte Seiten nach projectforge-next migriert
-
Problem-Dashboard mit priorisierten Fehler-Sammelmails
-
Seite Auftragsstatistik mit Budget-Szenario
-
Robuste Schnittstellen: Timeouts, Verbindungspools, Sync-Statistiken
-
Spring Boot 4.1, Hibernate 7.4, Kotlin 2.3
Überblick
-
Wicket entfernt: DATEV-Import, Log-Viewer, HR-Planung, Gantt-Diagramme, Kalender, To-dos und mehr nach projectforge-next migriert; das Modul projectforge-wicket wurde gelöscht.
-
Problem-Dashboard: Log-Ereignisse klassifiziert und zu Problemen mit persistentem Status zusammengefasst, JSON-Export für eine KI-gestützte Analyse, priorisierte Fehler-Sammelmails statt einer Mail pro Fehler.
-
Statistiken: Seite Auftragsstatistik mit Filter, Diagrammen, Budget-Szenario und Warnungen zu verlorenen Budgets; Fakturierungsquote in Meine Statistiken; Tab Deckungsbeitrag im Auftragsbuch.
-
Filter: konfigurierbare Kundengruppen und Geschäftsbereiche als Filter für Zeitberichte, Rechnungen, Projekte und Aufträge.
-
Gateway: Delta-Sync mit nächtlichem Voll-Sync, CardDAV-Favoriten und öffentlichem Heartbeat.
-
Kalender: ICS-Import von Team-Terminen mit Diff-Vorschau; dauerhaft fehlschlagende Abonnements werden seltener versucht und nach 90 Tagen deaktiviert.
-
Schnittstellen: Timeouts, Verbindungspools und Sync-Statistiken für LDAP, Identity Provider, iCal, SMS und Sipgate.
-
Korrekturen: Parsen abonnierter Kalender, MS-Project-Export der Gantt-Diagramme, Kotlin-Skripte im Fat Jar, Button zum Zurücksetzen des Passworts und Details in Mails.
-
Sicherheit und Technologie: Zugriffsprüfungen für alle neuen REST-Endpunkte, abgesichert durch einen Architekturtest; Spring Boot 4.1, Spring 7, Hibernate 7.4, Tomcat 11, Kotlin 2.3, Gradle 9.8.
Alle Änderungen
Die klassische Wicket-Oberfläche ist Geschichte: Die letzten Seiten wurden nach projectforge-next migriert und das Modul projectforge-wicket gelöscht.
-
Problem-Dashboard
-
Log-Ereignisse werden an der Aufrufstelle klassifiziert und in der Datenbank mit persistentem Problemstatus zusammengefasst.
-
Dashboard aller Probleme mit Links in den Log-Viewer und einem JSON-Export für eine KI-gestützte Analyse.
-
Priorisierte Fehler-Sammelmails je Zielgruppe (HTML, neues Design) statt einer Mail pro Fehler; vorgezogene Sammelmail bei neuen Sicherheits- und Datenproblemen.
-
Fehlerkennzahlen in der Systemstatistik.
-
-
Seite Auftragsstatistik mit eigenem Filter, Favoriten, Diagrammen, Datentabellen, Budget-Szenario und Warnungen zu verlorenen Budgets.
-
Fakturierungsquote als Tab in Meine Statistiken.
-
Gateway: Delta-Sync mit nächtlichem Voll-Sync inklusive Löschungen und CardDAV-Favoriten, öffentlicher Heartbeat, Datentransfer-Oberfläche nach OAuth2-Login.
-
Kost2: Kennzeichen für geteilte Kosten, abweichendes Strukturelement (auch in der Massenänderung).
-
ICS-Import von Team-Terminen mit Diff-Vorschau; Download eines Team-Termins als ics-Datei; gemeinsamer Abo-Dialog für Zeitberichte, Feiertage und Kalenderwochen.
-
Mehrere Entwicklungsinstanzen parallel betreiben (
bin/pfDev.sh-Slots).
-
Nach projectforge-next migriert
-
DATEV-Import mit Button zur Log-Ansicht, lesbarem Import-Log und Tooltips zu Konten und Kostenstellen.
-
Log-Viewer, HR-Planung, HR-Ansicht, Gantt-Diagramme, Berichtsziele, To-dos, IHK-Plugin und die interne Datentransfer-Oberfläche (Bereichsseite als Tabs, Dateien als sortierbare Tabelle).
-
Kalender- und Teamkalender-Seiten, Excel-Export von Kost1/Kost2; die verbliebenen Lücken gegenüber den Wicket-Seiten wurden vor deren Entfernung geschlossen.
-
-
Konfigurierbare Kundengruppen und Geschäftsbereiche; Zeitberichte, Rechnungen, Projekte und Aufträge lassen sich nach Geschäftsbereich, Kunde und Projekt filtern (Checklisten-Filter).
-
Auftragsbuch: Tab Deckungsbeitrag inklusive Vorvorjahr.
-
Massenänderung für To-dos und für die Zahlungsart von Gehältern.
-
Dauerhaft fehlschlagende Kalender-Abonnements werden seltener erneut versucht und nach 90 Tagen deaktiviert.
-
Timeouts, Verbindungspools und Sync-Statistiken für LDAP-, Identity-Provider-, iCal-, SMS- und Sipgate-Clients.
-
Das Browserfenster trägt den Namen der Seite; der geöffnete Tab von Listen- und Berichtsseiten bleibt in der URL erhalten.
-
Umschalt+Klick wählt in Anhanglisten einen Bereich aus.
-
Abonnierte Kalender: DTSTAMP bricht das Parsen nicht mehr ab; Termine ohne DTEND leiten ihr Ende aus DURATION ab; ein Eintrag pro Feiertag und Woche in den Feeds.
-
MS-Project-Export der Gantt-Diagramme repariert (mpxj aktualisiert).
-
Kotlin-Skriptklassen werden im Fat Jar wieder aufgelöst.
-
Button zum Zurücksetzen des Passworts, Sprache der Geburtstagsmail und eingebettetes Logo in Mails.
-
Die JCR-Konsistenzprüfung läuft nur noch einmal pro Nacht.
-
Erwartete Client- und Authentifizierungsfehler werden unterhalb des Error-Levels geloggt.
-
Zugriffsprüfungen für alle neuen REST-Endpunkte, abgesichert durch einen Architekturtest.
-
npm-Sicherheitshinweise in next und webapp behoben.
-
Modul projectforge-wicket inklusive aller Wicket-Seiten, rund 90 nur von Wicket genutzter i18n-Schlüssel und nicht mehr benötigter Bibliotheken.
-
Spring Boot 4.1, Spring 7, Hibernate 7.4, Hibernate Search 8.4, Tomcat 11 (über Spring Boot 3.5 als Zwischenschritt).
-
Kotlin 2.3, JUnit 6, Gradle 9.8, kotlin-logging 7.
ProjectForge 8.2 Snapshot (2026-10-02)
2026-10-02, Snapshot-Build develop@e944881b0, Änderungen seit 1cc142d51 Snapshot
-
Konten, Adresskampagnen, Lizenzen und Kunden migriert
-
Rechnungen: Storno, Wahl der Word-Vorlage, PDF über LibreOffice
-
Fix: keine Buchungen auf beendete oder gelöschte Projekte
-
Fix: Word-zu-PDF-Konvertierung funktioniert wieder
Überblick
-
Nach projectforge-next migriert: Konten, Adresskampagnen, Lizenzverwaltung und Kunden (Wicket-Seiten entfernt); Kunde und Freitext-Kunde zu einem Feld zusammengeführt.
-
Rechnungen: Ein Storno setzt die Originalrechnung auf storniert; Wahl der Word-Vorlage für den ZUGFeRD-Export, PDF mit LibreOffice erzeugt; leere E-Rechnungsfelder aus dem Konto befüllt.
-
Auftrags- und Rechnungsformulare: Kundenspalte, hervorgehobener Kopf, eingefärbte Positionsköpfe, benachbarte Kostenträger in der Auswahl der Kostenzuweisungen.
-
Bedienung: Beschriftungen und Werte lassen sich kopieren; die Änderungshistorie zeigt Benutzer- und Gruppenlisten als Diff mit Namen; die Liquiditätsplanung hebt negative Salden hervor.
-
Korrekturen: keine Zeitberichte auf beendete oder gelöschte Projekte, Index der Kostenzuweisungen von Rechnungen bleibt erhalten, Positionen nach Nummer sortiert, Forecast-Diagramme passen zur Liste, Word-zu-PDF funktioniert wieder.
-
Sicherheit: 2FA erforderlich für migrierte System- und Plugin-Seiten sowie das Aufteilen von Liquiditätsserien.
Alle Änderungen
-
Nach projectforge-next migriert
-
Konten, Adresskampagnen und Lizenzverwaltung (Wicket-Seiten entfernt).
-
Kunden: Wicket-Seiten entfernt; Kunde und Freitext-Kunde zu einem Feld zusammengeführt.
-
-
Rechnungen
-
Ein Storno setzt die Originalrechnung auf storniert; erläutert am Button und im Formular, mit dem Hinweis, die Beträge nicht zu ändern.
-
Auswahl der Word-Vorlage für den ZUGFeRD-Export; das Rechnungs-PDF wird mit LibreOffice und den installierten Schriften erzeugt.
-
Leere E-Rechnungsfelder werden aus dem Konto befüllt; Stornorechnungen werden von der Word-Vorlage unterstützt.
-
Diagramme zeigen, welchen Listenfilter sie anwenden; Statusfilter bleiben beim Jahresvergleich außen vor.
-
-
Auftrags- und Rechnungsformulare: Kundenspalte, hervorgehobener Kopf, eingefärbte Positionsköpfe, benachbarte Kostenträger in der Auswahl der Kostenzuweisungen.
-
Beschriftungen, Auswahlwerte, Picker und Abschnittstitel lassen sich kopieren.
-
Monatsbericht: Die Kostenart wird nur noch bei Kunden-Kostenträgern angezeigt.
-
Die Änderungshistorie zeigt Benutzer- und Gruppenlisten mit Namen als Diff aus Entfernt/Hinzugefügt.
-
Liquiditätsplanung: negative Salden hervorgehoben, Soll-/Haben-Balken in Grün/Rot.
-
Zeitberichte können nicht mehr auf Strukturelemente eines beendeten oder gelöschten Projekts gebucht werden.
-
Das Speichern einer Rechnung verschiebt nicht mehr den Index ihrer Kostenzuweisungen.
-
Positionen von Aufträgen, Rechnungen und Eingangsrechnungen werden nach Nummer sortiert.
-
Forecast-Diagramme und Excel-Export der Aufträge berücksichtigen genau die Aufträge der Liste.
-
Die Word-zu-PDF-Konvertierung funktioniert wieder (OpenPDF entfernt).
-
2FA erforderlich für die migrierten System- und Plugin-Seiten sowie das Aufteilen von Liquiditätsserien.
ProjectForge 8.2 Snapshot (2026-09-30)
2026-09-30, Snapshot-Build develop@1cc142d51, Änderungen seit 81c69f854 Snapshot
-
Viele weitere Seiten nach projectforge-next migriert
-
Liquiditätsplanung: wiederkehrende Serien
-
Auftragsbuch: Nettosummen-Rechner, Forecast-Diagramme, Überfakturierung markiert
-
Fix: N+1-Abfragefluten und Selbst-Deadlocks der Caches
Überblick
-
Nach projectforge-next migriert: Monatsbericht für Mitarbeiter, Kunden, Projekte, Kostenträger (Kost2) und Kost2-Arten, Buchungssätze, Gehälter, Zugriffsrechte mit Matrixansicht, System- und Plugin-Administration, Liquiditätsplanung.
-
Liquiditätsplanung: wiederkehrende Serien mit Wahl des Geltungsbereichs beim Bearbeiten, dreistufiger Bezahlt-Status und Massenänderung.
-
Auftragsbuch und Rechnungen: Nettosummen-Rechner pro Position, Forecast- und Nettosummen-Diagramme, Fakturierungsquote, Zu fakturieren auf diesen Monat beschränkt, überfakturierte Aufträge markiert, Storno von E-Rechnungen, Auftrag als Entwurf klonen.
-
Bedienung: Strukturelement-Auswahl mit zuletzt gewählten Einträgen und Favoriten, kompakte obere Navigation mit Zähler-Badges, gelöschte Referenzen durchgestrichen, Massenänderung für Kost1 und Kost2.
-
Korrekturen: N+1-Abfragefluten, Selbst-Deadlocks der Caches in Schreibtransaktionen, gestellte Rechnungen sofort im Auftrag sichtbar, geplante und stornierte Rechnungen zählen nicht mehr als fakturiert.
-
Sicherheit: Gelöschte Gruppen gewähren nie Zugriffsrechte; 2FA für die migrierten Formulare zu Zugriffsrechten und Kost2.
-
Entfernt: klassische Wicket-Seiten für Suche, Auftragsbuch, Ausgangsrechnungen, Monatsbericht und Plugin-Administration.
Alle Änderungen
-
Nach projectforge-next migriert
-
Monatsbericht für Mitarbeiter mit Monatsblättern, Drill-down auf Wochen und kompakter Statistik; normale Benutzer können ihren eigenen Bericht einsehen.
-
Kunden, Projekte, Kostenträger (Kost2), Kost2-Arten, Buchungssätze, Mitarbeitergehälter und der Gehaltsimport.
-
Gruppen-/Strukturelement-Zugriffsrechte mit Matrixansicht, Analysefilter für vermutlich fehlerhafte Einträge, Massenänderung sowie Massenlöschen/-wiederherstellen.
-
Systemadministration, Plugin-Administration, Systemkonfiguration, Ersteinrichtung, SMS versenden, Direktwahl, persönliche Statistik und Feedback.
-
Das Plugin Liquiditätsplanung.
-
-
Liquiditätsplanung
-
Wiederkehrende Serien mit virtuellen und materialisierten Vorkommen und einer bewussten Wahl des Geltungsbereichs beim Bearbeiten einer Serie.
-
Dreistufiger Bezahlt-Status, automatisches Bezahlt-Kennzeichen und Massenänderung inklusive Löschen/Wiederherstellen.
-
-
Auftragsbuch und Rechnungen
-
Aufklappbarer Nettosummen-Rechner pro Auftragsposition, gespeichert mit seiner Aufschlüsselung.
-
Tab mit Forecast-Diagrammen im Auftragsbuch, Nettosummen-Diagramme für Ausgangsrechnungen, Diagramm zur Fakturierungsquote.
-
Zu fakturieren zählt nur, was in diesem Monat fällig ist; Filter aufgeteilt in diesen Monat und Folgemonate.
-
Überfakturierte Aufträge werden rot markiert; Fehlbeträge von als vollständig fakturiert markierten Aufträgen werden angezeigt.
-
Storno von Ausgangs-E-Rechnungen; stornierte Rechnungen erscheinen in der Liste durchgestrichen.
-
Einen Auftrag als neuen, bearbeitbaren Entwurf klonen.
-
-
Strukturelement-Auswahl mit zuletzt gewählten Strukturelementen und Favoriten.
-
Kreditorenrechnungen: Bankdaten werden aus dem Kreditor übernommen.
-
Massenänderung für Kost1 und Kost2.
-
Kompakte obere Navigation mit Zähler-Badges; die Suche ist ins Hauptmenü gewandert.
-
Gelöschte oder deaktivierte referenzierte Objekte werden in Listenzellen durchgestrichen.
-
Temporäre Seitengröße von 10.000 Zeilen für alle Listen.
-
Der Link zur klassischen Version heißt Alte Version und warnt auf Seiten, die entfernt werden.
-
Mehrere N+1-Abfragefluten (Strukturelement-Favoriten, Zugriffsliste, Kundenliste, Skill-Matrix, Forecast, Gehaltsexport, Auftragsfilter).
-
Selbst-Deadlocks der Projekt-/Kunden-Caches innerhalb von Schreibtransaktionen.
-
Eine gestellte Rechnung erscheint sofort im Auftrag, nicht erst nach der nächsten Cache-Aktualisierung.
-
Geplante und stornierte Rechnungen zählen bei Auftragspositionen nicht mehr als fakturiert.
-
Die Änderungshistorie zeigt Uhrzeitwerte in der Zeitzone des Benutzers.
-
Kostenzuweisungen von Eingangsrechnungen werden wieder exportiert.
-
Auf- und Zuklappen im klassischen Strukturbaum wiederhergestellt.
-
Gelöschte Gruppen gewähren nie Zugriffsrechte.
-
2FA erforderlich für die migrierten Formulare zu Zugriffsrechten, Kost2 und Kost2-Arten.
-
Klassische Wicket-Seiten für Suche, Auftragsbuch, Ausgangsrechnungen, Monatsbericht und Plugin-Administration.
-
Alte XML-Benutzereinstellungen werden in den JSON-Speicher migriert.
ProjectForge 8.2 Snapshot (2026-09-13)
2026-09-13, Snapshot-Build develop@81c69f854, Änderungen seit 0633fde56 Snapshot
-
Globale Suche nach projectforge-next migriert
-
Massenänderung für Eingangsrechnungen und Zeitberichte
-
Filter nach Kost2 in Zeitberichten und Strukturbaum
-
Fix: Kollision der Zeitbericht-Favoriten
Überblick
-
Suche: globale Volltextsuche nach projectforge-next migriert, Ergebnisse als aufklappbare Kacheln.
-
Massenänderung: für Eingangsrechnungen und Zeitberichte, mit Live-Statistik der Auswahl und serverseitiger Liste der Änderungen vor dem Schreiben.
-
Zeitberichte und Strukturbaum: Filter nach Kost2 und Kost2-Art, Optionen für den PDF-Export, Filter des Strukturbaums nach Kost2-Nummer mit Platzhaltern.
-
Strukturelemente: Schalter Max. Stunden haben Vorrang; ein explizit gesetzter Status eines Unterelements übersteuert den geerbten.
-
Weitere Verbesserungen: Download von SEPA-Überweisungen für Kreditorenrechnungen, Wochenstunden in der Mitarbeiterliste, Bruttoarbeitszeit im Kalender, Tooltips auf Touch-Geräten, die Startseite leitet auf den neuen Kalender weiter.
-
Korrekturen: Kollision der Zeitbericht-Favoriten, exakter Kost2 im Drill-down des Monatsberichts, gelöschte Rechnungspositionen aus den Summen ausgeschlossen, korrekte Spaltensortierung.
-
Technologie: schnellere Suche in Historienwerten mit pg_trgm-Indizes, Batch-Fetching bei der Massen-Reindizierung.
Alle Änderungen
-
Globale Volltextsuche nach projectforge-next migriert, Ergebnisse als aufklappbare Kacheln.
-
Massenänderung in projectforge-next
-
Für Eingangsrechnungen und Zeitberichte (Strukturelement, Kost2, Tag), mit Live-Statistik der Auswahl.
-
Änderungen werden serverseitig aufgelistet, bevor sie geschrieben werden; Textaktionen per Dropdown wählbar.
-
-
Zeitberichtsliste: Kost2-Filter mit Autovervollständigung, Kost2-Art-Filter, Optionsdialog für den PDF-Export mit Dauer pro Eintrag.
-
Der Strukturbaum lässt sich nach Kost2-Nummer filtern (Platzhalter werden unterstützt).
-
Strukturelemente: Schalter Max. Stunden haben Vorrang, der die beauftragten Personentage übersteuert; ein explizit gesetzter Status eines Unterelements übersteuert den geerbten.
-
Kreditorenrechnungen: Download von SEPA-Überweisungen.
-
Mitarbeiterliste: Spalte Wochenstunden und gefilterter Excel-Export.
-
Die Tages-/Wochenstatistik im Kalender zeigt die Bruttoarbeitszeit.
-
Tooltips auf iOS und anderen Touch-Geräten erreichbar; Listentabellen passen sich schmalen Bildschirmen an.
-
Die Startseite leitet auf den neuen Kalender weiter, auch bei gespeicherten Lesezeichen.
-
Zeitbericht-Favoriten: Kollision der Speicherplätze für Filter und Vorlagen behoben.
-
Der Kost2-Drill-down im Monatsbericht verwendet den exakten Kost2.
-
Gelöschte Rechnungspositionen werden aus den zwischengespeicherten Listensummen ausgeschlossen.
-
Kost1/Kost2- und Benutzerspalten werden überall korrekt sortiert.
-
Suche in Historienwerten mit pg_trgm-Indizes beschleunigt; ungenutzter Lucene-Index der Historienattribute entfernt.
-
Batch-Fetching von Lazy-Assoziationen bei der Massen-Reindizierung.
-
npm-audit-Schwachstellen in next und webapp behoben.
ProjectForge 8.2 Snapshot (2026-09-01)
2026-09-01, Snapshot-Build develop@0633fde56, Änderungen seit e8819bffc Snapshot
-
Rechnungen, Strukturbaum, Kalender und Zeitberichte migriert
-
Mehrfachauswahl, Massenänderung und Zeitraumfilter in Listen
-
Helles/dunkles Theme und JIRA-Issue-Links
-
Fix: Auftragsbuch und Rechnungen frieren nicht mehr ein
Überblick
-
Nach projectforge-next migriert: Ausgangs- und Kreditorenrechnungen, Strukturbaum und Struktur-Assistent, Gruppen, Kalender mit Team-Terminen, Zeitberichtsliste und -formular.
-
Listen und Formulare: Mehrfachauswahl mit Massenänderung für Rechnungen, Zeitraumfilter mit Blätterpfeilen, serverseitiges Paging der Auftrags- und Rechnungslisten, Wiederherstellen gelöschter Einträge.
-
Bedienung: Umschalter für helles/dunkles Theme, JIRA-Issue-Links in Listen und Formularen, zuletzt genutzte Menüeinträge und Schnellzugriffssuche im Menü.
-
Zeitberichte: überlappende Zeitberichte bei geteilten Kostenelementen erlaubt.
-
Rechnungen: Rechnungsstatistik mit Vorjahresvergleich.
-
Korrekturen: Auftragsbuch und Rechnungen frieren bei gleichzeitigen Cache-Aktualisierungen nicht mehr ein, viele N+1-Abfragefluten beseitigt, große ID-Listen in Teilen abgefragt, Projektmanager können Aufträge wieder speichern, fakturierte Beträge überstehen einen Neustart.
-
Sicherheit und Docker: sichere Weiterleitungs-URLs, wieder 2FA beim Speichern von Aufträgen und Kostenstellen; Docker-Container wieder baubar und startbar.
Alle Änderungen
-
Nach projectforge-next migriert
-
Ausgangsrechnungen mit Klonen, Word- und E-Rechnungs-Export, Kostenzuweisungen und Anhängen; Kreditorenrechnungen mit CSV-Import.
-
Strukturbaum (Baum- und Listenansicht, Tastaturnavigation), Bearbeitungsseite für Strukturelemente und Struktur-Assistent.
-
Gruppen, inklusive Mailadressen der Mitglieder und LDAP-Informationen.
-
Kalender mit Werkzeugleiste, Favoriten, Einstellungen, Drag and Drop, Sprung zu einem Datum; Team-Termine mit Erinnerungen, Wiederholung und Änderung von Serien.
-
Zeitberichtsliste und -formular mit letzten Einträgen, Vorlagen, Ortsvorschlägen, Verbrauchsbalken und PDF-/Excel-Export.
-
-
Listen und Formulare
-
Mehrfachauswahl mit explizitem Auswahlmodus, Massenänderung für Rechnungen.
-
Zeitraumfilter (Monat, Quartal, Jahr bis heute) mit Blätterpfeilen; Datumsauswahl über das aktuelle Jahr hinaus.
-
Serverseitiges Paging der Auftrags- und Rechnungslisten; generische Sortierung nach berechneten Spalten.
-
Gelöschte Einträge können wiederhergestellt werden; Links auf umgezogene Seiten führen zu den neuen Seiten.
-
-
JIRA-Issue-Links in Listen und Formularen für Strukturelemente, Strukturbaum, Aufträge und Zeitberichte.
-
Umschalter für helles/dunkles Theme, Logos an den Dark Mode angepasst.
-
Überlappende Zeitberichte bei geteilten Kostenelementen erlaubt.
-
Zuletzt genutzte Menüeinträge, gemeinsam für alle Frontends; Schnellzugriffssuche im Menü.
-
Rechnungsstatistik mit Vorjahresvergleich.
-
Auftragsbuch und Rechnungen frieren nicht mehr ein, wenn zwei Caches gleichzeitig aktualisiert werden (Cross-Lock-Deadlock); der Rechnungs-Cache aktualisiert sich nicht mehr innerhalb einer Schreibtransaktion.
-
Viele N+1-Abfragefluten (Auftragsliste, Rechnungslisten, Audit-Job des Datentransfers, Urlaubstermine, Mitarbeiter, Bücher, Gruppen).
-
Große ID-Listen werden in Teilen abgefragt, um unter dem Bind-Parameter-Limit der Datenbank zu bleiben.
-
Projektmanager können Aufträge im neuen Frontend wieder speichern.
-
Die Suche nach Kundennamen findet auch Wörter innerhalb des Namens.
-
Fakturierte Beträge bleiben nach einem Neustart erhalten.
-
Weiterleitungs-URLs können keinen fremden Host mehr einschleusen.
-
Das Speichern von Aufträgen und Kostenstellen fragt wieder nach einem zweiten Faktor.
-
Der Docker-Container lässt sich wieder bauen und starten; Schritt-für-Schritt-Anleitung für eine Testinstanz.
ProjectForge 8.2 Snapshot (2026-08-16)
2026-08-16, Snapshot-Build develop@e8819bffc, Änderungen seit 0095d878f Snapshot
-
Erster Snapshot mit projectforge-next unter
/next -
Neuer Login mit 2FA unter
/next/login -
Auftragsbuch, Bücher und Kost1 im neuen Frontend
-
Sicherheit: CSRF-Schutz, Angemeldet-bleiben-Tokens pro Gerät
Überblick
-
projectforge-next: Das neue Frontend läuft unter
/nextparallel zum bisherigen; jede migrierte Seite verlinkt zurück auf die klassische Variante. -
Login: Login, Zwei-Faktor-Authentifizierung und Passwort-Reset;
/next/loginist der einzige Login der Anwendung. -
Tabellen: verschiebbare und fixierbare Spalten, gespeicherte Layouts, Filterpanel, Filter-Pills und gespeicherte Filterfavoriten.
-
Migrierte Seiten: Bücher, Kost1 und Auftragsbuch mit Positionen, Zahlplan, Statistiken und Exporten; Anhänge und Änderungshistorie als Tab.
-
Forecast und Aufträge: konfigurierbare Verteilung des nicht verbrauchten Budgets, Run-Rate-Hochrechnung, Eintrittswahrscheinlichkeit wird angezeigt.
-
Weitere Neuerungen: Reindizierung als abbrechbarer Job, Klonen-Button für Merlin-Vorlagen, Response-Komprimierung.
-
Korrekturen: Regressionen nach der TanStack-Migration, fakturierte Auftragssummen nicht mehr 0, Identity-Provider-ID bleibt beim Bearbeiten von Benutzern erhalten, Suche in der Änderungshistorie, Benachrichtigungsmails zu Aufträgen.
-
Sicherheit: Angemeldet bleiben mit einem Token pro Gerät, Review der Filterkette, CSRF-Schutz und vollständige Feldvalidierung bei schreibenden REST-Aufrufen.
Alle Änderungen
Erster Snapshot mit projectforge-next, dem neuen Frontend, das unter /next parallel zum bisherigen läuft.
-
projectforge-next
-
Login, Zwei-Faktor-Authentifizierung und Passwort-Reset;
/next/loginist der einzige Login der Anwendung. -
Tabellen mit verschiebbaren und fixierbaren Spalten, gespeicherten Layouts, Filterpanel, entfernbaren Filter-Pills und gespeicherten Filterfavoriten.
-
Seiten werden aus den Entity-Metadaten des Backends deklariert; Feldregeln werden aus den Entities generiert statt wiederholt.
-
Bücher, Kost1 und Auftragsbuch (Liste, Bearbeitungsseite mit Positionen und Zahlplan, Statistiken, Excel- und Forecast-Exporte).
-
Anhänge mit Upload-Fortschritt, Mehrfachauswahl und ZIP-Download; Änderungshistorie als eigener Tab.
-
Jede migrierte Seite behält einen Link zurück zur klassischen Variante.
-
-
Reindizierung als abbrechbarer Job mit Fortschrittsanzeige.
-
Klonen-Button für Merlin-Vorlagen.
-
Forecast: konfigurierbare Verteilung des nicht verbrauchten Budgets, Run-Rate-Hochrechnung für Abruf- und Festpreisaufträge.
-
Auftrag: Eintrittswahrscheinlichkeit wird angezeigt; Positionen werden nur noch rot markiert, wenn sie wirklich zur Fakturierung fällig sind.
-
Numerische Spalten rechtsbündig, Zeitberichtszeiträume chronologisch sortiert.
-
Response-Komprimierung aktiviert.
-
Regressionen bei Dateiübertragung, Zeilenauswahl und Strukturbaum nach der TanStack-Migration.
-
Die Identity-Provider-ID wird beim Bearbeiten von Benutzern nicht mehr gelöscht.
-
LDAP-Verschieben/-Umbenennen von alten cn-basierten Einträgen.
-
Fakturierte Summen von Aufträgen nicht mehr 0 nach gleichzeitigen Cache-Aktualisierungen.
-
Die Login-Weiterleitung überschreibt die Rücksprung-URL nicht mehr.
-
Die Suche nach einem Wert in der Änderungshistorie funktioniert wieder.
-
Benachrichtigungsmails zu Aufträgen verhindern das Speichern des Auftrags nicht mehr.
-
Angemeldet bleiben: ein Token pro Gerät, Throttling, Cookie erst nach 2FA, Bereinigungsjob.
-
Security-Review der Filterkette: vertrauenswürdige Proxys, Ermittlung der Client-IP, Throttling öffentlicher Key-Endpunkte, unverzerrte Tokens.
-
CSRF-Schutz für die REST-Aufrufe des neuen Frontends; schreibende REST-Aufrufe validieren alle Felder einschließlich Stringlängen.
-
Das Spring-Profil geht über die generierte environment.sh nicht mehr verloren.
ProjectForge 8.2 Snapshot (2026-08-02)
2026-08-02, Snapshot-Build develop@0095d878f, Änderungen seit f8aab28cd Snapshot
-
Tabellen von AG Grid auf TanStack umgestellt
-
Forecast-Export mit Vergleich zum vorletzten Jahr
-
Fix: beschädigte Downloads großer Dateien
-
Fix: LDAP-Synchronisation blockiert nicht mehr
Überblick
-
Tabellen: auf TanStack React Table umgestellt, mit typisierten Spaltenfiltern, Datumsbereichsfiltern, Mehrfachauswahl per Tastatur, verschiebbaren und fixierbaren Spalten.
-
Forecast und Strukturelemente: Der Forecast-Export vergleicht mit dem vorletzten Jahr; Titel von Strukturelementen bis 100 Zeichen.
-
Korrekturen: Anhänge von Ausgangsrechnungen, beschädigte Downloads großer Dateien, Monatsanzahl im Forecast, LDAP-Synchronisation bei extern verschobenen Einträgen, Schriften bei der Merlin-PDF-Konvertierung, CardDAV-PUT-Requests auf neueren macOS-Versionen.
-
Administration und Sicherheit: Aktion zum Zurücksetzen der Identity-Provider-Passwortsynchronisation aller Benutzer; schwerwiegende npm-Schwachstellen behoben.
Alle Änderungen
Das Tabellen-Framework wurde von AG Grid auf TanStack React Table umgestellt.
-
Tabellen (TanStack): typisierte Spaltenfilter mit Badge für aktive Filter, Datumsbereichsfilter, Mehrfachauswahl per Tastatur, verschiebbare Spalten, Fixieren links und Aktionen per Zeilenklick.
-
Forecast-Export: Vergleich mit dem vorletzten Jahr.
-
Strukturelemente: Titellänge von 40 auf 100 Zeichen erhöht.
-
Ausgangsrechnungen: Anhänge auf der Bearbeitungsseite und Anhangsspalte in der Liste; Anhangszähler wird nach PDF-Upload/-Löschung aktualisiert.
-
Beschädigte Downloads großer Dateien.
-
Forecast: Anzahl der Monate bei Fakturierung im Folgemonat.
-
Die LDAP-Synchronisation blockiert nicht mehr bei extern verschobenen Einträgen.
-
Die Merlin-PDF-Konvertierung unterstützt Identity-H-Encoding für nicht registrierte Schriften.
-
CardDAV: PUT-Requests umgingen auf neueren macOS-Versionen den Filter.
-
Aktion zum Zurücksetzen der Identity-Provider-Passwortsynchronisation aller Benutzer.
-
Schwerwiegende npm-Schwachstellen in projectforge-webapp behoben.
ProjectForge 8.2 Snapshot (2026-06-30)
2026-06-30, Snapshot-Build develop@f8aab28cd, Änderungen seit 8f568604c Snapshot
-
Anpassen des persönlichen Menüs überarbeitet
-
Korrekturen: Plugin-Menüeinträge, Uploads vieler Dateien, Rechnungsexport
-
npm-Sicherheitsupdates
Überblick
-
Menü: Anpassen des persönlichen Menüs überarbeitet.
-
Korrekturen: Die Migration der WLAN-Passwort-Hashes berücksichtigt alle Benutzer, Plugin-Menüeinträge überstehen das Neuladen der Konfiguration, Uploads mit vielen Dateien, Firmenname im Rechnungsexport aus dem Konto.
-
Sicherheit: npm-Schwachstellen in projectforge-webapp behoben.
Alle Änderungen
-
Anpassen des persönlichen Menüs überarbeitet.
-
Die Migration der WLAN-Passwort-Hashes berücksichtigt auch Benutzer ohne erfasste Passwortänderung.
-
Plugin-Menüeinträge verschwinden nach dem Neuladen der Konfiguration nicht mehr.
-
Multipart-Uploads mit vielen Dateien (Tomcat-maxPartCount konfiguriert).
-
Der Rechnungsexport übernimmt den Firmennamen aus dem Konto der Rechnung.
-
npm-Schwachstellen in projectforge-webapp behoben; esbuild, Vite, vitest u. a. aktualisiert.
ProjectForge 8.2 Snapshot (2026-05-31)
2026-05-31, Snapshot-Build develop@8f568604c, Änderungen seit c7b37dd27 Snapshot
-
E-Rechnung: XRechnung- und ZUGFeRD-Export
-
E-Rechnungsprüfer für ZUGFeRD-/XRechnung-Dateien
-
Frontend-Build auf Vite umgestellt
Überblick
-
E-Rechnung: XRechnung-Export und ZUGFeRD-PDF mit eingebettetem XML, E-Rechnungsfelder in einem Dialog mit Validierung, Anhänge eingebettet, E-Rechnungsfelder ins Konto verschoben.
-
E-Rechnungsprüfer: zeigt und validiert ZUGFeRD- und XRechnung-Dateien.
-
Rechnungen, Aufträge und Forecast: Autovervollständigung des Kundentexts; Forecast-Vorlage mit Statusspalte und Restbudget verteilt auf die verbleibenden Monate.
-
Korrekturen: NPE beim Klonen von Ausgangsrechnungen, SEPA-XML-Namespaces.
-
Technologie: Frontend-Build von react-scripts auf Vite umgestellt, Tests von Jest auf Vitest.
Alle Änderungen
-
E-Rechnung (XRechnung / ZUGFeRD)
-
XRechnung-Export von Ausgangsrechnungen und ZUGFeRD-PDF-Export mit eingebettetem XML.
-
E-Rechnungsfelder in einem Dialog mit Validierung; PEPPOL-Validierungswarnungen behoben.
-
Rechnungsanhänge werden in den E-Rechnungsexport eingebettet; hochgeladenes Rechnungs-PDF als Alternative zur DOCX-Konvertierung.
-
E-Rechnungsprüfer zum Anzeigen und Validieren von ZUGFeRD-/XRechnung-Dateien.
-
E-Rechnungsfelder vom Kunden ins Konto verschoben, dazu Ansprechpartner und Kontoinhaber.
-
-
Autovervollständigung des Kundentexts in Rechnungen und Aufträgen.
-
Forecast-Vorlage: Statusspalte; Restbudget wird auf die verbleibenden Monate verteilt.
-
NPE beim Klonen von Ausgangsrechnungen.
-
Behandlung der SEPA-XML-Namespaces mit Spring Boot 3.4.
-
Frontend-Build von react-scripts auf Vite umgestellt, Tests von Jest auf Vitest.
ProjectForge 8.2 Snapshot (2026-04-30)
2026-04-30, Snapshot-Build develop@c7b37dd27, Änderungen seit aa37d14c1 Snapshot
-
Unterstützung für Authentik (Modul projectforge-idp)
-
React 19 und Spring Boot 3.4.13
-
Fix: Absturz beim Umbenennen der LDAP-uid
Überblick
-
Identity Provider: Modul projectforge-keycloak zu projectforge-idp umgebaut, mit Unterstützung für Authentik; WLAN-Passwort-Hashes von LDAP nach Authentik migriert.
-
Korrekturen: Absturz beim Umbenennen der LDAP-uid, Autovervollständigungs-Dropdowns und Wiederholungseditor nach der Migration auf React 19.
-
Technologie: React 19 mit allen Frontend-Abhängigkeiten, Spring Boot 3.4.13.
Alle Änderungen
-
Authentik-Unterstützung: Modul projectforge-keycloak zu projectforge-idp umgebaut; WLAN-Passwort-Hashes von LDAP nach Authentik migriert.
-
Absturz beim Umbenennen der LDAP-uid.
-
Autovervollständigungs-Dropdowns und Wiederholungseditor nach der Migration auf React 19.
-
React 18 → 19 mit allen Frontend-Abhängigkeiten.
-
Spring Boot 3.4.13 (Spring Framework 6.2.15); Abhängigkeitskonflikte bei Jackson/npm aufgelöst.
ProjectForge 8.2 Snapshot (2026-03-31)
2026-03-31, Snapshot-Build develop@aa37d14c1, Änderungen seit 13abcce44 Snapshot
-
Keycloak-Integration (Modul projectforge-keycloak)
-
Skriptzugriff auf Auftragsbuch-Snapshots und Mitarbeiterdaten
-
Korrekturen: Keycloak-Sync, Forecast-Export, Kalender
Überblick
-
Keycloak: neues Modul mit Login-Handler für eine schrittweise Einführung, bidirektionale Attribut- und Gruppen-Mappings, Synchronisation des WLAN-Passworts bei Passwortänderung.
-
Scripting: Zugriff auf Auftragsbuch-Snapshots und auf Mitarbeiterdaten einschließlich Monatsberichten.
-
Korrekturen: Probleme beim Keycloak-Sync, Forecast-Export, Kalendernavigation, ein Benutzerwechsel in der Wicket-Session erzwingt einen neuen Login, Nebenläufigkeit im Strukturbaum.
-
Sicherheit: Die Systemstatistik zeigt Nicht-Admins nur reduzierte Informationen.
Alle Änderungen
-
Keycloak-Integration
-
Neues Modul projectforge-keycloak mit einem Login-Handler für eine schrittweise Einführung.
-
Bidirektionale, konfigurierbare Attribut-Mappings; Gruppenattribute werden in beide Richtungen synchronisiert.
-
WLAN-Passwort (NT-Hash) wird bei Passwortänderung synchronisiert; Locale im BCP-47-Format.
-
-
Scripting
-
Skriptzugriff auf Auftragsbuch-Snapshots (auch als unkomprimiertes JSON).
-
Skriptzugriff auf Mitarbeiterdaten einschließlich Monatsberichten.
-
-
Keycloak-Sync: unnötige Updates, Synchronisation der Mitgliedschaften, ungültige Zeichen in Namen, fehlende Mailadressen.
-
Forecast-Export: NPE und Snapshot-Daten.
-
Navigation und Layout des Kalenders.
-
Wicket-Session: Ein Benutzerwechsel wird erkannt, protokolliert und erzwingt einen neuen Login; Breadcrumbs erzeugen neue Seiteninstanzen.
-
Nebenläufigkeit und defensive Prüfungen in der Strukturbaum-Hierarchie.
-
Die Systemstatistik zeigt Nicht-Admins nur reduzierte Informationen.
ProjectForge 8.2 Snapshot (2026-01-31)
2026-01-31, Snapshot-Build develop@13abcce44, Änderungen seit 0d84c2c74 Snapshot
-
Verschlüsselte und flache Export-ZIP-Archive
-
Neue Beispielskripte
-
Kost2 erbt seinen Status vom Projekt
Überblick
-
Exporte: ZIP-Archive mit flacher Struktur und ZIP-Verschlüsselung, auch für Skripte.
-
Skripte: neue Beispiele für einen jährlichen Zeitberichtsexport und einen SQL-Dump-Export.
-
Kost2: Buchungssätze unterstützen Kost2 als String; Kost2 erbt seinen Status virtuell vom Projekt.
-
Technologie: AG Grid 34, Wicket 10.8, Podman statt Docker für die Testdatenbank.
Alle Änderungen
-
Export-ZIP-Archive unterstützen eine flache Struktur und ZIP-Verschlüsselung (auch für Skripte).
-
Neue Beispielskripte: jährlicher Zeitberichtsexport, SQL-Dump-Export.
-
Buchungssätze unterstützen Kost2 als String.
-
Kost2 erbt seinen Status virtuell vom Projekt.
-
AG Grid 34, Wicket 10.8.
-
Podman statt Docker für die Testdatenbank.
ProjectForge 8.2 Snapshot (2025-11-30)
2025-11-30, Snapshot-Build develop@0d84c2c74, Änderungen seit fec48a9e1 Snapshot
-
Adressimport: Löschen, Wiederherstellen und erzwungenes Löschen
-
Fix: endlose LDAP-Synchronisation
Überblick
-
Adressen: Der Adressimport unterstützt Löschen, Wiederherstellen und erzwungenes Löschen; Excel-Export der Adresskampagnen nur für berechtigte Benutzer.
-
Korrektur: endlose LDAP-Synchronisation durch leere Strings.
Alle Änderungen
-
Der Adressimport unterstützt Löschen, Wiederherstellen und erzwungenes Löschen.
-
Adresskampagnen: Excel-Export-Button nur für berechtigte Benutzer.
-
Endlose LDAP-Synchronisation (leere Strings werden zu null normalisiert).
ProjectForge 8.2 Snapshot (2025-11-02)
2025-11-02, Snapshot-Build develop@fec48a9e1, Änderungen seit 5094a1586 Snapshot
-
vCard-Import/-Export und Freitextimport von Adressen
-
Spalteneinstellungen werden automatisch gespeichert
-
Korrekturen: Spinner nach 2FA, LDAP- und Sipgate-Synchronisation
Überblick
-
Adressen: vCard-Import und -Export (3.0/4.0) mit Kontaktbildern, Freitextimport, Import-Abgleich mit Diff-Ansicht, Warnung vor Dubletten.
-
Tabellen: Spalteneinstellungen automatisch gespeichert und auf die Server-Standardwerte rücksetzbar; automatisches Scrollen.
-
Korrekturen: endloser Spinner nach der Zwei-Faktor-Authentifizierung, LDAP-Synchronisation erkannte alle Benutzer als geändert, Sipgate-Synchronisation.
Alle Änderungen
-
Adressimport/-export
-
vCard-Import und -Export (vCard 3.0 und 4.0) einschließlich Kontaktbildern, iOS-kompatibel.
-
Freitextimport: als unstrukturierter Text eingefügte Adressen werden ausgewertet (Namen, Titel, Anreden, Anschriften, Telefonnummern).
-
Import-Abgleich für mehrere vCards in einer Datei, mit Diff-Ansicht für geschäftliche, private und Postanschriften.
-
Warnung vor Dubletten beim Anlegen neuer Adressen; Export einer einzelnen Adresse als vCard.
-
-
Spalteneinstellungen (Filter, Sortierung, Reihenfolge, Breiten) werden automatisch gespeichert und lassen sich auf die Server-Standardwerte zurücksetzen.
-
Tabellen: automatisches Scrollen.
-
Endloser Spinner nach erfolgreicher Zwei-Faktor-Authentifizierung.
-
Die LDAP-Synchronisation erkannte alle Benutzer als geändert.
-
Sipgate-Synchronisation.
ProjectForge 8.2 Snapshot (2025-10-21)
2025-10-21, Snapshot-Build develop@5094a1586, Änderungen seit 348568c54 Snapshot
-
Adressliste auf der neuen Tabelle
-
Tabellen: fixierte Spalten, Größenänderung, mehrzeilige Zellen
-
Adresskampagnen überarbeitet
Überblick
-
Adressen: Adressliste auf der neuen Tabelle mit Mehrfachauswahl.
-
Tabellen: fixierte Spalten, konfigurierbare Größenänderung, Zurücksetzen der Spalteneinstellungen, mehrzeilige Zellen, Paginierungsinfo oben.
-
Adresskampagnen: Adressen aus der Kampagnenliste in einem Dialog bearbeiten, ungültige Adressen hervorgehoben, Filter für eigene Einträge.
-
Korrekturen und Technologie: Wildcard-Parameter des Like-Filters, diverse Tabellenkorrekturen; JAXB entfernt.
Alle Änderungen
-
Adressliste auf die neue Tabelle mit Mehrfachauswahl umgestellt.
-
Tabellen: fixierte Spalten, konfigurierbare Größenänderung, Zurücksetzen der Spalteneinstellungen, mehrzeilige Zellen, Paginierungsinfo oben.
-
Adresskampagnen überarbeitet: Adressen direkt aus der Kampagnenliste in einem Dialog bearbeiten, ungültige Adressen hervorgehoben, Filter für eigene Einträge.
-
QueryFilter.like ignorierte den Parameter für automatische Wildcards.
-
Diverse Tabellenkorrekturen.
-
JAXB entfernt (SEPA-XML-Generator migriert); MarkdownBuilder escapt seine Eingaben.
ProjectForge 8.2 Snapshot (2025-10-05)
2025-10-05, Snapshot-Build develop@348568c54, Änderungen seit f8e0e8f67 Snapshot
-
DATEV-Import von Eingangsrechnungen
-
Währungen mit online ermittelten Wechselkursen
-
Umfrage-Plugin verbessert
Überblick
-
Eingangsrechnungen: Import aus DATEV, mit Währung.
-
Währungsumrechnung: Wechselkurse mit Gültig-ab-Datum; der passende Kurs wird online ermittelt und vorgeschlagen.
-
Umfrage-Plugin: bessere Erinnerungsmails, fehlende Antworten korrigiert.
Alle Änderungen
-
Eingangsrechnungen können aus DATEV importiert werden und haben eine Währung.
-
Währungsumrechnung: Wechselkurse mit Gültig-ab-Datum; der passende Kurs wird online ermittelt und vorgeschlagen.
-
Umfrage-Plugin: Erinnerungsmails verbessert, fehlende Antworten korrigiert.
ProjectForge 8.2 Snapshot (2025-09-09)
2025-09-09, Snapshot-Build develop@f8e0e8f67, Änderungen seit d3d8850e1 Snapshot
-
Suche nach Ticket-Keys funktioniert wieder
-
Fix: fehlende Suchfelder in klassischen Listen
Überblick
-
Suche: Ticket-Keys (z. B.
ABC-1234) werden in Zeitberichten und Strukturelementen wieder gefunden; Kostensuche verbessert. -
Korrektur: Klassische Listenansichten zeigen wieder alle Suchfelder, z. B. die Kost2-Nummer in Zeitberichten.
Alle Änderungen
-
Die Suche nach Ticket-Keys (z. B.
ABC-1234) in Zeitberichten und Strukturelementen funktioniert wieder. -
Kostensuche verbessert.
-
Klassische Listenansichten zeigten nicht alle Suchfelder (z. B. Kost2-Nummer in Zeitberichten).