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
  • 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

Plugins

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

Comparison Application

  • fixt the Cannot read properties of undefined (reading 'element') error

i-net PDFC Server

New Features / Improvements

  • PDFCNunit: Support for multiple .Net Frameworks added
  • JPEG2000 images will be added with original JPEG2000 data to the PDF export
  • The RPC client no longer receives page images if this feature is disabled in the comparison profile
  • The i-net PDFC server stores uploaded files encrypted on the server
  • Tesseract plugins on Windows have been combined into one plugin
  • Textselection added to the web GUI
  • Simple annotations displayed in web GUI
  • The DejaVu fonts will be used as default fonts if i-net PDFC is running on a headless machine without installed fonts
  • It is supported to password protect the exported PDF file containing the comparison result
  • Vastly improved drawing speed for document images, leading to a much faster page loading in the server and desktop application

Fixed Bugs

  • Group "Comparison" was missing in the i-net PDFC Server configuration
  • Hidden differences in graphical presentations occurred due to a merge of difference markers
  • Problems with CosmosDB persistence occurred
  • Following error occurred with enabled OCR comparison: A faulty tesseract configuration. Check the path to tesseract
  • Critical error in PDF export occurred with multiple layer
  • Hidden differences in graphical presentations occurred due to a merge of difference markers
  • HTML Prompt dialog does not appear for guest account
  • The option "Export even if there were no differences" was not used in the batch comparison job of the Task Planner
  • Redirect response was wrong when calling webAPI-compare with a .NET HttpClient
  • Arithmetic overflow occurred due to a very large hard disk quota in the server configuration
  • WebAPI
    • It was not possible to access profiles (shared or not) using WebAPI

i-net PDFC Runtime / Parser / Comparison

New Features / Improvements

  • The internal filter "SOLVEFALSEREPLACE" is now active even for legacy profiles. The filter has been improved and drastically reduces false positives in drawings an shapes with slight position differences due to rounding errors
  • It is now supported to compare annotations as well
  • "Across then down" will be used alwaysif a multi column report will be exported into an endless page output format
  • Performance optimization for high amount of graphic operations with blend mode
  • PDF-parser optimized to use stroke instead of fill if possible, resulting in smaller exported PDF files and more precise rendering
  • Jpeg2000 encoded images supported
  • The font Dejvu-Sans is used as default font for font embedding in PDF export
  • Table comparison overhauled to compare the structure as well. Will now show added/removed cells, columns, rows and tables as well
  • Text location check in strict mode will now only check the position along the baseline of the text and no longer all bounds of each word. This is more robust if the font family or size is changed as well
  • Header/footer detection in documents with large line heights improved
  • Recognition of the text styles subscript, superscript and strike through for both PDF and DocX
  • Improved table recognition for tables with header box, "cross tabs" and tables with only inner borders
  • Link-Verification now checks relative URLs for potential http-Protocol as well
  • Handling for incorrect PDF files improved, shapes will be ignored in that case
  • Multi column detection for plain two column layouts and heading + columns scenarios improved
  • Visibility calculation improved for shapes with mixed fill+stroke colors and redundant elements
  • 'Compute actual visiblity' improved - it will now exclude text on filled background of equal color as well
  • Word detection and separation improved in case of chunking inside a numerical value
  • Tesseract OCR:
    • The tesseract plugin now clear the tmp files after the usage
  • DOCX parser:
    • Fallback added that is used in case of not supported pattern
    • Improvements of the DOCX parser

Fixed Bugs

  • ParserConfigPlugin extended for an option to deactivate the cmap from PDF files because a difference was not detected
  • Fixed incorrect white space detection in case the same font is embedded multiple times in a PDF file
  • Wrong difference details reported: Text in two table columns was moved to the same X,Y position
  • Rendering issues occurred for PDF file where the graphics states are not properly closed
  • Text in Courier New font not being displayed in comparison result
  • Some parenthesis not displayed in comparison result because of index bug in font generation which leads to missing characters
  • Line height calculation was wrong for inconsistent fonts
  • Image serialization disparity in the swapping mechanism occurred. This could lead to rare image differences in high load scenarios
  • NullPointerException occurred. To solve it we improved the handling of defective PDFs (missing PatternType parameter)
  • Incorrect differences occurred due to a zero-width non-joining character
  • A text with vertical font was not displayed and the position was wrong
  • Glyph was missing in rendering due to an inconsistent font entry in the source PDF
  • NullPointerExceptino occurred if the compared Docx files has no style information
  • Line height calculation für inconsistent fonts was incorrect
  • Graphic state was not reset for exported comparison result
  • Additional page border in single side export removed
  • Cmap handling for TrueTypeFonts was incorrect. Additional brackets have been inserted between characters
  • Layout problems with centered tabs occurred
  • Multiple font issues occurred, e.g. with wrong font information in PDF for text with 0 width
  • Scroll bug in desktop application occurred at the end of the documents in strict comparison mode
  • Performance issues occurred because of language detection and improved rendering features
  • Different errors occurred due to zero-height text chunks
  • Because of a rounding error on first page footer detection there could be incorrect differences on the first page
  • Table was detected on the first page while the header&footer filter was active
  • Text merge issue in the differences output text occurred. Some white spaces were missing
  • False differences occurred in case of duplicated objected in the source document
  • DOCX parser:
    • Surplus numbering override levels and auto-color in numberings in tables

i-net PDFC Desktop Application

Fixed Bugs

  • Wrong color for textfield in configuration dialogs

i-net PDFC SDK

New Features / Improvements

  • Batch comparison added to the .NET API

Plugins

Basic table detector

  • Improved filter model so that other filters (e.g. regular expression filter) can now operate on the contents of table cells as well

Plugins

Multiple Columns

  • Fixed: Rotated text is not compared when using the multi column filter

Plugins

OCR Tesseract

  • Unnecessary dependencies removed
  • update the tess4j version to 4.6.0

Plugins

PDF Documents

  • Not embedded fonts which refer to external system fonts will no longer be replaced by PDF-native fonts. This avoids artifacts like overlapping words in a potential PDF export of the result.
  • Fixed: reuse of Type1-font characters for different unicode code points caused incorrectly scaled renderings

Plugins

i-net PDFC Core

  • Whitespace calculation for small fonts improved
  • Footer position corrected in case the header is missing.
  • A font difference will now be detected in case the design font name is the same, but the actually used font differs due to a missing embedded font

Plugins

i-net PDFC Server

  • Set a custom product title for external representation

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

Overview

  • Internet Explorer and the "old" Edge browser (not Chromium) are no longer supported

SDK

New Features / Improvements

  • Methods added to the .NET API:
    • getDifferences returns the list of differences
    • getDifferenceGroupsList returns the list of diffgroups
  • It is supported to print a report (an engine) to a lokal printer, see sample SimplePrint.cs in the SDK

Fixed Bugs

  • System.NullReferenceException occurred when .Net Core was used