Skip to content
Menu
Open World News Open World News
  • Privacy Policy
Open World News Open World News

JRuby 9.4.10.0 Released

Posted on January 22, 2025 by Michael G

Author: The JRuby Team
Source

The JRuby community is pleased to announce the release of JRuby 9.4.10.0.

  • Homepage: https://www.jruby.org/
  • Download: https://www.jruby.org/download

JRuby 9.4.x targets Ruby 3.1 compatibility.

Thank you to our contributors this release, you help keep JRuby moving forward!

  • Dani Smith @danini-the-panini
  • Karol Bucek @kares
  • mrnoname1000 @mrnoname1000

Ruby Compatibility

  • Fixed a NegativeArraySizeException crash parsing heredocs. #8355, #8557
  • Users can now opt into Ruby 3.3 behavior for NoMethodError and NameError that no longer inspects the target object. This inspect frequently led to memory issues. Specify JRuby flag -XnameError.inspect.object=false or JVM property jruby.nameError.inspect.object=false to disable the inspect call. #216, #8384, #8538
  • Implemented the missing Process.argv0 method, used by recent Bundler releases. #8568, #8570

Standard Library

  • The jar-dependencies gem, responsible for fetching jar file dependencies of Ruby gems, can now be updated independently of JRuby. #7262, #8488, #8502
  • An upcoming release of jar-dependencies, will fix issues sourcing jar dependencies in container deployments (partially fixed previously by an updated ruby-maven-libs gem). #7059, #8366
  • The psych gem is updated to version 5.2.3, including a fix for YAML aliases from SnakeYAML-Engine version 2.9. #8352, #8575
  • The reline gem is updated to 0.5.12. #8481

Java Integration

  • Only JVM classes imported from the same classloader hierarchy as JRuby will be bound to constants in JRuby’s package hierarchy. #8156
  • Implementing a Java interface no longer leads to constant redefinition warnings. #8349, #8503
  • Precompiled Ruby scripts now properly prepare optimized homogeneous case/when statements. Previously they would deserialize incorrectly and garble the branches. #8421, #8424

Performance and Usability

  • Additional runtime data structures are eagerly cleared when tearing down a JRuby runtime, aiding GC. #8343, #8566
  • The JRuby shell-based launcher script now properly handles JRuby installed in a path with spaces. #8441, #8442
  • The Class#subclasses method has been optimized to eliminate it as a bottleneck in complex ActiveRecord STI queries. #8457, #8462
  • Integer multiplication operations that overflow outside of int64 range have been optimized to eliminate heavy exception raises. #8516, #8523

