[ANN] JRuby 1.7.5 released

JRuby 1.7.5 Released
Monday, October 07 2013

The JRuby community is pleased to announce the release of JRuby 1.7.5

Homepage: http://www.jruby.org/
Download: http://www.jruby.org/download

JRuby 1.7.5 is our fifth update release since JRuby 1.7.0. The primary
of 1.7 point releases is to fill out any missing compatibility issues
Ruby 1.9.3. The community participation lately has been great. Keep
reporting issues and sending pull requests.

This release is a special point release in that it is the last point
release before we move JRuby 1.7.x onto a maintenance branch. At this
we will put out more releases of 1.7.x based on bug reports, but a bulk
our effort will change to work on the next major version: JRuby 9000.

We fixed a number of issues with JRuby’s support for invokedynamic, but
to increased memory requirements and some lingering issues we have opted
leave it disabled until Java 8 (due in March). Users willing to bump up
memory use (PermGen, specifically) can still enable invokedynamic via
-Xcompile.invokedynamic=true. We also encourage users to try their apps
early access builds of Java 8.

This summer, the JRuby team and our community members mentored ten
on a wide range of projects as part of Google’s Summer of Code 2013… We
would like to thank Asakawa Ryu, Benoit D., Chamila Wijayarathna,
Devwrat More, Eric West, Faraaz Ismail, Kumar Sukhani, Maximilian
Matthew Getch, and Tobias P. for participating and congratulate
on their excellent work.

From this point forward, all users should report issues on our
GitHub - jruby/jruby: JRuby, an implementation of Ruby on the JVM project site. You can also just go to

Changes of note:

- 243 issues fixed for 1.7.5
- Compatibility
   - Many many encoding/M17n issues resolved.
   - Improved transcoding support
   - Fiber fixes
   - Ripper support
- Performance
   - Faster pathname implementation
   - Faster date/time implementations
   - Improved call performance for magic globals ($~ and $_)
   - Block/proc creation and dispatch performance improvements
- Moved build to Maven from Ant. See BUILDING.md.
- Updated RubyGems to version 2.1.5
- Moved several standard libraries out as default gems

Jira Issues resolved for 1.7.5

JRUBY-7101 - BigDecimal / <float between 0 and 1> => Infinity
JRUBY-6409 - Open3.popen3(...) is broken in 1.9 mode
JRUBY-6874 - Successive writes to SSLSocket are not read
JRUBY-7190 - Incorrect encoding on result string read from File

introduced in JRuby 1.7.4
JRUBY-7151 - Array#drop fails for arrays containing floats in 1.8
JRUBY-6996 - jirb tab completion not working in Windows
JRUBY-7095 - Time overflowing since 1.7
JRUBY-7173 - IO#stat from IO.pipe didn’t work
JRUBY-7148 - Division with BigDecimal not working
JRUBY-7167 - Regexp match not thread safe when called in a lambda
JRUBY-7176 - “org.jruby.RubyNil cannot be cast to
org.jruby.RubyMatchData” in multithreaded program
JRUBY-6763 - Incorrect handling of arguments by method object
JRUBY-7149 - Socket information is wrong with IPv6
JRUBY-7185 - IllegalArgumentException when converting to utf-16
JRUBY-7007 - Inconsistent String#encode behavior for binary to UTF-8
JRUBY-7142 - failed to load valid utf-8 yaml file
JRUBY-6994 - exec() in chdir block doesn’t inherit cwd
JRUBY-5290 - Thread#priority= resets negative values to 1
JRUBY-7056 - Thread#backtrace sometimes reports backtrace for wrong
JRUBY-7188 - Nested Fibers in 1.7.4 incorrectly raises error -
fiber from different thread
JRUBY-7054 - NullPointerException in Thread#backtrace for adopted(?)
Java threads
JRUBY-7195 - REXML gives 1 character strings BINARY text encoding
JRUBY-7172 - Java::JavaLang::NullPointerException when calling super
method in duped module included in subclass
JRUBY-7166 - invalid multibyte char (UTF-8) caused by '\â ’
JRUBY-7189 - invalid byte sequence in US-ASCII
JRUBY-7013 - JDK8 CHM incompatibility

Github Issues resolved for 1.7.5

#1078 - Delegate does not pass block through when object does not

