i-net Clear Reports Runtime

Neue Funktionen/Verbesserungen

  • Der Wortumbruch wurde für einen natürlicheren Textfluss verbessert.
  • Der Ausrichtungswert eines Feldes wird nun auch bei der Textinterpretation 'HTML-advanced' angewendet
  • Neues Ausgabeformat hinzugefügt: Email. Es ist ein einfaches HTML-Format. Ein einzelnes Dateiformat, das als E-Mail-Text verwendet werden kann. Es kann mit dem URL-Parameter: init=email ausgelöst werden.
  • Formel-Funktion AddAttachment(String,Binary) hinzugefügt. Sie kann verwendet werden, um eingebettete Dateien zum PDF-Ausgabeformat hinzuzufügen.
  • Unterstützung für WebP-Bilder und andere Bildformate hinzugefügt. Das Plugin "ImageIO Extension" ist erforderlich. Es kann über den Plugin Store installiert werden.
  • PDF-Export: Zeichenersetzung für eingebettete Schriften, die Zeichen in Codeblöcken enthalten, die nicht in der Codeblockliste der Schrift enthalten sind
  • Wiederverwendung von Bildern beim Export eines eingebetteten PDFs nach PDF, reduziert die Gesamtdateigröße
  • Bilder in HTML-Inhalten werden für den Druck nicht mehr herunterskaliert. Dies führt zu einer besseren Auflösung für Bilder in Exporten (z.B. PDF), kann aber zu einer größeren Dateigröße führen.

Behobene Bugs

  • Bilder, die eine Maske enthalten, wurden im PDF-Export nicht angezeigt.
  • Spaltenbreite und Koordinaten eines Textfeldes innerhalb eines mehrspaltigen Layouts in Unterberichten war falsch für ODS und XLSX Format
  • HTML-Format:
    • Bildausrichtung im Text mit Textinterpretation Basic HTML war falsch
    • Regression in Version 21.4: Erweitertes HTML-Layout behandelt keine NULL-Werte für das HTML-Ausgabeformat
  • Eingebettete gescannte PDF-Dateien wurden im PDF-Export falsch dargestellt. Abhängig von der Struktur der eingebetteten PDF-Datei konnten einige Bilder durch andere Bilder des gleichen Dokuments ersetzt werden
  • Ignoriere abgelaufene Sitzungen beim Aufruf von: DataSourceConfiguration.getDataSource(x)

i-net Clear Reports Server

Behobene Bugs

  • Exception "java.lang.IllegalStateException" mit Meldung "Not valid for write: id=..." aufgetreten
  • Dateidienstprüfung wurde in den Temp-Ordner statt in das Arbeitsverzeichnis verschoben
  • Die Initialisierung für WebSocketEndPoint, um in Oracle Weblogic registrierbar zu sein, wurde geändert. Dadurch wurde der Fehler `java.lang.IllegalStateException: Not in 'deploy' scope
  • Probleme mit der CosmosDB-Persistenz traten auf
  • Der Fehler "java.lang.IllegalStateException: Not in 'deploy' scope" trat auf, wenn die WAR-Datei des i-net Clear Report Servers in Weblogic Server 12.2.1.4 deployt wurde. Um das Problem zu lösen, wurde die Initialisierung für WebSocketEndPoint so geändert, dass sie in Oracle Weblogic registrierbar ist. Migration: In der web.xml der WAR-Datei müssen Sie den Listener com.inet.http.ExpandableServletContextListener hinzufügen.
  • Der Zugriff auf das Repository vom Remote-Designer aus hat nicht funktioniert, wenn der Berichtsserver als Servlet in einem Anwendungsserver bereitgestellt wurde

HTML-Reportviewer

Behobene Bugs

  • Beim Drucken von Berichten mit aktivierter/deaktivierter Symbolleiste des HTML-Berichtsviewers traten Farbunterschiede auf.

Aufgabenplanung

Neue Funktionen/Verbesserungen

  • Das Ergebnis eines Formelausdrucks wurde als Platzhalter in Ergebnisaktionen hinzugefügt. Es kann verwendet werden, um einen einzelnen Wert aus dem Bericht an den Aufgabenplaner zurückzugeben, der dann mit dem Platzhalter [report.formula] verwendet werden kann

Plugins

i-net Designer

  • NoClassDefFoundError: Konnte die Klasse com.inet.cache.internal.MemoryObserver nicht initialisieren - aufgetreten bei OpenWebStart

Reporting

  • Festlegen eines benutzerdefinierten Produkttitels für die externe Darstellung
  • Hinzufügen des WebAPI-Endpunkts /api/reporting/report/render zum Rendern von Berichten mit Token-Authentifizierung
  • Kontinuierliche numerische Kategorieachse kann jetzt auch auf logarithmisch eingestellt werden
  • Verwendung der korrekten Datenbankzeile für eingefügte Felder in Kreuztabellenbeschriftungen wie z. B. die Gesamtbeschriftung
  • Unterstützung für den Export von CSV-Dateien mit einer Größe von mehr als 2 GB hinzugefügt (Format csv und Daten)
  • Unterstützung für Stored Procedures für PostgreSQL hinzugefügt
  • Der Verlust von Datenquellen nach einer BackingStoreException in Preferences.sync() wurde behoben.
  • Behebung des grauen Hintergrunds beim Drucken aus dem HTML-Viewer
  • Behebung einer NullPointerException, die auf der Konsole ausgegeben wird, wenn die Protokollierung deaktiviert ist.

Authentifizierung

  • Plugin "Token-Authentifizierung" hinzugefügt. Ermöglicht den Web-API-Zugriff mit Hilfe von Zugangstokens
  • HMAC-Token-Authentifizierung supported, wie sie z.B. von MS Teams verwendet wird

Hilfeseiten

  • PDF-Export aus einer Hilfeseite war nicht möglich, wenn der Browser-Zugriff über eine nicht vertrauenswürdige HTTPS-URL erfolgte

Statistiken

  • Die Anzahl der Einträgen für jede Meldung im Ereignisprotokoll wird verringert

Allgemeine Änderungen

  • Das gebündelte AdoptOpenJDK 11 wurde auf Version 11.0.12 aktualisiert
  • Java 17 wird nun unterstützt
  • Das Update alter Versionen ist jetzt eingeschränkt. Wenn Sie eine nicht mehr unterstützte Version verwenden, ist ein Update auf eine Zwischenversion erforderlich
  • Es ist nun möglich, ein Let's Encrypt Zertifikat mit einem Callback an den HTTPS-Port zu erstellen. Probleme mit der Umleitung auf HTTPS und wenn der Server nur auf HTTPS läuft sind gelöst
  • QR-Code auf der Fehlerseite hinzugefügt, der auf eine Hilfeseite mit weiteren Details verweisen kann
  • Unterschiedliche Ports, spezifiziert im Web Server Dialog der Konfiguration, nutzen nun unterschiedliche HTTP Sessions
  • Während des Setups ist ein Fehler aufgetreten, wenn "Weiterleitung aller HTTP-Anfragen auf HTTPS" aktiviert ist
  • Die Speicherverwaltung für Systeme mit einem großen Heap (>= 4 GB) wurde verbessert
  • Die Versionsnummer von Plugins besteht jetzt aus 3 Teilen
  • Das Plugin "Web Server Defender" zum Schutz vor DoS und Account-Hacking mit Brute-Force hinzugefügt
  • Das Cookie-Attribut SameSite kann jetzt gesetzt werden. Der Standardwert ist Lax
  • Suchleiste und Ticket-Views unterstützen jetzt eine ODER Suche mit den Keywörtern or, || und |
  • Embedded Webseiten unterstützt nun auch das Verlinken (Redirect) von Webseiten. Zusätzliches Rechtemanagement auf Basis von "Benutzer and Gruppen" Mitgliedschaften

Sicherheit

  • Security Update for CVE-2021-29425
    • In Apache Commons IO before 2.7, When invoking the method FileNameUtils.normalize with an improper input string, like "//../foo", or "\..foo", the result would be the same value, thus possibly providing access to files in the parent directory, but not further above (thus "limited" path traversal), if the calling code would use the result to construct a path value
  • Security Update for CVE-2021-28165
    • In Eclipse Jetty 7.2.2 to 9.4.38, 10.0.0.alpha0 to 10.0.1, and 11.0.0.alpha0 to 11.0.1, CPU usage can reach 100% upon receiving a large invalid TLS frame
  • Security Update for CVE-2021-28169
    • For Eclipse Jetty versions ⇐ 9.4.40, ⇐ 10.0.2, ⇐ 11.0.2, it is possible for requests to the ConcatServlet with a doubly encoded path to access protected resources within the WEB-INF directory. For example a request to `/concat?/%2557EB-INF/web.xml` can retrieve the web.xml file. This can reveal sensitive information regarding the implementation of a web application
  • Security Update for CVE-2021-34428
    • For Eclipse Jetty versions ⇐ 9.4.40, ⇐ 10.0.2, ⇐ 11.0.2, if an exception is thrown from the SessionListener#sessionDestroyed() method, then the session ID is not invalidated in the session ID manager. On deployments with clustered sessions and multiple contexts this can result in a session not being invalidated. This can result in an application used on a shared computer being left logged in.
  • Security Update for CVE-2021-21409
    • Netty is an open-source, asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. In Netty (io.netty:netty-codec-http2) before version 4.1.61.Final there is a vulnerability that enables request smuggling. The content-length header is not correctly validated if the request only uses a single Http2HeaderFrame with the endStream set to to true. This could lead to request smuggling if the request is proxied to a remote peer and translated to HTTP/1.1. This is a followup of GHSA-wm47-8v5p-wjpj/CVE-2021-21295 which did miss to fix this one case. This was fixed as part of 4.1.61.Final
  • Security Update for CVE-2021-31812
    • In Apache PDFBox, a carefully crafted PDF file can trigger an infinite loop while loading the file. This issue affects Apache PDFBox version 2.0.23 and prior 2.0.x versions
  • Security Update for CVE-2021-36090
    • When reading a specially crafted ZIP archive, Compress can be made to allocate large amounts of memory that finally leads to an out of memory error even for very small inputs. This could be used to mount a denial of service attack against services that use Compress' zip package
  • Security Update for CVE-2021-35517
    • When reading a specially crafted TAR archive, Compress can be made to allocate large amounts of memory that finally leads to an out of memory error even for very small inputs. This could be used to mount a denial of service attack against services that use Compress' tar package
  • Security Update for CVE-2021-37714
    • jsoup is a Java library for working with HTML. Those using jsoup versions prior to 1.14.2 to parse untrusted HTML or XML may be vulnerable to DOS attacks. If the parser is run on user supplied input, an attacker may supply content that causes the parser to get stuck (loop indefinitely until cancelled), to complete more slowly than usual, or to throw an unexpected exception. This effect may support a denial of service attack. The issue is patched in version 1.14.2. There are a few available workarounds. Users may rate limit input parsing, limit the size of inputs based on system resources, and/or implement thread watchdogs to cap and timeout parse runtimes
  • Thread Bug behoben, der es einem Benutzer ermöglichte, einzelne Anfragen im Sicherheitskontext eines anderen Benutzers auszuführen
  • PostgreSQL-Version wegen CVE-2020-13692 aktualisiert
  • Jetty Version aktualisert, wegen der CVE-2020-27218, CVE-2020-27216, CVE-2020-13956
  • Guava auf Version 30.1 aktualisert, wegen CVE-2020-8908
  • Cron-utils auf Version 9.1.3 aktualisert, wegen ​https://nvd.nist.gov/vuln/detail/CVE-2020-26238

Übersicht

  • Internet Explorer und der "alte" Edge-Browser (nicht Chromium) werden nicht mehr unterstützt.

i-net Clear Reports-Laufzeitumgebung

Geändertes Verhalten

  • PDF-Export: Die Rendering-Zeit wird als Erstellungszeitpunkt der PDF-Datei verwendet. In früheren Versionen war es der Erstellungszeitpunkt des RPT-Templates.
  • Der XLSX / ODS-Export erzeugt weniger sehr kleine Spalten. Dies kann zu Problemen führen, wenn die Berichtselemente nicht sehr gut ausgerichtet und auch sehr eng gestaltet sind.
  • Eingebettete Schriftarten behalten nun den ursprünglichen Schriftfamiliennamen bei. Dies kann zu einer unterschiedlichen Druckausgabe (Druckauftragsgröße) über den Java-Report-Viewer-Client führen, wenn die gleiche Schriftart auf dem Client-System installiert ist

Neue Funktionen/Verbesserungen

  • Jpeg2000 kodierte Bilder werden unterstützt
  • Verbesserte Schriftersetzung für PDF-Berichte, falls aktiviert
  • Leistung von DatabaseMetaData.getTables() verbessert
  • HTML-Export:
    • Neue Implementierung von HTML-Advanced im HTML-Export hinzugefügt. Das Ergebnis wird nun von i-net Clear Reports korrigiert, wodurch weniger Raum für Rendering-Unterschiede im Client-Browser bleibt
  • XLSX / ODS-Export:
    • Zell-Verteilung der Ausgabeformate XLSX und ODS komplett neu geschrieben
    • Für zusammengesetzte Berichte mit URL-Parameter "reports" verwenden die Tabellenblätter in ODS/XLSX den Titel der zugrunde liegenden rpt-Datei. In älteren Versionen wurde der Titel der ersten rpt-Datei verwendet

Berichtsserver

Neue Funktionen/Verbesserungen

  • *Web API**: Upload und Überprüfung einer einzelnen oder mehrerer Dateiressourcen in das Repository möglich
  • Apache Cassandra Datenbank wird als Datenquelle unterstützt. Die CQL (Cassandra Query Language) kann zum Abrufen von Daten verwendet werden.
  • MongoDB-Datenbank wird als Datenquelle unterstützt
  • Leistung von DatabaseMetaData.getTables() verbessert

Behobene Bugs

  • Einige im Bericht eingebettete PDF-Dateien werden im PDF-Export nicht korrekt angezeigt. Abhängig von der Struktur der eingebetteten PDF-Datei können einige Bilder durch andere Bilder desselben PDF-Dokuments ersetzt werden
  • ClassCastException in der Wartung mit MongoDB Persistenz aufgetreten

i-net Designer

Neue Funktionen/Verbesserungen

  • Weblog-Datenquelle hinzugefügt

Behobene Bugs

  • In den "Optionen | i-net Clear Reports" traten Rendering-Probleme auf. Das Symbol "i-net Clear Reports" fehlte und der Dialog "Konfigurationen verwalten" wurde nicht korrekt angezeigt

Berichts-Repository

Neue Funktionen/Verbesserungen

  • Es ist möglich, einzelne oder mehrere Dateiressourcen über die Web-API in das Repository hochzuladen und zu überprüfen.

Behobene Bugs

  • Der Dialog zur Eingabeaufforderung funktionierte im Berichts-Repository nicht, wenn ein Gastkonto verwendet wurde.

SDK

Neue Funktionen/Verbesserungen

  • Ein Bericht (Engine) kann über die .NET API auf einem lokalen Drucker ausgedruckt werden.

Aufgabenplaner

Neue Funktionen/Verbesserungen

  • Authentifizierung mit privatem Schlüssel für Task Planner FTP-Aufgaben hinzugefügt

Features / Verbesserungen

  • Anmeldung:
    • Generic OpenID Connect (OIDC) Authentication Provider hinzugefügt
    • Azure OpenID Connect (OIDC) Authentication Provider hinzugefügt
  • Aufgabenplanung:
    • Neuen Job zur Aufgabenplanung hinzugefügt, mit dem der freie Speicherplatz im Arbeitsverzeichnis, im Cache und in den Persistenzverzeichnissen ermittelt werden kann. Es kann ein Schwellenwert für den minimal verfügbaren Speicherplatz definiert werden, um Aktionen auszulösen, wenn nicht mehr genügend Speicherplatz vorhanden ist

Bugfixe

  • Aufgabenplanung:
    • Das Ausführung des Zeit-Trigger-Intervalls 'Zwei Wochen' lag in der falschen Woche zu Beginn eines neuen Jahres
  • Hilfeseiten:
    • Der Fehler "RejectedExecutionException: Thread limit exceeded replacing blocked worker" trat selten in den Hilfeseiten auf