Opal v1.5.1 Release Notes
Release Date: 2022-07-20 // over 2 years agoPrevious changes from v1.5.0
-
➕ Added
- 👍 Introduce timezone support for Time by @hmdne in https://github.com/opal/opal/pull/2394
- 🔨 DateTime and Date refactor by @hmdne in https://github.com/opal/opal/pull/2398
- Implement
Number#prev_float
/#next_float
by @takaram in https://github.com/opal/opal/pull/2404 - 👌 Support
binding.irb
anywhere in the code, for both browsers and node by @hmdne in https://github.com/opal/opal/pull/2392 and https://github.com/opal/opal/pull/2408 - Added
URI.decode_www_form
by @HoneyryderChuck in https://github.com/opal/opal/pull/2387
🔄 Changed
- 🚚 Move
Math
IE11-supporting polyfills to a separate file by @hmdne in https://github.com/opal/opal/pull/2395 String
methods always return Strings even when overloaded by @hmdne in https://github.com/opal/opal/pull/2413- Misc changes extracted from DCE work by @elia in https://github.com/opal/opal/pull/2414
alias
calls will not add the "old name" method to the list of stubs for method missing
- 🐎 Optimize writer/setter methods (up to 4% performance gain!) by @hmdne in https://github.com/opal/opal/pull/2402
- Also fixed few edge cases of conditional calls combined with setters, e.g.
foo&.bar = 123
- Also fixed few edge cases of conditional calls combined with setters, e.g.
🐎 Performance
- ⚙ Runtime optimization by @hmdne in https://github.com/opal/opal/pull/2383
- Improve performance of argument coertion, fast-track
Integer
,String
, and calling the designed coertion method - Optimize
Array#[]=
by moving the implementation to JavaScript and inlining type checks - Optimize internal runtime passing of block-options
- Improve performance of argument coertion, fast-track
- Compile
case
statements asswitch
whenever possible by @hmdne in https://github.com/opal/opal/pull/2411 - 👌 Improve performance with optimized common method/iter implementation shortcuts by @hmdne in https://github.com/opal/opal/pull/2401
🛠 Fixed
- 🛠 Fix
Regexp.new
, replace\A
to^
and\z
to$
by @ysakasin in https://github.com/opal/opal/pull/2079 - 🛠 Fix exception during
Hash#each
andHash#each_key
if keys get deleted during the loop by @janbiedermann in https://github.com/opal/opal/pull/2403 - 🛠 Fix defining multiple methods with the same block by @elia in https://github.com/opal/opal/pull/2397
- Correct
String#to_proc
andmethod_missing
compatibility by @hmdne in https://github.com/opal/opal/pull/2418 - Exit REPL respecting the exit status number by @janbiedermann in https://github.com/opal/opal/pull/2396
Internal
- 🔨 Rewriters refactor, fix interaction between cache and inverted runner by @hmdne in https://github.com/opal/opal/pull/2400
- 🚀 releasing.md: add a step to prepare for next release by @hmdne in https://github.com/opal/opal/pull/2407