Wichtige Hinweise zum Upgrade von älteren Versionen
===================================================

** BITTE FERTIGEN SIE VOR DEM UPGRADE EIN BACKUP IHRER DATENBANK(EN) AN! **

Upgrade auf v..

* Änderung bei Schweizer QR-Rechnung mit QR-IBAN/QR-Referenz

  Bisher wurde für die QR-IBAN eine zusätzliche Zeile bei den Bankkonten
  erfasst. Die QR-IBAN wird aber jeweils als zusätzliche IBAN für ein
  existierendes Bankkonto vergeben. Daher wird diese neu als zusätzliche Spalte
  beim entsprechenden Bankkonto eingetragen. Dies muss nach dem Upgrade unter
  System -> Bankkonten angepasst werden.

Upgrade auf v3.9.1

Es sind keine neuen Perl-Abhängigkeiten hinzugekommen.

Die Dateieendung für SEPA-XML wurde auf .xml geändert, die vorherigen Werte
können aber über die Mandantenkonfiguration wieder aktiviert werden.

Upgrade auf v3.9.0

Einige neue Perl-Module sind hinzugekommen, Hilfe zum Installieren bietet wie
immer das Skript 'scripts/installation_check.pl -v'.

  * Neue Perl Abhängigkeiten:

  * Encode::IMAPUTF7
  * Mail::IMAPClient

Wichtige Hinweise:

- manuelle Zahlungen von Belegen mit Fremdwährungen verbuchen ist leider seit der Version 3.8 buggy!
  Diese Version flickt das Verhalten notdürftig und das Problem liegt auf Wiedervorlage, wenn die
  Rechnungsbelege prinzipiell modernisiert werden (aktuell sind die Belegtypen Aufträge und
  Lieferschein mit modernen Code implementiert).

  Es gibt drei + x Möglichkeiten:
  - Zahlungen über das Format MT940 oder CSV importieren und dann über den Menüpunkt 'Kontoauszug
    verbuchen' alle Zahlungen verbuchen.
  - Zahlungsverkehr -> Zahlungseingang / Zahlungsausgang für die manuelle Zahlungsverbuchung verwenden
  - Doch manuell über die Belege die Zahlungen verbuchen, dann aber zwingend die Änderbarkeit von
    Zahlungen auf 'niemals' setzen
  - Den kivitendo-Dienstleister seiner Wahl für weitere Optionen (Downgrade, Entwicklungsunterstützung
    für schnellere Rechnungsüberarbeitung) kontaktieren und beauftragen
  Weitere Details, https://kivitendo.de/redmine/issues/563

- Diese Version benötigt zwingend PostgreSQL Version 12 oder höher!

Wer es dennoch zwingend in einer älteren Version benötigt, kann diese beiden Skripte deaktivieren:

Shell-Befehl zum Deaktivieren des Skripts:
  sed -i 's/ignore: 0/ignore: 1/' sql/Pg-upgrade2/oe_purchase_order_confirmation_order_types.sql

SQL-Kommando, das ausgeführt werden muss:
  ALTER TYPE order_types ADD VALUE IF NOT EXISTS 'purchase_order_confirmation';


Upgrade auf v3.8.0

Buchungskonten die mit einem Bankkonto verknüpft sind, können nicht mehr
manuell in den Belegen bebucht werden.

LaTeX-Druckvorlagen werden nun standardmäßig nicht mehr zwei mal durch
den LaTeX-Interpreter übersetzt. Statt dessen wird in der
Standardkonfiguration das Programm »latexmk --pdflatex« aufgerufen,
das selbständig feststellen kann, ob eine mehrfache Ausführung nötig
ist, z.B. um Referenzen richtig auflösen zu können.

Bei existierenden Installationen muss dafür in der Konfigurationsdatei
»config/kivitendo.conf« der Pfad in der Einstellung »[applications]« →
»latex« umgestellt werden, z.B. auf »latexmk --pdflatex«. Andere
TeX-Interpreter wie luatex werden ebenfalls unterstützt; siehe Ausgabe
von »latexmk --help«.

Es sind keine neuen Perl-Abhängigkeiten hinzugekommen.


Upgrade auf v3.7.0

Es sind keine neuen Perl-Abhängigkeiten hinzugekommen.

Upgrade auf v3.6.1

Das manuelle Korrigieren der Steuer bei Skontoverbuchungen entfällt seit
dieser Version, da die Steuerkorrektur automatisch gemacht wird.

