Redmine 5.1: In-Depth Guide to New Features
Redmine 5.1, the open source project management software, was released on October 31, 2023, with 148 changes and fixes. There are many useful new features, especially related to filters.
This article introduces 23 new features selected from all changes. Let's review key enhancements in Redmine 5.1.
Table of contents
Administration
- Filters and custom queries in the projects list in admin area
- Project deletion in the background
- Filters and custom queries in the users list in admin area
Attachments
Calendar
Email notifications
Filters / Issues filter
- “Contains any of” filter operator for OR searches
- OR Search with multiple terms for “Starts With” and “Ends With” filter operators
- Specifying multiple issues in related issues filters
- “Any searchable text” filter
- New issues filter operators “has been”, “has never been”, and “changed from”
Gems support
I18n
Importers
Issues
Permissions and roles
Roadmap
Search engine
Text formatting
Time tracking
Administration
Filters and custom queries in the projects list in admin area (#33422)
Filters and custom queries that were already implemented in Projects screen are now available also in Projects list in the admin area.
Project deletion in the background (#36691)
It is now possible to delete projects in the background (requires a queue manager like Sidekiq).
Deleting projects that contain a large number of issue or subprojects can be very time-consuming, but it can now be done in the background.
To use Sidekiq with Redmine:
Set up Sidekiq and add the following to config/additional_environment.rb
. See see Sidekiq Configuration on www.redmine.org for more details.
config.active_job.queue_adapter = :sidekiq
Filters and custom queries in the users list in admin area (#37674)
Filtering is now available in the Admin → Users screen, allowing for more granular conditions to narrow down users.
To search with the same behavior as in older versions, use the “Name, email or login” filter.
There is also support for custom queries.
Attachments
Support for WebP images (#38168)
Inline and thumbnail display of WebP format images is now supported. In earlier versions, they were treated merely as binary files, not images.
Supported image file extensions as of 5.1: bmp, gif, jpg, jpe, jpeg, png, webp
Calendar
Display calendar in list layout on mobile screens (#33682)
On mobile screens, the calendar is now displayed in a vertical list layout.
Email notifications
Auto watch issues on creation (#38238)
The “Issues I created” option has been added to “Auto watch” settings in “My account”. If this option is enabled, you are automatically added as a watcher when you create an issue.
For new users, all auto watch options are enabled by default.
If you turn on the auto watch option “Issues I created”, I recommend you to change the email notification option from “Only for thing I watch or I’m involved in” to “Only for thing I watch or I am assigned to”.
- You will continue to receive notifications about issues you have created as before
- You can stop notifications by unwatching an issue, even if you are the one who created it
Filters / Issues filter
“Contains any of” filter operator for OR searches (#38435)
You can perform an OR search by selecting the “Contains any of” operator in text fields and specifying multiple terms separated by spaces.
Related feature: AND searches in text filters
To perform an AND search, use the “contains” operator and specify multiple terms separated by spaces. This feature has already been available since Redmine 5.0.
OR Search with multiple terms for “Starts With” and “Ends With” filter operators (#38456)
“Starts with” and “Ends with” filter operators now allow an OR search when multiple terms are specified, separated by spaces.
Specifying multiple issues in related issues filters (#38301)
It is now possible to specify multiple issue IDs separated by spaces or commas in the related issues filter, such as “Related to”, “Blocks”, and “Follows” filter.
Until Redmine 5.0, only the “Parent task”, “Subtasks” and “Issue” filters supported multiple issue IDs.
“Any searchable text” filter (#38402)
This filter searches all text-based fields in issues, such as the subject, description, comments, and custom fields that have been set as “Searchable”.
Issues extracted by the “Any searchable text” filter match those from the search box, but can be further refined by combining with other filters.
New issues filter operators “has been”, “has never been”, and “changed from” (#38527)
Three filter operators for searching issues history, “has been” “has never been”, and “changed from” have been added.
Operator | Behavior |
---|---|
has been |
Matches if current or past value is equal to given value. |
has never been |
Matches if neither current nor past values are equal to the given value. The inverse of "has been". |
changed from |
Matches if the value has been changed from the given value to another in the past. |
For example, it is now possible to search for issues where you are or have been the assignee.
Gems support
Enhanced code highlighting with the update to Rouge 4.2 (#37236)
The code highlighting library Rouge has been updated to version 4.2, increasing the number of supported languages to 218 (+11 from Redmine 5.0).
The following is the list of supported languages for code highlighting of Redmine 5.1.
Bold indicates languages listed in the IEEE Spectrum "TOP Programming Languages 2023". Blue text indicates newly supported languages.
abap, actionscript, ada, apache, apex, apiblueprint, applescript, armasm, augeas, awk, batchfile, bbcbasic, bibtex, biml, bpf, brainfuck, brightscript, bsl, c, ceylon, cfscript, cisco_ios, clean, clojure, cmake, cmhg, codeowners, coffeescript, common_lisp, conf, console, coq, cpp, crystal, csharp, css, csvs, cuda, cypher, cython, d, dafny, dart, datastudio, diff, digdag, docker, dot, ecl, eex, eiffel, elixir, elm, email, epp, erb, erlang, escape, factor, fluent, fortran, freefem, fsharp, gdscript, ghc-cmm, ghc-core, gherkin, glsl, go, gradle, graphql, groovy, hack, haml, handlebars, haskell, haxe, hcl, hlsl, hocon, hql, html, http, hylang, idlang, idris, igorpro, ini, io, irb, isabelle, isbl, j, janet, java, javascript, jinja, jsl, json, json-doc, jsonnet, jsp, jsx, julia, kotlin, lasso, lean, liquid, literate_coffeescript, literate_haskell, livescript, llvm, lua, lustre, lutin, m68k, magik, make, markdown, mason, mathematica, matlab, meson, minizinc, moonscript, mosel, msgtrans, mxml, nasm, nesasm, nginx, nial, nim, nix, objective_c, objective_cpp, ocaml, ocl, openedge, opentype_feature_file, pascal, perl, php, plaintext, plist, plsql, postscript, powershell, praat, prolog, prometheus, properties, protobuf, puppet, python, q, qml, r, racket, reasonml, rego, rescript, rml, robot_framework, ruby, rust, sas, sass, scala, scheme, scss, sed, shell, sieve, slice, slim, smalltalk, smarty, sml, sparql, sqf, sql, ssh, stan, stata, supercollider, svelte, swift, systemd, syzlang, syzprog, tap, tcl, terraform, tex, toml, tsx, ttcn3, tulip, turtle, twig, typescript, vala, vb, vcl, velocity, verilog, vhdl, viml, vue, wollok, xml, xojo, xpath, xquery, yaml, yang, zig
I18n
Full-width spaces are now supported as delimiters for search keywords (#37878)
When specifying multiple keywords separated by spaces in filters or the search box, it is now possible to use full-width spaces such as U+3000 as well as half-width spaces as delimiters.
This improve is useful for users in Chinae, Japan, and Korea, where full-width spaces are frequently used.
Importers
Importing time entries for issues in different projects (#36823)
If an issue number is specified, time entries can now be correctly added to the issue, even if it belongs to a different project from the one currently selected.
This is a bug fix rather than a new feature.
Issues
Description field for issue statuses (#2568)
A description field has been added to issue statuses, and it can now be referenced in the issue creation and editing screens.
A similar feature for trackers has already been implemented in Redmine 4.1 (see #442).
Display “Edited” for modified comments (#31505)
Comments that have been edited after creation are now marked as “Edited”.
If you hover over the “Edited” text, the time of the last edit and the last user to edit are displayed.
Permissions and roles
New permission “Set project public or private” (#38048)
A permission to control the ability to change the “Public” checkbox for a project in the project settings screen has been added. This can prevent improper settings due to mishandling or other reasons.
Roadmap
Export version as changelog text (#36679)
It is now possible to export versions in text format. This can be utilized when creating release notes.
The following text is a sample export. It contains the version name, the due date of the version, a description of the version, and a list of issues.
# 1.0 2023/06/05 Stable release * Feature request #2: Add ingredients categories * Bug #12: Closed issue on a locked version
Search engine
“My Bookmarks” added to search scope (#38459)
“My bookmarks” has been added to the search scope, allowing searches to be limited to projects that you have bookmarked.
Refining Search Results with the “Apply issues filter” Button (#38481)
Clicking the “Apply issues filter” button on the search results screen displays the issues shown in the search results as an issues list. This allows for further refinement of the search results using filters.
Text formatting
The default text formatting changed to CommonMark Markdown (#34863)
For new installations of Redmine, the default text formatting has been changed from Textile to CommonMark Markdown.
The existing Redcarpet-based Markdown formatter will be removed in the future.
Time tracking
Spent time’s “Parent task” filter and field (#)
A “Parent task” filter has been added for Spent time. Additionally, the parent issue can now be added as a field in the list.
"Issue's subject" filter for spent time (#27821)
The “Issue’s subject” filter has been added for Spent time.
A PDF version of this article is available on Speaker Deck.