implement method
#1076 - Enumerator lifecycle needs a test
#1075 - Fiber finalizer fix
#1072 - Latest 1.7.5 snapshot breaks DateTime + method
#1071 - Lots of already initialized errors from jruby-openssl
#1065 - Valid DateTime treated as invalid
#1054 - Fixes for keyword argument handling
#1053 - Remove the special invokedynamic default case for IBM J9
#1049 - [2.0] Incorrect arity checking for methods with kw arguments
#1047 - Passing nil as the value of a keyword argument causes JRuby
act as if there were no such keyword argument
#1046 - profile output in json
#1041 - JRuby inlining causes bugged behavior (Regexp globals)
#1038 - jruby-jars missing from
#1034 - Disable invokedynamic for Java 7
#1029 - Fix italics syntax in BUILDING.md
#1022 - Fix string representation of an Edge object
#1020 - Begin fixing osgi metadata for maven build
#1019 - some version updates
#1017 - Capistrano Issue
#1015 - Deadlock occurs on Thread.kill
#1014 - memory increase needed when using jruny-head jdk7u40 +indy
#1012 - com.github.jnr:jnr-posix:jar:3.0.1-SNAPSHOT needs a release
#1009 - jruby master gem install jasmine-core does not work
#1008 - StringIO doesn’t work with frozen strings in 1.7.5.dev
#1007 - NPE loading Rails console
#1006 - Can’t require jars with leading underscores
#1005 - Application failure after updating to Java 7u40 with
#1004 - ArgumentError: wrong number of arguments calling eql? (1
#1002 - Update to RubyGems 2.1.2
#1001 - dist artifacts must not install jruby-launcher
#1000 - NullPointerException bug: openssl.Digest
#998 - 1.7.5.dev: error for rake spec for shoes4 (bundler/setup
IllegalAcceError to_path)
#996 - IR Event Handling
#995 - YAML file fails to load if JVM character set is MS932 (common
#993 - Can’t require in two threads at once in JRuby 1.7.5.dev
#992 - BigDecimal#* returns Float (should be BigDecimal)
#990 - Dist archive must use jruby.bash instead of native binary for
#989 - Pathname#realpath is returning a String instead of a Pathname
#988 - Fix failing time tests
#982 - Document the purpose of localrepo
#979 - Always compute Enumerable#count through enumeration for 1.9+
#977 - rspec refactor for ffi to use expect inspite of should to
it better
#972 - Package jay/yydebug should only be in jruby-core not
#970 - Ruby 2.0 parser doesn’t intern symbol strings in literal
#968 - Re factor compiler specs to use
#966 - use expect instead of should in rspec
#961 - Comma in the file name results in JIT compile error
#960 - remove rspec should also use let for input stream
#959 - [jruby-jars gem] lib/jruby-jars.rb not same as source, and
to load “jruby-jars/version”
#955 - Bug with RubyRegexp when pass it a block.
#954 - JIT-compile methods named ‘none’.
#953 - .jrubyrc file not supporting cext.enabled=true
#950 - ThreadGroup#enclose does not guard against thread addition
#949 - jruby --properties generates confusing comments in .jrubyrc
#948 - Test failures in the MRI 1.9 suite (Time class) when TZ is
#945 - In Ruby 2.0, String#lines returns an Array, rather than an
#944 - Add RVM step to build instructions
#943 - Fix typo in testing documentation
#941 - Enumerator#inject() is broken
#939 - Marshal load loses correct encoding for string subclass
#937 - Strange (JIT?) behaviour causing assignment function to be
called twice in Rails
#936 - sprintf formatting with “%+.2d”
#935 - incompatible character encodings: ASCII-8BIT and UTF-8
#934 - rubygems version with jruby does not obey ‘no_proxy’ ENV
#928 - More arg-handling improvements for Enumerables
#927 - super inside def self.new behaves incorrect when called via
#923 - Document --2.0 flag.
#922 - Enumerator#count returns nil
#919 - JRuby cannot decrypt a private key using the AES-256-CBC
#917 - Scheduler for controlling the Execution of IR Passes
#912 - dist and jar-complete targets
#907 - add the latest gems version in pom file
#905 - IR Specs broke because use of Ruby 1.9 Hash syntax. Fixed it
using 1.8 Hash syntax
#904 - Custom spec helpers for IR specs related to Vertex.java
#902 - Time zone conversion overflow
#898 - More arg handling fixes for Enumerable methods
#897 - Convenient debug flags for IR
#896 - upgrade gems version in pom file
#894 - Fix a naming conflict jrubyc can introduce in generated java.
#893 - Use rspec opts for IR specs
#892 - Added flag for IR visualizer
#890 - Date library using Joda-Time (v2)
#889 - Don’t overwrite rspec_opts. Instead of that append to it.
#888 - Add index/rindex to java lists (java.util.List)
#887 - Update site with developer, license, CI info. Update some
and plugins.
#886 - String#byteslice can raise an inappropriate
#884 - More IR Specs related to Vertex.java
#883 - Upgrade RSpec to latest version
#882 - Date library using Joda-Time
#881 - String#encode with undef replace options problem
#880 - Fix parent hierarchies and plugins for the ‘all’ profile
#878 - Fix Unmarshaling of Date objects marshaled with MRI 1.9+
#877 - Issues generating checkstyle report
#876 - bin/ast Add of IR Debugging Features
#875 - Maven site can now be published to github pages
#874 - Add javafx as predefined package for java 8
#873 - script with long DATA block hangs
#872 - NameError is thrown by method_missing when using self
#869 - Customize checkstyle to make it more lenient.
#867 - Use for junit. Updated other deps.
#866 - Separated the two comparison cases by parenthesis and added
#865 - Use in parent pom so that all plugins (and
their versions) for the project can be centrally managed.
#864 - Move Maven site reporting to parent pom. Fixed parent
#863 - Direct Memory Buffer Leak in File IO
#862 - Compilation with Maven is slow
#858 - Interface incompatibility in BiVariableMap on Java 8
#857 - Hybrid (native/ruby) pathname library
#856 - JRuby 1.7.x String.encode not using Unicode replacement
#854 - Add Maven Site reporting
#852 - Fixed a bug in checking the type of edges in EdgeTypeIterator
#850 - Added Maven Site reports
#849 - Komax refactoring factor methods
#848 - Komax codestyle override annotations
#847 - Komax codereview
#844 - Removed comment about assert[ci skip]
#839 - alias_method not preserving UnboundMethod#parameters
#837 - Provide a convenient way to incorporate the latest tzdata
#835 - method(:require).parameters is [] during Minitest run
#834 - Strange defined? error with ::BasicObject
#833 - Added Specs for IR and renamed a method in Vertex.java
#832 - Restructure openssl artifact to separate out BC jars
#831 - readline, openssl jar, yecht in place, copy jlin,
jar into stdlib
#830 - RuntimeError: no local gem found for mocha
#827 - File::EXCL is not thread safe
#826 - Support foo.jar that is linked to extensionless jar files
#824 - fix #823
#823 - X509Cert.set_serial breaks for Certificate SerialNumbers with
#822 - fix slice_before on empty enumerable
#817 - Fixed JRubyClassLoader to not require protective domain
#816 - Need to unwrap exception before checking for security
#815 - Fix enum arg handling in Enumerator Nexter
#814 - JRuby 1.7.4 Regression, defined? fails for ::BasicObject
#813 - JRuby’s Ripper omits the :paren s-expression on method
#808 - jrubyc: cannot find symbol lockAndRequire
#807 - Fix each_with_index argument handling
#806 - Chatty output while running RSpec
#805 - “ArgumentError: wrong number of arguments calling const_get
for 1)” for java constants
#802 - Weird JIT behaviour causing Rails to fail serving request
#801 - Jruby 1.7.4 Timezone is inverted when creating a Time object
#800 - Tag unreliable specs unstable rather than fails
#798 - Named based constant cache invalidation
#797 - Fix for BigDecimal#/
#796 - Remove qualified const_get test
#795 - Invalidate constant cache if included module has constants
#794 - Fix String performance regression
#793 - Fix the timezone string parser so it won’t choke on TZ=JST-9,
#792 - jruby-1.7.3 Timeout is not working with long string and
#788 - jnr-constants update needed for JRuby 1.7.5
#787 - All command-line options should be configurable via JVM
#786 - Pack roundtrip through BER ( w ) yields incorrect type
#784 - add typecasting to RTEST macro
#780 - Tag intermittent spec failures
#775 - IPv4 stack should be preferred to IPv6
#773 - Resolv.getaddress fails w/ ‘connect: name or service not
on Windows
#772 - BigDecimal#hash returns different value for numerically equal
#771 - Checking for size of outgoing and incoming edges of the
after removing a single edge
#768 - raise ArgumentError when IO.new/IO.open last argument is not
hash or nil
#766 - IO.sysopen accepts mode & permission that are nil
#764 - add support for options and not truncating offset for
#763 - binwrite should pass write only when options are not empty
don’t have a “mode”
#760 - Remove a bad assert and untag some tests it was affecting
#759 - Implements #614
#758 -
on case-insensitive filesystem
#757 - Untag a number of passing specs
#756 - String#concat should preserve encoding
#754 - Added a missing ‘y’.
#750 - Fix IOInputStream single-byte read
#749 - Fix dash_s_spec
#748 - Fix dash_c_spec
#747 - 1.7.4 Regression: Time::localtime broken
#746 - rake spec:compiler failing since ba4df82
#745 - Fix precision issues in Time by avoiding conversions to
#744 - TypeError with Prime.each_with_index and mass assignment
#741 - Update OSGi classloader
#740 - Make Time#to_date compliant with MRI 1.9-2
#739 - Improve GzipReader#gets performance.
#738 - Added rake task for running IR specs
#736 - Dispatching a string through send to method_missing causes
encoding to revert to ASCII
#735 - Synchronize profile printing.
#734 - Fix RubyString#byteslice on substring.
#732 - jline2 bundled jansi needs update after fixing security issue
#731 - strftime “-” flag affects more than one field at a time
(inconsistent with MRI)
#730 - Fixing write specs
#727 - Fix string concatenation with a number as per rubyspec
#723 - IO.copy_stream should handle objects that respond to read or
write. Fixes #437
#722 - REFACTORING: supporting flag about receiving an offset or
#702 - Untag passing Marshal.dump specs
#694 - Regexp #== and #eql? is true if self does not specify /n
and other does and vise versa
#692 - Use hash rather than full sexp for cache key to significantly
reduce mem…
#690 - Raise a RangeError when codepoint is invalid for the default
internal encoding
#678 - TempFile#unlink - do not work if #close is not called right
before, even if nothing has been done over the file.
#652 - BC Date (with ActiveSupport) regression
#648 - Division with BigDecimal not correct
#644 - Error in Division of BigDecimal
#641 - jruby/thread_dump fails in JRuby 1.7.2
#640 - Fixing hashing consistency across JVM instances.
#631 - About 60 RubySpecs fail if the entire suite is run.
#624 - Field annotations
#623 - Java classes with signatures should be reified
#614 - KindOf implementation using Class.isInstance() instead of
#603 - #caller returns `send’ as one of the callers
#563 - Encoding error when parsing UTF-8 CSV in (1.7.3 - 1.9 mode)
#561 - Differences between XML string encoding in MRI and JRuby
#520 - New ng.exe required before release
#483 - Psych yaml parser can not parse uppercase but can parse
#474 - YAML weirdness
#461 - String#encode hard errors without replacement for ASCII 8-bit
range to multibyte
#460 - add multiple assignment support to java.util.Collection’s
#456 - Marshal.load encoding error
#415 - Getting this error: “LocalJumpError: yield called out of
#406 - Gathering global thread backtraces fails often on CentOS with
JRuby 1.7
#375 - String#encode fails with :invalid => :replace option
#332 - Open3.popen3 doesn’t return a thread object in jruby
#302 - DRegexp creates too many transient objects
#264 - JRuby19mode behavior is different with CRuby. When Enumerator
has mulltiple values for a block paramter.
#218 - rspec related out of bounds array access in multi-character
string splitting
#168 - 1.9 mode runs “threaded reverse” bench slower than MRI

