Update jruby-version to v10#20
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
875c963 to
11f2289
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
9.4.12.1→10.1.0.09.4.12.1→10.1.0.0Release Notes
jruby/jruby (org.jruby:jruby-base)
v10.1.0.0: JRuby 10.1.0.0Compare Source
The JRuby community is pleased to announce the release of JRuby 10.1.0.0.
JRuby 10.1.0.x targets Ruby 4.0 compatibility.
Thank you to our contributors this release, you help keep JRuby moving forward!
JRuby 10.1: Experimenting and Evolving
JRuby 10.1.0.0 is our first major release since catching up with Ruby compatibility. We have used this opportunity to explore many experimental optimizations and improvements we have been chasing for many years. Ruby 4.0 compatibility is largely complete, but there will be additional features added in update releases. We also plan to continue with large scale experiments in subsequent updates, and recommend production users continue to use JRuby 10.0 while we work toward stabilization of the 10.1 series.
Here's an overview of the major enhancments already in JRuby 10.1.0.0 and others planned for update releases in the coming months.
Reduced Object Size
In JRuby 10.1 all objects have been reduced in size by 8 bytes, bringing the base object size down from 32 bytes to 24 bytes. This translates into smaller objects across the system, reduced GC load, higher allocation throughput, and better cache locality.
On JVM versions that support Compact Object Headers (JEP 450: "Project Lilliput") the base object size can be further reduced to 16 bytes, 40% smaller than objects in the standard Ruby implememtation.
Evolving Strings, Arrays, and Hashes
During the upcoming JRuby 10.1 update releases, we plan to introduce new versions of String, Array, and Hash that are optimized for memory compactness, concurrency, or integration with other JVM languages. To support these features, we have made the internal implementations RubyArray and RubyHash into abstract classes and deprecated the direct constructors for RubyString. Please test your JRuby extension code and make sure it does not call abstract or deprecated constructors.
Smaller Numeric Representations
JRuby's internal class for representing 64-bit signed Integer values, RubyFixnum, has been split into two versions: LongFixnum and ShortFixnum. Combined with the reduced size of objects overall, this reduces the size of these long and short-ranged Integer objects from 40 bytes to 32 bytes or 24 bytes (24 bytes or 16 bytes if using Compact Object Headers). The size of Float objects have similarly been reduced from 40 bytes to 32 bytes. These size reductions help improve the performance of numeric algorithms and reduce impact to the heap and GC of boxing numeric values.
Cross-platform Prism Parser
JRuby 10.1 ships with support for the Prism Ruby parser, packaged as a set of pre-optimized native builds (for Windows, Linux, and MacOS on x86_64 or arm64) or as a WASM build on other platforms. We're still working out a few remaining features, but we encourage experimenters to enable it by passing
-Xparser.prismto JRuby. We plan to make this the default parser once the remaining issues are solved.Direct Argument Passing
We have also laid the groundwork to start passing all forms of method arguments on the call stack, avoiding boxed collections for most optional and keyword arguments. In upcoming JRuby 10.1 releases, we will begin to connect these call paths up for both pure-Ruby and native (Java) method targets, eliminating box allocation and drastically improving the peformance of such forms. Watch this space for rapid improvements.
New Policy for EOL and LTS Releases
With the release of JRuby 10.1, we are moving JRuby 9.4 into a "soft" EOL status. This means we will no longer be doing regular OSS release updates of JRuby 9.4, but users may get in contact with us to sponsor continued support. JRuby 10.0 will be our stable LTS release until April 2028 and we recommend all users upgrade or get in contact with us for assistance. JRuby 10.1 will be our "tip" release line, with many exciting optimizations and enhancements due to land over the next several months.
Going forward, we will provide a new LTS baseline release every two years, starting in spring of 2027, and alternating years will be considered as edge or development versions without LTS guarantees. This will allow us a free hand to keep bringing you more experimental features while still providing a stable baseline for more conservative users.
Try JRuby Today!
Users can install JRuby 10.1 through the usual means, and we encourage you to give it a try and let us know how it handles your applications and libraries. We have much more planned for the 10.1 updates and hope to move fast and push the edges of what's possible with Ruby on the JVM.
59 Issues and PRs resolved for 10.1.0.0
Process.detachraises ArrayIndexOutOfBoundsException if called from a thread that is not the main threadv10.0.5.0: JRuby 10.0.5.0Compare Source
The JRuby community is pleased to announce the release of JRuby 10.0.5.0.
JRuby 10.0.5.x targets Ruby 3.4 compatibility.
Thank you to our contributors this release, you help keep JRuby moving forward! @evaniainbrooks, @kares, @chadlwilson, #jimtng
Compatibility
JVM Integration
Platform Integration
Stability
43 Issues and PRs resolved for 10.0.5.0
Process.detachraises ArrayIndexOutOfBoundsException if called from a thread that is not the main threadv10.0.4.0: JRuby 10.0.4.0Compare Source
The JRuby community is pleased to announce the release of JRuby 10.0.4.0.
JRuby 10.0.4.x targets Ruby 3.4 compatibility.
Thank you to our contributors this release, you help keep JRuby moving forward! @evaniainbrooks, @katafrakt, @mrnoname1000
Standard Library
43 Issues and PRs resolved for 10.0.4.0
:calldoesn't work if the traced code is running on a different threadimport_methodsdoesn't allow calling another refined methodFile.pathdoesn't raiseEncoding::CompatibilityErrorfor ASCII-incompatible stringrefinemethod ofModuleprivateBasicObjectobject raisesNameErrorinstead ofNoMethodErrorData#to_handData#deconstructreturn values in wrong order when module overridesinitializein a subclassed Data class...forwarding throughsuperData#==/Data#eql?andStruct#eql?return false when instances areextended ininitializeKernel#respond_to?fails if#respond_to_missing?is not definedv10.0.3.0: JRuby 10.0.3.0Compare Source
layout: post
title: JRuby 10.0.3.0 Released
The JRuby community is pleased to announce the release of JRuby 10.0.3.0.
JRuby 10.0.3.x targets Ruby 3.4 compatibility.
Thank you to our contributors this release, you help keep JRuby moving forward! @mrnoname1000, @ngr-ilmarh, @Earlopain, @philr, @jotamartos, @kares, @aleksandrs-ledovskis, @trinistr, @katafrakt, @chadlwilson, @khasinski, @evaniainbrooks
Compatibility
RbConfig::CONFIG['arch']without a version number, asuniversal-java. This allows using different JDK versions without triggering RubyGems missing extension warnings for installed gems. The host Java version is still available asRbConfig::CONFIG['arch_version']. [#9107]Standard Library
Documentation
All Issues/PRs
rubocopNameErrorfor autoloaded constant withprivate_constantwarn(foo, uplevel: nil)inspecton proc resets line insource_location][#9110]itshould be differentits][#9189]BigDecimal#+,#-,#add,#subalways try to cast result of coercion toRubyBigDecimal][#9194]require "bigdecimal"does not installBigDecimal()if it was called previously][#9196]Configuration
📅 Schedule: (UTC)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR was generated by Mend Renovate. View the repository job log.