[general]
* AdoptOpenJDK 11 bundled with installed i-net Designer and Report Server was updated to version 11.0.10
* Support for Internet Explorer will be discontinued in the next version 21.4
* Support for Java 8 will be discontinued in the next version 21.4. At least Java 11 will be required
* JDK 15 supported
* Web applications can now be installed as Progressive Web App (PWA)

[general:de]
* AdoptOpenJDK 11, das mit installiertem i-net Designer und Report Server gebündelt ist, wurde auf Version 11.0.10 aktualisiert.
* Die Unterstützung für den Internet Explorer wird in der nächsten Version 21.4 eingestellt.
* Die Unterstützung für Java 8 wird mit der nächsten Version 21.4 eingestellt. Es wird mindestens Java 11 benötigt.
* JDK 15 wird unterstützt
* Webanwendungen können jetzt als Progressive Web App (PWA) installiert werden

[changes]
* `ArrayIndexOutOfBoundsException` occurred due to style changes in parts of a word with ligature 
*  Recignition of the text styles subscript, superscript and strike through for both PDF and DocX
* Performance improvements for pages with >100k shape elements 
* Comparison Performance improved
* It is now possible to detect style changes within a word 
* Multiple bugs with OCR comparison occurred like wrong detection of text in images  
* Clipping calculation for complex white shapes and stroked vertical/horizontal lines improved
* The pattern filter can now be used to filter single characters or parts of words as well. The limitation to full words is now optional but enabled by default
* Added font styles to the fonts of the exported PDF comparison result. This enables the reader to copy&paste the correct color and style for text elements from the exported PDF file
* Underline recognition for boxed text improved
* Greatly reduced heap usage and export size in case of recurring or tiled images in compared PDF documents
* Improved space detection in case of negative kerning and justified paragraphs
* Multi-Column filter improved: handling of transparent objects, recognition of row separators, narrow line spacing
* Page range filter: It is now possible to remove last page(s) per document from the comparison
* Font name normalization for 'TimesNewRomanPSMT' true type font improved
* Table filter improved to detect more types of tables in compared PDF documents

#### i-net PDFC Server
* The permission `Comparison API` has been removed. It is now covered by the combination of the `Modify and run comparisons` and `Web API` permissions (requires the Web API Plugin to be enabled).
* The plugin name `ocr.tesseract.winavx` changed to `ocr.tesseract.installed`
* The plugin name `ocr.tesseract` changed to `ocr.tesseract.windows`
* *Task Planner: * The action "Print" is only supported for job export formats PDF and Images
* Rendering Performance improved with a better font metrics caching
* New notifications are now directly shown in the web client when the OS notifications are disabled or not possible
* `SameSite=Lax` Attribute set for login cookies
* Changes of heap memory, language, country and VM arguments will work with a server restart from the web interface. Before a service restart was required
* Note added to configuration property "Restrict Permissions" in dialog "User & Groups" because when global permissions are not restricted then all users have administrative access!
* *Web API:* 
  * Result parameter for comparison info added (timestamp for create and modify)
  * Option to add header information added (for example for authentication) for remote PDF request
  * New parameter `exportbydiff` for the requests `result/pdf` and `result/report`. If this parameter is set to true the result will be returned only in case of differences
  * Compare Command:
    * can receive additional (or exclusive) JSON file to configure PDF documents, e.g. to set their passwords.
    * JSON may contain Request Headers for HTTP/S request to load PDF files, e.g. to authenticate the request
    * Option to add header information (for example for authentication) for remote PDF request added. (Upload pdf via URL) 
* *Maintenance:* It is now possible to restore backups that were not made with the current version. The backup is checked for whether it is compatible with the current version, and if so, it is able to be restored
* *Tesseract OCR:*
  * Plugin `ocr.tesseract.installed` can be configured, e.g. setting the runtime path to Tesseract
  * Plugin `ocr.tesseract.windows` is included only in the Windows and the SDK installer. If using the plugin fails, a Windows System Tesseract Installation is required (see plugin `ocr.tesseract.installed`)
