# \[ANN\] JRuby 1.7.1 Released!

**URL:** https://rubytalk.org/t/ann-jruby-1-7-1-released/66832
**Category:** ruby-talk
**Created:** [3 December 2012 19:02 UTC](https://rubytalk.org/t/ann-jruby-1-7-1-released/66832 "2012-12-03T19:02:02Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![Thomas\_E\_Enebo1](https://yyz1.discourse-cdn.com/flex029/user_avatar/rubytalk.org/thomas_e_enebo1/32/1861_2.png) [@Thomas\_E\_Enebo1](https://rubytalk.org/u/Thomas_E_Enebo1)
#### Post date: [3 December 2012 19:02 UTC](https://rubytalk.org/t/ann-jruby-1-7-1-released/66832/1 "2012-12-03T19:02:02Z")

</div>

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

&nbsp;&nbsp;&nbsp;&nbsp;Homepage: [http://www.jruby.org/](http://www.jruby.org/)  
&nbsp;&nbsp;&nbsp;&nbsp;Download: [http://www.jruby.org/download](http://www.jruby.org/download)

JRuby 1.7.1 is our first update release since JRuby 1.7.0. The primary  
goal of 1.7 point releases is to fill out any missing compatibility  
issues with Ruby 1.9.3. The feedback we have gotten (along with  
patches) has ended up being a subtantial release.

We also addressed security vulnerability CVE-2012-5370 and stopped  
using MurmurHash2 as our hashing algorithm (now using same Hashing  
algorithm as Perl). All users are recommended to upgrade to JRuby  
1.7.1.

Changes of note:

- New hashing algorithm to address CVE-2012-5370  
- Update standard lib to match MRI patchlevel 1.9.3p327  
- Several fixes to new io/console.rb implementation  
- system/spawn/popen fixes and additional options hash fixes  
- Several SSL fixes (jruby-openssl release coming soon for 1.6.8 users)  
- IO.select not erroneously reporting data to be read  
- Psych YAML engine updated to latest  
- 113 issues fixed since 1.7.0

Jira Issues resolved since 1.7.0

&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-1608] - STDIN/STDOUT "not a tty" under Kernel.system  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-2724] - Can not create Ruby on rails application while  
using UNC path folder  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-3622] - newInstance and getDeclaredConstructor fail to  
respect class overridden in JRuby  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-3756] - Jirb terminates immediately if "special character"  
encountered  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-3786] - RubyGems tests are not green; fix remaining failures/errors  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-3917] - Module#public does not follow method redefinition  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-4732] - Clean up anything that calls dataGetStruct on a  
wrapped Java object to get the object  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-4756] - Interface that has abstract methods final in Ruby  
hierarchy break "real class" implementation  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-4890] - Unicode characters are lost when embedding JRuby  
even if the calling code performs no conversion to byte[]  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-5303] - [1.9] Wrong parameters parse for method signatures  
with default values  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-5323] - control-c in cmd while running webrick rails app  
does not kill jruby.exe  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-5349] - Process.spawn ignores output params  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-5427] - 1.9 mode slower on redblack benchmark than 1.8 mode  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-5529] - [1.9] undefined method `read\_nonblock' for  
#\<OpenSSL::SSL::SSLSocket:0x246adb31\> (NoMethodError)  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-5692] - PDFKit fails on Windows JRuby - IO.popen and Double Quotes  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-5798] - 'defined?' for constant should not invoke auto-load  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-5986] - $! is not set to nil in an ensure block where no  
exception is raised  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6025] - Precompiled class raises exception, but in  
interpreted mode - works well.  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6105] - become\_java! returns nil for Ruby classes that  
inherit from Java classes  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6126] - [1.9] [RubySpec] In 1.9 mode, for should yield only  
as many values as there are arguments  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6162] - IO.popen doesn't wait until a process ends but  
returns immediately  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6195] - [1.9] Process.spawn (and related methods) ignore option hash  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6247] - NULL handling inconsistent with Ruby  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6312] - JRuby 1.7 non-indy constant lookup performance has degraded  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6339] - JRuby can't load from JAR files on a path with a  
'#' symbol (breaks Tomcat 7 Parallel Deployment)  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6346] - Error establishing SSL connections:  
OpenSSL::SSL::SSLError: Socket closed  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6391] - undefined method `write\_nonblock' for OpenSSL::SSL::SSLSocket  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6409] - Open3.popen3(...) is broken in 1.9 mode  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6516] - IO.select times out with ssl connection  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6521] - Invokedynamic leads to unusual errors in RubyGems  
dependency logic  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6563] - each\_with\_index yields invalid values when custom  
Enumerable class calls Proc#call  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6581] - "yield called out of block" for Enumerators created  
with enum\_for  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6610] - JRuby 1.9 mode require does multiple requires and  
extra file system searching  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6622] - Unable to Load encrypted Private Key pem file  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6636] - OpenSSL::X509::Certificate and OpenSSL::PKey::RSA  
constructors don't accept File objects  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6656] - JRuby subclass cannot call super with arguments if  
parent constructor is varargs  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6673] - MacOS installer is not updated via our build system  
and hardcodes version numbers  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6696] - 32 bit jruby cannot run with 64 bit JVM installed  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6699] - OpenSSL::PKey::RSA.new fails on Windows  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6738] - Kernel.load(..., true) --\> scope problem  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6744] - We are at p204 but 1.9.3 is only at p194  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6749] - respond\_to? caching disabled in 1.9 mode due to  
respond\_to\_missing? logic  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6751] - java\_signature does not affect method signature at runtime  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6758] - Test suite time outs:  
org.jruby.test.Batch-With-Multiple-Tests:test\_socket  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6763] - Incorrect handling of arguments by method object  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6777] - RubyFixnum.java - two methods fail to detect some  
long integer overflows  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6826] - OpenSSL::PKey::RSAError: Neither PUB key nor PRIV key:  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6841] - State file use in UUID gem causes severe  
performance degradation  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6856] - Kernel#system and backquote suppress important errors  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6870] - IO.select says there is data but read\_nonblock  
raises 'read would raise' using SSLSocket  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6887] - Thread.current.object\_id inside an Enumerator is  
different from outside it  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6891] - SSLSocket.accept forces reverse DNS lookup, not  
required for most SSL and sometimes causes very poor performance  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6920] - Regression: test\_env precompiled with invokedynamic  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6931] - console outputs in windows are wrong for UTF-8, windows  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6943] - io/console extension missing in 1.9 mode (jgem push  
causes JRuby to fail)  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6944] - JRUBY-6891 Breaks Server Name Indication (SNI)  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6945] - append\_features called with non-class  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6949] - system() silently fails when options are passed  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6954] - Time.new does not respect UTC offset in the 7-argument form  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6955] - Cannot define method \<=\>, get  
ClassLoader.java:286:in `defineClass': java.lang.NoClassDefFoundError:  
test$method\_\_3$RUBY$\=\^=\_  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6958] - Cast error inheriting from a Java class with precompile code.  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6959] - Cannot meta-program java signature  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6960] - Failure to start ant from JRuby 1.7.0\*  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6961] - Loading jruby-openssl gem on jruby-1.7.0 can cause  
"private method `verify\_mode' called for  
#\<OpenSSL::SSL::SSLContext..." error  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6962] - Unimplemented methods OpenSSL::PKCS7#type=,  
OpenSSL::PKCS7#add\_data  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6963] - PKCS7 structures that have their content  
encapsulated in a sequence are not imported correctly  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6964] - DateTime#to\_time creates wrong Time objects sometimes  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6966] - Open3.popen3 does not take optional environment  
hash as first argument  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6970] - \_\_FILE\_\_ has strange 'jar:' prefix when inside a  
gem in a jar.  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6972] - system("...&&...") should work in windows  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6973] - Release jruby-openssl-0.8.0 gem  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6974] - Timeout.timeout not working using UDPSocket  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6978] - try/rescue should treat native Exceptions like  
rubys StandardError  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6983] - UNIXServer.open ignores the block arg  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6984] - OpenSSL::X509::Name.parse raises NullPointerException  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6987] - Ruboto build failures with recent master  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6994] - exec() in chdir block doesn't inherit cwd  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6995] - Raising an Exception from #each wrapped in  
Enumerator.new results in StopIteration  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6997] - Newline in UTF-16 (BE and LE) incorrect under windows  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6998] - IO::NULL undefined (should be === File::NULL)  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6999] - Encoding from Windows-1252 to UTF-8 results in  
transcoding error  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-7000] - to\_path should be unconditional  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-7002] - File.join does not handle '\' on Unix systems properly  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-7004] - Implement Etc.sysconfdir and Etc.systmpdir  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-7008] - Undefined method `search\_convpath' for  
Encoding::Converter:Class  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-4739] - Make source dist be inclusive by default so we do  
not keep missing new files/folders added to our source tree  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-5205] - Make hashy arguments faster  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-5620] - Mixed perf on String#to\_i versus Ruby 1.9 and Rubinius  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-5799] - InternalJavaProxy needs setInvocationHandler  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-5800] - Encapsulate @java\_proxy\_class computation in JavaProxy  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6453] - Make String/ByteList creation facilities part of  
RedBridge APIs  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6491] - Pushing your changes of Rubygems to Rubygems upstream  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6500] - Compiler improvements  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6643] - jrubyc AOT Java compilation doesn't identify failure cause  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6901] - Use Java 7 NIO.2 APIs to implement dir opening  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6905] - JRuby does not warn about assigned but unused variable  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6935] - Update 1.9 stdlib to p286  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6976] - byte[] should have a to\_s method  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-4670] - Plug ruby2java java2ruby marshalling  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6466] - externalize build\_lib dependencies  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6793] - Update bouncycastle jars to the latest version. (1.47)  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6873] - jruby-1.7.0.preview2 much slower jruby-1.6.3 (192s vs.60s)  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6916] - Better support for 64-bit AIX (FFI)  
&nbsp;&nbsp;&nbsp;&nbsp;[JRUBY-6982] - Various issues producing an updated JRuby package for Fedora

Github Issues closed since 1.7.0:

&nbsp;&nbsp;&nbsp;&nbsp;#404 Use canonical\_name instead of full\_name  
&nbsp;&nbsp;&nbsp;&nbsp;#400 Update 'json' library.  
&nbsp;&nbsp;&nbsp;&nbsp;#398 JRuby 1.7.0 unix sockets - 100% CPU - worked in preview2  
&nbsp;&nbsp;&nbsp;&nbsp;#390 New FFI::IO.for\_fd fails on Linux (and possibly other platforms)  
&nbsp;&nbsp;&nbsp;&nbsp;#207 JRuby 1.7 Bundles Invalid Bouncy Castle Security Provider openssl  
&nbsp;&nbsp;&nbsp;&nbsp;#198 Inheriting from BigDecimal returns incorrect class  
&nbsp;&nbsp;&nbsp;&nbsp;#349 Improved support for Server Name Indication (SNI)  
&nbsp;&nbsp;&nbsp;&nbsp;#178 JRUBY-2724: I've added some tests and I tried to fix unc pathing  
&nbsp;&nbsp;&nbsp;&nbsp;#326 JSON format profile printer (additions)  
&nbsp;&nbsp;&nbsp;&nbsp;#313 Math.atan 0.0/0.0 core

> **···**
>
> --  
> blog: [http://blog.enebo.com](http://blog.enebo.com) twitter: tom\_enebo  
> mail: [tom.enebo@gmail.com](mailto:tom.enebo@gmail.com)
