opal 1.3.0.rc1 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 16782d65a3f9ab801bc44d034562757ea7dc22085099087d310850fce8fe08d4
4
- data.tar.gz: fcf2a3d06b0ea2177e48bc3047efdd4049d8c3a237b53f506fa8a199506cb1c3
3
+ metadata.gz: 0b7a4b076832e2c4f5cf807f40bf1a9d7e1a0328e1ef4b245f1514ae2ff145dd
4
+ data.tar.gz: 5df94eda8d910641c918d913b7421796b5e513b05600e51d1debd0cd3944cf20
5
5
  SHA512:
6
- metadata.gz: 46ebb7477fd100fcd133eedbc284c967be2b9938fa1c6da6bfb82c22c41f99202f577880514c15e3ce31e57c411ef7b213c4bae07b2500a2c30bff34d0bd296c
7
- data.tar.gz: 44ebb97f64ad9586b9b10eb3d2a8d60a2d8f78a8dd4c8766a13c9ecc80548272f2014c4b8aa96b3fba31c34147d094a7fc2832ab18818480e4736d0addd0839f
6
+ metadata.gz: 04050f1589cf7ee4a3be39907e4618434659157968b63f225c6ae27a46da5f9e77c57080ca0c741aa333c3a3e48e2bbe38a3719f8540e55aefe26a3b6c4d3710
7
+ data.tar.gz: 867a69aa3810572ff1636f4b6dc0df14435fa54dc06655101dde8017e71ab1892393e5a61517194f4828d596301097876e36734d9c4039f2d2109c70a011a3cb
data/CHANGELOG.md CHANGED
@@ -15,7 +15,114 @@ Changes are grouped as follows:
15
15
 
16
16
 
17
17
 