* *Task Planner:* The file format(PDF,XLSX,ODS,RTF) can now be selected for export type 'report' in the Task Planner module 

#### i-net PDFC GUI
* Comparison result details displayed in a column on the left side of the documents
* Configuration dialog added to modify setting like Logging and Tesseract
* Native high DPI support, e.g. for Mac Retina displays or screen scaling on Windows

[changes:de]
* `ArrayIndexOutOfBoundsException` trat aufgrund von Stiländerungen in Teilen eines Wortes mit Ligatur auf 
* Wiedereinführung der Textstile Tiefgestellt, Hochgestellt und Durchgestrichen sowohl für PDF als auch DocX
* Performance-Verbesserungen für Seiten mit >100k Shape-Elementen 
* Vergleichsleistung verbessert
* Es ist nun möglich, Stiländerungen innerhalb eines Wortes zu erkennen. 
* Mehrere Fehler beim OCR-Vergleich sind aufgetreten, wie z.B. falsche Erkennung von Text in Bildern  
* Clipping-Berechnung für komplexe weiße Formen und gestrichelte vertikale/horizontale Linien verbessert
* Der Musterfilter kann nun auch zum Filtern einzelner Zeichen oder Wortteile verwendet werden. Die Beschränkung auf ganze Wörter ist nun optional, aber standardmäßig aktiviert
* Den Schriftarten des exportierten PDF-Vergleichsergebnisses wurden Schriftstile hinzugefügt. Dies ermöglicht es dem Leser, die richtige Farbe und den richtigen Stil für Textelemente aus der exportierten PDF-Datei zu kopieren und einzufügen.
* Die Erkennung von Unterstreichungen für umrahmten Text wurde verbessert.
* Stark reduzierte Heap-Nutzung und Exportgröße im Falle von wiederkehrenden oder gekachelten Bildern in verglichenen PDF-Dokumenten
* Verbesserte Leerzeichenerkennung bei negativem Kerning und Blocksatz
* Mehrspaltiger Filter verbessert: Behandlung von transparenten Objekten, Erkennung von Zeilentrennern, enge Zeilenabstände
* Seitenbereichsfilter: Es ist jetzt möglich, die letzte(n) Seite(n) pro Dokument aus dem Vergleich zu entfernen
* Normalisierung des Schriftnamens für die True-Type-Schriftart 'TimesNewRomanPSMT' verbessert
* Tabellenfilter verbessert, um mehr Arten von Tabellen in verglichenen PDF-Dokumenten zu erkennen

