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

JRuby 9.4.7.0 Released

Posted on April 30, 2024 by Michael G

Author: The JRuby Team
Source

The JRuby community is pleased to announce the release of JRuby 9.4.7.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! @kares, @ryannevell, @jsvd

Ruby Compatibility

  • Many edge cases in language compatibility have been fixed. #7440, #8128, #8192, #8193, #8195, #8197, #8198

Standard Library

  • jruby-openssl is updated to 0.14.5
  • rdoc is updated to 6.4.1.1
  • Warnings due to method aliasing in the ostruct library have been mitigated. #8200, #8206

JVM Integration

  • Ruby classes that are “reified” into a Java class and later redefined can be “re-reified” to a new Java class with an incrementing version number. #8141, #8185
  • Java objects from other classloaders can pollute the Java:: namespace. This behavior can be disabled now, and will be disabled by default in JRuby 10. #8156, #8208

53 Github Issues resolved for 9.4.7.0

  • #7440 Multiple assignment evaluation order consistency
  • #8112 update this ancient lockfile
  • #8113 Remove long dead torquebox from template Gemfile and update to newer …
  • #8114 one last update to puma version for sample Gemfile
  • #8119 Possible Keyword Argument Regression in 9.4.6.0
  • #8121 Prepending a module to a subclass changes it representation in the superclass#subclasses array
  • #8122 Handle prepend in subclasses
  • #8123 lutimes was passing huge wrong values to function
  • #8124 Method.clone of frozen should stay frozen
  • #8125 Proc#clone of frozen proc should stay frozen
  • #8126 UnboundMethod#clone of frozen UnboundMethod should stay frozen
  • #8127 EncodingError should be SyntaxError for bad symbols?
  • #8128 parameters value for **nil should be nokey
  • #8130 Return proper encoding error string for String#to_c
  • #8131 frozen error handling for remove_instance_variable
  • #8132 test flags for stats need to handle file instances as well as strings
  • #8133 Implement string/eval form of trace_var
  • #8134 Fix various kwarg-related specs in IO#open, File#open and Kernel#open.
  • #8135 Cannot install latest rubocop
  • #8136 Redo java commandline calculation to work with newer Java’s
  • #8138 [deps] update joda-time to 2.12.7
  • #8139 to_time raise an exception. (class org.jruby.ext.date.RubyDate cannot be cast to class org.jruby.ext.date.RubyDateTime)
  • #8141 can not re-reify sub-class of a Java sub-class
  • #8142 Add-Opens for complete -jar runs as expected in later Java’s
  • #8144 Allow extended DateTime to still be constructed using DateTime
  • #8148 Profiler raises ‘wrong number of arguments for constructor (ArgumentError)’ for the march_hare gem
  • #8155 Concurrently requiring a file from multiple threads may “succeed” even if the file raises an error
  • #8156 JRuby adds Java proxy classes to the Java module even if they are not from JRubyClassLoader
  • #8157 Incorrect case tree selection when comparing Symbols during compiled Ruby code execution
  • #8167 Some simple refactoring but removing some mysterious classcast guards
  • #8173 Coverage doesn’t cover begin
  • #8179 Thread#pending_interupt? crashes
  • #8185 [ji] support re-reifying class hierarchy
  • #8186 [fix] LoadError on require should not complete load
  • #8191 Rearrange cond0 to behave more like MRI did in 3.1
  • #8192 lhs of compound const would crash if not a Module/Class
  • #8193 side-effects in const op element assign by exec parent of lhs twice
  • #8195 use left to right evaluation
  • #8196 [deps] update jruby-openssl to 0.14.5
  • #8197 END was not getting parents lvars
  • #8198 Give same error message for duplicated case arms
  • #8199 Enumerator#next_values behavior does not match MRI or docs
  • #8200 Warnings emitted by requiring ‘ostruct’
  • #8201 Fix issue#8199
  • #8202 do not emit labels which are not used while constructing loops + IGV enhancements
  • #8203 rename all closures to more closely match a name you can read vs CLOSURE_2
  • #8204 bump rdoc dependency to 6.4.1.1
  • #8205 begin node coverage line should not get added if it has been removed
  • #8206 Mark frame-aware method names with bang suffix for ostruct
  • #8207 Partially undo kwarg optz from #8095
  • #8208 Only set up Java:: constants when accessed directly
  • #8209 opted case needs to use updated ints when loaded into new runtime.
  • #8211 Always unwrap old initialize methods

Read more

Related Posts:

  • Favor your repository
    Favor your repository
  • Relatively good news
    Relatively good news
  • Calculated releases scheduled
    Calculated releases scheduled
  • Apps availability still high
    Apps availability still high
  • Maintaining ownership
    Maintaining ownership
  • Safety in typing, no cloud needed
    Safety in typing, no cloud needed

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