Every plugin version supports the current and the previous Redmine line, today 7 and 6. This page shows per plugin what the current version is tested with, and the order of a Redmine update that keeps the instance starting throughout.
As reported by the release pipeline. Each row is the version currently shipped; older versions are covered further down.
| Plugin | Version | Redmine 5.1 | Redmine 6.0 | Redmine 6.1 | Redmine 7 |
|---|---|---|---|---|---|
| Time Tracking | 1.7.0 | Releasedtested | Releasedsame line as 6.1 | Releasedtested | Releasedtested |
| Invoicing | 1.7.0 | Releasedtested | Releasedsame line as 6.1 | Releasedtested | Releasedtested |
| Kanban Board | 1.7.0 | Releasedtested | Releasedsame line as 6.1 | Releasedtested | Releasedtested |
| Checklists | 1.7.0 | Releasedtested | Releasedsame line as 6.1 | Releasedtested | Releasedtested |
| Member Audit | 1.7.0 | Releasedtested | Releasedsame line as 6.1 | Releasedtested | Releasedtested |
| External Watchers | 1.0.0 | Releasedtested | Releasedsame line as 6.1 | Releasedtested | Releasedtested |
Redmine 6 has been supported since the first version of each plugin, Redmine 5.1 since April 2026. Redmine 7 ran as a preview test since the 1.6.0 releases in October 2026 and has been released for the 1.7.0 versions and External Watchers 1.0.0 since 7 November 2026. For Redmine 5.1 these versions are the last released ones: newer versions still load there but are no longer released for it. What changed in each version is in the changelog at the end of the respective manual.
Every plugin version supports the current and the previous Redmine line. Today that is Redmine 7 and Redmine 6. Redmine 5.1 is released for the last time with the 1.7.0 versions and External Watchers 1.0.0 and stays usable with them; the plugins still require only 5.1.0 or newer, so newer plugin versions run there but are no longer tested and released for it.
A plugin version that supports two Redmine lines is therefore always the bridge version for the update from one to the other.
If a new Redmine line appears during your update term, the plugin version released for it is part of your twelve months of updates. The update link from the purchase e-mail delivers it as soon as it is released.
Redmine loads every plugin at start-up. If a plugin does not fit the new Redmine version, the whole instance refuses to start until the plugin folder is removed. The data in the plugin tables is never affected. This order avoids the situation altogether:
redmine:plugins:migrate, restart Redmine, check briefly on the old Redmine version. This version runs on both Redmine lines.bundle exec rake redmine:plugins:migrate RAILS_ENV=production again and restart.If no plugin version supports both Redmine lines, for example because the new Redmine requires a newer Ruby: move the plugin folder aside, update Redmine, drop in the new plugin version, migrate. The plugin tables stay untouched in the database; the new version raises the schema with its own migrations.
cd /path/to/redmine
mv plugins/at_zeiterfassung ../at_zeiterfassung.old # move aside, do NOT migrate
# update Redmine
# unzip the new plugin version into plugins/at_zeiterfassung
bundle exec rake redmine:plugins:migrate NAME=at_zeiterfassung RAILS_ENV=production
# restart Redmine
Never run VERSION=0 as part of an update. The downward migration to version 0 drops the plugin tables and with them all of the plugin's data. It belongs to a final uninstall only.
The same steps with the commands for each plugin are in the chapter “Updating Redmine” of the manual: Time Tracking, Invoicing, Kanban Board, Checklists, Member Audit, External Watchers.
Every release passes the same matrix before it ships: the plugin's tests on Redmine 5.1, Redmine 6.1 and Redmine 7, each with SQLite, MySQL and PostgreSQL, nine runs in total. The 6.1 and 7 columns are mandatory; without a green result there is no zip. The 5.1 column keeps running as information and may fail.
The table is updated with every release. The lower bound is declared in each plugin itself (requires_redmine version_or_higher: '5.1.0'); there is deliberately no hard upper bound, so a new Redmine version that runs fine is not blocked.