Feature #31500

Ruby 2.7 support

Added by Go MAEDA over 1 year ago. Updated about 1 month ago.

Status:ClosedStart date:
Priority:NormalDue date:
Assignee:Go MAEDA% Done:

0%

Category:Ruby support
Target version:4.2.0
Resolution:Fixed

Description

Ruby 2.7.0 is going to be released on 2019-12-25.
https://bugs.ruby-lang.org/versions/35


Related issues

Related to Redmine - Patch #32527: Fix ruby 2.7 warning: given argument is nil; this will ra... Closed
Related to Redmine - Patch #32542: Fix ruby 2.7 warning: The last argument is used as the ke... Closed
Related to Redmine - Defect #32752: Ruby 2.7: Remove deprecated URI.escape/unescape Closed
Related to Redmine - Patch #32906: Update i18n (~> 1.8.2) Closed
Related to Redmine - Patch #32907: Update capybara (~> 3.31.0) Closed
Related to Redmine - Defect #33021: [v.4.0.5-stable] Internal Server Error 500 when accessing... New
Copied from Redmine - Feature #30118: Ruby 2.6 support Closed

Associated revisions

Revision 19324
Added by Go MAEDA about 1 year ago

Ruby 2.7: Regexp#match and Regexp#match? with a nil argument are deprecated (#32527, #31500).

Revision 19454
Added by Go MAEDA 10 months ago

Fix ruby 2.7 warning: The last argument is used as the keyword parameter (#32542, #31500).

Patch by Seiei Miyagi.

Revision 19455
Added by Go MAEDA 10 months ago

Ruby 2.7: Remove deprecated URI.escape/unescape (#32752).

Patch by Go MAEDA.

Revision 20150
Added by Go MAEDA about 1 month ago

Ruby 2.7 support (#31500).

History

#1 Updated by Go MAEDA over 1 year ago

#2 Updated by Go MAEDA about 1 year ago

  • Related to Patch #32527: Fix ruby 2.7 warning: given argument is nil; this will raise a TypeError in the next release added

#3 Updated by Seiei Miyagi 12 months ago

With ruby 2.7, following tests failed.

bin/rails test test/functional/timelog_report_test.rb:262
bin/rails test test/functional/timelog_report_test.rb:308

I send a pull request to ruby/csv to fix it.
https://github.com/ruby/csv/pull/111
The pull request is merged but not released yet.

#4 Updated by Go MAEDA 12 months ago

  • Related to Patch #32542: Fix ruby 2.7 warning: The last argument is used as the keyword parameter added

#5 Updated by Go MAEDA 11 months ago

  • Related to Defect #32752: Ruby 2.7: Remove deprecated URI.escape/unescape added

#6 Updated by Marius BALTEANU 10 months ago

#7 Updated by Go MAEDA 10 months ago

  • Related to Patch #32907: Update capybara (~> 3.31.0) added

#8 Updated by Go MAEDA 10 months ago

  • Related to Defect #33021: [v.4.0.5-stable] Internal Server Error 500 when accessing 'repository' tab added

#9 Updated by Jeremy Bailey 7 months ago

https://github.com/ruby/csv/pull/111 was merged in November 2019, but it seems that ruby/csv hasn't yet been updated since 3.1.2 in October 2019.

#10 Updated by Ludovic Andrieux 7 months ago

ruby/csv 3.1.3 is released with the fix : https://github.com/ruby/csv/releases/tag/v3.1.3

#11 Updated by Anatol Pomozov 3 months ago

Hi folks,

Ruby 2.7 released almost a year ago. It would be great if useful tools redmine finally became supported at this latest stable version of Ruby.

Could anyone please give an update on the current status of this activity?

#12 Updated by Xavier Maquil 2 months ago

Any news about release for 2.7 support (Ubuntu 20.04.1 has it build in)

#13 Updated by Go MAEDA about 1 month ago

Since the latest Ruby 2.7.2 disables all deprecation warnings by default, I think Redmine can support Ruby 2.7 if it ignores 2.7.0 and 2.7.1.

The reason why Redmine still stays in Ruby 2.6 is that huge numbers of deprecation warnings are displayed while runnning tests. The problem is resolved by the change of Ruby 2.7.2, so I think it is no problem to use Ruby 2.7.2 now.

diff --git a/Gemfile b/Gemfile
index 0cfe10e49..24c85b341 100644
--- a/Gemfile
+++ b/Gemfile
@@ -1,6 +1,6 @@
 source 'https://rubygems.org'

-ruby '>= 2.3.0', '< 2.7.0'
+ruby '>= 2.3.0', '< 2.8.0'
 gem 'bundler', '>= 1.12.0'

 gem 'rails', '5.2.4.4'
diff --git a/doc/INSTALL b/doc/INSTALL
index f4374dae1..137088290 100644
--- a/doc/INSTALL
+++ b/doc/INSTALL
@@ -7,7 +7,7 @@ http://www.redmine.org/

 == Requirements

-* Ruby 2.3, 2.4, 2.5, 2.6
+* Ruby 2.3, 2.4, 2.5, 2.6, 2.7 (except for 2.7.0 and 2.7.1)
 * Bundler >= 1.12.0

 * A database:

#14 Updated by Go MAEDA about 1 month ago

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

Redmine supports Ruby 2.7 (excluding 2.7.0 and 2.7.1) after r20150.

#15 Updated by Enziin System about 1 month ago

If Ruby 2.7 (excluding 2.7.0 and 2.7.1) then Redmine NOT support Ruby 2.7 version, still Ruby 2.6x

In the Gemfile:

ruby '>= 2.3.0', '< 2.7.0'

To

ruby '>= 2.3.0', '<= 2.7.0'

#16 Updated by Go MAEDA about 1 month ago

Enziin System wrote:

If Ruby 2.7 (excluding 2.7.0 and 2.7.1) then Redmine NOT support Ruby 2.7 version, still Ruby 2.6x

Although Redmine does not support Ruby 2.7.0 and 2.7.1 but supports 2.7.2 or higher. This is related to the following issues:

#17 Updated by Enziin System about 1 month ago

Ok, thanks!

In the above comment, you said "I think it is no problem to use Ruby 2.7.2 now"

Redmine run passed all tests on Ruby 2.7.2, isn't it?

#18 Updated by Go MAEDA about 1 month ago

Enziin System wrote:

Redmine run passed all tests on Ruby 2.7.2, isn't it?

Yes. Redmine on Ruby 2.7.2 passes all tests without warnings.

Also available in: Atom PDF