+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.
+ Um den Systembenutzer "postgres" mit SuperUserRechten auszustatten
+ braucht dieser 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.
+
+ * Um diese Erweiterung manuell zu installieren und generell in Postgres zu aktivieren, muss folgendes gemacht werden:
+
+ su - postgres
+ psql template1
+ CREATE EXTENSION IF NOT EXISTS pg_trgm;
+ \q
+
+ * Damit bestehende Mandanten diese Erweiterung nutzen, muss mandantenspezifische (DB)
+ die Erweiterung pg_trgm nachträglich aktiviert werden:
+
+ su - postgres
+ psql <DATENBANK>
+ CREATE EXTENSION IF NOT EXISTS pg_trgm;
+ \q
+
+* Ä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