Files
kimai/UPGRADING-2.md
Kevin Papst 677f8d776c [3.0] Update Symfony to 7.4 and dependencies, removed deprecated code, removed API password (#5622)
* deactivate deprecated auto-mapping
* use native month-picker with fallback on old browser
* bump dependencies to new major versions
* replace deprecated ARRAY column type with JSON
* named arguments
* nullable arguments
* native lazy ghosts
* update routes to use php config
* disable PHP < 8.4
* use static RTL configuration
* new qr code package
* clear out env file
* recipe updates
* fix deprecations
* preset new env variable if not existing
* bump maria db version examples
* remove deprecated api-token support
* fix validator deprecations
* remove timesheet category column
* fix broken validator autoconfiguration
* stabilize tests
* fix migration syntax compatibility
* fix doctrine deprecation
* fix datetime format
* remove constructor dependency
* only include visible preferences in invoice templates
* fix test container dependency
* removed ProjectConstraint multi-constraint logic
* allow to disable plugins in certain environments
* refactor TimesheetConstraint to non-service
* activate new interface methods
* prevent update issues with .env
* improved customer fixture
* removed $user->isExportDecimal()
2026-01-04 15:04:25 +01:00

3.1 KiB

Upgrading Kimai - Version 2.x

Make sure to create a backup before you start!

Read the updates documentation to find out how you can upgrade your Kimai installation to the latest stable release.

Check below if there are more version specific steps required, which need to be executed after the normal update process. Perform EACH version specific task between your version and the new one, otherwise you risk data inconsistency or a broken installation.

2.0.30

The DATABASE_URL in your environment settings (e.g. .env, docker-compose.yaml or webserver config) now requires the charset and serverVersion params, e.g.: DATABASE_URL=mysql://user:password@127.0.0.1:3306/database?charset=utf8mb4&serverVersion=10.5.8-MariaDB (examples in .env).

2.0

!! This release requires minimum PHP version to 8.1 !!

Breaking changes

  • All plugins need to be updated: delete all previous version from your installation (rm -r var/plugins/*) before updating!
  • The local.yaml is not compatible with old version, remove it before the update and then re-create it after everything works
    • removed: configuring the dashboard is not supported any longer
    • removed: custom translation files via theme.branding.translation
    • removed: changing the plugin directory via kimai.plugin_dir

Developer

Developer read the full documentation at https://www.kimai.org/documentation/migration-v2.html.

  • Invoice renderer and templates for XML, JSON and TEXT were moved to the Extended invoicing plugin (install if you use one of those)
  • Moved company.docx to external repo (needs to be re-uploaded if you want to keep on using it!)
  • Role names are forced to be uppercase
  • Removed unused public/avatars/ directory
  • Time-tracking mode duration_only was removed, existing installations will be switched to duration_fixed_begin
  • Removed Twig filters. You might have to replace them in your custom export/invoice templates:
    • date_full => date_time
    • duration_decimal => duration(true)
    • currency => currency_name
    • country => country_name
    • language => language_name
  • Removed support for custom translation files (use TranslationBundle instead or write your own plugin)
  • Removed all 3rd party mailer packages, you need to install them manually (ONLY if you used a short syntax to configure the MAILER_URL in .env):
    • composer require symfony/amazon-mailer
    • composer require symfony/google-mailer
    • composer require symfony/mailchimp-mailer
    • composer require symfony/mailgun-mailer
    • composer require symfony/postmark-mailer
    • composer require symfony/sendgrid-mailer