therubyrhino/History.md

6.0 KiB

jar-1.7.6 2015-04-29

jar-1.7.5 2015-04-29

2.0.3 2014-02-20

  • minor fix for time_to_js when scope not set (#27)
  • Jar path now avoids using a glob, which doesn't work inside a jar (#26)
  • use Rhino.warn explicitly otherwise it's a Kernel.warn

2.0.2 2012-12-05

  • handle Rhino's 64K code generation (method) limit on the fly (#23)
  • correct explicit Ruby equality == and eql? (JRuby 1.7.1 compat)
  • allow to set javascript version programatically - globally also allow reading it from system properties by default
  • allow to set optimization level globally also allow reading it from system properties by default
  • make sure Ruby function wrapper has (Ruby) #call semantics just like JavaScript functions exposed into the Ruby side
  • function's return value should be converted to Ruby (Ruby #call style)

2.0.1 2012-08-24

  • JSError improvement to preserve nested Ruby error message
  • jar-1.7.4 regression fix e.g when loading less (#25)
  • error.message should be a String value (1.9.3 compat)

jar-1.7.4 2012-08-02

2.0.0 2012-08-02

This release is functionally the same as therubyrhino-1.73.5 as long as the therubyrhino_jar-1.7.3 gem dependency is used along with it.

  • new versioning scheme - old scheme used for the jar gem
  • moved out the rhino.jar into a separate therubyrhino_jar gem

jar-1.7.3 2012-08-02

  • therubyrhino_jar gem packaged with Mozilla Rhino 1.7R3

1.73.5 2012-07-25

  • #to_s functionName typo fix for org.mozilla.javascript.ScriptStackElement
  • make sure thrown values are correctly raised from inside JS functions
  • a better #inspect for native rhino objects
  • correct JavaScript error handling for Function#apply

1.73.4 2012-05-21

  • allow rhino.jar path overrides with Rhino::JAR_PATH
  • 'correct' JSError#inspect - show thrown value
  • fix JSError#javascript_backtrace to be an array and add it on top of the (ruby) backtrace
  • make sure JSError#cause always points to native rhino cause (#19)
  • avoid using instance variables with 'native' JS::Context (JRuby 1.7 warnings)

1.73.3 2012-04-23

RedJS 0.4 compatible

  • allow try-catch-ing ScriptError (besides StandardError) in JS
  • support for yield in JS property access via the [], []= methods
  • refactor access implementations to classes + introduce a shared base
  • missing explicit require 'rhino/version'
  • Ruby StandardError wrapping so they can be try-catched as JS "error" values
  • Rhino::Context.new is expected to yield when block passed

1.73.2 2012-04-11

RedJS 0.2.1 compatible

  • improve JSError#message + add JSError#value to reflect throw JS value
  • correctly convert hashes nested within arrays to_javascript (#12)
  • full jruby --1.9 compatibility
  • Context.default_factory - no longer use a new factory per context
  • restrictable limits now require Contex.new(:restrictable => true)
  • added Context#timeout_limit (to complete instruction_limit)

1.73.1 2011-11-28

NOTE: this is a "major" code update from 1.73.0 with some incompatibilities although keeping the bits backward compatible as much as possible :

  • add a JS:Function#apply to be used for calling functions from Ruby
  • add a JS:Function#bind usable with JS functions from Ruby
  • JS:Function#call should work similar to Method/Proc#call
  • customizable scriptable access module for resolving Ruby properties from JS with TRR compatible Ruby::DefaultAccess and a custom Ruby::AttributeAccess
  • implement JavaScript function style argument filling/slicing (for Ruby)
  • delegate to hash like method []/[]= when wrapped subject supports them
  • introduce Ruby::Constructor JS wrapper for Ruby classes
  • hande int JavaScript property resolution
  • make sure Time -> Date conversion happens as well
  • deprecate JavascriptError use JSError instead with a javascript_backtrace fix
  • avoid using Rhino::To.javascript instead use Rhino.to_javascript etc.
  • NativeObject/NativeFunction got removed to avoid wrapping - instead Rhino's "native" Java classes are customized using JRuby's Java integration
  • support for setting JS version via Context.version
  • Rhino::J gets deprecated it's now know as Rhino::JS

1.73.0 2011-11-28

  • upgrade to rhino-1.7R3
  • cache objects passed to context - same object passed twice ends up the same
  • properly map ruby Time objects to javascript Date
  • jruby --1.9 improvements

1.72.8 2011-06-26

  • fix passing of options hash to ruby.

1.72.6 2009-11-30

  • 2 major enhancements:
    • evaluate an IO object such as a file or an socket input stream
    • load javascript sources directly into the context with the file system

1.72.5 2009-11-12

  • 2 major enhancements:
    • evaluate javascript with a ruby object as it's scope using Context#open(:with => object)
    • add eval_js() method to Object to evaluate in the context of that object

1.72.4 2009-11-12

  • 3 major enhancements:
    • automatically wrap/unwrap ruby and javascript arrays
    • automatically convert ruby method objects and Proc objects into javascript functions
    • Make functions defined in javascript callable from ruby

1.72.3 2009-11-11

  • 4 major enhancements:
    • greatly simplified interface to context by unifying context and scope
    • remove Context#open_std()
    • remove Context#standard
    • remove Context#init_standard_objects

1.72.2 2009-11-10

  • 1 major enhancement:
    • ability to limit the instruction count for a context

1.72.1 2009-11-09

  • 4 major enhancements:
    • easily manipulate javascript objects from ruby (NativeObject)
    • make NativeObject Enumerable
    • to_h and to_json for NativeObject
    • embed ruby instances and call methods from javascript

1.72.0 2009-09-24

  • 2 major enhancements:
    • evaluate javascript in jruby
    • embed callable ruby objects in javascript