Ein neues Perl-Modul ist hinzugekommen, Hilfe zum Installieren bietet wie immer
das Skript 'scripts/installation_check.pl -v'.

  * IPC::Run


Upgrade auf v3.6.0

Der 'neue Auftrags-Controller' ist mittlerweile weder neu noch experimentell und
die entsprechende Mandantenkonfiguration 'Experimentellen neuen Auftrags-Controller'
verwenden wird bei diesem Upgrade hart auf 'Ja' gesetzt.
Die alte, noch aktive Auftragsmaske wird in einer zukünftigen Version von kivitendo entfernt
werden.

Einige neue Perl-Module sind hinzugekommen, Hilfe zum Installieren bietet wie immer
das Skript 'scripts/installation_check.pl -v'.

  * Neue Perl Abhängigkeiten:

  * Term::ReadLine::Gnu
  * Imager::QRCode
  * Imager
  * REST::Client



Upgrade auf v3.5.8

Die API für 'Erzeugnis fertigen' wurde geändert:
Die Einstellung der Mandantenkonfiguration für 'Zum Fertigen wird das Standardlager
des Bestandteils verwendet, nicht das Ziellager' hat keine Auswirkung mehr.
Falls dieser Wert auf 'Nein' steht funktioniert das Verfahren wie vorher auch.
Falls dieser Wert auf 'Ja' steht, muss geprüft werden, ob das Verfahren noch so
benötigt wird.
Alternativ kann 'Erzeugnis fertigen' ab dieser Version auch Erzeugnisbestandteile aus
fremden Lagern (nicht das Ziellager) nehmen. Dies sollte i.d.R. den Prozeß abbilden können.

Die Mandantenkonfiguration 'Standard-Auslagern ohne Prüfung auf Bestand' wird bei diesem
Versionsupgrade hart auf 'Nein' gesetzt und kann vom kivitendo Administrator selbständig
wieder auf 'Ja' gesetzt werden. Das Verfahren wird aber prinzipiell in einer zukünftigen
Version von kivitendo nicht mehr unterstützt werden.


Upgrade auf v3.5.7
  * Neue Perl Abhängigkeiten:

  * Math::Round
  * Try::Tiny


Upgrade auf v3.5.6.1

Die Abwärtskompatibilität zur Lagermengen-Berechnung in Lieferscheinen wurde
aufgehoben. Wer nicht mit Workflows arbeitet (nicht empfohlen) muss diese
explizit in der Mandantenkonfiguration wieder aktivieren.


Upgrade auf v3.5.6

In dieser Version sind die Mehrwertsteueranpassungen für den SKR03 und SKR04
ab 1.7.2020 vorhanden. Wer diese Anpassungen schon manuell eingestellt hat, sollte
die Upgrade-Skripte deaktivieren.
Dies betrifft diese drei Skripte "sql/Pg-upgrade2/konjunkturpaket_2020*", sowie
ferner das Entfernen der Release-Abhängigkeiten dieser Skripte:

Folgende zwei Sed-Kommandos erledigen das:

 sed -i 's/ignore: 0/ignore: 1/g' sql/Pg-upgrade2/konjunkturpaket_2020*
 sed -i 's/\bkonjunktur[^ ]*//g' sql/Pg-upgrade2/release_3_5_*


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

  Wie immer bitte vor dem ersten Aufrufen einmal die Pakete überprüfen:

  $ scripts/installation_check.pl -ro

  Sofern das Upgrade von einer früheren Version als 3.1.0 geschieht auch die
  Upgradehinweise der Vorversionen beachten.

  * Druckvorlagen auf shipto-Verwendung prüfen

  Hier hat sich das Standardverhalten geändert und ggf. werden shipto* nicht mehr
  ausgedruckt, hier müssten die Druckvorlagen individuell angepasst werden, s.a.
  Changelog -> Verkaufsbeleg-Ausdruck.

  Upgrade auf v3.1.0
  ==================


  * BEVOR ein Aufruf im Administrationsbereich erfolgt, muss zwingend der
  webdav Ordner im Installationspfad vorhanden sein!
  -  mkdir webdav/
