+ sed -i 's/ignore: 0/ignore: 1/g' sql/Pg-upgrade2/konjunkturpaket_2020*
+
+Alternativ sollten die Datenbank-Upgrade-Skripte gegen einen Testdatenbestand ausgeführt werden
+und der kivitendo-Dienstleister Ihres Vertrauens griffbereit sein.
+
+Weitere Änderungen:
+
+Für den MT940-Import erwartet kivitendo aqbanking ab Version 6.
+
+Für die Erzeugung von ZUGFeRD 2.0 fähigen PDFs wird ein aktuelles TexLive ab Version 2018 benötigt.
+Details hierzu auch in der Dokumentation (HTML oder Dokumentation.pdf).
+
+Bitte wie immer vor dem Anmelden an der Weboberfläche 'scripts/installation_check.pl -v' ausführen.
+
+Es sollten mindestens zwei Perl-Module "CAM::PDF" und "XML::LibXML" dort erscheinen, falls noch nicht installiert.
+
+Diese Version ist ferner mit Postgres Datenbanken ab Version 12 kompatibel, da die Abhängigkeit von oids entfernt wurde.
+
+Sicherheitshinweis:
+
+Für git-Installation sollte geprüft werden ob das Verzeichnis .git/ für den Webserver auslesbar ist.
+Gleiches gilt für alle Installation für den Ordner config/, der die Datei kivitendo.conf beinhaltet.
+Die Standard-Konfiguration des Apache2 Webservers sollte letzteres verhindern, aber wir weisen darauf hin
+dies einmal zu überprüfen.
+
+Ab dieser Version wird eine globale .htaccess ausgeliefert die beide Verzeichnisse mittels rewrite sichert.
+Dafür muss einmalig das Modul rewrite für den Apache, bspw. mit "a2enmode rewrite" aktiviert werden.
+Regeldetails:
+
+<IfModule mod_rewrite.c>
+  RewriteEngine On
+  RewriteRule .*(\.git|config).*$ - [F,NC]
+</IfModule>
+
+Ferner wurde ein Security-Audit der kivitendo Version 3.1 veröffentlicht.
+Hierfür empfehlen wir die Ausarbeitung eines Sicherheitskonzept mit einem kivitendo Partner Eurer Wahl.
+Falls dies nicht möglich sein sollte, weisen wir darauf hin, dass ein SQL-Backup tages- und wochenaktuell
+für einen etwaigen Restore zu Verfügung stehen sollte. Ferner besteht die Gefahr, dass angemeldete
+Benutzer Formfelder mißbrauchen können, Abhilfe schafft hier zum Beispiel der Einsatz von modsecurity unter
+Apache2 (https://doxsec.wordpress.com/2017/06/11/using-modsecurity-web-application-firewall-to-prevent-sql-injection-and-xss-using-blocking-rules/)
+
+Upgrade auf v3.5.4
+
+* Task-Server berücksichtigt Memory-Limit
+
+Falls für fgci-Prozesse ein Memory-Limit in der Konfigurationsdatei eingerichtet
+ist, wird dies nun auch vom Task-Server berücksichtigt. Dieser beendet sich bei
+Überschreitung des Limits. Deshalb muss dafür gesorgt werden, dass der
+Task-Server in diesem Fall neu gestartet wird (z.B. über den systemd-Service).
+Siehe auch aktuelle kivitendo-Dokumentation.
+
+
+Upgrade auf v3.5.3
+
+* Fallback-Module entfernt
+
+Einige Default-Module die als Fallback zu Verfügung standen, werden ab
+dieser Version nicht mehr mit ausgeliefert.
+Bitte vor dem Anmelden an der Weboberfläche 'scripts/installation_check.pl -v' ausführen
+und die entsprechenden Module installieren.
+S.a. weitere Details in der aktuellen kivitendo-Dokumentation.
+
+
+Upgrade auf v3.5.1
+
+* Neue Perlabhängigkeiten
+
+* LWP::Authen::Digest für WebshopApi
+* LWP::UserAgent für WebshopApi
+
+* Zwingende Postgres Erweiterung pg_trgm(Trigram)
+
+  Die Trigramerweiterung bietet eine Ähnlichkeitsuche.
+  Diese verwendet das Shopmodul, wenn installiert, beim Bestellimport
+  um zu entscheiden ob ein Kunde neu angelegt oder als Vorschlag angezeigt wird.
+  Die Erweiterung wird bisher nur beim Ableich der Straße genutzt, da hier oft
+  unterschiedliche Schreibweisen vorhanden sind.
+  z.B Dorfstraße, Dorfstrasse, Dorfstr., Dorf Straße usw..
+  So wird vermieden, dass Kunden eventuell doppelt angelegt werden.
+
+  * Zunächst muss geprüft werden, ob die Erweiterung prinzipiell für postgres
+  vorhanden ist, dafür kann folgendes Select-Statement in template1 genutzt werden:
+
+  # select * from pg_available_extensions where name ='pg_trgm';
+
+  Sollte bei diesem Statement kein Ergebnis kommen, so muss die entsprechende
+  Erweiterung für die eigene Distribution nachinstalliert werden.
+  Bei debian/ubuntu befindet sich diese im Paket postgresql-contrib
+  und kann mit
+
+  $ apt install postgresql-contrib
+
+  installiert werden.
+
+  * Diese Erweiterung wird mit dem SQL-Updatescript sql/Pg-upgrade2/trigram_extension.sql
+  und Datenbank-Super-Benutzer Rechten automatisch installiert.
+  Dazu braucht der DatenbankSuperbenutzer "postgres" ein Passwort
+
+  su - postgres
+  psql
+  \password
+  <Eingabe passwort>
+  \q
+
+  Passwort und Benutzername können jetzt beim Anlegen einer neuen Datenbank bzw.
+  bei Updatescripten, die SuperUserRechte benötigen eingegeben werden.
+
+
+  * Änderungen DATEV-Export Format CSV
+
+  Die Felder Belegfeld2 und Buchungsbeschreibung werden nicht mehr befüllt.
+  Im KNE-Export war im Belegfeld2 die Fälligkeit der Buchung gesetzt und in
+  Buchungsbeschreibung der Kunden- oder Lieferantenname.
+  Bei nicht valider Umsatz-Steuer-Identnummer wird der Export abgelehnt.
+  Da das Feld ein Freitext-Feld und keine Validierung bei der Eingabe hat(te)
+  unternimmt kivitendo keine eigene Normalisierung,  bzw. Konvertierung
+  des Datenfelds.
+
+  Eine Bereinigung der Ust-IDs muss der kivitendo-Admin eigenverantwortlich unternehmen.
+  Hier exemplarisch ein SQL-Schnipsel zum Ersetzen der Leerzeichen in diesem Feld:
+  UPDATE customer SET ustid=REPLACE(ustid, ' ', '') WHERE ustid LIKE '% %';
+
+  Upgrade auf v3.5.0
+  ===========================
+
+  * Neue Perl Abhängigkeiten:
+
+  * File::MimeInfo - für den Dateiupload
+  * Sys::CPU
+  * Thread::Pool::Simple
+
+  * Neue externe Abhängigkeiten:
+
+  * pdfinfo
+
+  * In der Rechte-Tabelle auth.master_rights wurden alle Positionswerte mit 100
+  multipliziert, um Lücken für neue Rechte zu schaffen.
+
+  * In der Tabelle "customer" wurde die Spalte "klass" nach "pricegroup_id"
+  migriert. Bei Kunden ohne Preisgruppe ist der Datenbankwert jetzt NULL statt
+  "0". Falls Kunden per CSV-Import importiert werden muß dieses Feld in der
+  CSV-Datei ebenfalls umbenannt werden.
+
+  * Für das neue Feature Lieferantenbriefe ist die Standardvorlage für Briefe
+  (letter.tex) angepasst worden. Statt letter.customer muss der Adressat jetzt
+  aus letter.custoemr_vendor erzeugt werden.
+
+  * In der Tabelle parts wurde die Boolean-Spalte "assembly" entfernt. Zur
+  Erkennung von Waren/Dienstleistungen/Erzeugnissen gibt es nun in parts eine
+  neue Spalte part_type vom ENUM-Typ, der auf die Werte 'part', 'service',
+  'assembly' und 'assortment' beschränkt ist.
+
+  * In der Tabelle parts wurde die Spalten inventory_accno_id, expense_accno_id
+  und income_accno_id entfernt. Deren Funktionalität wurde schon lange durch
+  Buchungsgruppen ersetzt und für die Erkennung des Artikeltyps gibt es nun die
+  Spalte part_type
+
+  Upgrade auf v3.4.1
+  ==================
+
+  * Neue Druckvariante Gelangensbestätigung für Verkaufs-Aufträge
+
+  Im Standard-Vorlagensatz RB befindet sich als Vorlage die ic_supply.tex
+  als Orientierung für die Anpassung an eigene Vorlagen. Eigene Vorlagen
+  müssen entsprechend um diesen Typ für die 3.4.1 erweitert werden.
+
+  * Druckvorlagen für Briefe
+
+  Die Erzeugung der Druckausgabe für die Brieffunktion wurde auf die
+  Verwendung des Template Toolkits umgestellt. Dazu muss die verwendete
+  Druckvorlage "letter.tex" angepasst werden. Im Standard-Vorlagensatz RB ist
+  das bereits geschehen. Falls keine manuellen Änderungen an der "letter.tex"
+  aus einer vorherigen Version gemacht wurden, reicht es, diese Datei
+  ("templates/print/RB/letter.tex") in das verwendete Vorlagenverzeichnis zu
+  kopieren. Ansonsten kann diese Datei als Beispiel dienen.
+
+
+  Upgrade auf v3.4.0
+  ==================
+
+  * Neue Perl-Modul-Abhängigkeiten:
+
+  * Algorithm::CheckDigits
+  * PBKDF2::Tiny
+
+  Wie immer bitte vor dem ersten Aufrufen einmal die Pakete überprüfen:
+
+  $ scripts/installation_check.pl -ro
+
+  * Der in der Dokumentation beschriebene Mechanismus für die CGI-Anbindung
+  (2.6.1 Grundkonfiguration mittels CGI) wurde geändert. Ein einfacher Alias
+  auf das Programmverzeichnis funktioniert nicht mehr, und es muss immer ein
+  AliasMatch auf einen dispatcher eingerichtet werden. Die Dokumentation wurde
+  aktualisiert. Für Benutzer der empfohlenen FastCGI Anbindung ändert sich
+  nichts.
+
+  * Der Task-Server ist nun mandantenfähig. Für jeden Mandanten, für den
+  der Task-Server laufen soll, muss in der Administrationsoberfläche
+  in der Konfiguration des Mandanten hinterlegt werden, welchen
+  kivitendo-Benutzer der Task-Server nutzen soll. Ist bei einem
+  Mandanten kein Benutzer hinterlegt, so ignoriert der Task-Server
+  diesen Mandanten.
+
+  Im Gegenzug wurden die beiden Konfigurations-Einstellungen »client«
+  und »login« aus dem Abschnitt [task_server] entfernt. Der
+  Task-Server prüft beim Starten allerdings, ob diese Einstellungen
+  noch existieren und verweigert den Start mit einer hilfreichen
+  Fehlermeldung, solange sie noch vorhanden sind.
+
+  * Die Unterstützung unsicherer Passwort-Hashing-Mechanism wurde
+  entfernt. Für BenutzerInnen, die noch alte Mechanismen verwenden,
+  müssen die Passwörter einmalig in der Administrationsoberfläche
+  zurückgesetzt werden.
+
+  Dies betrifft nur Accounts, deren Passwort sich das letzte Mal vor
+  kivitendo 2.7.0 geändert hat.
+
+  Upgrade auf v3.3.0
+  ==================
+
+  * Bei Upgrade von Versionen vor v.3.2.x wie immer erst die dortigen
+  Upgradehinweise beachten.
+
+  * Es gibt keine neuen Perl-Modul-Abhängigkeiten.
+
+  * Die alte ungepflegte Druckvorlagenvariante "Standard" wurde entfernt.
+  Bereits verwendete Druckvorlagen, die darauf aufbauen, funktionieren
+  natürlich weiterhin.
+
+  * Für die Verwendung des MT940 Import Features der Bankerweiterung muß
+  aqbanking installiert werden. Dies wird nur für die Konvertierung vom MT940
+  ins CSV Format benötigt, das Kommandozeilentool "aqbanking-cli" befindet sich
+  z.B. unter Ubuntu im Paket aqbanking-tools.
+
+  Upgrade auf v3.2.0
+  ==================
+
+  * Neue Perl-Modul-Abhängigkeiten:
+
+  * GD
+  * HTML::Restrict
+  * Image::Info
+  * List::UtilsBy