[general]
There is additional security hardening implemented in this version, e.g. by removing the obsolete `driverLibrary` property from data sources, as well as disallowing unknown data sources by default.

[general:de]
In dieser Version wurden zusätzliche Sicherheitsvorkehrungen getroffen, z. B. durch die Entfernung der veralteten Eigenschaft `driverLibrary` aus Datenquellen und die standardmäßige Nichtzulassung unbekannter Datenquellen.

[changes]
* Transparent objects that are not visible are now ignored and no longer displayed visibly during PDF/A export.
* Merging parameters of stored procedures with the same name in different catalog/schema is prevented.
* The obsolete Datasource Property `driverLibrary` was removed.
* In the HTML Viewer, using the search now allows to find more than 50 entries. Once the user went through all the entries to 50, another set of 50 entries will be searched in the the report.
* The conversion "To SQL" in the database wizard now also supports "SQL expression fields" used in formula fields.

[changes:de]
* Transparente nicht sichtbare Objekte werden beim PDF/A Export nun ignoriert und nicht mehr sichtbar dargestellt.
* Das Zusammenführen von Parametern gespeicherter Prozeduren mit dem demselben Namen in unterschiedlichen Catalog/Schema wird verhindert.
* Die veraltete Datasource Property `driverLibrary` wurde entfernt.
* Im HTML-Viewer ist es nun möglich, mit der Suche mehr als 50 Einträge zu finden. Sobald der Benutzer alle Einträge bis auf 50 durchgegangen ist, wird ein weiterer Satz von 50 Einträgen im Bericht durchsucht.
* Die Umwandlung "Nach SQL" im Datenbankassistenten unterstützt jetzt auch "SQL Ausdrücke", die in Formeln genutzt werden.

[bugfixes]
* Several configuration settings for the XLS output format were used only after a server restart.
* Drawing operations in subreports (e.g. bullets in HTML) did not restore the context in the output format for the JavaViewer, such as colors. Which leads to incorrect colors in the report.
* The HTML Viewer modified the line spacing incorrectly to calculate font auto scaling options.
* The date and time data type detector accepts only years in the range 0 to 9999 as valid dates for JSON and XML data sources.
* Regression: when using the Oracle Thin driver, no database columns were found anymore in stored procedures.
* `Wrong value for tag ConformanceLevel` error occurred when the FacturX profile `BASIC WL` or `EN 16931` was used.
* XML data sources duplicated content if the XML file contained a `&` encoded as `&amp;`.
* Regression: It was not possible to open a report using `file:` key URL parameter, e.g. `https://servername:port/file:/<path>/<reportfile>.rpt`.
* When a subreport was moved to the next page to handle a 'keep-together' flag, lines and boxes across multiple sections within the subreports began at the top position.
* Performance of SQL generation with complex formulas for grouping and sorting improved.

[bugfixes:de]
* Mehrere Konfigurationseinstellungen für das XLS-Ausgabeformat wurden erst nach einem Server Neustart verwendet.
* Zeichnungsoperationen in Unterberichten (z.B. Aufzählungszeichen in HTML) stellten den Kontext im Ausgabeformat für den JavaViewer nicht wieder her, wie z.B. Farben. Was zu fehlerhaften Farben im Bericht führte.
* Der HTML-Viewer änderte das Line-Spacing auf eine falsche Art, um die automatischen Skalierung der Schrift zu berechnen.
* Der Datentyp-Detektor für Datum- und Zeit akzeptiert für JSON- und XML-Datenquellen nur noch Jahre im Bereich von 0 bis 9999 als gültiges Datum.
* Regression: bei Nutzung des Oracle Thin Treibers wurden bei Stored Procedures keine Datenbankspalten mehr gefunden.
* `Wrong value for tag ConformanceLevel` Fehler behoben, wenn das FacturX Profile `BASIC WL` oder `EN 16931` benutzt wurde.
* XML-Datenquellen haben Inhalte verdoppelt, wenn die XML-Datei ein & enthielt, das als &amp; kodiert war.
* Regression: Es war nicht möglich, einen Bericht mit dem URL-Parameter `file:` zu öffnen, z.B. `https://servername:port/file:/<path>/<reportfile>.rpt`.
* Wenn ein Unterbericht auf die nächste Seite verschoben wurde, um eine 'Zusammenhalten' Flag zu behandeln, begannen Linien und Boxen über mehrere Sektionen im Unterbericht an der oberen Position.
* Performance der SQL Generierung mit komplexen Formeln für Groupierung und Sortierung wurde verbessert.

[security]
* The default value of the "Allow unknown Data Sources" setting (key permission.allowunknowndatasource) has been changed from "true" to "false".
* *Security Update for CVE-2024-1597*
  * pgjdbc, the PostgreSQL JDBC Driver, allows attacker to inject SQL if using PreferQueryMode=SIMPLE. Note this is not the default. In the default mode there is no vulnerability. A placeholder for a numeric value must be immediately preceded by a minus. There must be a second placeholder for a string value after the first placeholder; both must be on the same line. By constructing a matching string payload, the attacker can inject SQL to alter the query,bypassing the protections that parameterized queries bring against SQL Injection attacks. Versions before 42.7.2, 42.6.1, 42.5.5, 42.4.4, 42.3.9, and 42.2.8 are affected.

[security:de]
* Der Defaultwert der Einstellung "Erlaube unbekannte Datenquellen" (key permission.allowunknowndatasource) wurde von "true" auf "false" geändert.
* *Sicherheitsupdate für CVE-2024-1597*
  * pgjdbc, der PostgreSQL JDBC-Treiber, ermöglicht es Angreifern, SQL einzuschleusen, wenn sie PreferQueryMode=SIMPLE verwenden. Beachten Sie, dass dies nicht der Standardmodus ist. Im Standardmodus gibt es keine Sicherheitslücke. Einem Platzhalter für einen numerischen Wert muss unmittelbar ein Minuszeichen vorangestellt werden. Nach dem ersten Platzhalter muss ein zweiter Platzhalter für einen Zeichenkettenwert stehen; beide müssen sich in derselben Zeile befinden. Durch die Konstruktion eines passenden String-Payloads kann der Angreifer SQL injizieren, um die Abfrage zu verändern und so den Schutz vor SQL-Injection-Angriffen durch parametrisierte Abfragen zu umgehen. Betroffen sind die Versionen vor 42.7.2, 42.6.1, 42.5.5, 42.4.4, 42.3.9 und 42.2.8.

