Skip to content

Commit 97caae3

Browse files
committed
Drop Ruby 2.7/3.0 support
Set the minimum Ruby version to 3.1, update the dev environment and CI matrices, bump the library version to 3.0.0pre, and refresh documentation and lockfile metadata accordingly.
1 parent 68b0507 commit 97caae3

9 files changed

Lines changed: 20 additions & 11 deletions

File tree

.github/workflows/coveralls.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
strategy:
2222
fail-fast: false
2323
matrix:
24-
ruby: ["2.7", "3.0", "3.1", "3.2", "3.3", "3.4"]
24+
ruby: ["3.1", "3.2", "3.3", "3.4"]
2525
runs-on: ubuntu-latest
2626

2727
steps:

.github/workflows/ruby.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ jobs:
99
strategy:
1010
fail-fast: false
1111
matrix:
12-
ruby: ["2.7", "3.0", "3.1", "3.2", "3.3", "3.4"]
12+
ruby: ["3.1", "3.2", "3.3", "3.4"]
1313
runs-on: ubuntu-latest
1414
steps:
1515
- uses: actions/checkout@v2

.ruby-version

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

API-CHANGES.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,10 @@ smooth transition to the new APIs.
2929
* [Tree::TreeNode#each_level][each_level] now returns a level-wise enumerator
3030
when called without a block.
3131

32+
## Release 3.0.0 Changes
33+
34+
* Minimum Ruby version is now 3.1 (support for 2.7 and 3.0 has been dropped).
35+
3236
## Release 2.1.0 Changes
3337

3438
* Minimum Ruby version has been bumped to 2.7 and above

Gemfile.lock

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
PATH
22
remote: .
33
specs:
4-
rubytree (2.2.1pre)
4+
rubytree (3.0.0pre)
55
json (~> 2.18)
66

77
GEM
@@ -91,7 +91,7 @@ PLATFORMS
9191
ruby
9292

9393
DEPENDENCIES
94-
bundler (~> 2.3)
94+
bundler (~> 2.6)
9595
rake (~> 13.3)
9696
rdoc (~> 7.1)
9797
rspec (~> 3.13)
@@ -106,4 +106,4 @@ DEPENDENCIES
106106
yard (~> 0.9)
107107

108108
BUNDLED WITH
109-
2.3.4
109+
2.6.9

History.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@
66
compatibility. Some upstream updates (e.g., `diff-lcs` 2.x, `erb` 6.x) remain
77
on current versions due to Ruby 2.7 support.
88

9+
### 3.0.0pre / 2026-02-07
10+
11+
* Drop support for Ruby 2.7 and 3.0. Minimum required version is now 3.1.
12+
913
### 2.2.0 / 2026-02-06
1014

1115
* Prevent cycles by rejecting attempts to add an ancestor as a child.

README.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,8 +117,7 @@ This example can also be found at
117117

118118
## REQUIREMENTS: ##
119119

120-
* [Ruby][] 2.7.x and above.
121-
120+
* [Ruby][] 3.1.x and above. Ruby 2.7 and 3.0 are supported by RubyTree 2.2.0.
122121

123122
* Run-time Dependencies:
124123

lib/tree/version.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,5 +35,5 @@
3535

3636
module Tree
3737
# Rubytree Package Version
38-
VERSION = '2.2.1pre'
38+
VERSION = '3.0.0pre'
3939
end

rubytree.gemspec

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ Gem::Specification.new do |s|
1919
s.email = 'anupamsg@gmail.com'
2020
s.homepage = 'http://rubytree.anupamsg.me'
2121

22-
s.required_ruby_version = '>=2.7'
22+
s.required_ruby_version = '>=3.1'
2323

2424
s.summary = 'A generic tree data structure for Ruby.'
2525

@@ -67,7 +67,7 @@ Gem::Specification.new do |s|
6767
s.add_runtime_dependency 'json', '~> 2.18'
6868

6969
# NOTE: Rake is added as a development and test dependency in the Gemfile.
70-
s.add_development_dependency 'bundler', '~> 2.3'
70+
s.add_development_dependency 'bundler', '~> 2.6'
7171
s.add_development_dependency 'rake', '~> 13.3'
7272
s.add_development_dependency 'rdoc', '~> 7.1'
7373
s.add_development_dependency 'rspec', '~> 3.13'
@@ -86,6 +86,8 @@ Gem::Specification.new do |s|
8686
8787
Note::
8888
89+
- 3.0.0pre sets the minimum Ruby version to 3.1.
90+
8991
- 2.2.0 is a minor update that improves tree integrity checks,
9092
traversal robustness, and node management edge cases.
9193

0 commit comments

Comments
 (0)