Opal v0.8.0 Release Notes

Release Date: 2015-07-16 // almost 9 years ago
  • โž• Added

    • ๐Ÿ’Ž Hash[] implementation fully compliant with rubyspec

    • ๐Ÿ†• Newly compliant with the Ruby Spec Suite:

      • Array#bsearch
      • Array#combination
      • Array#permutation
      • Array#product
      • Array#rotate!
      • Array#rotate
      • Array#sample
      • Array#to_h
      • Array#values_at
      • Array#zip
      • Enumerator#with_index
      • Kernel#===
      • Kernel#Array
      • Kernel#Float
      • Kernel#Hash
      • Kernel#Integer
      • Kernel#String
      • Kernel#format
      • Kernel#sprintf
      • MatchData#==
      • MatchData#eql?
      • MatchData#values_at
      • Module#instance_methods
      • Regexp#match
      • String#%
      • String#===
      • String#==
      • String#[]
      • String#each_line
      • String#eql?
      • String#index
      • String#inspect
      • String#lines
      • String#match
      • String#next
      • String#oct
      • String#scan
      • String#slice
      • String#split
      • String#succ
      • String#to_i
      • String#try_convert

    ๐Ÿ”„ Changed

    • โšก๏ธ Updated to Sprockets v3.0.
    • 0๏ธโƒฃ Enable operator inlining by default in the compiler.

    โœ‚ Removed

    • โœ‚ Removed minitest from stdlib. It's not part of MRI and it never belonged there, checkout the opal-minitest gem instead.

    ๐Ÿ›  Fixed

    • Delegate dependency management directly to Sprockets (when used) making sourcemaps swift again. This means code generated by sprockets will always need to be bootstrapped via Opal.load or Opal.require. Luckily Opal::Processor.load_asset_code(sprockets, name) does just that in the right way.
    • ๐Ÿ›  Fix Promise#always.
    • ๐Ÿ›  Fix String#split when no match is found and a limit is provided
    • ๐Ÿ›  Fix require_tree(".") when used from file at the root of the assets paths
    • ๐Ÿ“œ Parser: Allow trailing comma in paren arglists, after normal args as well as assoc args.
    • ๐Ÿ“œ Parser: Fix parsing of parens following divide operator without a space.
    • ๐Ÿ“œ Parser: Fix bug where keyword arguments could not be parsed if method definition did not have parens around arguments.
    • Module#const_get now accepts a scoped constant name
    • Regexp#=== sets global match data vars