Issues and PRs resolved for 9.4.10.0

  • #7059 Issue of Jar dependency with Jruby-9.3.3.0
  • #7262 jar-dependencies cannot be updated out-of-band from jruby
  • #8156 JRuby adds Java proxy classes to the Java module even if they are not from JRubyClassLoader
  • #8343 Free up memory memory used by JRuby during teardown
  • #8349 internal proxy class is stored in Ruby land and prints warning
  • #8352 Cyclic references in Set objects raise exception with YAML#load
  • #8355 NegativeArraySizeException while parsing Heredoc in irb in JRuby 9.4.8.0
  • #8366 Jruby 9.4.8.0 fails to install psych
  • #8384 OutOfMemoryError while constructing a NameError in the context of a large object
  • #8398 ruby2_keywords + forwarding to native does not properly check arity
  • #8412 Intermittent exceptions with ‘Java::JavaLang::NoClassDefFoundError : org/jruby/gen/RubyObject13’
  • #8415 Skip extension builds for default gems
  • #8416 [Possible bug] Can not start jruby-swing applications since 9.4.9.0 – or rather, the window auto-closes almost instantly
  • #8417 Trivial refactoring for match
  • #8421 Incorrect case tree selection when comparing long Symbols during compiled Ruby code execution
  • #8424 Sort the jump tables based on new values
  • #8425 Don’t clear the ThreadGroup when Thread terminates
  • #8431 jruby/thread_dump.rb seems to be broken
  • #8433 Root specialized object classloader at JRuby classloader
  • #8436 Pass Enumerable#uniq arguments properly
  • #8438 Remove rogue exit(0) that shuts down JVM
  • #8441 Spaces in the path cause bin/jruby script to build an invalid command string
  • #8442 jruby.sh: Use array to handle option files
  • #8457 Class#subclasses slows down with larger sets
  • #8462 Optimize Class#subclasses
  • #8466 jirb 9.4.9.0 – reline “cannot convert parameter to native pointer”
  • #8469 fix –jdb -sourcepath command
  • #8477 Update to jar-dependencies 0.5.0
  • #8478 Avoid re-polling while reporting a Thread#raise
  • #8479 Thread interrupt requests can overwrite each other
  • #8480 Provide concrete-only traversal for Class#subclasses
  • #8481 Update reline to 0.5.12
  • #8488 Issues bundling psych related to the jar-dependencies bump
  • #8502 Avoid loading jar-dependencies to install gem hook
  • #8503 [ji] do not expose InterfaceImpl classes in Ruby land
  • #8511 Update to jruby-maven-plugins 3.0.4
  • #8512 Disable Maven download progress output on CI jobs
  • #8515 Update jruby-maven-plugins to 3.0.5
  • #8516 Strange performance difference?
  • #8523 Revert multiply to use non-intrinsic exactness checks
  • #8538 Backport no-inspect NameError logic
  • #8557 Fixes #8355: wallpaper crash in heredoc eof error
  • #8562 Use same logic as IR for kwarg handling in IO#write
  • #8566 Additional teardown to aid GC and release resources
  • #8567 Update thread dump hook for modern JRuby
  • #8568 Process.argv0 missing
  • #8570 Add Process.argv0
  • #8571 Update to jcodings 1.0.59
  • #8572 Use warning instead of warning when adding attr as module_function
  • #8573 Update jcodings to 1.0.61 and joni to 2.2.3
  • #8575 Update psych to 5.2.3

Read more

Related Posts:

  • JRuby 9.4.3.0 Released
    JRuby 9.4.3.0 Released
  • JRuby 9.4.1.0 Released
    JRuby 9.4.1.0 Released
  • JRuby 9.4.4.0 Released
    JRuby 9.4.4.0 Released
  • JRuby 9.4.6.0 Released
    JRuby 9.4.6.0 Released
  • JRuby 9.4.2.0 Released
    JRuby 9.4.2.0 Released
  • JRuby 9.4.7.0 Released
    JRuby 9.4.7.0 Released

Recent Posts

  • [TUT] LoRa & LoRaWAN – MikroTik wAP LR8 kit mit The Things Network verbinden [4K | DE]
  • Mercado aguarda Powell e olha Trump, dados e Haddad | MINUTO TOURO DE OURO – 11/02/25
  • Dan Levy Gets Candid About Learning How To Act Differently After Schitt’s Creek: ‘It’s Physically…
  • Building a Rock Shelter & Overnight Stay in Heavy Snow 🏕️⛰️
  • Les milliardaires Elon Musk et Xavier Niel s’insultent copieusement

Categories

  • Android
  • Linux
  • News
  • Open Source
©2025 Open World News | Powered by Superb Themes
We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept All”, you consent to the use of ALL the cookies. However, you may visit "Cookie Settings" to provide a controlled consent.
Cookie SettingsAccept All
Manage consent

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Always Enabled
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
CookieDurationDescription
cookielawinfo-checkbox-analytics11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional11 monthsThe cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-others11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-performance11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
viewed_cookie_policy11 monthsThe cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Performance
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytics
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Advertisement
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.
Others
Other uncategorized cookies are those that are being analyzed and have not been classified into a category as yet.
SAVE & ACCEPT