From 1e0fd88277e57a2c309c921498b7ffe9b48c7d14 Mon Sep 17 00:00:00 2001 From: Jon Dufresne Date: Sun, 29 Jan 2023 08:42:56 -0800 Subject: [PATCH] Remove support for end-of-life Ruby and Rails versions These removed versions of Ruby and Rails are no longer supported, not even for security vulnerabilities. Users should be encourage to migrate away from these EOL environments. End users can continue to use older versions of the audited gem if they absolutely must use EOL Ruby and Rails versions, so they will not be locked out. These Ruby version add a lot of combinations to the growing test matrix. This wastes resources on GitHub actions and contributors' local environments. This makes the time to verify CI take longer. Dropping EOL versions will also allow the project to evolve to use newer syntax and library capabilities with fewer compatibility concerns. Those kind of changes were not included here to keep the scope minimal. --- .github/workflows/ci.yml | 73 +--------------------------------------- README.md | 7 ++-- audited.gemspec | 4 +-- 3 files changed, 5 insertions(+), 79 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 432e09a4..c19db545 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -10,69 +10,14 @@ jobs: strategy: fail-fast: false matrix: - ruby: [2.3, 2.4, 2.5, 2.6, 2.7, 3.0, 3.1, 3.2] + ruby: [2.7, 3.0, 3.1, 3.2] appraisal: - - rails50 - - rails51 - - rails52 - rails60 - rails61 - rails70 db: [POSTGRES, MYSQL, SQLITE] exclude: - # MySQL has issues on Ruby 2.3 - # https://github.com/ruby/setup-ruby/issues/150 - - ruby: 2.3 - db: MYSQL - - # PostgreSQL is segfaulting on 2.3 - # Doesn't seem worth solving. - - ruby: 2.3 - db: POSTGRES - - # Rails 5.0 supports Ruby 2.2-2.4 - - appraisal: rails50 - ruby: 2.5 - - appraisal: rails50 - ruby: 2.6 - - appraisal: rails50 - ruby: 2.7 - - appraisal: rails50 - ruby: 3.0 - - appraisal: rails50 - ruby: 3.1 - - appraisal: rails50 - ruby: 3.2 - - # Rails 5.1 supports Ruby 2.2-2.5 - - appraisal: rails51 - ruby: 2.6 - - appraisal: rails51 - ruby: 2.7 - - appraisal: rails51 - ruby: 3.0 - - appraisal: rails51 - ruby: 3.1 - - appraisal: rails51 - ruby: 3.2 - - # Rails 5.2 supports Ruby 2.2-2.5 - - appraisal: rails52 - ruby: 2.6 - - appraisal: rails52 - ruby: 2.7 - - appraisal: rails52 - ruby: 3.0 - - appraisal: rails52 - ruby: 3.1 - - appraisal: rails52 - ruby: 3.2 - # Rails 6.0 supports Ruby 2.5-2.7 - - appraisal: rails60 - ruby: 2.3 - - appraisal: rails60 - ruby: 2.4 - appraisal: rails60 ruby: 3.0 - appraisal: rails60 @@ -80,22 +25,6 @@ jobs: - appraisal: rails60 ruby: 3.2 - # Rails 6.1 supports Ruby 2.5+ - - appraisal: rails61 - ruby: 2.3 - - appraisal: rails61 - ruby: 2.4 - - # Rails 7 supports Ruby 2.7+ - - appraisal: rails70 - ruby: 2.3 - - appraisal: rails70 - ruby: 2.4 - - appraisal: rails70 - ruby: 2.5 - - appraisal: rails70 - ruby: 2.6 - services: postgres: image: postgres diff --git a/README.md b/README.md index 7d25c9e2..44338b47 100644 --- a/README.md +++ b/README.md @@ -8,8 +8,9 @@ Audited **Audited** (previously acts_as_audited) is an ORM extension that logs all changes to your models. Audited can also record who made those changes, save comments and associate models related to the changes. -Audited currently (5.x) works with Rails 7.0, 6.1, 6.0, 5.2, 5.1, and 5.0. +Audited currently (5.x) works with Rails 7.0, 6.1, 6.0. +For Rails 5, use gem version 5.x For Rails 4, use gem version 4.x For Rails 3, use gem version 3.0 or see the [3.0-stable branch](https://github.com/collectiveidea/audited/tree/3.0-stable). @@ -17,10 +18,6 @@ For Rails 3, use gem version 3.0 or see the [3.0-stable branch](https://github.c Audited supports and is [tested against](https://github.com/collectiveidea/audited/actions/workflows/ci.yml) the following Ruby versions: -* 2.3 (only tested on Sqlite due to testing issues with other DBs) -* 2.4 -* 2.5 -* 2.6 * 2.7 * 3.0 * 3.1 diff --git a/audited.gemspec b/audited.gemspec index 77ff736e..d1941c19 100644 --- a/audited.gemspec +++ b/audited.gemspec @@ -14,9 +14,9 @@ Gem::Specification.new do |gem| gem.files = `git ls-files`.split($\).reject { |f| f =~ /(\.gemspec)/ } - gem.required_ruby_version = ">= 2.3.0" + gem.required_ruby_version = ">= 2.7.0" - gem.add_dependency "activerecord", ">= 5.0", "< 7.1" + gem.add_dependency "activerecord", ">= 6.0", "< 7.1" gem.add_development_dependency "appraisal" gem.add_development_dependency "rails", ">= 5.0", "< 7.1"