-  Rechte für webserver setzen ($ chmod www-data webdav/)
  Dieses "Feature" war in vorhergehenden Versionen optional, wird aber
  für das Upgrade auf Mandantenfähigkeit vorausgesetzt.

  * Neue Softwarevoraussetzungen: Perl v5.10.1 oder neuer sowie
  PostgreSQL 8.4 oder neuer werden zwingend vorausgesetzt. Ein Betrieb
  mit älteren Versionen ist nicht mehr möglich.

  * Neue Perl-Modul-Abhängigkeiten:

  * File::Copy::Recursive
  * Rose::DB::Object muss v0.788 oder neuer sein (aufgrund eines Bugs
      in besagtem Modul im Zusammenspiel mit PostgreSQL)

  Wie immer bitte vor dem ersten Aufrufen einmal die Pakete überprüfen:

  $ scripts/installation_check.pl -ro

  * Die Datenbank muss zwingend Unicode als Encoding nutzen. Daher wird
  auch die Konfigurationsvariable "system.dbcharset" nicht mehr
  unterstützt.

  * Einführung von Mandanten. Früher war die Konfiguration der
  Datenbanken für jeden Benutzer getrennt vorzunehmen. Mit diesem
  Release wurden Mandanten eingeführt: ein Mandant bekommt einen Namen
  sowie die Datenbankkonfiguration, und Benutzer bekommen
  Zugriffsrechte auf einen oder mehrere Mandanten.

  Um dieses Update durchzuführen, müssen Sie sich einmal im
  Administrationsbereich anmelden. Vorher ist kein Login im
  Benutzerbereich möglich.

  Die neue Struktur bedingt, dass viele Scripte, die bisher zur
  Konfiguration nur einen Benutzer verlangt haben, jetzt auch einen
  Mandanten verlangen. Die Konfiguration dieser Scripte ist deshalb
  manuell anzupassen. Dazu gehören:

  - der Task-Server (config/kivitendo.conf)
- CSV-Import von der Shell aus (scripts/csv-import-from-shell.sh)

  Die folgenden Scripte sind ebenfalls betroffen, allerdings nur für
  Entwickler interessant:

  - scripts/dbupgrade2_tool.pl
  - scripts/rose_auto_create_model.pl

  * Neue Benutzerrechte

  Diese müssen bei vorhandenen Gruppen eventuell nachgepflegt werden. Z.B. bei
  der Gruppe Vollzugriff

  - Stammdaten -> Kunden und Lieferanten erfassen. Alle Lieferanten bearbeiten.
  Alle Kunden bearbeiten
  - Konfiguration -> Verändern der kivitendo-Installationseinstellungen (die
      meisten Menüpunkte unterhalb von 'System')

  * Die alten ungepflegten Druckvorlagenvarianten French und Service
  wurden entfernt.

  * Die HTML-Druckvorlagen der Berichte (GuV, Bilanz, SuSa, BWA, UStVA) werden
  jetzt alle zentral in den Webvorlagen verwaltet, es werden keine
  benutzerangepasste Versionen der Druckvorlagen im Druckvorlagenverzeichnis
  mehr unterstützt.

  Upgrade auf v3.0.0
  ==================

  * Neue Abhängigkeiten

  * Clone 1.16
  * Email::MIME
  * FCGI jetzt min Version 0.72
  * Test::Harness 3.00
  * IO::Socket::SSL
  * Net::LDAP
  * Net::SMTP::SSL
  * Net::SSLGlue

  Wie immer bitte vor dem ersten Aufrufen einmal die Pakete überprüfen:

  $ scripts/installation_check.pl -ro

  * Neue Entwicklerabhängigkeiten

  * Test::Deep
  * GD 2.00

  * Diverse umstrittene Features zum nicht standardkonformen Umgang mit gebuchten
  Rechnungen sind jetzt standardmässig deaktiviert und müssen unter "System" ->
  "Mandantenkonfiguration" aktiviert werden.

  * Die Übersetzungen "de_DE" und "fr" für die alternative deutsche Version und
  französische Version respektive wurden entfernt. Es bleiben offiziell
  unterstützte Übersetzungen in Deutsch ("de") und English ("en").

  * Dieses ist die letzte Version, die Perl-Versionen vor 5.10.1
  unterstützen wird.  Ab dem nächsten Release werden Sprachkonstrukte
  verwendet werden, die nicht mehr in 5.8 kompilieren, und Module, die
  seit v5.10.1 zu den Coremodulen gehören, werden ab dann nicht mehr
  als explizite Abhängigkeiten gelistet.


  Upgrade auf v2.7.0
  ==================

  * In der Version 2.7.0 wird das XUL Menü entfernt. Alle Benutzer die das XUL
  Menü noch eingestellt haben, werden beim ersten Einloggen auf ein
  Kompatibilitätsmenü gesetzt. Das Javascriptmenü wurde entsprechend erweitert
  um der Funktionalität nahe zu kommen.

  * Das Lizenzenfeature wurde ersatzlos entfernt.

  * In den LaTeX Vorlagen gilt der Befehl "pagebreak" und die dazugehörigen
  "sumcarriedforward" und "lastpage" als deprecated und werden in einer
  kommenden Version komplett entfernt. Die Mechanik ist anfällig gegenüber
  subtilen Formatierungsfehlern bei bestimmten Zahlenformaten und ist
  grundsätzlich fehlerhaft in den gemachten Annahmen über den verfügbaren Platz
  auf einer Seite. Die Standardvorlagen sind entsprechend angepasst worden
  und müssen in der Administration neu angelegt werden.

  * Das Druckvorlagensystem wurde umgestellt, dadurch ist der Name "print" für
  Druckvorlagen jetzt reserviert. Wenn eine Ihrer Vorlagensätze "print" heisst,
  benennen Sie ihn um bevor Sie das Update starten.

  * Die Druckvorlagen für USTVA vor 2012 wurden entfernt und das Ausdrucken von
  USTVA als PDF ist deprecated. Da die Eingabe von Erklärungen als PDF nicht
  mehr gestattet ist, sollten Archivkopien der USTVA direkt bei Elster bezogen
  werden, oder auf anderem Wege erstellt werden. Der Prozess dazu wird sich in
  einer kommenden Version ändern.

  * Die Namen der von LaTeX generierten PDF-Dateien sind jetzt in der
  eingestellten Dokumentensprache, nicht mehr in der Oberflächensprache des
  Bearbeiters.

  * Neue Abhängigkeiten

  * JSON
  * String::ShellQuote
