Release Notes
1 Administration
1.1 Aktualisierung von integrierter Fremdsoftware
Mit dem Release 2023.10 sind folgende intern verwendete Software aktualisiert worden.
- Java Service Wrapper (Konfiguration und Überwachung der FirstSpirit Java VM, 3.5.50 --> 3.5.54)
Hinweis: Bei einer Aktualisierung des FirstSpirit-Servers (Auto-Update, Inplace-Upgrade) werden die Dateien des Java Service Wrappers nicht automatisch aktualisiert. Der Java Service Wrapper kann gemäß FirstSpirit Installationsanleitung über das Tar-Gzip-Aktualisierungsarchiv (Datei fs-update-[version].tar.gz) aktualisiert werden.
Weiterführende Dokumentation:
1.2 Konfigurierbare Metrik zur Erkennung von blockierten Threads
Mithilfe des neuen Parameters schedule.maxInactivityTimeout in der fs-server.conf kann definiert werden, innerhalb welchen Zeitraums eine Auftragsaktion als „blockiert“ betrachtet und abgebrochen wird, wenn keine CPU-Zeit verbraucht wurde.
Diese Metrik ermöglicht es, Threads oder Auftragsaktionen zu identifizieren, die keine CPU-Ressourcen innerhalb eines festgelegten Zeitraums nutzen, und sie gegebenenfalls abzubrechen, um die Effizienz und die Ressourcennutzung zu optimieren.
Standardmäßig ist dieser Zeitrahmen auf 10 Minuten eingestellt. Eine Überprüfung auf die Abbruchbedingung erfolgt alle fünf Minuten.
Im Ausnahmefall kann ein Thread in der Standardkonfiguration also bis zu 15 Minuten ohne CPU-Verbrauch verharren, bevor er als blockiert erkannt und abgebrochen wird.
1.3 Kritische Sicherheitslücke: "Heap Buffer Overflow" in WebP
Aufgrund von CVE-2023-4863 wurde die von FirstSpirit benutzte WebP-Library, welche zum Rendern von WebP-Bildern benötigt wird, auf eine Version aktualisiert, die auf libwebp-Version 1.3.2 basiert.
Ein „Heap Buffer Overflow“ in WebP ermöglicht es einem Angreifer, Speicher außerhalb der festgelegten Grenzen zu schreiben und so möglicherweise bösartigen Code einzuschleusen. Ein manipuliertes WebP-Bild kann daher zu einer Code-Injection führen.
FirstSpirit-Versionen ab 2019.11 sind betroffen.
Wie kann die Lücke ausgenutzt werden?
- Ein Redakteur fügt ein manipuliertes WebP-Bild einem Projekt hinzu.
Was muss man tun?
- (Server) Update auf 5.2.230813 (Non-Jakarta) oder 5.2.231008 (Jakarta)
- (Client) Deaktivieren der integrierten Vorschau im SA (JxBrowser)
- (Client) Aktualisieren der lokalen Browser
Mitigation ohne FS Update
- (Server) Hochladen von WebP verhindern (Einstellen passender Restriktionen im Projekt) oder
- (Server) WebP als Medientyp „file“ konfigurieren
- (Client) Deaktivieren der integrierten Vorschau im SA (JxBrowser)
- (Client) Aktualisieren der lokalen Browser
1.4 Sicherheit: Externe Authentifizierung von internen Admins
Aus Sicherheitsgründen ist es für Server-Administratoren, bei denen die Option „externer Benutzer“ nicht gesetzt ist, nicht mehr möglich, sich über eine externe Authentifizierung (z. B. SAML oder LDAP) anzumelden. Ein entsprechender Versuch führt nun dazu, dass der Anmeldedialog angezeigt wird.
Diese Einschränkung gilt nicht für „normale“ Benutzer und auch nicht für Projekt-Administratoren.
2 Administration / Module
2.1 SAML Login: Match-Modi für Externe Gruppen
Es wurden zwei neuen Match-Modi für externe Gruppen im FirstSpirit SAML Login Modul eingeführt.
Die neuen Parameter können in fs-saml.conf defineirt werden (siehe dazu Installation und Einrichtung des Moduls).
group.match.mode
Mögliche Werte:
contains(Standardwert)equals
Mit diesem Parameter kann die Zuordnung zu externen Gruppen von dem „SAML Gruppe muss die externe Bezeichnung der Gruppe enthalten“ (contains) auf „SAML Gruppe muss identisch zur externen Bezeichnung sein“ (equals) geändert werden.
group.name
group.name=${saml:groupName}Mit diesem Parameter ist es möglich, den SAML Gruppennamen um ein beliebiges Prefix und/oder Suffix zu erweitern.
Beispiel:
group.name=SAML-${saml:groupName}-GRUPPEDiese Konfiguration würde dazu führen, dass eine über SAML Login bezogene Gruppe „users“ in FirstSpirit als „SAML-users-GRUPPE“ verwendet würde.
2.2 Umstellung auf Jakarta Servlet 6.0
Die Umstellung auf Jakarta Servlet 6.0 ist ein wesentlicher Schritt, um die Sicherheit der Webanwendungen zu gewährleisten.
Mit der FirstSpirit-Version 2023.9 erfolgte die Umstellung auf Jakarta Servlet 6.0 mit Unterstützung für automatische Migration.
Die Unterstützung der automatischen Migration wird mit FirstSpirit 2024.9 eingestellt.
Im Gegensatz zum schrittweise erfolgenden Rollout für Cloud-Kunden können On-Premises-Kunden ihre FirstSpirit-Server nach Erscheinen der Version 2023.9 oder 2023.10 testen und migrieren.
Wir empfehlen jedoch dringend, mit dem Update von produktiven Servern mindestens bis zum Release 2023.11 zu warten, da wir mit diesem Release die Kompatibilität für die von Crownpeak bereitgestellten Module gewährleisten wollen.Wichtig:
- Wenn FirstSpirit in einem On-Premises-Szenario betreiben wird, muss beim Wechsel auf die FirstSpirit JakartaEE-Edition die Tomcat-Version aktualisiert werden. Da die Servlet-Version auf 6.0 aktualisiert wird, wird eine 10.1.x Version von Tomcat benötigt.
- Die Verwendung der FirstSpirit-Version 2023.9 oder höher setzt voraus, dass Java in der Version 17 eingesetzt ist.
Die FirstSpirit-Installation kann betroffen sein, wenn eine der folgenden Bedingungen zutrifft:
- Die FirstSpirit-Installation wird nicht in der Crownpeak Cloud gepflegt.
- Es wird ein benutzerdefiniertes Modul verwendet, das eine WebApp-Komponente mit Code enthält, der die alte Java-Servlet-API verwendet.
- Es wird ein benutzerdefiniertes Modul eingesetzt, das eine WebApp-Komponente mit Abhängigkeiten enthält, die das alte JavaEE-API verwenden, z. B.
Spring Boot 2.x.
Weitere Informationen und Updates sind in der Crownpeak Community und in den ausführlichen Jakarta FAQ zu finden.
Bei Fragen oder Feedback zur Migration wenden Sie sich bitte an den Customer Support Team.
3 Allgemeines
Informationen zur eingesetzten Servlet-Version
Im ServerManager liefert die Liste der Web-Applikationen jetzt auch Informationen zur eingesetzten Servlet-Version. Mit dieser kann festgestellt werden, ob auf einem Server mit Jakarta-EE-Unterstützung noch Komponenten installiert sind, die in nächster Zeit auf die Jakarta-EE-API migriert werden sollen.

Servlet Version
4 Externe Synchronisierung / Content Transport
ContentTransport: Verbessertes Aufräumen von Features
Bei der Erstellung von Features werden diese nun nicht mehr grundsätzlich im „Project-Local-Storage“ gespeichert, sondern nur noch, wenn dieser explizit ausgewählt wurde.
Hinweis: Bei der Erstellung von Features mittels FirstSpirit-API wird automatisch der „Project-Local-Storage“ verwendet.
5 FirstSpirit Content Experience Tools (CXT)
Aktuelle Modul-Versionen
Folgende Modul-Versionen für FirstSpirit Content Experience Tools werden von FirstSpirit 2023.10 unterstützt.
| Modul- / Dateiname | Versionsnummer |
FirstSpirit CXT Plattformplatform-[version].fsm | 5.0.2 |
FirstSpirit CXT DAP Bridgedataservice-[version].fsm | 1.44.15 |
FirstSpirit CXT FragmentCreatorfragment-creator-[version].fsm | 5.0.1 |
FirstSpirit Fragment DAPfragmentdap-[version].fsm | 1.40.23 |
FirstSpirit Media DAPmediadap-[version].fsm | 1.31.14 |
FirstSpirit PageRef DAPpageref-[version].fsm | 1.9.14 |
FirstSpirit Markdown Editormarkdown-editor-[version].fsm | 1.29.13 |
FirstSpirit Tagging Editortagging-editor-[version].fsm | 1.29.13 |
FirstSpirit CXT FragmentCreator - CaaS Integrationcaas-integration-[version].fsm | 1.31.13 |
6 Modul-Entwicklung, Skripte, API
6.1 Angabe einer minimal unterstützten FS-Version für Module
Mit dem aktuellen FirstSpirit-Release besteht nun die Möglichkeit, optional eine minimal benötigte FirstSpirit-Version bei der Modulenwicklung anzugeben (module.xml).
Innerhalb des <module>-Blocks kann die entsprechende FirstSpirit-Version definiert werden.
Beispiel:
<module>
<name>FirstSpirit Beispiel-Modul</name>
<version>5.2</version>
<min-fs-version>5.2.230909</min-fs-version>
<components>
...
</components>
<module>Mit dieser Syntax kann z. B. sichergestellt werden, dass das Modul nur auf einem FirstSpirit-Server ab der Version 5.2.230909 installiert werden kann.
Die Syntax lautet <FSMajorVersion>.<FSMinorVersion>.<FSBuildNummer>, wobei
<FSMajorVersion>: 5<FSMinorVersion>: 2<FSBuildNummer>: 6-stellige Nummer bestehend aus jeweils zwei Stellen für<Jahr>,<Version im Jahr>,<Buildnummer>
6.2 Neue Methode zum Ermitteln des Pfades zu einem Webanwendungsverzeichnis des Webservers
Das Interface WebServer (FirstSpirit Developer-API, Package de.espirit.firstspirit.module) wurde um eine neue Methode getWebAppDir(String targetPath) erweitert, die den Pfad zu einem bestimmten Webanwendungsverzeichnis dieses Webservers zurück liefert. Da die Methode über eine Default-Implementierung verfügt, ist für die meisten Ableitungen der Klasse keine Anpassung notwendig.
Außerdem wurde der Fehler beseitigt, der dazu führte, dass die Ergebnisse von Generierungsaufträgen für den mit FirstSpirit 2023.9 bereitgestellten Embedded Tomcat nicht sichtbar waren.
Übersicht
| ID | Beschreibung | Kategorien |
|---|---|---|
| CORE-8226 | Die Interfaces im API-Package |
FirstSpirit-API |
| CORE-11447 | Beim Installieren und Deinstallieren von Web-Applikation-Komponenten über die API-Methoden |
FirstSpirit-API |
| CORE-13304 | Bei der Modulenwicklung ist es nun möglich eine minimal unterstützte FirstSpirit-Version anzugeben. |
Modul-Entwicklung |
| CORE-14442 | Mithilfe des neuen Parameters |
Server-Administrator |
| CORE-15037 | Aktualisierung von integrierter Fremdsoftware |
Integrierte Software |
| CORE-15129 | Bei der Auswahl von Absatzvorlagen in einer FS_CATALOG-Eingabekomponente wurde ein Problem behoben, dass die Anzeige bei zu vielen Absatzvorlagen in seltenen Fällen am Bildschirmrand abgeschnitten wurde. |
SiteArchitect |
| CORE-15476 | Ein Problem wurde behoben, dass zu einer fehlerhaften Konfiguration der Web-Applikation von „FirstSpirit Dynamic Database Access“ Modul (fs-integration.fsm) geführt hat. |
Server-Administrator |
| CORE-15501 | Es wurden zwei neuen Match-Modi für externe Gruppen im FirstSpirit SAML Login Modul eingeführt. Damit wird die Flexibilität geboten, die Matching-Strategie für externe Gruppen entsprechend den Anforderungen festzulegen. |
Server-Administrator |
| CORE-15530 | Bei der Erstellung von Features werden nur explizit ausgewählte Features im „Project-Local-Storage“ gespeichert. |
Content Transport |
| CORE-15544 | Die Robustheit der Revisionserzeugung in FirstSpirit wurde verbessert, so dass die Wahrscheinlichkeit für den Status |
FirstSpirit-Administrator |
| CORE-15565 | Ein möglicher Deadlock bei der Aktualisierung des Suchindex wurde behoben. |
Server-Administrator |
| CORE-15569 | Neue Methode |
FirstSpirit-API, Server-Administrator |
| CORE-15597 | Aus Sicherheitsgründen ist es für Server-Administratoren, bei denen die Option „externer Benutzer“ nicht gesetzt ist, nicht mehr möglich, sich über eine externe Authentifizierung (z. B. SAML oder LDAP) anzumelden. |
Server-Administrator, Sicherheit |
| CORE-15604 | Es wurde ein Fehler behoben, der dazu führen konnte, dass beim Import von Bildern inkl. entsprechender Auflösungen das Vorschaubild fälschlicherweise nicht auf Grundlage des Originalbild berechnet wurde. |
Medien |
| CORE-15610 | Im ServerManager liefert die Liste der Web-Applikationen jetzt auch Informationen zur eingesetzten Servlet-Version. |
ServerManager |
| CORE-15613 | Das Modul „FirstSpirit BasicSearch“ nutzt nun keine Legacy Komponenten mehr. |
Module |
| CORE-15634 | Im Zuge der Umstellung auf die neue Jakarta-Servlet-Version werden Web-Anwendungen jetzt mit der XML-Schema-Version 6.0 deployt. |
Server-Administrator, Web-Anwendungen |
| CORE-15652 | FirstSpirit Content Experience Tools: Aktuelle Modul-Versionen |
FirstSpirit Content Experience Tools (CXT) |
| CORE-15662 | Bei der Installation von Modulen, die FirstSpirit-Artefakte enthalten, wird jetzt eine Fehlermeldung ausgegeben. Zusätzlich werden diese Artefakte im laufenden Betrieb ignoriert. |
Server-Administrator |
| CORE-15671 | Umstellung auf Jakarta Servlet 6.0 |
FirstSpirit-Administrator, Java, Modul-Entwicklung, Module, Server-Administrator |
| CORE-15682 | Es wurde eine Schwachstelle in der WebP-Library |
Sicherheit |
| CXT-2941 | Die Reihenfolge erlaubter Formatvorlagen in den Eingabekomponenten CMS_INPUT_DOM und CMS_INPUT_DOMTABLE wird nun für die Anzeige im Editor berücksichtigt. |
ContentCreator |
| CXT-2968 | Wenn für den ContentCreator eine externe Vorschau URL definiert wurde, so wird diese nun auch aufgerufen, wenn es keine Startseite in der Struktur-Verwaltung des Projektes gibt. |
ContentCreator |
Deprecations
| Funktion | Abgekündigt mit | Entfällt / Entfallen mit |
|---|---|---|
| Eingabekomponente CMS_INPUT_CONTENTAREALIST | 5.2R3 | |
| Eingabekomponente CMS_INPUT_CONTENTLIST | 5.2R3 | |
| Eingabekomponente CMS_INPUT_FILE | 5.2R3 | |
| Eingabekomponente CMS_INPUT_LINKLIST | 5.2R3 | |
| Eingabekomponente CMS_INPUT_OBJECTCHOOSER | 5.2R3 | |
| Eingabekomponente CMS_INPUT_PAGEREF | 5.2R3 | |
| Eingabekomponente CMS_INPUT_PICTURE | 5.2R3 | |
| Eingabekomponente CMS_INPUT_TABLIST | 5.2R3 | |
| FirstSpirit Access-API: de.espirit.firstspirit.agency.GroupsAgent | 5.2R15 | |
| FirstSpirit Access-API: delete (de.espirit.firstspirit.access.AccessUtil) | 5.2R18 | |
| FirstSpirit Access-API: release (de.espirit.firstspirit.access.AccessUtil) | 2018-06 | |
| FirstSpirit Access-API: getLastLoginAsDate (de.espirit.firstspirit.agency.UserStatisticsAgent) | 2018-07 | |
| FirstSpirit Access-API: remainingDurationOfCurrentStageInMillis (de.espirit.firstspirit.server.MaintenanceModeInfo) | 2018-07 | 2025-13 |
| FirstSpirit Access-API: getStartingTimeOfStageAsDate (de.espirit.firstspirit.server.MaintenanceModeInfo) | 2018-07 | 2025-13 |
| FirstSpirit Access-API: getSelectedWebserverConfiguration (de.espirit.firstspirit.access.serverConfiguration) | 2018-10 | 2025-13 |
| FirstSpirit Access-API: setSelectedWebserverConfiguration (de.espirit.firstspirit.access.serverConfiguration) | 2018-10 | 2025-13 |
| FirstSpirit Access-API: getSelectedWebServer (de.espirit.firstspirit.access.project.Project) | 2018-10 | 2025-13 |
| FirstSpirit Access-API: setSelectedWebServer (de.espirit.firstspirit.access.project.Project) | 2018-10 | 2025-13 |
| FirstSpirit Access-API: getLostAndFoundStoreNodes(); (de.espirit.firstspirit.feature.FeatureInstallResult) | 2018-10 | |
| FirstSpirit Access-API: getDeletedStoreNodes(); (de.espirit.firstspirit.feature.FeatureInstallResult) | 2018-10 | |
| FirstSpirit Access-API: de.espirit.firstspirit.access.store.Previewable | 2019-01 | |
| WebSphere Application Server Support für FirstSpirit | 2019-05 | |
| Datenbank-Layer Oracle Database 11g/12c | 2020-12 | 2025-05 |
| FirstSpirit Access-API: redirectTemplateLogToDefaultLog() (Interface RenderingAgent.Renderer) | 2021-05 | |
| Support für Log4j 1 | 2022-05 | 2024-06 |