Skip to content

Commit c8d63d1

Browse files
Maimerclaude
andcommitted
chore: update supported Ruby versions to 3.3.10, 3.4.8, 4.0.1
- Update .circleci/config.yml Ruby version matrix - Update gemspec required_ruby_version to < 4.1 - Update Appraisals to use Gem::Requirement pattern - Update Gemfile dependency versions (mocha 3.x, pry 0.16, bundler < 5) - Pin minitest ~> 5.0 in Rails 7.2/8.0 test apps for Ruby 4.0 compat - Fix Rakefile regex to handle multi-digit version components - Update LICENSE.txt copyright year to 2026 - Replace old Ruby version gemfiles with new ones Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent d2203db commit c8d63d1

21 files changed

Lines changed: 29 additions & 25 deletions

.circleci/config.yml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,9 @@ workflows:
5454
matrix:
5555
parameters:
5656
ruby_version:
57-
- '3.4.1'
58-
- '3.3.6'
59-
- '3.2.5'
57+
- '4.0.1'
58+
- '3.4.8'
59+
- '3.3.10'
6060
after-checkout-steps:
6161
- install_dependencies
6262
after-appraisal-install-steps:
@@ -73,9 +73,9 @@ workflows:
7373
matrix:
7474
parameters:
7575
ruby_version:
76-
- '3.4.1'
77-
- '3.3.6'
78-
- '3.2.5'
76+
- '4.0.1'
77+
- '3.4.8'
78+
- '3.3.10'
7979
after-checkout-steps:
8080
- install_dependencies
8181
after-appraisal-install-steps:
@@ -92,9 +92,9 @@ workflows:
9292
matrix:
9393
parameters:
9494
ruby_version:
95-
- '3.4.1'
96-
- '3.3.6'
97-
- '3.2.5'
95+
- '4.0.1'
96+
- '3.4.8'
97+
- '3.3.10'
9898
after-checkout-steps:
9999
- install_dependencies
100100
after-appraisal-install-steps:

.ruby-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
ruby-3.4.1
1+
ruby-4.0.1

Appraisals

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
# frozen_string_literal: true
22

3-
case RUBY_VERSION
4-
when '3.2.5', '3.3.6', '3.4.1'
3+
if Gem::Requirement.new(['>= 3.3', '< 4.1']).satisfied_by?(Gem::Version.new(RUBY_VERSION))
54
appraise "ruby-#{RUBY_VERSION}" do
65
end
76
else

Gemfile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ source 'https://rubygems.org' # global source
44

55
source 'https://rubygems.org' do
66
gem 'appraisal', '>= 2.5', '< 3'
7-
gem 'bundler', '>= 2.6', '< 3'
7+
gem 'bundler', '>= 2.6', '< 5'
88
gem 'debug', '>= 1.11', '< 2'
9-
gem 'mocha', '>= 2.7', '< 3'
10-
gem 'pry', '>= 0.15', '< 1'
9+
gem 'mocha', '>= 3', '< 4'
10+
gem 'pry', '>= 0.16', '< 1'
1111
gem 'rake', '>= 13.3', '< 14'
1212
gem 'selenium-webdriver', '>= 4.38', '< 5'
1313
gem 'simplecov', '>= 0.22', '< 1', group: :test, require: false

LICENSE.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Copyright (C) 2012-2025 AppFolio, inc.
1+
Copyright (C) 2012-2026 AppFolio, inc.
22

33
Permission is hereby granted, free of charge, to any person obtaining
44
a copy of this software and associated documentation files (the

Rakefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ class SeleniumRunner
9292
matrix = {}
9393

9494
Dir.glob(file_pattern).each do |file|
95-
matches = file.match(%r{(test/test_apps/(\d\.\d))/gemfiles/(.*ruby_(\d\.\d\.\d)\.gemfile)})
95+
matches = file.match(%r{(test/test_apps/(\d+\.\d+))/gemfiles/(.*ruby_(\d+\.\d+\.\d+)\.gemfile)})
9696

9797
gemfile_path = matches[0]
9898
app_root = matches[1]

ae_page_objects.gemspec

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ Gem::Specification.new do |spec|
1313
spec.summary = spec.description
1414
spec.homepage = 'https://github.com/appfolio/ae_page_objects'
1515
spec.license = 'MIT'
16-
spec.files = Dir['**/*'].select { |f| f[%r{^(lib/|LICENSE.txt|.*gemspec)}] }
16+
spec.files = Dir['**/*'].select { |f| f[%r{^(lib/|LICENSE.txt|ae_page_objects\.gemspec)}] }
1717
spec.require_paths = ['lib']
1818

19-
spec.required_ruby_version = Gem::Requirement.new('< 3.5')
19+
spec.required_ruby_version = Gem::Requirement.new('< 4.1')
2020
spec.metadata['allowed_push_host'] = 'https://rubygems.org'
2121

2222
spec.add_dependency('capybara', ['>= 3', '< 4'])

test/test_apps/7.2/Appraisals

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
# frozen_string_literal: true
22

3-
case RUBY_VERSION
4-
when '3.2.5', '3.3.6', '3.4.1'
3+
if Gem::Requirement.new(['>= 3.3', '< 4.1']).satisfied_by?(Gem::Version.new(RUBY_VERSION))
54
appraise "ruby-#{RUBY_VERSION}" do
65
end
76
else

test/test_apps/7.2/Gemfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ source 'https://rubygems.org'
22
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
33

44
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
5+
gem 'minitest', '~> 5.0'
56
gem 'rails', '~> 7.2.0'
67
# Use sqlite3 as the database for Active Record
78
gem 'sqlite3', '~> 1.4'

test/test_apps/7.2/gemfiles/ruby_3.2.5.gemfile renamed to test/test_apps/7.2/gemfiles/ruby_3.3.10.gemfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
source "https://rubygems.org"
44

5+
gem "minitest", "~> 5.0"
56
gem "rails", "~> 7.2.0"
67
gem "sqlite3", "~> 1.4"
78
gem "puma", ">= 5.6.8"

0 commit comments

Comments
 (0)