#### i-net PDFC Server
* Die Berechtigung `Comparison API` wurde entfernt. Sie wird nun durch die Kombination der Berechtigungen `Modify and run comparisons` und `Web API` abgedeckt (erfordert die Aktivierung des Web API Plugins).
* Der Plugin-Name `ocr.tesseract.winavx` wurde in `ocr.tesseract.installed` geändert.
* Der Plugin-Name `ocr.tesseract` wurde zu `ocr.tesseract.windows` geändert
* * Aufgaben-Planer: * Die Aktion "Drucken" wird nur noch für die Job-Exportformate PDF und Bilder unterstützt
* Die Rendering-Performance wurde durch eine bessere Zwischenspeicherung von Schriftmetriken verbessert
* Neue Benachrichtigungen werden nun direkt im Webclient angezeigt, wenn die OS-Benachrichtigungen deaktiviert oder nicht möglich sind
* `SameSite=Lax` Attribut für Login-Cookies gesetzt
* Änderungen des Heap-Speichers, der Sprache, des Landes und der VM-Argumente funktionieren mit einem Server-Neustart über die Weboberfläche. Vorher war ein Service-Neustart erforderlich
* Hinweis zur Konfigurationseigenschaft "Restrict Permissions" im Dialog "User & Groups" hinzugefügt, denn wenn globale Berechtigungen nicht eingeschränkt sind, haben alle Benutzer administrativen Zugriff!
* Web API:* 
  * Ergebnisparameter für Vergleichsinformationen hinzugefügt (Zeitstempel für Erstellung und Änderung)
  * Option zum Hinzufügen von Header-Informationen (z.B. für die Authentifizierung) für Remote-PDF-Anfragen hinzugefügt
  * Neuer Parameter `exportbydiff` für die Anfragen `result/pdf` und `result/report`. Wenn dieser Parameter auf true gesetzt ist, wird das Ergebnis nur im Falle von Unterschieden zurückgegeben
  Befehl * Vergleichen:
    * kann eine zusätzliche (oder exklusive) JSON-Datei erhalten, um PDF-Dokumente zu konfigurieren, z.B. um ihre Passwörter zu setzen.
    * JSON kann Request Header für HTTP/S-Anfragen zum Laden von PDF-Dateien enthalten, z.B. um die Anfrage zu authentifizieren.
    * Option zum Hinzufügen von Header-Informationen (z. B. für die Authentifizierung) für Remote-PDF-Anfragen. (PDF über URL hochladen) 
* *Wartung:* Es ist nun möglich, Backups wiederherzustellen, die nicht mit der aktuellen Version erstellt wurden. Das Backup wird daraufhin überprüft, ob es mit der aktuellen Version kompatibel ist, und wenn ja, kann es wiederhergestellt werden.
* *Tesseract OCR:*
  * Plugin `ocr.tesseract.installed` kann konfiguriert werden, z.B. Setzen des Laufzeitpfades zu Tesseract
  * Das Plugin `ocr.tesseract.windows` ist nur im Windows- und SDK-Installationsprogramm enthalten. Falls die Verwendung des Plugins fehlschlägt, ist eine Windows System Tesseract Installation erforderlich (siehe Plugin `ocr.tesseract.installed`)
* *Task Planner:* Das Dateiformat (PDF,XLSX,ODS,RTF) kann nun für den Exporttyp 'Bericht' im Task Planner Modul ausgewählt werden 

#### i-net PDFC GUI
* Details zum Vergleichsergebnis werden in einer Spalte auf der linken Seite der Dokumente angezeigt
* Konfigurationsdialog hinzugefügt, um Einstellungen wie Logging und Tesseract zu ändern
* Native Unterstützung für hohe DPI-Werte, z.B. für Mac Retina-Displays oder Bildschirm-Skalierung unter Windows

[bugfixes]
* Chinese content not aligned well on right side if Justified was used
* Bug with word wrapping occurred that was wider than the field (without a space), surrogate characters and font replacement
* `NullPointerException` occurred due to a missing 'Name' attribute in an optional content group 
* Performance optimized regarding shapes
* Multiple columns not detected because of too close separator lines
* Font rendering issue in PDF layers occurred. Error in WebGUI: begin -1, end 6, length 6
* *Docx Parser:*
  * Missing text in chunked field elements occurred
  * Bugfix for separating words within footnote. The footnote sign shouldn't stay alone
  * Numbering with jumps (e.g. from a to c) if empty lines are formatted as numbering
  * Word separation at the end of the line was wrong
  * Excel table was embedded instead of an icon for the link
  * Unnecessary page breaks after a parapraph
  * Elements disappeard when using automatic header&footer filter for DOCX documents
  * Rendering for symbol and symbol font was incorrect
  * Text positioning incorrect with centered tabs
  * Rendering of embedded EMF in DOCX was incorrect
  * Link (element in structured document tags) in DOCX document was not dispalyed