Congratulations on this release.

The past month snapshots really showed significant speed and stability
improvements (and I’m on Windows…).

A side note for those who installed jruby >1.6 with jdk 7u40 (note: jdk
jre), I am now performing kind of real time monitoring of my jruby
using Oracle’s Java Mission Control, bundled with jdk 7u40.

It’s quite an improvement over launching jvisualvm by hand on that
particular time of run and losing monitoring of few seconds.

A flight record report gets generated and you can open it even days
later… or on another machine. Neat magic enabled partly by jruby…

I will share this trick on the list tomorrow…

Congratulations! Well done!

Waiting of change version in RVM :slight_smile:

Those guys at ArchLinux don’t hang about, and have already updated to
jruby-1.7.5. If like me you futzed your install (to update launcher
etc). You probably should uninstall jruby first, and remove /opt/jruby
(well thats what I needed to do).


sudo rvm install jruby-1.7.5 --verify-downloads 1

that worked for me too :slight_smile:

sudo rvm install jruby-1.7.5 --verify-downloads 1

that worked for me.

Mike P.
Sarasota, FL

On October 7, 2013 at 5:28:00 PM, biotin az ([email protected])

Waiting of change version in RVM :slight_smile:

Posted via http://www.ruby-forum.com/.

To unsubscribe from this list, please visit:


On Oct 8, 2013, at 5:54 AM, Charles M. [email protected]

Do I assume its available under RVM ?


Yes, you do assume that. And it is a strictly RVM question.

Having said that, I just ran “rvm get stable” (1.22.18) and it knows
about JRuby 1.7.5 as well as Rubinius 2.0.0.


Do I assume its available under RVM ?


yes I will from now on try first :), and it installed fine



well just that I was a bit curious I tried rubinius and that failed:

charles$ rvm install rbx
Searching for binary rubies, this might take some time.
No binary rubies available for: osx/10.8/x86_64/rbx-2.0.0.

Not that another ruby distro running under a proprietary vm has the same
value proposition as Jruby