* Digest::SHA (optional, empfohlen)

  Wie immer bitte vor dem ersten Aufrufen einmal die Pakete überprüfen:

  $ scripts/installation_check.pl -ro

  * CSV-Import wurde neu in Perl implementiert

  Der PHP-Code wurde entfernt. Automatische Skripte, die per Aufruf von
  lxo-import/partsB.php?cron=1 die Datei parts.csv importiert haben,
  funktionieren nicht mehr.  Stattdessen kann scripts/csv-import-from-shell.sh
  benutzt werden. Im Unterschied zur PHP-Version werden unbekannte Warengruppen
  nicht mehr automatisch angelegt, stattdessen bricht das Skript ab.

  * Rechteverwaltung

  * Das Recht "Kunden und Lieferanten bearbeiten" wurde aufgespalten in zwei
  einzelne Rechte. Ein Updatescript passt bestehende Gruppenaentsprechend an.
  * Das Recht "Preise nd Rabatte bearbeiten" wurde neu eingeführt und ist
  notwendig um in Belegen Preise ändern zu können. Es wird beim Upgrade
  automatisch allen Benutzern erteilt.
  * Das Recht "Administration" wurde neu eingeführt, und ist dazu da
  administrative Tätigkeiten an der Mandantendatenbank aus einm Benutzerlogin
  heraus durchzuführen. Es ist standardmäßig NICHT vergeben.
  * Der Vorlageneditor wurde unter das Recht Administration gestellt, war
  vorher Konfiguration.


  Upgrade auf v2.6.3
  ==================

  1. Mit Version 2.6.3. wurden die beiden Konfigurationsdateien
  authentication.pl und lx-erp.conf, sowie deren Varianten,
  abgeschafft. Stattdessen gibt es nun die Datei lx_office.conf, die
  aber erst neu angelegt werden muß. Als Vorlage dient hierfür die Datei
  lx_office.conf.default. Die entsprechenden Werte muß man selber neu
  konfigurieren, dies ist automatisiert zu fehleranfällig.

  Nach dem Upgrade kann man sich so lange nicht anmelden, bis lx_office.conf
  angelegt und authentication.pl und lx-erp.conf gelöscht oder verschoben wurden.

  Es gibt keine local-Variante der lx_office.conf, arbeitet man mit git sollte
  man lx_office.conf nicht einchecken.

  Eine etwas ausführlichere Beschreibung findet sich in Kapitel 2.3
  "Lx-Office-Konfigurationsdatei" in doc/Lx-Office-Dokumentation.pdf

  2. Eine neu hinzugekommene Komponente ist der Task-Server. Hierbei
  handelt es sich um einen Dämonen, der im Hintergrund läuft, in
  regelmäßigen Abständen nach abzuarbeitenden Aufgaben sucht und diese
  zu festgelegten Zeitpunkten abarbeitet (ähnlich wie Cron). Dieser
  Dämon wird bisher nur für die Erzeugung der wiederkehrenden Rechnungen
  benutzt, wird aber in Zukunft deutlich mehr Aufgaben übertragen
  bekommen. Die Einrichtung des Dämonen wird in der
  Installationsdokumentation im Abschnitt "Der Task-Server" beschrieben.

  3. Mit Version 2.6.3 sind einige Abhängigkeiten von Perl-Modulen
  hinzugekommen. Bitte führen sie vor dem ersten Aufrufen der einmal
  den folgenden Befehl im Lx-Office Verzeichnis aus:

  $ scripts/installation_check.pl

  Sollten Module als fehlend markiert sein, folgen Sie bitte den Anweisungen in
  der Installationsanweisung.

  Zumindest folgende Module sind neu benötigt:

  * Config::Std
  * Params::Validate

  4. Sollten Sie die FCGI-Version einsetzen, das Apache-Modul
  "mod_fcgid" (nicht "mod_fastcgi") benutzen und von diesem Modul die
  Version v2.6.3 oder später installiert haben, so ist außerdem wichtig,
  seinen Parameter "FcgidMaxRequestLen" deutlich zu erhöhen, weil sich
  dieser im Release mod_fcgid-Release v2.6.3 deutlich geändert
  hat. Details dazu finden sich in Kapitel 2.5.2 "Konfiguration für
  FastCGI/FCGI" in doc/Lx-Office-Dokumentation.pdf


  Upgrade auf v2.6.2
  ==================

  Vor dem Einloggen
  -----------------

  Mit Version 2.6.2 sind einige Abhängigkeiten von Perl-Modulen hinzugekommen.
  Bitte führen sie vor dem ersten Aufrufen der einmal den folgenden Befehl im
  Lx-Office Verzeichnis aus:

  $ scripts/installation_check.pl

  Sollten Module als fehlend markiert sein, folgen Sie bitte den Anweisungen in
  der Installationsanweisung.

  Zumindest folgende Module sind neu benötigt:

  * Rose::Object, Rose::DB und Rose::DB::Object (die Installation von
      Rose::DB::Object via CPAN oder den Paketmechanismus Ihrer
      Distribution sollte für die automatische Installation der anderen
      zwei Pakete sorgen)

  Neue Gruppenrechte
  ------------------

  Es wurde ein neues Recht "Druck" eingeführt. Dieses bestimmt, ob die
  Benutzerin das Menü "Druck" zu Gesicht bekommt oder nicht, unabhängig
  davon, wie die Rechte für die einzelnen Unterpunkte gesetzt sind.

  Für bereits bestehende Gruppen muss es sofern gewünscht vom
  Administrator manuell gewährt werden.


  Upgrade auf v2.6.1
  ==================

  Vor dem Einloggen
  -----------------

  Mit Version 2.6.1 wurden die Listen der benötigten Perl Module überarbeitet.
  Einige der vorher in den Abhängigkeiten gelisteten Module waren Coremodules
  (und damit in jeder Perldistribution vorhanden), oder ihrerseits Abhängigkeiten
  anderer benötigter Module. Durch die Überarbeitung hat sich die Liste deutlich
  geändert.

  Bitte führen sie vor dem ersten Aufrufen der einmal den folgenden Befehl im
  Lx-Office Verzeichnis aus:

  $ scripts/installation_check.pl

  Sollten Module als fehlend markiert sein, folgen Sie bitte den Anweisungen in
  der Installationsanweisung.

  Zumindest folgende Module sind neu benötigt:

  * URI
  * XML::Writer

  Neue Konfigurationsvariablen
  ----------------------------

  In der config/lx-erp.conf ist als neue Option $show_best_before hinzugekommen.
  Die Variable kontrolliert die Anzeige von Mindesthaltbarkeitsdaten. Sie ist
standardmäßig deaktiviert.