* The rendering of embedded EMF in DOCX was incorrect 
* Charcaters were drawn apart in the comparison result if fixed size fonts without width table data was used 
* `NoSuchElementException` occurred in case of a style change in a word with a ligature 
* Recognition of stacked white elements on document background color
* Text selection/mapping of ligatures and custom glyphes was wrong in exported PDF files
* `NullPointerException` occurred during comparison of DocX documents because the table border could not read correctly
* Invalid Character after export occurred, bugfix for embedding PDF descendant fonts with different parent fonts
* Corrupt text elements in PDF occurred in case a Form element was re-used on several pages
* Incorrectly encoded texts occurred when using a Type1C font: '' was replaced by '•' 
* Regression in version 20.4: The rendering with Blendmode and CMYK Colorspace changed back to the behaviour in i-net PDFC version 6. (This combination is currently not supported)
* Handling of hex-encoded resource entry keys was incorrect, leading to missing resources and images
* `IllegalStateException`: glyph size is not defined occurred because of invalid value in the HEAD table of embedded TrueType fonts
* Incorrect 'PageBreakAfter' in DocX files occurred which lead to additional empty pages
* Occasional incorrect vertical offset occurred during Docx comparison when using keep-together for paragraphs
* Wrong word splits occurred due to invalid intermediate space characters combined with ligatures
* 'Image Error' occurred in comparison result caused by an incorrect number of color channels in a masked image
* *SDK:* The header footer was not displayed in the comparison result if `-highlights headerfooter` was set in the command line

#### i-net PDFC Server
* *Web API:* `NullPointerException` occurred when using not existing profile name. The post request handling without filename has been fixed and a better message for not exist profil name/id will be displayed
* `NullPointerException` occurred during "Loading Comparisons" in the i-net PDFC server Maintenance
* Fix for content-disposition header when uploading multipart content using the comparison web api
* `System.Net.WebException`: The remote server returned an error - occurred with PDFCNunit
* It was not possible to login if a localhost URL was used in Chrome browser to open the web interface
* Parameterized streams were evaluated in the wrong order by the comparison Web API
* Temporary errors (Extenal visible URL '...' was not validated) occurred during validation of Private Cloud License
* Comparison profiles (shared or not) was no longer accessible by the API users (not administrative users)
* Exception "Object doesn't support or method 'append'" occurred in web interface during comparison in Internet Explorer 11

#### i-net PDFC GUI
* Position of the desktop application was sometimes wrong or it was not displayed on a computer with two or more screens
* A high number of difference will no longer block the desktop application for some time once the comparison has finished
* Desktop application on macOS does not show the comparison state in the icon, if no comparison is started
* The size of the maximized window of the Desktop application was wrong with Java 11.0.8 or Java 15 or newer
* MSI installer set i-net PDFC desktop application as default application for DOCX, PDF and TXT 

[bugfixes:de]
* Chinesischer Inhalt wurde nicht gut auf der rechten Seite ausgerichtet, wenn Justified verwendet wurde.
* Fehler beim Umbruch von Wörtern, die breiter als das Feld waren (ohne Leerzeichen), Ersatzzeichen und Schriftersatz
* `NullPointerException` trat aufgrund eines fehlenden 'Name'-Attributs in einer optionalen Inhaltsgruppe auf 
* Leistung optimiert in Bezug auf Formen
* Mehrere Spalten werden nicht erkannt, da die Trennlinien zu nah beieinander liegen
* Problem bei der Darstellung von Schriften in PDF-Ebenen aufgetreten. Fehler im WebGUI: begin -1, end 6, length 6
* *Docx Parser:*
  * Fehlender Text in Chunked-Field-Elementen aufgetreten
  * Bugfix für die Trennung von Wörtern in Fußnoten. Das Fußnotenzeichen sollte nicht alleine bleiben
  * Nummerierung mit Sprüngen (z.B. von a nach c), wenn Leerzeilen als Nummerierung formatiert sind
  * Worttrennung am Ende der Zeile war falsch
  * Excel-Tabelle wurde eingebettet, anstatt ein Symbol für den Link zu verwenden
  * Unnötige Seitenumbrüche nach einer Paraphrase
  * Elemente verschwanden bei Verwendung des automatischen Kopf- und Fußzeilenfilters für DOCX-Dokumente
  * Die Darstellung von Symbolen und Symbolschriften war fehlerhaft
  * Textpositionierung bei zentrierten Tabs fehlerhaft
  * Die Darstellung von eingebetteten EMFs in DOCX-Dokumenten war fehlerhaft.
  * Link (Element in strukturierten Dokument-Tags) in DOCX-Dokumenten wurde nicht aufgelöst
