GraalVM provides an ECMAScript-compliant runtime to execute JavaScript and Node.js applications.
It is fully standard compliant, execute applications with high performance, and provide all benefits from the GraalVM stack, including language interoperability and common tooling.
This release contains critical update for NodeJS artifacts only.
GraalJS 23.0.2
GraalVM provides an ECMAScript-compliant runtime to execute JavaScript and Node.js applications.
It is fully standard compliant, execute applications with high performance, and provide all benefits from the GraalVM stack, including language interoperability and common tooling.
GraalVM provides an ECMAScript-compliant runtime to execute JavaScript and Node.js applications.
It is fully standard compliant, execute applications with high performance, and provide all benefits from the GraalVM stack, including language interoperability and common tooling.
GraalVM provides an ECMAScript-compliant runtime to execute JavaScript and Node.js applications.
It is fully standard compliant, execute applications with high performance, and provide all benefits from the GraalVM stack, including language interoperability and common tooling.
GraalVM provides an ECMAScript-compliant runtime to execute JavaScript and Node.js applications.
It is fully standard compliant, execute applications with high performance, and provide all benefits from the GraalVM stack, including language interoperability and common tooling.
GraalVM provides an ECMAScript-compliant runtime to execute JavaScript and Node.js applications.
It is fully standard compliant, execute applications with high performance, and provide all benefits from the GraalVM stack, including language interoperability and common tooling.
GraalVM provides an ECMAScript-compliant runtime to execute JavaScript and Node.js applications.
It is fully standard compliant, execute applications with high performance, and provide all benefits from the GraalVM stack, including language interoperability and common tooling.
Implemented the Change Array by copy proposal. It is available in ECMAScript staging mode (--js.ecmascript-version=staging).
Added BigInteger interop support.
Note that foreign BigIntegers require an explicit type cast using the BigInt function to opt into JS BigInt semantics.
The default semantics is to treat all foreign numbers like JS Number values, regardless of the original value or type.
Arithmetic operators perform an implicit lossy conversion to double; mixing a JS BigInt with any non-JS number always throws.
Comparison operators attempt to do a precise value comparison where possible.
JS BigInt values can now be converted to java.math.BigInteger host objects, although a target type mapping may still be necessary to ensure consistent type mapping if the target type is ambiguous or absent.
GraalVM JavaScript is now an installable component of GraalVM. It can be installed with gu install js.
Enabled option js.foreign-object-prototype by default. Polyglot Interop objects now get a fitting JavaScript prototype assigned unless explicitly turned off using this flag.
Added intermediate prototype for foreign objects to simplify adapting functionality.
Removed experimental option commonjs-global-properties. The same functionality can be achieved in user code with a direct call to require() after context creation.
Added an experimental option --js.zone-rules-based-time-zones that allows to use timezone-related data from ZoneRulesProvider (instead of ICU4J data files).
Temporal objects can be converted to compatible Java objects when possible, using the Value API's methods like asDate().
Version 22.1.0
Updated Node.js to version 16.14.2.
Graal.js now requires Java 11+ and no longer supports Java 8.
Implemented the Array Grouping v3 proposal. It is available in ECMAScript staging mode (--js.ecmascript-version=staging).
Implemented the Temporal proposal. It is available behind the experimental option --js.temporal.
Implemented the Array Find from Last proposal. It is available in ECMAScript staging mode (--js.ecmascript-version=staging).
Optimized closures to only keep references on variables in the lexical environment that are needed by (one or more) closures. This optimization can be disabled with the experimental option --js.scope-optimization=false.
Moved the internal string representation to the new TruffleString type.
Added option --js.string-lazy-substrings (default: true) to allow toggling the copying behavior of string slices. When enabled, string slices internally create string views instead of copying the given string region, which increases performance but may also increase memory utilization.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps org.graalvm.js:js from 21.2.0 to 23.0.3.
Release notes
Sourced from org.graalvm.js:js's releases.
... (truncated)
Changelog
Sourced from org.graalvm.js:js's changelog.
... (truncated)
Commits
68a2a2a
GR-50540: release GraalVM 23.0.399c8a2c
[GR-49798] Backport: Upgrading the underlying Node.js to version 18.18.2.16a943a
Tests of v8::Object::CreateDataProperty().3f52092
Implementation of v8::Object::CreateDataProperty().d46ccab
Adding a note about Node.js update (to version 18.18.2) into changelog.bfb5b8a
Updating Node.js license in 3rd_party_licenses.txt.8347f0b
Updating the status of es-module test-suite.449190c
Updating the status of parallel test-suite.2803e27
Allowing graal-js error message in test-esm-import-flag.8ddeaa0
Implementation of v8::Isolate::InContext().Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show