Files
kimai/UPGRADING-3.md
Kevin Papst 8c52eac9f0 phpstan
2026-01-16 18:22:40 +01:00

1.9 KiB

Upgrading Kimai - Version 3.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.

3.0

!! This release requires minimum PHP version 8.4 !!

Rename .env

Rename your file .env to .env.local or even better: move all variables to your webserver/container environment.

Developer

Do not use method chaining: all fluent interface, especially in Entities, are no longer supported.

  • Require PHP 8.4
  • Bump to Symfony 7.4
  • Removed old API token X-AUTH-USER and X-AUTH-TOKEN
  • Removed TimesheetConstraint - use a normal Constraint as base class and attach the #[App\Validator\Attribute\TimesheetConstraint] attribute
  • Removed ProjectConstraint - use a FormExtension and attach your custom constraints
  • Interface MetaTableTypeInterface has new methods: getSection(), setSection()
  • Interface ExportRendererInterface has new methods: getType(), isInternal()
  • Interface ExportableItem has new methods: getTags(), getBreak()
  • Removed and renamed translations, most important action.edit => edit, my.profile => user_profile
  • Removed User::isExportDecimal()
    • Use duration format HH:mm in default PDF exports
  • Replace Twig AppVariable with custom implementation
    • You need to adjust your templates if you access anything else then app.locale, app.user. app.current_route.
    • Most often used:
      • Replace app.request.locale with app.locale
      • Replace app.request.attributes.get('_route') with app.current_route