JRuby 1.7.1. Released

Monday, December 03 2012

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

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
  • 43 issues fixed since 1.7.0

Jira Issues resolved since 1.7.0

  • [JRUBY-5529] - [1.9] undefined method `read_nonblock' for #<OpenSSL::SSL::SSLSocket:0x246adb31> (NoMethodError)
  • [JRUBY-5986] - $! is not set to nil in an ensure block where no exception is raised
  • [JRUBY-6339] - JRuby can't load from JAR files on a path with a '#' symbol (breaks Tomcat 7 Parallel Deployment)
  • [JRUBY-6346] - Error establishing SSL connections: OpenSSL::SSL::SSLError: Socket closed
  • [JRUBY-6391] - undefined method `write_nonblock' for OpenSSL::SSL::SSLSocket
  • [JRUBY-6581] - "yield called out of block" for Enumerators created with enum_for
  • [JRUBY-6636] - OpenSSL::X509::Certificate and OpenSSL::PKey::RSA constructors don't accept File objects
  • [JRUBY-6744] - We are at p204 but 1.9.3 is only at p194
  • [JRUBY-6777] - RubyFixnum.java - two methods fail to detect some long integer overflows
  • [JRUBY-6870] - IO.select says there is data but read_nonblock raises 'read would raise' using SSLSocket
  • [JRUBY-6949] - system() silently fails when options are passed
  • [JRUBY-6954] - Time.new does not respect UTC offset in the 7-argument form
  • [JRUBY-6960] - Failure to start ant from JRuby 1.7.0*
  • [JRUBY-6961] - Loading jruby-openssl gem on jruby-1.7.0 can cause "private method `verify_mode' called for #<OpenSSL::SSL::SSLContext..." error
  • [JRUBY-6962] - Unimplemented methods OpenSSL::PKCS7#type=, OpenSSL::PKCS7#add_data
  • [JRUBY-6963] - PKCS7 structures that have their content encapsulated in a sequence are not imported correctly
  • [JRUBY-6964] - DateTime#to_time creates wrong Time objects sometimes
  • [JRUBY-6978] - try/rescue should treat native Exceptions like rubys StandardError
  • [JRUBY-6983] - UNIXServer.open ignores the block arg
  • [JRUBY-6984] - OpenSSL::X509::Name.parse raises NullPointerException
  • [JRUBY-6987] - Ruboto build failures with recent master
  • [JRUBY-6994] - exec() in chdir block doesn't inherit cwd
  • [JRUBY-6995] - Raising an Exception from #each wrapped in Enumerator.new results in StopIteration
  • [JRUBY-6997] - Newline in UTF-16 (BE and LE) incorrect under windows
  • [JRUBY-6998] - IO::NULL undefined (should be === File::NULL)
  • [JRUBY-6999] - Encoding from Windows-1252 to UTF-8 results in transcoding error
  • [JRUBY-7000] - to_path should be unconditional
  • [JRUBY-7002] - File.join does not handle '\' on Unix systems properly
  • [JRUBY-7004] - Implement Etc.sysconfdir and Etc.systmpdir
  • [JRUBY-7008] - Undefined method `search_convpath' for Encoding::Converter:Class
  • [JRUBY-6935] - Update 1.9 stdlib to p286
  • [JRUBY-6976] - byte[] should have a to_s method

Github Issues closed since 1.7.0:

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