Redmine versions
At the time of writing these words, on the official Redmine website, you could find four different stable versions for download. They are a new release of 3.2, maintenance releases for 3.1 and 3.0, and another maintenance release for 2.6. This indicates that the installation of an application does not always mean the use of the most recent version.
But let's try to find out why the Redmine guys decided to release four versions of the application. Version 3.x uses Rails 4 and version 2.x uses Rails 3. For Ruby applications, a migration between major Rails versions, such as from 3 to 4, is a very serious step that often requires many changes to be made to the environment, custom tools, and so on. Major Rails versions are usually not compatible, so it's normal to give people some additional time for the migration. That's why we have 2.6 on the list. However, the Redmine developers also decided to give additional time for migration from Redmine 3.0 and 3.1 to 3.2. There were actually no special reasons for this, I believe.
By the way, the same that applies to Rails applies to Redmine. Major Redmine versions, such as, 1.x, 2.x, and 3.x, are known to be generally incompatible. That is, plugins must usually be modified a lot to work under the next major version. Therefore, their support for the new major version often comes with a big delay. On the contrary, minor versions, such as 3.0 and 3.1, are usually quite compatible, so plugins may run under the next minor version without any changes. And finally, tiny Redmine versions, such as 3.1.0 and 3.1.1, usually deliver fixes, which do not affect the working of plugins.
In most cases, people use the most recent version of an application, which is 3.2.x for Redmine at the moment. However, some Linux distributions or appliances may come with older versions. So should you stick to the distributed version or should you install the very recent one? Note that in the case of using distributions and appliances, switching to the most recent version usually involves performing manual migration and further manual maintenance. So, to be sure about what to choose, you should at least know what the difference between the versions in question is.
Therefore, let's shortly review the current stable versions of Redmine (the ones that are available at the time of writing this section):
- 3.2.x:
This version comes with the following new features:
- The Redmine interface becomes responsive; that is, Redmine can now be used on mobile devices.
- It's now possible to import issues from a CSV file.
- A new Key/value list custom field format is added.
- The issue list is now able to show totals for estimated and spent hours and numeric custom fields.
- 3.1.x:
This version comes with the following noticeable features:
- The Markdown formatter is no more considered experimental and has finally got its own help page.
- Subtasks can now be more independent and have their own dates, priorities, and done ratios that do not affect the parent issue.
- Security improvements: an option to expire passwords and password re-entry for some actions.
- 3.0.x:
This version upgrades Redmine to Rails 4.2.x. So, to migrate, users will need to update their custom Ruby tools, if any. Special attention should also be paid to find appropriate versions of third-party plugins, if any plugins are used.
Additionally, this version comes with the following features:
- Users can now have multiple emails.
- Search functionality was improved. Thus, it's now possible to search in open issues.
- Documents now have support for custom fields.
- 2.6.x:
This version includes the following new noticeable features:
- Custom permissions can now be assigned to non-members and anonymous users of the project.
- Improved PDF export.
Basically, due to the migration to Rails 4—and, therefore, huge changes in API at the time of writing this book—not all Redmine plugins had been ported to Redmine 3.x.x yet. You should consider this while choosing the version for your installation if you use or plan to use any plugins.