Skip to content

Commit 77e0d28

Browse files
committed
Merge commit '6387bac4281ba1c4a8050cd055071615593d214c' into changes-0917
* commit '6387bac4281ba1c4a8050cd055071615593d214c': (78 commits) More consistent test optimization levels (mozilla#1317) ci: set minimal permissions on GitHub Workflows Compare all primitive value type wrappers by value Fixing formatting issues Treat String, ConsString, Boolean, and Double as value types setter function (from property descriptor) has to convert the args (see HtmlUnit#7) also use try-with-resource FIX: Wrap key and value for NativeJavaMap iterator Added more tests FIX: Wrap result of iterator BUG: for X of javaList does not work properly in strict mode removed obsolete LineSeparator Spotless Preserving cause, when a JavaException is rethrown in JavaScript fix ScriptException when bound functions are called inside Promise.then() test cases from mozilla#1242 fix taken from p-bakker's sugestion fix name property for bound functions (see issue mozilla#1297) Fix the condition for isResourceChanged Code Cleanup (mozilla#1295) ignore %c styling but count to not disturb further replacements ... # Conflicts: # src/org/mozilla/javascript/NativeObject.java # testsrc/org/mozilla/javascript/tests/json/JsonParserTest.java
2 parents f01b30c + 6387bac commit 77e0d28

File tree

3,705 files changed

+24962
-23010
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

3,705 files changed

+24962
-23010
lines changed

.github/workflows/gradle.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ on:
66
pull_request:
77
branches: [ master ]
88

9+
permissions: read-all
10+
911
jobs:
1012
build:
1113
runs-on: ubuntu-latest

.github/workflows/publish-github.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ on:
77
types: [published]
88
# Allows to run this workflow manually from the Actions tab
99
workflow_dispatch:
10+
permissions: read-all
1011
jobs:
1112
build:
1213
runs-on: ubuntu-latest

.github/workflows/publish-maven.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ name: Publish to Maven Central
33
on:
44
# Allows to run this workflow manually from the Actions tab
55
workflow_dispatch:
6+
permissions: read-all
67
jobs:
78
build:
89
runs-on: ubuntu-latest

PGP_KEYS.txt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
Recent releases of Rhino are signed using the GPG key:
2+
3+
greg+rhino@brail.org
4+
5+
which may be found using GPG at keyserver.ubuntu.com.
6+
7+
The fingerprint is below:
8+
9+
pub rsa3072 2022-01-04 [SC]
10+
E9AF 5293 C334 C7C0 B583 227D 2F45 F85C DF08 2E68
11+
uid [ unknown] Gregory Brail (Rhino Automated Builds) <greg+rhino@brail.org>
12+
sub rsa3072 2022-01-04 [E]

README.md

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,22 +10,25 @@ Rhino is licensed under the [MPL 2.0](./LICENSE.txt).
1010

1111
## Releases
1212

13+
The current release is <a href="https://github.com/mozilla/rhino/releases/tag/Rhino1_7_14_Release">Rhino 1.7.14</a>. Please see the [Release Notes](./RELEASE-NOTES.md).
14+
15+
<details><summary>Releases</summary>
1316
<table>
14-
<tr><td><a href="https://github.com/mozilla/rhino/releases/tag/Rhino1_7R5_RELEASE">Rhino 1.7R5</a></td><td>January 29, 2015</td></tr>
15-
<tr><td><a href="https://github.com/mozilla/rhino/releases/tag/Rhino1_7_6_RELEASE">Rhino 1.7.6</a></td><td>April 15, 2015</td></tr>
16-
<tr><td><a href="https://github.com/mozilla/rhino/releases/tag/Rhino1_7_7_RELEASE">Rhino 1.7.7</a></td><td>June 17, 2015</td></tr>
17-
<tr><td><a href="https://github.com/mozilla/rhino/releases/tag/Rhino1_7_7_1_RELEASE">Rhino 1.7.7.1</a></td><td>February 2, 2016</td></tr>
18-
<tr><td><a href="https://github.com/mozilla/rhino/releases/tag/Rhino1_7_7_2_Release">Rhino 1.7.7.2</a></td><td>August 24, 2017</td></tr>
19-
<tr><td><a href="https://github.com/mozilla/rhino/releases/tag/Rhino1_7_8_Release">Rhino 1.7.8</a></td><td>January 22, 2018</td></tr>
20-
<tr><td><a href="https://github.com/mozilla/rhino/releases/tag/Rhino1_7_9_Release">Rhino 1.7.9</a></td><td>March 15, 2018</td></tr>
21-
<tr><td><a href="https://github.com/mozilla/rhino/releases/tag/Rhino1_7_10_Release">Rhino 1.7.10</a></td><td>April 9, 2018</td></tr>
22-
<tr><td><a href="https://github.com/mozilla/rhino/releases/tag/Rhino1_7_11_Release">Rhino 1.7.11</a></td><td>May 30, 2019</td></tr>
23-
<tr><td><a href="https://github.com/mozilla/rhino/releases/tag/Rhino1_7_12_Release">Rhino 1.7.12</a></td><td>January 13, 2020</td></tr>
24-
<tr><td><a href="https://github.com/mozilla/rhino/releases/tag/Rhino1_7_13_Release">Rhino 1.7.13</a></td><td>September 2, 2020</td></tr>
2517
<tr><td><a href="https://github.com/mozilla/rhino/releases/tag/Rhino1_7_14_Release">Rhino 1.7.14</a></td><td>January 6, 2022</td></tr>
18+
<tr><td><a href="https://github.com/mozilla/rhino/releases/tag/Rhino1_7_13_Release">Rhino 1.7.13</a></td><td>September 2, 2020</td></tr>
19+
<tr><td><a href="https://github.com/mozilla/rhino/releases/tag/Rhino1_7_12_Release">Rhino 1.7.12</a></td><td>January 13, 2020</td></tr>
20+
<tr><td><a href="https://github.com/mozilla/rhino/releases/tag/Rhino1_7_11_Release">Rhino 1.7.11</a></td><td>May 30, 2019</td></tr>
21+
<tr><td><a href="https://github.com/mozilla/rhino/releases/tag/Rhino1_7_10_Release">Rhino 1.7.10</a></td><td>April 9, 2018</td></tr>
22+
<tr><td><a href="https://github.com/mozilla/rhino/releases/tag/Rhino1_7_9_Release">Rhino 1.7.9</a></td><td>March 15, 2018</td></tr>
23+
<tr><td><a href="https://github.com/mozilla/rhino/releases/tag/Rhino1_7_8_Release">Rhino 1.7.8</a></td><td>January 22, 2018</td></tr>
24+
<tr><td><a href="https://github.com/mozilla/rhino/releases/tag/Rhino1_7_7_2_Release">Rhino 1.7.7.2</a></td><td>August 24, 2017</td></tr>
25+
<tr><td><a href="https://github.com/mozilla/rhino/releases/tag/Rhino1_7_7_1_RELEASE">Rhino 1.7.7.1</a></td><td>February 2, 2016</td></tr>
26+
<tr><td><a href="https://github.com/mozilla/rhino/releases/tag/Rhino1_7_7_RELEASE">Rhino 1.7.7</a></td><td>June 17, 2015</td></tr>
27+
<tr><td><a href="https://github.com/mozilla/rhino/releases/tag/Rhino1_7_6_RELEASE">Rhino 1.7.6</a></td><td>April 15, 2015</td></tr>
28+
<tr><td><a href="https://github.com/mozilla/rhino/releases/tag/Rhino1_7R5_RELEASE">Rhino 1.7R5</a></td><td>January 29, 2015</td></tr>
2629
</table>
30+
</details>
2731

28-
[Release Notes](./RELEASE-NOTES.md) for recent releases.
2932

3033
[Compatibility table](https://mozilla.github.io/rhino/compat/engines.html) which shows which advanced JavaScript
3134
features from ES6, and ES2016+ are implemented in Rhino.

RELEASE-STEPS.md

Lines changed: 67 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ that's there).
1515
Now might be a good time to run "./gradlew publishToMavenLocal" and use the
1616
published JARs as a sanity check.
1717

18-
## Update Compatibility Table
18+
## Update Native Compatibility Table
1919

2020
The offial Kangax "compat table" now supports Rhino, but it's convenient
2121
to have our own that shows progress across all releases. Here's how to
@@ -33,8 +33,8 @@ Then, update the table:
3333
The resulting "index.html" can be copied into "docs/compat/engines.html" in
3434
this repo.
3535

36-
## Push the Release to GitHub
3736

37+
## Push the Release to GitHub
3838
At this point, the current contents of your directory correspond to the
3939
new release. Prepare a pull request containing the changes, submit it,
4040
and merge it -- the result will be that the head of the "master" branch
@@ -69,6 +69,71 @@ The Homebrew team for Mac does not necessarily pick up Rhino releases
6969
automatically. It may be necessary to submit a PR to the "homebrew/homebrew"
7070
repo in GitHub for a change to the file "Library/Formula/rhino.rb".
7171

72+
## Update Kangax Compatibility Table
73+
74+
Check out `kangax/compat-table` and prepare a pull request to describe
75+
support in the new version of Rhino. First, add a new environment for the
76+
version to `environments.json` like so:
77+
78+
```json
79+
"rhino1_7_14": {
80+
"full": "Rhino 1.7.14",
81+
"short": "Rhino 1.7.14",
82+
"family": "Rhino",
83+
"platformtype": "engine",
84+
"release": "2022-01-06",
85+
"obsolete": true
86+
},
87+
```
88+
89+
Copy the most recent rhino JAR into the directory as `rhino.jar`. Next, run
90+
`rhino.js`. This will produce a number of messages indicating that failing
91+
tests now pass, or that new tests now have recorded results:
92+
93+
**** data-es2016plus ****
94+
95+
data-es2016plus -> Error.cause property -> AggregateError.prototype lacks cause: test result out of date, res: true, actual: false
96+
97+
Manually update each indicated `data-*.js` file with updated test data as
98+
indicated. For example, a test that failed in 1.7.13 and passed in 1.7.14
99+
would have a `res` section with the following diff:
100+
101+
```javascript
102+
res: {
103+
babel6corejs2: false,
104+
babel7corejs3: babel.corejs,
105+
/* ... */
106+
rhino1_7_13: false,
107+
+ rhino1_7_14: true,
108+
}
109+
```
110+
111+
Rerun `rhino.js` and verify it produces no output. Then `npm run build` and
112+
submit your pull request.
113+
114+
## Update Babel
115+
116+
Once the `compat-table` changes are merged, check out `babel/babel` and prepare
117+
a pull request to enable support for `babel-preset-env` in the new release.
118+
119+
* Update `COMPAT_TABLE_COMMIT` in `packages/babel-compat-data/scripts/download-compat-table.sh`
120+
to correspond to the merge commit in `compat-table`.
121+
* Run `make build-compat-data && make bootstrap && OVERWRITE=true yarn jest`.
122+
123+
Then submit the resulting patch as a pull request to Babel.
124+
125+
## Update core-js-compat
126+
127+
Compatibility data for `core-js`, the `babel` polyfill engine, also needs to
128+
be updated.
129+
130+
* Check out `zloirock/core-js` and run `npm install && npm run build-compat`.
131+
* Define the actual Rhino version in the `compat-rhino-prepare` task in `package.json`.
132+
* Run `npm run compat-rhino` and you will see the results of tests in the console.
133+
* Much like in `compat-table`, edit `packages/core-js-compat/src/data.mjs` to add a line
134+
`rhino: 1.7.[XX]` for any newly-passing test labeled as "not required".
135+
* Submit a pull request with changes.
136+
72137
## Prepare for Next Release
73138

74139
Now it's time to move to the next "SNAPSHOT" release. Update gradle.properties,

0 commit comments

Comments
 (0)