In PUP-11649, we're dropping support for MRI Ruby < 2.7, however, we have to keep support for JRuby 9.2 (which implements 2.5.x language features) until we have puppetserver builds with JRuby 9.4.
From [https://www.jruby.org/2023/03/08/jruby-9-4-2-0.html] {quote} JRuby 9.4.x targets Ruby 3.1 compatibility. {quote} Update OLDEST_RECOMMENDED_RUBY_VERSION to 3.1.0 Remove the !defined?(JRUBY_VERSION) in lib/puppet.rb Update gemspec to require ruby >= 3.1.0 Update ext/project_data.yaml for packaging Update rspec, mend, checks in github actions to use ruby-version 3.1 Update branch protection rules
Puppet 8 will require ruby 3.1 or greater; when downloading the puppet-agent as a package, the package will include ruby 3.2. Puppetserver packages will contain JRuby 9.4 in those packages.