* Das Rendering von eingebetteten EMF in DOCX war fehlerhaft 
* Zeichen wurden im Vergleichsergebnis auseinandergezogen, wenn Schriftarten fester Größe ohne Breitentabellendaten verwendet wurden 
* `NoSuchElementException` trat bei einer Stiländerung in einem Wort mit einer Ligatur auf 
* Erkennung von gestapelten weißen Elementen auf Dokument-Hintergrundfarbe
* Textauswahl/Zuordnung von Ligaturen und benutzerdefinierten Glyphen war in exportierten PDF-Dateien falsch
* `NullPointerException` trat beim Vergleich von DocX-Dokumenten auf, weil der Tabellenrand nicht korrekt gelesen werden konnte
* Ungültiges Zeichen nach dem Export trat auf, Bugfix für das Einbetten von PDF-Nachkommenschriften mit unterschiedlichen Elternschriften
* Korrupte Textelemente im PDF traten auf, wenn ein Formularelement auf mehreren Seiten wiederverwendet wurde
* Fehlerhaft kodierte Texte traten auf, wenn eine Type1C-Schriftart verwendet wurde: '' wurde durch '-' ersetzt 
* Regression in Version 20.4: Das Rendering mit Blendmode und CMYK-Farbraum wurde auf das Verhalten in i-net PDFC Version 6 zurückgesetzt (diese Kombination wird derzeit nicht unterstützt)
* Die Behandlung von hex-kodierten Ressourcen-Eingabeschlüsseln war fehlerhaft, was zu fehlenden Ressourcen und Bildern führte
* `IllegalStateException`: glyph size is not defined trat aufgrund eines ungültigen Wertes in der HEAD-Tabelle von eingebetteten TrueType-Fonts auf
* Falsches 'PageBreakAfter' in DocX-Dateien trat auf, was zu zusätzlichen leeren Seiten führte
* Gelegentlich trat beim Docx-Vergleich ein falscher vertikaler Versatz auf, wenn für Absätze die Funktion 'Zusammenhalten' verwendet wurde.
* Falsche Worttrennungen traten aufgrund ungültiger Zwischenraumzeichen in Kombination mit Ligaturen auf
* Im Vergleichsergebnis trat ein 'Bildfehler' auf, der durch eine falsche Anzahl von Farbkanälen in einem maskierten Bild verursacht wurde.
* *SDK:* Die Kopfzeile wurde im Vergleichsergebnis nicht angezeigt, wenn `-highlights headerfooter` in der Kommandozeile gesetzt war

#### i-net PDFC Server
* *Web API:* `NullPointerException` trat auf, wenn ein nicht vorhandener Profilname verwendet wurde. Die Behandlung von Post-Requests ohne Dateinamen wurde korrigiert und eine bessere Meldung für nicht existierende Profilnamen/id wird angezeigt
* `NullPointerException` trat während "Loading Comparisons" im i-net PDFC Server Maintenance auf
* Fix für den Content-Disposition-Header beim Hochladen von Multipart-Inhalten über die Comparison Web Api
* System.Net.WebException": Der Remote-Server hat einen Fehler zurückgegeben - aufgetreten mit PDFCNunit
* Es war nicht möglich, sich anzumelden, wenn eine Localhost-URL im Chrome-Browser verwendet wurde, um die Weboberfläche zu öffnen
* Parametrisierte Streams wurden von der Comparison Web API in der falschen Reihenfolge ausgewertet
* Temporäre Fehler (Extenal sichtbare URL '...' wurde nicht validiert) traten bei der Validierung der Private Cloud Lizenz auf
* Vergleichsprofile (freigegeben oder nicht) waren für API-Benutzer (nicht für administrative Benutzer) nicht mehr zugänglich.
* Die Ausnahme "Object doesn't support or method 'append'" trat in der Weboberfläche während des Vergleichs im Internet Explorer 11 auf

#### i-net PDFC GUI
* Die Position der Desktop-Anwendung war manchmal falsch oder sie wurde auf einem Computer mit zwei oder mehr Bildschirmen nicht angezeigt.
* Eine hohe Anzahl von Unterschieden blockiert die Desktop-Anwendung nicht mehr für einige Zeit, wenn der Vergleich beendet ist
* Die Desktop-Anwendung unter macOS zeigt den Vergleichsstatus nicht mehr im Icon an, wenn kein Vergleich gestartet wird
* Die Größe des maximierten Fensters der Desktop-Anwendung war mit Java 11.0.8 oder Java 15 oder neuer falsch
* MSI-Installer setzt i-net PDFC Desktop-Anwendung als Standardanwendung für DOCX, PDF und TXT 

[security]
* Security Fix: Open Redirect Vulnerability occurred (CVE-2020-28150)
* Security Fix: Jetty CVE-2020-27216
  * In Eclipse Jetty versions 1.0 thru 9.4.32.v20200930, 10.0.0.alpha1 thru 10.0.0.beta2, and 11.0.0.alpha1 thru 11.0.0.beta2O, on Unix like systems, the system's temporary directory is shared between all users on that system. A collocated user can observe the process of creating a temporary sub directory in the shared temporary directory and race to complete the creation of the temporary subdirectory. If the attacker wins the race then they will have read and write permission to the subdirectory used to unpack web applications, including their WEB-INF/lib jar files and JSP files. If any code is ever executed out of this temporary directory, this can lead to a local privilege escalation vulnerability
* Possible JavaScript injections prevented
* Security Fix for CVE-2020-13692
  * PostgreSQL JDBC Driver (aka PgJDBC) before 42.2.13 allows XXE

[security:de]
* Sicherheitsfix: Offene Redirect-Schwachstelle aufgetreten (CVE-2020-28150)
* Sicherheits-Fix: Jetty CVE-2020-27216
  * In den Eclipse-Jetty-Versionen 1.0 bis 9.4.32.v20200930, 10.0.0.alpha1 bis 10.0.0.beta2 und 11.0.0.alpha1 bis 11.0.0.beta2O wird auf Unix-ähnlichen Systemen das temporäre Verzeichnis des Systems von allen Benutzern auf diesem System gemeinsam genutzt. Ein kollokierter Benutzer kann den Prozess der Erstellung eines temporären Unterverzeichnisses in dem gemeinsam genutzten temporären Verzeichnis beobachten und um die Erstellung des temporären Unterverzeichnisses wetteifern. Wenn der Angreifer das Rennen gewinnt, hat er Lese- und Schreibrechte für das Unterverzeichnis, das zum Entpacken von Webanwendungen verwendet wird, einschließlich ihrer WEB-INF/lib jar-Dateien und JSP-Dateien. Wenn Code aus diesem temporären Verzeichnis heraus ausgeführt wird, kann dies zu einer lokalen Schwachstelle führen, die eine Ausweitung der Rechte zur Folge hat
* Verhinderung möglicher JavaScript-Injektionen
* Sicherheitsfix für CVE-2020-13692
  * PostgreSQL JDBC-Treiber (auch bekannt als PgJDBC) vor 42.2.13 erlaubt XXE
