プロジェクト

全般

プロフィール

Vote #79957

完了

Drop Ruby < 2.5 support

Admin Redmine さんが約4年前に追加. 約4年前に更新.

ステータス:
Closed
優先度:
通常
担当者:
-
カテゴリ:
Ruby support_33
対象バージョン:
開始日:
2022/05/09
期日:
進捗率:

0%

予定工数:
category_id:
33
version_id:
155
issue_org_id:
31128
author_id:
107353
assigned_to_id:
332
comments:
12
status_id:
5
tracker_id:
2
plus1:
0
affected_version:
closed_on:
affected_version_id:
ステータス-->[Closed]

説明

Rails 6 requires at least Ruby 2.5.0

root@85be5e8d7c3e:/work# bundle update
The dependency tzinfo-data (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for x86-mingw32, x64-mingw32, x86-mswin32. To add those platforms to the bundle, run `bundle lock --add-platform x86-mingw32 x64-mingw32 x86-mswin32`.
Fetching gem metadata from https://rubygems.org/..........
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies...
Bundler could not find compatible versions for gem "ruby":
  In Gemfile:
    ruby

    rails (= 6.0.0.beta3) was resolved to 6.0.0.beta3, which depends on
      ruby (>= 2.5.0)

journals

--------------------------------------------------------------------------------

--------------------------------------------------------------------------------

--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
The attached patches drop Ruby 2.4 support.

As Marius wrote, Rails 6 requires Ruby 2.5 or later. We have to migrate to Rails 6 in Redmine 5.0 because the support for Rails 5.2 which we are currently using will end when Rails 7.0 (the next version of Rails) is released.

And Ruby 2.4 has already become EOL in March 2020.
--------------------------------------------------------------------------------
Done.
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
I'm reopening this to discuss the option to drop support for Ruby 2.5 as well.

I wrote in #32424#note-62:
> Rails 6.1 and Redmine version:"5.0.0" supports minimum Ruby 2.5, but the "CommonMarker":https://github.com/gjtorikian/commonmarker latest version (0.22.0) supports minimum "Ruby 2.6":https://github.com/gjtorikian/commonmarker/blob/v0.22.0/commonmarker.gemspec#L24.
>
> We should drop support for Ruby 2.5 or we should stick with commonmarker version 0.21.0 if ruby is 2.5? Note that Ruby 2.5 is "EOL":https://www.ruby-lang.org/en/downloads/branches/ since March this year.

Holger Just wrote in #32424#note-63:
> I would be fine with requiring Ruby 2.6 for Redmine 5.0.
>
> Some notes here:
>
> * Debian 11 Bullseye is going to ship with Ruby 2.7 on August 14.
> * Ubuntu >= 20 ships with Ruby 2.7
> * Debian 10 (Buster) and Ubuntu 18.04 (bionic) still ship Ruby 2.5. Users would have to either use a custom Ruby or stay on Redmine 4.2
> * CentOS 8 / Redhat 8 can install Ruby 2.7 with dnf.
> * For Windows, there are usable installers for current Rubies.
>
> With this change, we would thus cut off Debian 10 and Ubuntu 18.04 with their respective system-default Rubies. They can install a custom Ruby with rvm / rbenv / ruby-install though.

--------------------------------------------------------------------------------
It might be a good idea to even drop support for 2.6 too if this can be done without any additional cost (which seems to be the case given the info provided by Holger).
Already requiring Ruby 2.7 for Redmine 5.x.x will ease the future upgrade to Rails 7.x, which will require 2.7.0+ whereas 3.0+ would be preferred[1], thus easing an upgrade from Redmine 5.x to 6.x (where 6.x is given to be running on Rails 7.x).

fn1. source: "Ruby on Rails 7.0 Release Notes":https://edgeguides.rubyonrails.org/7_0_release_notes.html

--------------------------------------------------------------------------------
I think you should think about stopping support for ruby 2.6 as well as ruby 2.5.
Redmine is a huge project that takes more than a year for major updates.
In fact, it took 1 year and 2 months from the release of version 4.1.0 to the release of version 4.2.0.

We don't know when version 5.0 will be released, but assuming we need 1 year and 6 months from the release of version 4.2, version 5.0 will be released around September 2022.
Then, by the time version 5.0 is released, ruby 2.6 series will be no longer supported.
(The ruby developers announced when they released ruby 2.6.8 that they will stop supporting ruby 2.6 series around March 2022.)

Even if you don't end support for the ruby 2.6 series with version 5.0.0, I think it would be better to end support with a major update such as version 5.1.0.
--------------------------------------------------------------------------------
The code base supports Ruby 2.5 with few changes that are already committed, so we're going to stick with it. We will drop the support at the same time with Rails.
--------------------------------------------------------------------------------


related_issues

relates,Closed,29914,Migrate to Rails 6.1 with Zeitwerk autoloading
blocks,Closed,35000,Update SimpleCov to 0.21
blocks,Closed,35025,Update capybara to 3.36

Admin Redmine さんが約4年前に更新

  • カテゴリRuby support_33 にセット
  • 対象バージョン5.0.0_155 にセット

他の形式にエクスポート: Atom PDF

いいね!0
いいね!0