mirror of https://github.com/boa-dev/boa.git
Tree:
deb8c8946e
add-vhs-ci
benchmarks
control-flow-graph
expect-lints
feature/node_span
feature/snapshot
features
gh-readonly-queue/main/pr-2877-b0ddf5eed00a53281d67fc7d846233fc0d99ce9c
gh-readonly-queue/main/pr-3144-8e48cec73fae708420b9af88813d4870243c491a
main
nan-boxing
optimization/static-shapes
real_conformance
reduce-environment-allocations
refactor/interner
refactor/register-vm
release-0.20
releases/0.17
releases/0.19
semver_checks
tco
utility-crate
wasm-debugger
nightly
v0.10
v0.11
v0.12
v0.13
v0.14
v0.15
v0.16
v0.17
v0.17.1
v0.17.2
v0.17.3
v0.18
v0.19
v0.19.1
v0.2.0
v0.2.1
v0.3.0
v0.4.0
v0.5.0
v0.5.1
v0.6.0
v0.7.0
v0.8.0
v0.9.0
${ noResults }
2281 Commits (deb8c8946e2d4ea97d9dc2ec9fbd9cc81b6a0e29)
Author | SHA1 | Message | Date |
---|---|---|---|
Iban Eguia Moraza | 63d9d67ecb |
Added a Boa runtime (#2743)
This Pull Request fixes/closes #718. It changes the following: - Adds a new `boa_runtime` crate, that will only include `console` for now - Changes the `boa_cli` crate to use the new `boa_runtime` crate for the console, instead of the `console` feature of `boa_engine` - Removes the `console` feature in `boa_engine` - Adds a new `boa_testing` helper crate with some useful functions for testing `boa`. This part duplicates the code from `boa_engine`, but I could not make `boa_engine` work with this crate as a dependency due to circular dependencies. Maybe doing it a bit generic could work, but didn't have enough time to check it. To be checked: wether the WASM example works as expected with the console. |
2 years ago |
Haled Odat | 49e39d42ef |
Fix panic when calling toString with radix (#2863)
This Pull Request fixes/closes #2717 and related to #2479 This was caused by an incorrect to digit conversion. Here are two examples that always cause a panic. They have been added as a test in `number/test.rs` ```js (0.1600057092765239).toString(36) (0.23046743672210102).toString(36) ``` |
2 years ago |
Haled Odat | 72866e217e |
Allow `Date` object to store invalid `NativeDateTime` (#2861)
Part of ES5. This PR allows `Date` objects to store an invalid `NativeDateTime` as a `i64` and check when `getMinutes` (or other methods) call and check if it's valid, like in the spec This was failing some `Date` tests, when calling `new Date(8.64e15)` then calling `getTime()` it was returning `NaN` when it should return the passed value `8640000000000000` (as node does) |
2 years ago |
Haled Odat | 31bc679f9d |
Fix `Date.prototype[Symbol.primitive]` incorrect attributes (#2862)
Part of ES5. This was the last failing test on `Date.prototype[Symbol.primitive]` test suite :) It changes the following: - Fix `Date.prototype[Symbol.primitive]` incorrect attributes |
2 years ago |
José Julián Espina | 53e4825a19 |
Implement var initializers in for-in loops (#2842)
This Pull Request implements [Initializers in ForIn Statement Heads](https://tc39.es/ecma262/#sec-initializers-in-forin-statement-heads) from the Annex B. This also cleans up the "annex-b" feature to be able to disable it with `--no-default-features`, since I couldn't test the error messages when the feature is disabled. |
2 years ago |
Haled Odat | 9159f90725 |
Fix `PropertyKey` index parse (#2843)
Fixes incorrect parsing of index property keys, such as: - `"+0"` is converted to an integer index `0`, should be a string - `"00"` is converted to an integer index `0`, should be a string - `"01"` is converted to an integer index `1`, should be a string |
2 years ago |
José Julián Espina | 739bd5a9cb |
Optimize `String.prototype.normalize` (#2848)
We currently use `unicode_normalization` to handle the `String.prototype.normalize` method. However, the crate doesn't support UTF-16 as a first class string, so we had to do some hacks by converting the valid parts of a string to UTF-8, normalizing each one, encoding back to UTF-16 and concatenating everything with the unpaired surrogates within. All of this is obviously suboptimal for performance, which is why I leveraged the `icu_normalizer`, which does support UTF-16 input, to replace our current implementation. Additionally, this allows users to override the default normalization data if the `intl` feature is enabled by providing the required data in the `BoaProvider` data provider. |
2 years ago |
raskad | 93b52cd6ef |
Catch 'eval' and 'arguments' in setter method parameter (#2858)
This Pull Request changes the following: - Catch 'eval' and 'arguments' in setter method parameter |
2 years ago |
dependabot[bot] | 3db79f61a6 |
Bump regex from 1.7.3 to 1.8.0 (#2855)
Bumps [regex](https://github.com/rust-lang/regex) from 1.7.3 to 1.8.0. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/rust-lang/regex/blob/master/CHANGELOG.md">regex's changelog</a>.</em></p> <blockquote> <h1>1.8.0 (2023-04-20)</h1> <p>This is a sizeable release that will be soon followed by another sizeable release. Both of them will combined close over 40 existing issues and PRs.</p> <p>This first release, despite its size, essentially represent preparatory work for the second release, which will be even bigger. Namely, this release:</p> <ul> <li>Increases the MSRV to Rust 1.60.0, which was released about 1 year ago.</li> <li>Upgrades its dependency on <code>aho-corasick</code> to the recently release 1.0 version.</li> <li>Upgrades its dependency on <code>regex-syntax</code> to the simultaneously released <code>0.7</code> version. The changes to <code>regex-syntax</code> principally revolve around a rewrite of its literal extraction code and a number of simplifications and optimizations to its high-level intermediate representation (HIR).</li> </ul> <p>The second release, which will follow ~shortly after the release above, will contain a soup-to-nuts rewrite of every regex engine. This will be done by bringing <a href="https://github.com/BurntSushi/regex-automata"><code>regex-automata</code></a> into this repository, and then changing the <code>regex</code> crate to be nothing but an API shim layer on top of <code>regex-automata</code>'s API.</p> <p>These tandem releases are the culmination of about 3 years of on-and-off work that <a href="https://redirect.github.com/rust-lang/regex/issues/656">began in earnest in March 2020</a>.</p> <p>Because of the scale of changes involved in these releases, I would love to hear about your experience. Especially if you notice undocumented changes in behavior or performance changes (positive <em>or</em> negative).</p> <p>Most changes in the first release are listed below. For more details, please see the commit log, which reflects a linear and decently documented history of all changes.</p> <p>New features:</p> <ul> <li>[FEATURE <a href="https://redirect.github.com/rust-lang/regex/issues/501">#501</a>](<a href="https://redirect.github.com/rust-lang/regex/issues/501">rust-lang/regex#501</a>): Permit many more characters to be escaped, even if they have no significance. More specifically, any ASCII character except for <code>[0-9A-Za-z<>]</code> can now be escaped. Also, a new routine, <code>is_escapeable_character</code>, has been added to <code>regex-syntax</code> to query whether a character is escapeable or not.</li> <li>[FEATURE <a href="https://redirect.github.com/rust-lang/regex/issues/547">#547</a>](<a href="https://redirect.github.com/rust-lang/regex/issues/547">rust-lang/regex#547</a>): Add <code>Regex::captures_at</code>. This filles a hole in the API, but doesn't otherwise introduce any new expressive power.</li> <li>[FEATURE <a href="https://redirect.github.com/rust-lang/regex/issues/595">#595</a>](<a href="https://redirect.github.com/rust-lang/regex/issues/595">rust-lang/regex#595</a>): Capture group names are now Unicode-aware. They can now begin with either a <code>_</code> or any "alphabetic" codepoint. After the first codepoint, subsequent codepoints can be any sequence of alpha-numeric codepoints, along with <code>_</code>, <code>.</code>, <code>[</code> and <code>]</code>. Note that replacement syntax has not changed.</li> <li>[FEATURE <a href="https://redirect.github.com/rust-lang/regex/issues/810">#810</a>](<a href="https://redirect.github.com/rust-lang/regex/issues/810">rust-lang/regex#810</a>):</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/rust-lang/regex/commits">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=regex&package-manager=cargo&previous-version=1.7.3&new-version=1.8.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) 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-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> 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 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) </details> |
2 years ago |
José Julián Espina | 338f6f8176 |
Create a unique `PromiseCapability` on each async function call (#2846)
This Pull Request changes the following: - Creates a new `PromiseCapability` after every async function call instead of sharing the same capability for all calls of the same async function. |
2 years ago |
dependabot[bot] | f97ad0dde7 |
Bump clap from 4.2.3 to 4.2.4 (#2851)
Bumps [clap](https://github.com/clap-rs/clap) from 4.2.3 to 4.2.4. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/clap-rs/clap/releases">clap's releases</a>.</em></p> <blockquote> <h2>v4.2.4</h2> <h2>[4.2.4] - 2023-04-19</h2> <h3>Documentation</h3> <ul> <li>Corrected docs for <code>Command::style</code></li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's changelog</a>.</em></p> <blockquote> <h2>[4.2.4] - 2023-04-19</h2> <h3>Documentation</h3> <ul> <li>Corrected docs for <code>Command::style</code></li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
dependabot[bot] | b16aff29d9 |
Bump webpack from 5.79.0 to 5.80.0 (#2850)
Bumps [webpack](https://github.com/webpack/webpack) from 5.79.0 to 5.80.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/webpack/webpack/releases">webpack's releases</a>.</em></p> <blockquote> <h2>v5.80.0</h2> <h2>New Features</h2> <ul> <li>Support destructuring assignment in <code>import.meta</code> by <a href="https://github.com/vankop"><code>@vankop</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/16996">webpack/webpack#16996</a></li> <li>Support treeshaking for destructuring assignment with <code>AwaitExpression</code> by <a href="https://github.com/vankop"><code>@vankop</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/16995">webpack/webpack#16995</a></li> <li>Introduce <code>errorsSpace</code>, <code>warningsSpace</code> for more readable traces in stats by <a href="https://github.com/vankop"><code>@vankop</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/15450">webpack/webpack#15450</a></li> </ul> <h2>Bug Fixes</h2> <ul> <li>[CSS] - Fix runtime generation bug for merged CSS Chunks by <a href="https://github.com/janlent1"><code>@janlent1</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/16903">webpack/webpack#16903</a></li> <li>[CSS] - Properly handle <code>url()</code>/<code>src()</code>/<code>image-set()</code>/<code>image()</code> by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/16978">webpack/webpack#16978</a></li> <li>ES Module webpack loaders are now supported <a href="https://github.com/stefanprobst"><code>@stefanprobst</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/15198">webpack/webpack#15198</a></li> <li>Fix spelling error for <code>statement.finalizer</code> in parser by <a href="https://github.com/xiaoboost"><code>@xiaoboost</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/17016">webpack/webpack#17016</a></li> <li>Fix non-deterministic <code>moduleId</code> assignment due to encountering <code>NaN</code> in sort function by <a href="https://github.com/scameron"><code>@scameron</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/16933">webpack/webpack#16933</a></li> <li>[enhanced-resolve]: Support wildcards pattern with common suffix in package maps & imports/exports field by <a href="https://github.com/bvanjoi"><code>@bvanjoi</code></a> in <a href="https://redirect.github.com/webpack/enhanced-resolve/pull/353">webpack/enhanced-resolve#353</a></li> </ul> <h2>Tests & Contributor Experience</h2> <ul> <li>[CSS] - Added test case for <code>@supports</code> field by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/17011">webpack/webpack#17011</a></li> <li>Add test for include option in <code>BannerPlugin</code> by <a href="https://github.com/jeffin143"><code>@jeffin143</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/10736">webpack/webpack#10736</a></li> <li>Remove <code>finializer</code> from cspell.json by <a href="https://github.com/snitin315"><code>@snitin315</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/17022">webpack/webpack#17022</a></li> </ul> <h2>Developer Experience</h2> <ul> <li>Adds the twitter badge by <a href="https://github.com/yadunandanbhat"><code>@yadunandanbhat</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/15667">webpack/webpack#15667</a></li> <li>Add <code>wasm-bindgen</code> example to <code>example</code> by <a href="https://github.com/gthb"><code>@gthb</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/14313">webpack/webpack#14313</a></li> <li>Update grammar mistakes in examples by <a href="https://github.com/ersachin3112"><code>@ersachin3112</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/16988">webpack/webpack#16988</a></li> </ul> <h2>Dependencies & Maintenance</h2> <ul> <li>Bump core-js from 3.30.0 to 3.30.1 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/16983">webpack/webpack#16983</a></li> <li>Bump <code>@webassemblyjs</code> by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/17003">webpack/webpack#17003</a></li> <li>Bump assemblyscript from 0.25.2 to 0.27.2 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/16959">webpack/webpack#16959</a></li> <li>Bump enhanced-resolve to <a href="https://github.com/webpack/enhanced-resolve/releases/tag/v5.13.0">5.13.0</a> by <a href="https://github.com/TheLarkInn"><code>@TheLarkInn</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/17024">webpack/webpack#17024</a></li> <li>Included githubactions in the dependabot config by <a href="https://github.com/neilnaveen"><code>@neilnaveen</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/15618">webpack/webpack#15618</a></li> <li>Fix prettier by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/16976">webpack/webpack#16976</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/neilnaveen"><code>@neilnaveen</code></a> made their first contribution in <a href="https://redirect.github.com/webpack/webpack/pull/15618">webpack/webpack#15618</a></li> <li><a href="https://github.com/yadunandanbhat"><code>@yadunandanbhat</code></a> made their first contribution in <a href="https://redirect.github.com/webpack/webpack/pull/15667">webpack/webpack#15667</a></li> <li><a href="https://github.com/ersachin3112"><code>@ersachin3112</code></a> made their first contribution in <a href="https://redirect.github.com/webpack/webpack/pull/16988">webpack/webpack#16988</a></li> <li><a href="https://github.com/stefanprobst"><code>@stefanprobst</code></a> made their first contribution in <a href="https://redirect.github.com/webpack/webpack/pull/15198">webpack/webpack#15198</a></li> <li><a href="https://github.com/xiaoboost"><code>@xiaoboost</code></a> made their first contribution in <a href="https://redirect.github.com/webpack/webpack/pull/17016">webpack/webpack#17016</a></li> <li><a href="https://github.com/scameron"><code>@scameron</code></a> made their first contribution in <a href="https://redirect.github.com/webpack/webpack/pull/16933">webpack/webpack#16933</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/webpack/webpack/compare/v5.79.0...v5.80.0">https://github.com/webpack/webpack/compare/v5.79.0...v5.80.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
dependabot[bot] | 7821338a02 |
Bump @wasm-tool/wasm-pack-plugin from 1.6.0 to 1.7.0 (#2849)
Bumps [@wasm-tool/wasm-pack-plugin](https://github.com/wasm-tool/wasm-pack-plugin) from 1.6.0 to 1.7.0. <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/wasm-tool/wasm-pack-plugin/commits">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@wasm-tool/wasm-pack-plugin&package-manager=npm_and_yarn&previous-version=1.6.0&new-version=1.7.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) 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-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> 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 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) </details> |
2 years ago |
raskad | 54695cc620 |
Fix async generators (#2853)
This Pull Request fixes #2711 and fixes #2671. It changes the following: - Fix the logic in async generator `yield` and `yield*` expressions. |
2 years ago |
José Julián Espina | 65f910523b |
Fix setting properties inside `with` blocks (#2847)
This preserves the semantics of the abstract operation `Set` on `with` blocks; setting non-writable properties on non-strict mode just silently fails. |
2 years ago |
José Julián Espina | 1b67e5d607 |
Implement `Intl.Segmenter` (#2840)
The new ICU4X release stabilized the `icu_segmenter` component, so this PR implements `Intl.Segmenter` using that as a base. Also, I opted for importing `itertools` instead of copy-pasting the implementation of `TupleWindows` because its design is a lot more complex than `Intersperse`, which we copy-pasted previously. Though, I disabled all `std` features of `itertools` to make it a lot more lightweight, so it shouldn't make much difference in compilation times. |
2 years ago |
raskad | 8a29c5025b |
Fix sync generator yield expressions (#2838)
Depends on #2837. This Pull Request changes the following: - Fix the remaining `language/expressions/yield` tests. - Align the sync generator execution more to the spec. This breaks one async generator test. We can ignore that one as async generators are currently very broken. I will try to fix async generators next. |
2 years ago |
José Julián Espina | 40a5ae0a2f |
Fix more Annex B tests (#2841)
This Pull Request fixes some additional Annex B tests. It changes the following: - Fixes bugs related to parsing HTML closing comments (`-->`). - Implements `RegExp::compile` behind the `annex-b` feature. - Ignores the `legacy-regexp` feature flag, since it's still stage 3. |
2 years ago |
dependabot[bot] | 95a81984a0 |
Bump clap from 4.2.2 to 4.2.3 (#2844)
Bumps [clap](https://github.com/clap-rs/clap) from 4.2.2 to 4.2.3. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/clap-rs/clap/releases">clap's releases</a>.</em></p> <blockquote> <h2>v4.2.3</h2> <h2>[4.2.3] - 2023-04-18</h2> <h3>Features</h3> <ul> <li><code>Command::styles</code> for theming help/errors (behind <code>unstable-styles</code>)</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's changelog</a>.</em></p> <blockquote> <h2>[4.2.3] - 2023-04-18</h2> <h3>Features</h3> <ul> <li><code>Command::styles</code> for theming help/errors (behind <code>unstable-styles</code>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
dependabot[bot] | c87cf7c7f4 |
Bump bitflags from 2.1.0 to 2.2.0 (#2845)
Bumps [bitflags](https://github.com/bitflags/bitflags) from 2.1.0 to 2.2.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/bitflags/bitflags/releases">bitflags's releases</a>.</em></p> <blockquote> <h2>2.2.0</h2> <h2>What's Changed</h2> <ul> <li>Create SECURITY.md by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/338">bitflags/bitflags#338</a></li> <li>add docs to describe the behavior of multi-bit flags by <a href="https://github.com/nicholasbishop"><code>@nicholasbishop</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/340">bitflags/bitflags#340</a></li> <li>Add support for bytemuck by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/336">bitflags/bitflags#336</a></li> <li>Add a top-level macro for filtering attributes by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/341">bitflags/bitflags#341</a></li> <li>Prepare for 2.2.0 release by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/342">bitflags/bitflags#342</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/nicholasbishop"><code>@nicholasbishop</code></a> made their first contribution in <a href="https://redirect.github.com/bitflags/bitflags/pull/340">bitflags/bitflags#340</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/bitflags/bitflags/compare/2.1.0...2.2.0">https://github.com/bitflags/bitflags/compare/2.1.0...2.2.0</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/bitflags/bitflags/blob/main/CHANGELOG.md">bitflags's changelog</a>.</em></p> <blockquote> <h1>2.2.0</h1> <h2>What's Changed</h2> <ul> <li>Create SECURITY.md by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/338">bitflags/bitflags#338</a></li> <li>add docs to describe the behavior of multi-bit flags by <a href="https://github.com/nicholasbishop"><code>@nicholasbishop</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/340">bitflags/bitflags#340</a></li> <li>Add support for bytemuck by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/336">bitflags/bitflags#336</a></li> <li>Add a top-level macro for filtering attributes by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/bitflags/bitflags/pull/341">bitflags/bitflags#341</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/nicholasbishop"><code>@nicholasbishop</code></a> made their first contribution in <a href="https://redirect.github.com/bitflags/bitflags/pull/340">bitflags/bitflags#340</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/bitflags/bitflags/compare/2.1.0...2.2.0">https://github.com/bitflags/bitflags/compare/2.1.0...2.2.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
Iban Eguia Moraza | d288b63847 |
Upgraded to ICU 1.2 (#2826)
This PR upgrades ICU to 1.2. Unfortunately we still have some breaking changes, so this is being handled in https://github.com/unicode-org/icu4x/issues/3332 Co-authored-by: jedel1043 <jedel0124@gmail.com> |
2 years ago |
José Julián Espina | 20f4a82479 |
Improve strictness of `GeneratorState` (#2837)
Just some small improvements that increase the strictness of our generator state handling. Also rollbacks the implementation of `GeneratorValidate` because I forgot to remove it after I did modifications to #2821, and it doesn't make sense to have that if it isn't used by async functions. |
2 years ago |
dependabot[bot] | 4b72c06dbc |
Bump html-webpack-plugin from 5.5.0 to 5.5.1 (#2830)
Bumps [html-webpack-plugin](https://github.com/jantimon/html-webpack-plugin) from 5.5.0 to 5.5.1. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/jantimon/html-webpack-plugin/blob/main/CHANGELOG.md">html-webpack-plugin's changelog</a>.</em></p> <blockquote> <h3><a href="https://github.com/jantimon/html-webpack-plugin/compare/v5.5.0...v5.5.1">5.5.1</a> (2023-04-15)</h3> <h3>Bug Fixes</h3> <ul> <li><strong>perf:</strong> defer loading of pretty-error to improve startup time (<a href="https://redirect.github.com/jantimon/html-webpack-plugin/issues/1789">#1789</a>) (<a href=" |
2 years ago |
dependabot[bot] | 74ec5c1f96 |
Bump num_enum from 0.6.0 to 0.6.1 (#2836)
Bumps [num_enum](https://github.com/illicitonion/num_enum) from 0.6.0 to 0.6.1. <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
dependabot[bot] | 249b26214c |
Bump webpack-dev-server from 4.13.2 to 4.13.3 (#2829)
Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server) from 4.13.2 to 4.13.3. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/webpack/webpack-dev-server/releases">webpack-dev-server's releases</a>.</em></p> <blockquote> <h2>v4.13.3</h2> <h3><a href="https://github.com/webpack/webpack-dev-server/compare/v4.13.2...v4.13.3">4.13.3</a> (2023-04-15)</h3> <h3>Bug Fixes</h3> <ul> <li><strong>perf:</strong> reduced initial start time (<a href="https://redirect.github.com/webpack/webpack-dev-server/issues/4818">#4818</a>) (<a href=" |
2 years ago |
dependabot[bot] | 8e05aa56d4 |
Bump test262 from `f756ff6` to `e5a7450` (#2833)
Bumps [test262](https://github.com/tc39/test262) from `f756ff6` to `e5a7450`. <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
Iban Eguia Moraza | b1f4e0db6b |
Updated README (#2825)
This Pull Request updates the README by including the latest output of the `--help` command line argument in boa_cli. |
2 years ago |
José Julián Espina | 9dc4dd1410 |
Add hooks to get the current time and timezone (#2824)
This Pull Request changes the following: - Adds two new hooks to `HostHooks` to access the current UTC time and the current timezone offset. - Replaces usages of `Local` with the host hook. - Replaces usages of `Utc::now` and `Local::now` with the hooks. cc @lastmjs |
2 years ago |
José Julián Espina | a12f10e335 |
Implement `String.prototype.toLocaleUpper/LowerCase` (#2822)
This fixes some more ES5 tests that were failing because the functions haven't been implemented. It changes the following: - Adds `String::to_locale_case`, which uses ICU4X to convert strings to uppercase or lowercase. - Refactors `String::to_uppercase` and `String::to_lowercase` into a single `String::to_case` which uses a const generic to distinguish each case. - Adds utility functions on `JsString` to avoid code repetition. |
2 years ago |
dependabot[bot] | 4a5d59da9a |
Bump webpack from 5.78.0 to 5.79.0 (#2814)
Bumps [webpack](https://github.com/webpack/webpack) from 5.78.0 to 5.79.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/webpack/webpack/releases">webpack's releases</a>.</em></p> <blockquote> <h2>v5.79.0</h2> <h2>New Features</h2> <ul> <li>webpack will now support simple destructuring scenarios for treeshaking namespaced imports and <code>DefinePlugin</code> by <a href="https://github.com/vankop"><code>@vankop</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/16941">webpack/webpack#16941</a></li> </ul> <h2>Bugfixes</h2> <ul> <li>Truncate extremely long module names in <code>DefaultStatsPrinter</code> by <a href="https://github.com/snitin315"><code>@snitin315</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/16882">webpack/webpack#16882</a></li> <li>Add <code>[contenthash]</code> template support in <code>DllPlugin</code>'s <code>name</code> option by <a href="https://github.com/snitin315"><code>@snitin315</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/16935">webpack/webpack#16935</a></li> <li>Fixed a bug where <code>readRecords</code> compiler hook was causing hangs in conjunction with the <code>ReadRecordsPlugin</code> by <a href="https://github.com/snitin315"><code>@snitin315</code></a> & <a href="https://github.com/zookatron"><code>@zookatron</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/16944">webpack/webpack#16944</a></li> <li>webpack can now consume ESM bundles generated by webpack's esm output support by <a href="https://github.com/vankop"><code>@vankop</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/15608">webpack/webpack#15608</a></li> <li>[CSS] - webpack now respects CSS's case-insensitivity with atTags like <code>@MEDIA</code> by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/16915">webpack/webpack#16915</a></li> <li>[CSS] - Fixes a bug where crossOriginLoading anonymous would not work when loading styles by <a href="https://github.com/chenjiahan"><code>@chenjiahan</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/16925">webpack/webpack#16925</a></li> </ul> <h2>Developer Experience</h2> <ul> <li>Fix broken links and typos found in examples by <a href="https://github.com/snitin315"><code>@snitin315</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/16937">webpack/webpack#16937</a></li> <li>Export more <code>Externals</code> Option types by <a href="https://github.com/snitin315"><code>@snitin315</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/12774">webpack/webpack#12774</a></li> </ul> <h2>Contributor Experience</h2> <ul> <li>Add new test case for ModuleFederationPlugin usage with <code>shareScope</code> option by <a href="https://github.com/snitin315"><code>@snitin315</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/16943">webpack/webpack#16943</a></li> <li>Bump core-js from 3.20.3 to 3.30.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/16905">webpack/webpack#16905</a></li> <li>Update all applicable local dependencies and devDependencies by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/16919">webpack/webpack#16919</a>, <a href="https://redirect.github.com/webpack/webpack/pull/16924">webpack/webpack#16924</a>, <a href="https://redirect.github.com/webpack/webpack/pull/16936">webpack/webpack#16936</a>, <a href="https://redirect.github.com/webpack/webpack/pull/16968">webpack/webpack#16968</a></li> <li>Update to Jest 29 by <a href="https://github.com/alexander-akait"><code>@alexander-akait</code></a> in <a href="https://redirect.github.com/webpack/webpack/pull/16947">webpack/webpack#16947</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/chenjiahan"><code>@chenjiahan</code></a> made their first contribution in <a href="https://redirect.github.com/webpack/webpack/pull/16925">webpack/webpack#16925</a></li> <li><a href="https://github.com/karlhorky"><code>@karlhorky</code></a> made their first contribution in <a href="https://redirect.github.com/webpack/webpack/pull/16419">webpack/webpack#16419</a></li> <li><a href="https://github.com/zookatron"><code>@zookatron</code></a> made their first contribution in <a href="https://redirect.github.com/webpack/webpack/pull/16301">webpack/webpack#16301</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/webpack/webpack/compare/v5.78.0...v5.79.0">https://github.com/webpack/webpack/compare/v5.78.0...v5.79.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
José Julián Espina | 6d3550d0cb |
Implement async functions using generators (#2821)
This should hopefully fix more async/futures issues related to resuming execution in the future, since we can leverage generator logic to handle this for us. It changes the following: - Refactors `GeneratorContext` to handle context preparation. - Reuses the functionality of `GeneratorContext` in `Await`. - Removes `EarlyReturnType` in favour of a single `r#await` bool flag in `CallFrame`. |
2 years ago |
dependabot[bot] | 236012d853 |
Bump serde_json from 1.0.95 to 1.0.96 (#2815)
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.95 to 1.0.96. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/serde-rs/json/releases">serde_json's releases</a>.</em></p> <blockquote> <h2>v1.0.96</h2> <ul> <li>Guarantee that <code>to_writer</code> only writes valid UTF-8 strings (<a href="https://redirect.github.com/serde-rs/json/issues/1011">#1011</a>, thanks <a href="https://github.com/stepancheg"><code>@stepancheg</code></a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
dependabot[bot] | 841481803a |
Bump syn from 2.0.14 to 2.0.15 (#2820)
Bumps [syn](https://github.com/dtolnay/syn) from 2.0.14 to 2.0.15. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/dtolnay/syn/releases">syn's releases</a>.</em></p> <blockquote> <h2>2.0.15</h2> <ul> <li>Ensure <code>Type::Tuple</code> of length 1 prints as a tuple even if trailing comma is not provided in the Punctuated (<a href="https://redirect.github.com/dtolnay/syn/issues/1444">#1444</a>, thanks <a href="https://github.com/Fancyflame"><code>@Fancyflame</code></a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
dependabot[bot] | 78bc105add |
Bump writeable from 0.5.1 to 0.5.2 (#2819)
Bumps [writeable](https://github.com/unicode-org/icu4x) from 0.5.1 to 0.5.2. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/unicode-org/icu4x/blob/main/CHANGELOG.md">writeable's changelog</a>.</em></p> <blockquote> <h1>Changelog</h1> <h2>icu4x 1.2 (Apr 13, 2023)</h2> <ul> <li>General <ul> <li>All updated crates: <ul> <li>Add missing <code>Debug</code> impls (<a href="https://redirect.github.com/unicode-org/icu4x/issues/3206">#3206</a>)</li> <li>Update Rust edition to 2021 (<a href="https://redirect.github.com/unicode-org/icu4x/issues/3075">#3075</a>)</li> <li>Internal clippy fixes</li> <li>Unless otherwise specified, all crate updates are to version 1.2.</li> <li>Out-of-cycle releases do not get their own changelog entries, so some entries may span multiple patch or pre-1.0 minor versions.</li> </ul> </li> </ul> </li> <li>Data model and providers <ul> <li><code>icu_provider</code>: <ul> <li>Add support for silencing expected <code>DataError</code>s (<a href="https://redirect.github.com/unicode-org/icu4x/issues/3262">#3262</a>)</li> <li>Removing <code>dhat</code> dependency (<a href="https://redirect.github.com/unicode-org/icu4x/issues/3138">#3138</a>)</li> <li>Make trait <code>DataMarker: 'static</code> (<a href="https://redirect.github.com/unicode-org/icu4x/issues/3137">#3137</a>)</li> </ul> </li> <li><code>icu_datagen</code>: (includes patch updates 1.1.1 and 1.1.2) <ul> <li>(lib) Add <code>Out::Baked</code> and <code>BakedOptions</code>; deprecate <code>Out::Module</code> (<a href="https://redirect.github.com/unicode-org/icu4x/issues/3130">#3130</a>)</li> <li>(cli) Bump clap to 4.0, move to using derive (<a href="https://redirect.github.com/unicode-org/icu4x/issues/3149">#3149</a>)</li> <li>Pare down datagen deps (<a href="https://redirect.github.com/unicode-org/icu4x/issues/3160">#3160</a>)</li> <li>Support changes from CLDR 43 (<a href="https://redirect.github.com/unicode-org/icu4x/issues/3182">#3182</a>, <a href="https://redirect.github.com/unicode-org/icu4x/issues/3201">#3201</a>, <a href="https://redirect.github.com/unicode-org/icu4x/issues/3204">#3204</a>, <a href="https://redirect.github.com/unicode-org/icu4x/issues/3205">#3205</a>)</li> <li>Add support for complemented range iterators (<a href="https://redirect.github.com/unicode-org/icu4x/issues/3198">#3198</a>)</li> <li>Using byte string literals in databake (<a href="https://redirect.github.com/unicode-org/icu4x/issues/3040">#3040</a>)\</li> <li>Datagen support for all new component features</li> <li>(performance) Less <code>ZeroMap</code> mutation in datagen (<a href="https://redirect.github.com/unicode-org/icu4x/issues/3098">#3098</a>)</li> </ul> </li> <li><code>icu_provider_adapters</code>: No other changes</li> <li><code>icu_provider_blob</code>: No other changes</li> <li><code>icu_provider_fs</code>: <ul> <li>Remove sha2 dep (<a href="https://redirect.github.com/unicode-org/icu4x/issues/3160">#3160</a>)</li> </ul> </li> <li><code>icu_provider_macros</code>: No other changes</li> </ul> </li> <li>Components: <ul> <li>Cross component: No additional cross-component changes</li> <li><code>icu_calendar</code> <ul> <li>Document the bounds of <code>IsoSecond</code>, <code>Minute</code> and <code>Hour</code> (<a href="https://redirect.github.com/unicode-org/icu4x/issues/3156">#3156</a>)</li> </ul> </li> <li><code>icu_collator</code>: No other changes</li> <li><code>icu_collections</code>: <ul> <li>Add <code>to_u32</code> for TrieValue (<a href="https://redirect.github.com/unicode-org/icu4x/issues/3222">#3222</a>)</li> <li>Add <code>CPT::try_alloc_map_value</code> (<a href="https://redirect.github.com/unicode-org/icu4x/issues/3207">#3207</a>)</li> <li>Add support for coalescing range iterators (<a href="https://redirect.github.com/unicode-org/icu4x/issues/3198">#3198</a>)</li> <li>Allow inversion lists to be built from ranges that include <code>char::MAX</code> (<a href="https://redirect.github.com/unicode-org/icu4x/issues/3203">#3203</a>)</li> </ul> </li> <li><code>icu_datetime</code>: No other changes</li> <li><code>icu_decimal</code> <ul> <li>Add <code>From<GroupingStrategy></code> for <code>FixedDecimalFormatterOptions</code> (<a href="https://redirect.github.com/unicode-org/icu4x/issues/3045">#3045</a>)</li> </ul> </li> <li><code>icu_list</code> <ul> <li><code>ListJoinerPattern::from_parts_unchecked()</code> is now <code>from_parts()</code> and panics when necessary (<a href="https://redirect.github.com/unicode-org/icu4x/issues/3052">#3052</a>)</li> </ul> </li> <li><code>icu_locid</code> <ul> <li>Reduce size of internal <code>ShortVec</code> abstraction (<a href="https://redirect.github.com/unicode-org/icu4x/issues/3200">#3200</a>)</li> <li>Use <code>Box</code> in place of <code>Vec</code> in <code>ShortVec</code> (<a href="https://redirect.github.com/unicode-org/icu4x/issues/3220">#3220</a>)</li> </ul> </li> <li><code>icu_locid_transform</code> <ul> <li>The default set of likely subtags is now only the subset of languages that have a basic or greater CLDR coverage level; the full set is much larger in CLDR 43 and can be accessed via new constructors (<a href="https://redirect.github.com/unicode-org/icu4x/issues/3148">#3148</a>, <a href="https://redirect.github.com/unicode-org/icu4x/issues/3158">#3158</a>, <a href="https://redirect.github.com/unicode-org/icu4x/issues/3197">#3197</a>)</li> </ul> </li> </ul> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/unicode-org/icu4x/commits">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=writeable&package-manager=cargo&previous-version=0.5.1&new-version=0.5.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) 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-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> 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 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) </details> |
2 years ago |
José Julián Espina | 460051261a |
Implement HTML comments and gate behind the `annex-b` feature (#2817)
Small steps towards ES5 conformance. This PR changes the following: - Implements HTML comments parsing (`<!--`, `-->`). - Gates the functionality behind a new `annex-b` feature for `boa_parser`. - Renames `strict_mode` to `strict` to be consistent with `Parser::set_strict`. |
2 years ago |
dependabot[bot] | b6f929508d |
Bump clap from 4.2.1 to 4.2.2 (#2818)
Bumps [clap](https://github.com/clap-rs/clap) from 4.2.1 to 4.2.2. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/clap-rs/clap/releases">clap's releases</a>.</em></p> <blockquote> <h2>v4.2.2</h2> <h2>[4.2.2] - 2023-04-13</h2> <h3>Internal</h3> <ul> <li>Update dependencies</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's changelog</a>.</em></p> <blockquote> <h2>[4.2.2] - 2023-04-13</h2> <h3>Internal</h3> <ul> <li>Update dependencies</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
Haled Odat | bfa9815fe7 |
Fix `TypedArray`s minus zero key (#2808)
It changes the following: - Fix `-0` index in typed arrays |
2 years ago |
dependabot[bot] | e012d2223a |
Bump h2 from 0.3.16 to 0.3.17 (#2816)
Bumps [h2](https://github.com/hyperium/h2) from 0.3.16 to 0.3.17. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/hyperium/h2/releases">h2's releases</a>.</em></p> <blockquote> <h2>v0.3.17</h2> <h2>What's Changed</h2> <ul> <li>Add <code>Error::is_library()</code> method to check if the originated inside <code>h2</code>.</li> <li>Add <code>max_pending_accept_reset_streams(usize)</code> option to client and server builders.</li> <li>Fix theoretical memory growth when receiving too many HEADERS and then RST_STREAM frames faster than an application can accept them off the queue. (CVE-2023-26964)</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/hyperium/h2/blob/master/CHANGELOG.md">h2's changelog</a>.</em></p> <blockquote> <h1>0.3.17 (April 13, 2023)</h1> <ul> <li>Add <code>Error::is_library()</code> method to check if the originated inside <code>h2</code>.</li> <li>Add <code>max_pending_accept_reset_streams(usize)</code> option to client and server builders.</li> <li>Fix theoretical memory growth when receiving too many HEADERS and then RST_STREAM frames faster than an application can accept them off the queue. (CVE-2023-26964)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
José Julián Espina | 0d6ba53ff2 |
Allow passing owned `HostHooks` and `JobQueues` to `Context` (#2811)
This allows `thread_local` contexts to have owned `HostHooks` and `JobQueues`. It changes the following: - Creates a new `MaybeShared` struct that can hold either a reference or an `Rc`. - Changes the `job_queue` and `host_hooks` parameters of `Context` to use `MaybeShared`. This PR also allows us to make `SimpleJobQueue` the default promise runner, which I think it's pretty cool :) cc @lastmjs |
2 years ago |
dependabot[bot] | 82769820fb |
Bump syn from 2.0.13 to 2.0.14 (#2812)
Bumps [syn](https://github.com/dtolnay/syn) from 2.0.13 to 2.0.14. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/dtolnay/syn/releases">syn's releases</a>.</em></p> <blockquote> <h2>2.0.14</h2> <ul> <li>Add Punctuated::pop_punct() (<a href="https://redirect.github.com/dtolnay/syn/issues/1442">#1442</a>, thanks <a href="https://github.com/programmerjake"><code>@programmerjake</code></a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
José Julián Espina | c9759a8dc3 |
Lift `InternalObjectMethods` from `Object` (#2790)
This Pull Request lifts the `InternalObjectMethods` vtable from `Object`, which should technically improve performance, since we now won't need to call `borrow` to use any of the internal methods, but let's see what the benchmarks show. It changes the following: - Adds a new `VTableObject` struct, containing the old `GcRefCell<Object>` and the lifted `InternalObjectMethods`. - Changes the definition of `JsObject` to `Gc<VTableObject>`. Note that this means the `InternalObjectMethods` are accessible through the `Gc` pointer. - Reestructures intrinsic initialization and initialization APIs to accommodate this change. |
2 years ago |
Iban Eguia Moraza | 6412b30d5d |
Make the `wasmbind` feature of the `chrono` crate optional (#2810)
This Pull Request fixes/closes #2475. It changes the following: - Do not use the `wasmbind` feature by default in the `chrono` crate. This can be enabled selectively if needed. - Updated the `boa_wasm` crate to use this new approach. I'm interested on knowing if this fixes @lastmjs's issue, and on checking with the team if this is the best approach to solve it. |
2 years ago |
Iban Eguia Moraza | a8578f7cef |
Implement `TryFromJs` for `JsObject` wrappers (#2809)
This change allows using built-in `JsObject` wrappers with the `TryFromJs` logic, which makes it easier to derive it in complex objects containing known built-ins, being able to use all the power of the wrappers even inside complex structures. It changes the following: * Implements `TryFromJs` for all `JsObject` wrappers ~, except for `JsProxy` and `Js<Int>Array` wrappers~ -> This has now been added. * Adds checker functions for individual typed array objects. * Adds some missing checker functions from `Object` to `JsObject` ~The reason for not implementing it for `JsProxy` is that we don't have a way (as far as I can tell) to know if a `JsObject` is a `Proxy` object. The reason for the typed arrays (note that `JsTypedArray` implements `TryFromJs`) is that I didn't find an easy way to know which type of typed array a `JsObject` was. Do we have a way of using a `JsObject` to create a Rust `JsUint8Array` or the like?~ |
2 years ago |
raskad | ff0a37f262 |
Fix destructive for-of loop assignments (#2803)
This Pull Request changes the following: - Fix the assignment of variables in destructive for-of initializers. - Fix the environment handling in the compilation of `for-of/in` loops. - Close iterators in destructive for-of loop assignments, when the code throws during the assignment. |
2 years ago |
dependabot[bot] | 2f580bbac3 |
Bump serde from 1.0.159 to 1.0.160 (#2807)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.159 to 1.0.160. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/serde-rs/serde/releases">serde's releases</a>.</em></p> <blockquote> <h2>v1.0.160</h2> <ul> <li>Make derived serializer/deserializer internals <code>doc(hidden)</code> (<a href="https://redirect.github.com/serde-rs/serde/issues/2426">#2426</a>, thanks <a href="https://github.com/compiler-errors"><code>@compiler-errors</code></a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
Haled Odat | 4fbecb5084 |
Implement annex-b `trimLeft` and `trimRight` string methods (#2806)
With this and #2805 , `annex-b/builtins/string` should have 100% conformance, also fixed the `normalize` method incorrect `length` value, which was the last failing tests in `normalize` test suite |
2 years ago |
Haled Odat | 333b94a9ec |
Fix `String.prototype.substr()` (#2805)
Fixes the remaining failing tests on `String.prototype.substr()` It changes the following: - Fixes the remaining failing tests on `String.prototype.substr() - Move `substr` under the `"annex-b"` feature flag. |
2 years ago |
Haled Odat | 24a4770b21 |
Implement Annex-B string html methods (#2798)
Implements all Annex-B string html methods, they are deprecated but still part of the ES5 spec. They have been feature gated under the `"annex-b"` feature flag |
2 years ago |
Haled Odat | 09d57e75fb |
Fix `ThrowTypeError` intrinsic (#2797)
Fixes the remaining failing tests on the `ThrowTypeError` test suite |
2 years ago |
José Julián Espina | 1e75fd0d21 |
Make `Realm` shareable between functions (#2801)
This Pull Request fixes #2317 and #1835, finally giving our engine proper realms 🥳. It changes the following: - Extracts the compile environment stack from `Realm` and into `Vm`. - Adjusts the bytecompiler to accommodate this change. - Adjusts `call/construct_internal` to accommodate this change. This also coincidentally fixed #2317, which I'm pretty happy about. - Adjusts several APIs (`NativeJob`, `Realm`) and builtins (`eval`, initializers) to accommodate this change. - Adjusts `JsNativeError`s to hold a reference to the Realm from which they were created. This only affects errors created within calls to function objects. Native calls don't need to set the realm because it's inherited by the next outer active function object. TLDR: `JsError` API stays the same, we just set the origin Realm of errors in `JsObject::call/construct_internal`. |
2 years ago |