Project

General

Profile

Actions

Feature #38585

closed

Drop Ruby 2.7 support

Added by C S about 1 year ago. Updated 5 months ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Ruby support
Target version:
Start date:
Due date:
% Done:

0%

Estimated time:
Resolution:
Fixed

Description

Ruby 2.7 is EOL (https://www.ruby-lang.org/en/downloads/branches/)
Since Redmine 4.2 supports Ruby 2.7 at most, this should also be set to EOL...

Actions #1

Updated by Milly texas about 1 year ago

Dropping Ruby 2.7 support and setting Redmine 4.2 as EOL allows for focusing on newer technologies and ensuring compatibility with the latest Ruby versions.

Actions #2

Updated by Go MAEDA 5 months ago

  • Subject changed from Drop Ruby 2.7 support and set Redmine 4.2 as EOL to Drop Ruby 2.7 support
  • Category set to Ruby support

Support for Redmine 4.2 will end when the next major version (probably Redmine 6.0) is released.

Actions #3

Updated by Go MAEDA 5 months ago

  • Target version set to 6.0.0

Some Gems such as Nokogiri and SQLite have already discontinued support for Ruby 2.7.

I think it is fine to end support for Ruby 2.7 in Redmine 6.0.

Actions #4

Updated by Marius BÄ‚LTEANU 5 months ago

I totally agree.

Actions #5

Updated by Go MAEDA 5 months ago

  • Status changed from New to Resolved

Dropped Ruby 2.7 support in r22648.

I will set the TargetRailsVersion of RuboCop to 3.0 after fixing some RuboCop offenses regarding the update to Ruby 3.0.

Actions #6

Updated by Go MAEDA 5 months ago

  • Status changed from Resolved to Closed
  • Assignee set to Go MAEDA
  • Resolution set to Fixed

I set TargetRubyVersion of RuboCop to 3.0 in r22654 after fixing the following offenses.

config/initializers/00-core_plugins.rb:4:44: W: [Correctable] Lint/RedundantDirGlobSort: Remove redundant sort.
Dir.glob(Rails.root.join('lib/plugins/*')).sort.each do |directory|
                                           ^^^^
create_test_members.rb:1:1: C: [Correctable] Style/FrozenStringLiteralComment: Missing frozen string literal comment.
projects = Project.where(id: [1])
^
lib/redmine/plugin_loader.rb:70:43: W: [Correctable] Lint/RedundantDirGlobSort: Remove redundant sort.
      Dir.glob(File.join(directory, '*')).sort.each do |directory|
                                          ^^^^
lib/redmine/wiki_formatting/common_mark/fixup_auto_links_filter.rb:30:28: C: [Correctable] Style/RedundantFreeze: Do not freeze immutable objects, as freezing them has no effect.
        USER_LINK_PREFIX = /(@|user:)\z/.freeze
                           ^^^^^^^^^^^^^^^^^^^^
lib/redmine/wiki_formatting/common_mark/fixup_auto_links_filter.rb:31:23: C: [Correctable] Style/RedundantFreeze: Do not freeze immutable objects, as freezing them has no effect.
        HIRES_IMAGE = /.+@\dx\.(bmp|gif|jpg|jpe|jpeg|png)\z/.freeze
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
test/test_helper.rb:255:30: C: [Correctable] Style/ArgumentsForwarding: Use shorthand syntax ... for arguments forwarding.
  def assert_select_in(text, *args, &block)
                             ^^^^^^^^^^^^^
test/test_helper.rb:257:22: C: [Correctable] Style/ArgumentsForwarding: Use shorthand syntax ... for arguments forwarding.
    assert_select(d, *args, &block)
                     ^^^^^^^^^^^^^
test/test_helper.rb:260:27: C: [Correctable] Style/ArgumentsForwarding: Use shorthand syntax ... for arguments forwarding.
  def assert_select_email(*args, &block)
                          ^^^^^^^^^^^^^
test/test_helper.rb:265:41: C: [Correctable] Style/ArgumentsForwarding: Use shorthand syntax ... for arguments forwarding.
    assert_select_in html_body.encoded, *args, &block
                                        ^^^^^^^^^^^^^
test/unit/lib/redmine/unified_diff_test.rb:403:40: F: Lint/Syntax: invalid escape character syntax
(Using Ruby 3.0 parser; configure using TargetRubyVersion parameter, under AllCops)
       $ hg commit -m `echo -e "U+1F603\U1F603"` -u `echo -e "U+1F603\U1F603"`
                                       ^
Actions

Also available in: Atom PDF