18
- ## [1.2.0](https://github.com/opal/opal/compare/v1.1.1...1.2.0) - 2021-07-28
18
+ ## [1.3.0](https://github.com/opal/opal/compare/v1.2.0...v1.3.0) - 2021-10-27
19
+
20
+
21
+ ### Added
22
+
23
+ - Add support for `retry` ([#2264](https://github.com/opal/opal/pull/2264))
24
+ - Modernize Exceptions ([#2264](https://github.com/opal/opal/pull/2264))
25
+ - Add `#cause`, `#backtrace_locations`, `#full_message` to `Exception`
26
+ - Normalize backtraces across platforms
27
+ - Add `Thread::Backtrace::Location`
28
+ - Output Exception#full_message on uncaught exceptions ([#2269](https://github.com/opal/opal/pull/2269))
29
+ - TracePoint `:class` support ([#2049](https://github.com/opal/opal/pull/2049))
30
+ - Implement the Flip-Flop operators ([#2261](https://github.com/opal/opal/pull/2261))
31
+ - Add `JS[]` to access properties on the global object ([#2259](https://github.com/opal/opal/pull/2259))
32
+ - Add `ENV.fetch` to the Nodejs implementation of `ENV` ([#2259](https://github.com/opal/opal/pull/2259))
33
+ - Opal::Cache, an optional compiler cache (enabled by default) (#2242, #2278, #2329)
34
+ - Alias for gvars, alias on main ([#2270](https://github.com/opal/opal/pull/2270))
35
+ - Support for GJS (GNOME's JavaScript runtime) runner ([#2280](https://github.com/opal/opal/pull/2280))
36
+ - Scope variables support for `eval()` ([#2256](https://github.com/opal/opal/pull/2256))
37
+ - Add support for `Kernel#binding` ([#2256](https://github.com/opal/opal/pull/2256))
38
+ - A (mostly) correct support for refinements ([#2256](https://github.com/opal/opal/pull/2256))
39
+ - Add support for ECMAScript modules with an `--esm` CLI option ([#2286](https://github.com/opal/opal/pull/2286))
40
+ - Implement `Regexp#names` and add named captures support ([#2272](https://github.com/opal/opal/pull/2272))
41
+ - REPL improvements: ([#2285](https://github.com/opal/opal/pull/2285))
42
+ - Colored output & history support
43
+ - `ls` to show available constants and variable
44
+ - Add `Method#===` as an alias to `Method#call`, works the same as `Proc#===` ([#2305](https://github.com/opal/opal/pull/2305))
45
+ - Add `IO#gets` and `IO#read_proc` along with other supporting methods ([#2309](https://github.com/opal/opal/pull/2309))
46
+ - Support `#gets` on most platforms, including browsers (via `prompt`)
47
+ - Move the REPL to a `--repl` CLI option of the main executable
48
+ - Completely refactor IO, now supporting methods like `#each_line` throughout the entire IO chain
49
+ - Add a runner for MiniRacer (as `miniracer`)
50
+ - Support Windows on the Chrome runner
51
+ - Support Windows on the REPL
52
+ - Platforms an IO implementations should either set `IO#read_proc` or overwrite `IO#sysread`
53
+ - [experimental] Add support for JavaScript async/await ([#2221](https://github.com/opal/opal/pull/2221))
54
+ - Enable the feature by adding a magic comment: `# await: true`
55
+ - The magic comment can be also used to mark specific method patterns to be awaited
56
+ (e.g. `# await: *_await, sleep` will make any method ending in `_await` or named `sleep` to be awaited)
57
+ - Add `Kernel#__await__` as a bridge to the `await` keyword (inspired by CoffeeScript await support)
58
+ - Require `opal/await` to get additional support
59
+ - Read more on the newly added documentation page
60
+ - Better interoperability between legacy Promise (v1) and native Promise (v2) ([#2221](https://github.com/opal/opal/pull/2221))
61
+ - Add `PromiseV1` as an alias to the original (legacy) Promise class
62
+ - Add `#to_v1` and `#to_v2` to both classes
63
+ - `Promise#to_n` will convert it to a native Promise (v2)
64
+ - Add `Opal::Config.esm` to enable/disable ES modules ([#2316](https://github.com/opal/opal/pull/2316))
65
+ - If Config.esm is enabled, SimpleServer does type="module"
66
+ - Add new rack-esm example
67
+ - Add a QuickJS (https://bellard.org/quickjs/) runner ([#2331](https://github.com/opal/opal/pull/2331))
68
+ - Add `IO#fileno`, `Method#curry`, `Buffer#to_s`, `Pathname.pwd` ([#2332](https://github.com/opal/opal/pull/2332))
69
+ - Add NodeJS support for `ARGF`, `ENV.{inspect,to_h,to_hash,merge}`, `File.{delete,unlink}`, `Kernel#system`, <code>Kernel#\`</code>, `Process::Status` ([#2332](https://github.com/opal/opal/pull/2332))
70
+ - Introduce `__dir__` support ([#2323](https://github.com/opal/opal/pull/2323))
71
+ - Full autoload support ([#2323](https://github.com/opal/opal/pull/2323))
72
+ - Now compatible with `opal-zeitwerk` and `isomorfeus`
73
+ - Allow toplevel autoloads
74
+ - Allow dynamic autoloads (e.g. can be hooked to fetch a URL upon autoload with a custom loader)
75
+ - Allow overwriting `require` (e.g. like rubygems does)
76
+ - Allow autoloading trees with `require_tree "./foo", autoload: true`
77
+ - Add Module#autoload?
78
+ - Autoload parts of the corelib ([#2323](https://github.com/opal/opal/pull/2323))
79
+
80
+ ### Fixed
81
+
82
+ - Fixed multiple line `Regexp` literal to not generate invalid syntax as JavaScript ([#1616](https://github.com/opal/opal/pull/1616))
83
+ - Fix `Kernel#{try,catch}` along with `UncaughtThrowError` ([#2264](https://github.com/opal/opal/pull/2264))
84
+ - Update source-map-support to fix an off-by-one error ([#2264](https://github.com/opal/opal/pull/2264))
85
+ - Source map: lines should start from 1, not 0 ([#2273](https://github.com/opal/opal/pull/2273))
86
+ - Allow for multiple underscored args with the same name in strict mode ([#2292](https://github.com/opal/opal/pull/2292))
87
+ - Show instance variables in `Kernel#inspect` ([#2285](https://github.com/opal/opal/pull/2285))
88
+ - `0.digits` was returning an empty array in strict mode ([#2301](https://github.com/opal/opal/pull/2301))
89
+ - Non Integer numbers were responding to `#digits` ([#2301](https://github.com/opal/opal/pull/2301))
90
+ - Correctly delete hash members when dealing with boxed strings ([#2306](https://github.com/opal/opal/pull/2306))
91
+ - Escape string components in interpolated strings (`dstrs`) correctly ([#2308](https://github.com/opal/opal/pull/2308))
92
+ - Don't try to return the JS `debugger` statement, just return `nil` ([#2307](https://github.com/opal/opal/pull/2307))
93
+ - Retain the `-` while stringifying `-0.0` ([#2304](https://github.com/opal/opal/pull/2304))
94
+ - Fix super support for rest args and re-assignments with implicit arguments ([#2315](https://github.com/opal/opal/pull/2315))
95
+ - Fix calling `Regexp#last_match` when `$~` is nil ([#2328](https://github.com/opal/opal/pull/2328))
96
+ - Windows support for chrome runner ([#2324](https://github.com/opal/opal/pull/2324))
97
+ - Use correct node separator for NODE_PATH on Windows
98
+ - Pass dir and emulate exec a bit on Windows
99
+ - Use Gem.win_platform?, match supported platform to ruby, simplify run
100
+ - NodeJS: Drop the first `--` argument in `ARGV` ([#2332](https://github.com/opal/opal/pull/2332))
101
+ - Fix `Object#require` not pointing to `Kernel#require` ([#2323](https://github.com/opal/opal/pull/2323))
102
+
103
+ ### Changed
104
+
105
+ - Fast-track bad constant names passed to `Struct.new` ([#2259](https://github.com/opal/opal/pull/2259))
106
+ - Renamed internal `super` related helpers,
107
+ `find_super_dispatcher` is now `find_super`, `find_iter_super_dispatcher` is now `find_block_super` ([#2090](https://github.com/opal/opal/pull/2090))
108
+ - The `opal-repl` CLI now requires files to be passed with `--require` (or `-r`) instead of the bare filename ([#2309](https://github.com/opal/opal/pull/2309))
109
+ - `Process` is now a Module, not a Class - just like in MRI ([#2332](https://github.com/opal/opal/pull/2332))
110
+ - `s = StringIO.new("a"); s << "b"; s.string` now returns "b", like MRI, but Opal used to return "ab" ([#2309](https://github.com/opal/opal/pull/2309))
111
+
112
+ ### Deprecated
113
+
114
+ ### Removed
115
+
116
+ ### Internal
117
+
118
+ - Switch from jshint to ESLint ([#2289](https://github.com/opal/opal/pull/2289))
119
+ - Switch from UglifyJS to Terser ([#2318](https://github.com/opal/opal/pull/2318))
120
+ - [CI] Performance regression check (#2276, #2282)
121
+
122
+
123
+
124
+
125
+ ## [1.2.0](https://github.com/opal/opal/compare/v1.1.1...v1.2.0) - 2021-07-28
19
126
 
20
127
 
21
128
  ### Added
data/UNRELEASED.md CHANGED
@@ -1,99 +1,6 @@
1
1
  ### Added
2
-
3
- - Add support for `retry` (#2264)
4
- - Modernize Exceptions (#2264)
5
- - Add `#cause`, `#backtrace_locations`, `#full_message` to `Exception`
6
- - Normalize backtraces across platforms
7
- - Add `Thread::Backtrace::Location`
8
- - Output Exception#full_message on uncaught exceptions (#2269)
9
- - TracePoint `:class` support (#2049)
10
- - Implement the Flip-Flop operators (#2261)
11
- - Add `JS[]` to access properties on the global object (#2259)
12
- - Add `ENV.fetch` to the Nodejs implementation of `ENV` (#2259)
13
- - Opal::Cache, an optional compiler cache (enabled by default) (#2242, #2278, #2329)
14
- - Alias for gvars, alias on main (#2270)
15
- - Support for GJS (GNOME's JavaScript runtime) runner (#2280)
16
- - Scope variables support for `eval()` (#2256)
17
- - Add support for `Kernel#binding` (#2256)
18
- - A (mostly) correct support for refinements (#2256)
19
- - Add support for ECMAScript modules with an `--esm` CLI option (#2286)
20
- - Implement `Regexp#names` and add named captures support (#2272)
21
- - REPL improvements: (#2285)
22
- - Colored output & history support
23
- - `ls` to show available constants and variable
24
- - Add `Method#===` as an alias to `Method#call`, works the same as `Proc#===` (#2305)
25
- - Add `IO#gets` and `IO#read_proc` along with other supporting methods (#2309)
26
- - Support `#gets` on most platforms, including browsers (via `prompt`)
27
- - Move the REPL to a `--repl` CLI option of the main executable
28
- - Completely refactor IO, now supporting
29
- - Add a runner for MiniRacer (as `miniracer`)
30
- - Support Windows on the Chrome runner
31
- - Support Windows on the REPL
32
- - Platforms an IO implementations should either set `IO#read_proc` or overwrite `IO#sysread`
33
- - [experimental] Add support for JavaScript async/await (#2221)
34
- - Enable the feature by adding a magic comment: `# await: true`
35
- - The magic comment can be also used to mark specific method patterns to be awaited
36
- (e.g. `# await: *_await, sleep` will make any method ending in `_await` or named `sleep` to be awaited)
37
- - Add `Kernel#__await__` as a bridge to the `await` keyword (inspired by CoffeeScript await support)
38
- - Require `opal/await` to get additional support
39
- - Read more on the newly added documentation page
40
- - Better interoperability between legacy Promise (v1) and native Promise (v2) (#2221)
41
- - Add `PromiseV1` as an alias to the original (legacy) Promise class
42
- - Add `#to_v1` and `#to_v2` to both classes
43
- - `Promise#to_n` will convert it to a native Promise (v2)
44
- - Add `Opal::Config.esm` to enable/disable ES modules (#2316)
45
- - If Config.esm is enabled, SimpleServer does type="module"
46
- - Add new rack-esm example
47
- - Add a QuickJS (https://bellard.org/quickjs/) runner (#2331)
48
- - Add `IO#fileno`, `Method#curry`, `Buffer#to_s`, `Pathname.pwd` (#2332)
49
- - Add NodeJS support for `ARGF`, `ENV.{inspect,to_h,to_hash,merge}`, `File.{delete,unlink}`, `Kernel#system`, <code>Kernel#`</code>, `Process::Status` (#2332)
50
- - Introduce `__dir__` support (#2323)
51
- - Full autoload support (#2323)
52
- - Now compatible with `opal-zeitwerk` and `isomorfeus`
53
- - Allow toplevel autoloads
54
- - Allow dynamic autoloads (e.g. can be hooked to fetch a URL upon autoload with a custom loader)
55
- - Allow overwriting `require` (e.g. like rubygems does)
56
- - Allow autoloading trees with `require_tree "./foo", autoload: true`
57
- - Add Module#autoload?
58
- - Autoload parts of the corelib (#2323)
59
-
60
2
  ### Fixed
61
-
62
- - Fixed multiple line `Regexp` literal to not generate invalid syntax as JavaScript (#1616)
63
- - Fix `Kernel#{try,catch}` along with `UncaughtThrowError` (#2264)
64
- - Update source-map-support to fix an off-by-one error (#2264)
65
- - Source map: lines should start from 1, not 0 (#2273)
66
- - Allow for multiple underscored args with the same name in strict mode (#2292)
67
- - Show instance variables in `Kernel#inspect` (#2285)
68
- - `0.digits` was returning an empty array in strict mode (#2301)
69
- - Non Integer numbers were responding to `#digits` (#2301)
70
- - Correctly delete hash members when dealing with boxed strings (#2306)
71
- - Escape string components in interpolated strings (`dstrs`) correctly (#2308)
72
- - Don't try to return the JS `debugger` statement, just return `nil` (#2307)
73
- - Retain the `-` while stringifying `-0.0` (#2304)
74
- - Fix super support for rest args and re-assignments with implicit arguments (#2315)
75
- - Fix calling `Regexp#last_match` when `$~` is nil (#2328)
76
- - Windows support for chrome runner (#2324)
77
- - Use correct node separator for NODE_PATH on Windows
78
- - Pass dir and emulate exec a bit on Windows
79
- - Use Gem.win_platform?, match supported platform to ruby, simplify run
80
- - NodeJS: Drop the first `--` argument in `ARGV` (#2332)
81
- - Fix `Object#require` not pointing to `Kernel#require` (#2323)
82
-
83
3
  ### Changed
84
-
85
- - Fast-track bad constant names passed to `Struct.new` (#2259)
86
- - Renamed internal `super` related helpers,
87
- `find_super_dispatcher` is now `find_super`, `find_iter_super_dispatcher` is now `find_block_super` (#2090)
88
- - The `opal-repl` CLI now requires files to be passed with `--require` (or `-r`) instead of the bare filename (#2309)
89
- - `Process` is now a Module, not a Class - just like in MRI (#2332)
90
-
91
4
  ### Deprecated
92
-
93
5
  ### Removed
94
-
95
6
  ### Internal
96
-
97
- - Switch from jshint to ESLint (#2289)
98
- - Switch from UglifyJS to Terser (#2318)
99
- - [CI] Performance regression check (#2276, #2282)
data/lib/opal/version.rb CHANGED
@@ -3,5 +3,5 @@
3
3
  module Opal
4
4
  # WHEN RELEASING:
5
5
  # Remember to update RUBY_ENGINE_VERSION in opal/corelib/constants.rb too!
6
- VERSION = '1.3.0.rc1'
6
+ VERSION = '1.3.0'
7
7
  end
@@ -1,8 +1,8 @@
1
1
  RUBY_PLATFORM = 'opal'
2
2
  RUBY_ENGINE = 'opal'
3
3
  RUBY_VERSION = '3.0.2'
4
- RUBY_ENGINE_VERSION = '1.3.0.rc1'
5
- RUBY_RELEASE_DATE = '2021-10-20'
4
+ RUBY_ENGINE_VERSION = '1.3.0'
5
+ RUBY_RELEASE_DATE = '2021-10-27'
6
6
  RUBY_PATCHLEVEL = 0
7
7
  RUBY_REVISION = '0'
8
8
  RUBY_COPYRIGHT = 'opal - Copyright (C) 2013-2021 Adam Beynon and the Opal contributors'
@@ -636,7 +636,7 @@ module Kernel
636
636
  if (typeof #{file} !== 'string' && Opal.String && Opal.Array) {
637
637
  #{file = Opal.coerce_to!(file, String, :to_str) }
638
638
  }
639
- Opal.require(#{file})
639
+ return Opal.require(#{file})
640
640
  }
641
641
  end
642
642
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opal
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0.rc1
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Elia Schito
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: exe
12
12
  cert_chain: []
13
- date: 2021-10-20 00:00:00.000000000 Z
13
+ date: 2021-10-27 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: ast
@@ -1121,10 +1121,10 @@ licenses:
1121
1121
  metadata:
1122
1122
  homepage_uri: https://opalrb.com/
1123
1123
  bug_tracker_uri: https://github.com/opal/opal/issues
1124
- changelog_uri: https://github.com/opal/opal/blob/v1.3.0.rc1/CHANGELOG.md
1125
- readme_uri: https://github.com/opal/opal/blob/v1.3.0.rc1/README.md
1126
- api_documentation_uri: http://opalrb.com/docs/api/v1.3.0.rc1/index.html
1127
- guides_uri: http://opalrb.com/docs/guides/v1.3.0.rc1/index.html
1124
+ changelog_uri: https://github.com/opal/opal/blob/v1.3.0/CHANGELOG.md
1125
+ readme_uri: https://github.com/opal/opal/blob/v1.3.0/README.md
1126
+ api_documentation_uri: http://opalrb.com/docs/api/v1.3.0/index.html
1127
+ guides_uri: http://opalrb.com/docs/guides/v1.3.0/index.html
1128
1128
  chat_uri: https://gitter.im/opal/opal
1129
1129
  source_code_uri: https://github.com/opal/opal
1130
1130
  post_install_message:
@@ -1138,9 +1138,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
1138
1138
  version: '2.3'
1139
1139
  required_rubygems_version: !ruby/object:Gem::Requirement
1140
1140
  requirements:
1141
- - - ">"
1141
+ - - ">="
1142
1142
  - !ruby/object:Gem::Version
1143
- version: 1.3.1
1143
+ version: '0'
1144
1144
  requirements: []
1145
1145
  rubygems_version: 3.2.3
1146
1146
  signing_key: