Skip to content

1.2.x: Back-port JRuby 10 and Rails 8.0 compatibility#360

Closed
chadlwilson wants to merge 6 commits into
jruby:1.2-stablefrom
chadlwilson:1.2-jruby-10
Closed

1.2.x: Back-port JRuby 10 and Rails 8.0 compatibility#360
chadlwilson wants to merge 6 commits into
jruby:1.2-stablefrom
chadlwilson:1.2-jruby-10

Conversation

@chadlwilson
Copy link
Copy Markdown
Contributor

Backports #273, #299, #314 to the 1.2.x branch by housing the JRuby-10-removed CompatVersion class (used by RackConfig API), and avoiding needing to change the jruby-rack API.

Generally 1.2.x was already working with JRuby 10 if the Config was not used in certain ways causing the CompatVersion class to be loaded; and if there were not failures during initialization that cause reflection on the RackConfig to be able to dump to logging.

This will make it easier for folks to move to JRuby 10 within Warbler without having to move to jruby-rack 1.3.

Since CompatVersion has been a no-op on JRuby itself for a very long time, removing the actual implementation does no harm. jruby.compat.version jruby-rack init properly will just be ignored, and the default values from earlier returned.

…or supported JRubies

This has been set to 2.1 for all supported JRubies for a long time, and the setting did nothing
within JRuby. This cherry-pick avoids changing the API by bringing the class over from JRuby,
allowing compatibility with JRuby 10.

(cherry picked from commit abc7e0b)

# Conflicts:
#	README.md
#	src/main/java/org/jruby/rack/DefaultRackConfig.java
#	src/main/java/org/jruby/rack/embed/Config.java
#	src/spec/ruby/jruby/rack/integration_spec.rb
#	src/spec/ruby/rack/application_spec.rb
#	src/spec/ruby/rack/config_spec.rb
(cherry picked from commit d794a22)

# Conflicts:
#	.github/workflows/maven.yml
#	CHANGELOG.md
#	README.md
#	pom.xml
#	src/main/ruby/jruby/rack/version.rb
(cherry picked from commit 854c086)

# Conflicts:
#	.github/workflows/maven.yml
#	gemfiles/rails50.gemfile.lock
#	gemfiles/rails52.gemfile.lock
#	gemfiles/rails60.gemfile.lock
#	gemfiles/rails61.gemfile.lock
#	gemfiles/rails70.gemfile.lock
#	gemfiles/rails71.gemfile.lock
#	gemfiles/rails72.gemfile.lock
#	gemfiles/rails80.gemfile.lock
(cherry picked from commit c18d0f7)
Must have been a cherry-pick go a bit wild here somewhere.
@chadlwilson chadlwilson added this to the 1.2.6 milestone Oct 11, 2025
@chadlwilson chadlwilson requested a review from kares October 11, 2025 14:49
@chadlwilson
Copy link
Copy Markdown
Contributor Author

chadlwilson commented Oct 11, 2025

Hiya @kares - what do you think of this? Seems to work fine to avoid issues on JRuby 10 with no change in API which seems to make things easier for folks.

If you are cool with this, would you be able to merge and help cut a release of 1.2.6? (diff)

Comment thread src/main/java/org/jruby/CompatVersion.java
@chadlwilson chadlwilson deleted the 1.2-jruby-10 branch April 17, 2026 14:44
@chadlwilson chadlwilson changed the title 1.2: Back-port JRuby 10 and Rails 8.0 compatibility 1.2.x: Back-port JRuby 10 and Rails 8.0 compatibility May 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants