Redmine 6.1: In-Depth Guide to New Features
Redmine 6.1, the open source project management software, was released on September 21, 2025, with 76 changes and fixes.
This article introduces 29 new features selected from all changes. Let's review key enhancements in Redmine 6.1.
Table of contents
-
- New custom field format "Progress bar" Recommended
-
- Optimize Activity view to improve performance
- Optimize
Version#wiki_page
method to reduce SQL queries - Optimize
IssuesController#show
method to reduce SQL queries - Optimize
TimeEntryActivity#default_activity_id
method to reduce SQL queries - Server-side processing time reduction for Gantt charts
- Reduce unnecessary SQL queries when displaying projects
- Optimizing
Version::FixedIssuesExtension#issues_progress
- Optimizing SQL queries for version display in Gantt charts
- Optimizing the version display on the roadmap
-
- Support OAuth2 Recommended
-
- Reaction feature (like button) Recommended
- Stick the issue subject to the top of the screen Recommended
- Button to copy text formatted with
<pre>
tags to the clipboard - Change the quote icon from a comment icon to a quotation mark icon
- Disable table sorting
- Making the Issue History Tab Easier to Read
- Add a page to list all available SVG icons
- Bold current user's name in Assignee and Author columns on issues list
- Add initials to the Gravatar icon's default
What is Redmine?
Redmine is an open source project management software. It can be freely installed on self-hosted servers or used via cloud services. For more information about Redmine, visit official site.
Activity view
Increase the maximum description length to 240 characters in the Activity view (#42041)
The number of characters displayed for descriptions on the Activity view has been increased from the previous 120 characters to 240 characters in Redmine 6.1.
Redmine 6.0
Redmine 6.1
Abbreviate quoted text in descriptions in Activity view (#42043)
In the previous version, when descriptions or comments were displayed on the Activity view, any quoted text was shown as-is. If the quoted text was lengthy, it could overwhelm the display, leaving the main comment itself hidden.
In Redmine 6.1, quoted text is now truncated (or has been truncated) to ensure that even if the quoted text is long, it doesn't dominate the display, and the main comment remains visible.
Redmine 6.0. Overwhelmed by quoted text.
Redmine 6.1. The quoted text is truncated, and the comment is displayed.
Administration
Role deletion error message now displays a list of projects where the role is in use (#42441)
On the 'Roles and permissions' page (under 'Administration'), when you click 'Delete' for a role, the subsequent message now lists any projects currently using that role. Each project name in this list is a link that directs you to the 'Members' tab of the respective project's settings page.
In previous versions, a warning appeared if a role was in use, but you had to manually find out which projects were affected. In Redmine 6.1, you can simply click a project name in the message to go straight to the 'Members' tab of its settings, allowing for immediate review of how the role is utilized in that project.
Code cleanup/refactoring
Refactor Member#role_ids=
method for improved clarity and efficiency (#42124)
The Member#role_ids=
method has been refactored in Redmine 6.1 to improve readability and efficiency by simplifying the identification and removal of unnecessary MemberRole
records.
Custom fields
New custom field format "Progress bar" (#42335)
Recommended
A new "Progress bar" format has been added for custom fields. Separate from the standard "% Done" field, this allows you to input a percentage value as a custom field. This enables you to visualize aspects of progress or degree that differ from the standard "% Done" ratio, which represents how much of an issue's work is finished.
Issues
Customize columns in the list of related and sub issues (#42477)
Recommended
You can now customize the columns and sort order for the "Related issues" and "Subtasks" lists on the issue page. This allows you to personalize the view by adding custom fields, hiding unnecessary columns, and arranging them as you like.
Previously, the list was fixed to display a predefined set of columns, such as Status, Assignee, Start date, Due date, and % Done.
This feature can be configured under Administration → Settings → Issue tracking → "Related and sub issues list defaults". By enabling the "Show table headers" option, the column titles are also visible in the list.
These settings are common to all projects within your entire Redmine instance.
Remove navigation parameters from issue detail URLs after updates (#42073)
In the previous version, after updating an issue, parameters for issue list navigation were appended to the URL. For example, parameters were added after the "?" in URLs like the following:
https://redmine.example.com/issues/15?issue_count=7&issue_position=1&next_issue_id=13
In Redmine 6.1, these parameters are no longer appended. The URL now looks like this:
https://redmine.example.com/issues/15
Redmine 6.0
Redmine 6.1
Performance
Optimize Activity view to improve performance (#42077)
In the Activity view, multiple SQL queries were generated for each journal, which could cause performance issues.
In Redmine 6.1, the Journal#journalized
method and the :scope
parameter of acts_as_activity_provider
have been modified.
This prevents unnecessary SQL queries from being executed, leading to improved performance.
Optimize Version#wiki_page
method to reduce SQL queries (#42121)
The Version#wiki_page method
was designed to evaluate project.wiki
even when wiki_page_title
was blank.
As a result, unnecessary SQL queries could be executed against the wikis
table.
In Redmine 6.1, this method has been improved to evaluate project.wiki
only when wiki_page_title
is present.
This change prevents unnecessary SQL queries from being executed, leading to improved performance.
Optimize IssuesController#show
method to reduce SQL queries (#42144)
The IssuesController#show
method was designed to load database records and related data for time tracking, even when the "Time tracking" module was disabled.
In Redmine 6.1, this method has been improved to execute SQL queries related to time tracking only when the "Time tracking" module is enabled. This change prevents unnecessary SQL queries from being executed, leading to improved performance.
Optimize TimeEntryActivity#default_activity_id
method to reduce SQL queries (#42150)
The TimeEntryActivity#default_activity_id
method determined the default value for activity in time tracking.
This method was also called when displaying a single issue.
It was designed to consider multiple conditions, such as the user roles and the global default value. For example, if a default value was set for a role, the method could determine the value accordingly. However, even if a value was found early, the method was structured to check all conditions before making a final decision. As a result, unnecessary SQL queries were executed.
In Redmine 6.1, this method has been modified to terminate immediately once the default activity is determined. This change prevents unnecessary SQL queries from being executed, leading to improved performance.
Server-side processing time reduction for Gantt charts (#42663)
To improve performance when displaying Gantt charts, queries related to versions (database queries) have been reduced. This improves display speed when many versions exist.
Reduce unnecessary SQL queries when displaying projects (#42671)
When displaying a project's overview page, unnecessary SQL queries related to subprojects are no longer executed if the project has no child projects. This improvement eliminates wasteful database access and speeds up page display.
Optimizing Version::FixedIssuesExtension#issues_progress
(#42673)
The internal process for calculating version progress has been optimized. This improves processing efficiency by avoiding repeated checks for whether issues are closed.
Optimizing SQL queries for version display in Gantt charts (#42681)
By reviewing the order of conditions in SQL queries when displaying version subjects in a Gantt chart, unnecessary query executions have been avoided. This leads to improved database access efficiency and faster display speeds.
Optimizing the version display on the roadmap (#42682)
Performance has been improved when displaying versions on the roadmap page. Display speeds have been increased by pre-loading the email addresses of issue assignees.
REST API
Support OAuth2 (#24808)
Recommended
Redmine supports OAuth2 starting with version 6.1.
Previously, applications that connected with Redmine had to use a user's API key to access the REST API. This had a few downsides:
- Users needed to register their API key (their login details) with the application.
- There was no way to limit what the application could do, meaning it had all the same permissions as the user it was linked to.
OAuth2 changes this by providing a way to limit an application's access to specific permissions. It also gives users a way to clearly approve an application's use. This means users can check what data an application will access for them before they start using it. Plus, they don't need to create and save an API key in the application anymore.
To use the REST API with OAuth2:
First, you'll need to enable web services via REST. Go to Administration → Settings → API tab, then toggle on "Enable REST web service".
After that, you can register your OAuth2 application. Do this by going to Administration → Applications, and then selecting the "New application" screen.
SCM
Improvements to integrate with Mercurial 5.1 and later repositories (#33784)
Redmine includes integration capabilities with version control systems. Supported version control systems include Git, Subversion, and Mercurial.
Mercurial is developed in Python. While it previously ran on Python version 2, recent versions have transitioned to Python 3.
Previously, Redmine supported Mercurial running on Python 2, which prevented integration with newer versions of Mercurial repositories.
Redmine 6.1 now supports Mercurial developed in Python 3. Specifically, Mercurial version 5.1 and later are supported. Please note that Mercurial versions prior to 5.1 are no longer supported.
Text formatting
Display pasted images in appropriate size on HiDPI displays (#38504)
Recommended
When you capture a screenshot on a HiDPI display and paste it into Redmine from the clipboard, the image appeared at twice its original size.
In Redmine 6.1, CSS width
properties are now added (or have been added) to the markup during pasting, ensuring the image displays at its correct size.
If the displayed size does not meet your preference, you can adjust it by modifying the width
property.
CommonMark Markdown alert display (#42603)
You can now display alerts in CommonMark Markdown. This lets you highlight important notes or supplementary information within wikis and issue descriptions.
This feature is only available when your text formatting is set to "CommonMark Markdown (GitHub Flavored)" under Administration → Settings → General.
Example Descriptions
> [!NOTE] > Wiki page edits are preserved as history, allowing you to restore previous versions if needed. > [!TIP] > To quickly review the update history of an issue, use the "History" tab for convenient access. > [!WARNING] > Deleting an issue is a permanent action. Be certain it is truly necessary before proceeding. > [!IMPORTANT] > Changing role permissions can affect user access across all projects, so be mindful of potential impacts. > [!CAUTION] > When installing plugins, make sure to verify compatibility. Version differences can cause unexpected behavior.
UI
Reaction feature (like button) (#42630)
Recommended
Users can now add "like" reactions to issues, comments, news, and forums. This makes it easier to communicate, as you can easily acknowledge or show empathy when a full reply isn't necessary.
When you hover your cursor over the "like" button, the usernames of those who liked it are displayed.
Stick the issue subject to the top of the screen (#42684)
Recommended
In the previous issue view, the issue subject was displayed at the very top of the page. This meant that if you scrolled down, the subject could disappear from view. This was especially true when you clicked "Edit" to modify an issue, as you were taken directly to the edit area where the editing screen appeared at the very top, making the subject invisible. If you had multiple issue screens open, there was a risk of accidentally updating the wrong issue.
In Redmine 6.1, the subject is now fixed at the top of the screen when it's about to go out of view. This makes it easy to see at a glance which issue you're viewing, even on issues with many comments, helping to prevent the mistake of accidentally updating the wrong issue.
The subject is now fixed at the top of the screen.
Button to copy text formatted with <pre>
tags to the clipboard (#29214)
A new button has been added to copy preformatted text (source code displayed as-is within Markdown's ```
or Textile's <pre>
) to the clipboard. The button appears when you hover over the preformatted text.
Change the quote icon from a comment icon to a quotation mark icon (#31531)
The icon for quoting descriptions and comments has changed from a comment bubble to a quotation mark icon. The comment bubble wasn't a very common symbol for quoting, and a quotation mark is much easier to understand.
Disable table sorting (#40588)
You can now disable the table sorting feature that was added in Redmine 4.2.
Several issues were found with the table sorting function:
- When you hovered over headers, cell widths expanded and flashed.
- It was hard to select text.
- Once a table was sorted, there was no way to revert it to its original order, and clicking the same header sometimes resulted in a different sort order.
To fix these problems, a setting has been added that lets you turn off table sorting. If you go to Administration → Settings → Display tab and set "Javascript based table sorting in wiki content" to OFF, tables are no longer sorted.
Making the Issue History Tab Easier to Read (#40744)
The issue history tab has received an update.
Previously, every update in the history had a line under its heading. When an issue had many updates, all those lines made it look cluttered and hard to read.
In Redmine 6.1, the lines have been replaced by a background color for each entry. This change makes the history much easier to follow, even when there's a lot of activity.
Add a page to list all available SVG icons (#41725)
A page listing available SVG icons has been added for developers. When you run Redmine in development mode and navigate to http://hostname/rails/info/svg_icons
in your browser, you can see all available SVG icons. The hostname
should be replaced with the Redmine's host name or IP address.
Bold current user's name in Assignee and Author columns on issues list (#41910)
In the issues list, your name is now displayed in bold when it appears in the "Assignee" or "Author" columns.
Add initials to the Gravatar icon's default (#42623)
When a user hasn't registered a Gravatar icon, their initials are now displayed as the default icon. This makes it visually easier to identify the user.
For example, Mai Akata is displayed as "MA" and Kento Watanabe as "KW".
Select "Initials" in Administration → Settings → Display → "Default Gravatar image".