mirror of https://github.com/boa-dev/boa.git
Tree:
128c13752a
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
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 }
14 Commits (128c13752a502c6eeb8f12b26be9ed6195a2fc81)
Author | SHA1 | Message | Date |
---|---|---|---|
dependabot[bot] | d317b699a5 |
Bump icu_datagen from 1.2.4 to 1.2.5 (#2873)
Bumps [icu_datagen](https://github.com/unicode-org/icu4x) from 1.2.4 to 1.2.5. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/unicode-org/icu4x/blob/main/CHANGELOG.md">icu_datagen's changelog</a>.</em></p> <blockquote> <h1>Changelog</h1> <h2>icu4x 1.2.x (Apr 17, 2023)</h2> <p>Note: A subset of crates received patch releases in the 1.2 stream.</p> <ul> <li><code>databake</code>: 0.1.5 <ul> <li>Fixed <a href="https://redirect.github.com/unicode-org/icu4x/pull/3356">#3356</a>, adding <code>allow</code> for clippy false-positives</li> </ul> </li> <li><code>icu_capi</code> 1.2.1 <ul> <li>Fixed <a href="https://redirect.github.com/unicode-org/icu4x/pull/3344">#3344</a>, <code>buffer_provider</code> feature accidentally pulling in extra crates</li> </ul> </li> <li><code>icu_datagen</code> 1.2.1 <ul> <li>Fixed <a href="https://redirect.github.com/unicode-org/icu4x/pull/3339">#3339</a>, incorrect Cargo features</li> </ul> </li> <li><code>icu_datagen</code> 1.2.3 <ul> <li>Fixed <a href="https://redirect.github.com/unicode-org/icu4x/pull/3355">#3355</a>, adding MSRV annotations to generated code</li> <li>Fixed <a href="https://redirect.github.com/unicode-org/icu4x/pull/3369">#3369</a>, making datagen call <code>rustfmt</code> directly instead of using the <code>rust-format</code> dependency</li> </ul> </li> <li><code>icu_datagen</code> 1.2.4 <ul> <li>Remove dependency on <code>clap</code>'s <code>"cargo"</code> feature to better support non-Cargo users (<a href="https://redirect.github.com/unicode-org/icu4x/issues/3388">#3388</a>)</li> </ul> </li> <li><code>icu_datagen</code> 1.2.5 <ul> <li>Remove runtime dependency on segmenter data pulled from the cargo cache (<a href="https://redirect.github.com/unicode-org/icu4x/issues/3391">#3391</a>)</li> </ul> </li> <li><code>icu_locid_transform</code> 1.2.1 <ul> <li>Fixed <a href="https://redirect.github.com/unicode-org/icu4x/issues/3332">#3332</a>, missing <code>+?Sized</code> bound</li> </ul> </li> <li><code>icu_segmenter</code> 1.2.1 <ul> <li>Fixed <a href="https://redirect.github.com/unicode-org/icu4x/pull/3341">#3341</a>, incorrect results on some strings with mixed scripts</li> </ul> </li> <li><code>icu_provider</code> 1.2.1 <ul> <li>Do not autoenable <code>postcard/use-std</code> (<a href="https://redirect.github.com/unicode-org/icu4x/pull/3376">#3376</a>)</li> </ul> </li> <li><code>icu_datetime</code> 1.2.1 <ul> <li>Remove superfluous <code>JapaneseEraV1</code> provider bounds on <code>TypedZonedDateTimeFormatter</code> <a href="https://redirect.github.com/unicode-org/icu4x/pull/3379">#3379</a></li> </ul> </li> </ul> <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> </ul> </li> </ul> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
dependabot[bot] | 33bab64804 |
Bump icu_datagen from 1.2.3 to 1.2.4 (#2871)
Bumps [icu_datagen](https://github.com/unicode-org/icu4x) from 1.2.3 to 1.2.4. <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
José Julián Espina | c330005912 |
Implement `is_identifier_(start/part)` using `icu_properties` (#2865)
As mentioned in https://github.com/boa-dev/boa/pull/2848#issuecomment-1518909512, this uses our new default ICU4X data to replace `char::is_start` and `char::is_continue` from the `boa_unicode` crate with the [`icu_properties`](https://crates.io/crates/icu_properties) crate. Note that this doesn't deprecate `boa_unicode` yet, since that'll require some discussion about how to proceed with a now unused sub-crate. |
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 |
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 |
Iban Eguia Moraza | 540aa2be4f |
Initial version of a JS -> Rust conversion trait. (#2276)
This Pull Request closes #1975. It's still a work in progress, but tries to go in that direction. It changes the following: - Adds a new `TryFromJs` trait, that can be derived using a new `boa_derive` crate. - Adds a new `try_js_into()` function that, similarly to the standard library `TryInto` trait Things to think about: - Should the `boa_derive` crate be re-exported in `boa_engine` using a `derive` feature, similar to how it's done in `serde`? - The current implementation only converts perfectly valid values. So, if we try to convert a big integer into an `i8`, or any floating point number to an `f32`. So, you cannot derive `TryFromJs` for structures that contain an `f32` for example (you can still manually implement the trait, though, and decide in favour of a loss of precision). Should we also provide some traits for transparent loss of precision? - Currently, you cannot convert between types, so if the JS struct has an integer, you cannot cast it to a boolean, for example. Should we provide a `TryConvertJs` trait, for example to force conversions? - Currently we only have basic types and object conversions. Should add `Array` to `Vec` conversion, for example, right? Should we also add `TypedArray` conversions? What about `Map` and `Set`? Does this step over the fine grained APIs that we were creating? Note that this still requires a bunch of documentation, tests, and validation from the dev team and from the users that requested this feature. I'm particularly interested in @lastmjs's thoughts on this API. I already added an usage example in `boa_examples/src/bin/derive.rs`. Co-authored-by: jedel1043 <jedel0124@gmail.com> |
2 years ago |
dependabot[bot] | f7db12a7a9 |
Bump simple_logger from 4.0.0 to 4.1.0 (#2713)
Bumps [simple_logger](https://github.com/borntyping/rust-simple_logger) from 4.0.0 to 4.1.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/borntyping/rust-simple_logger/releases">simple_logger's releases</a>.</em></p> <blockquote> <h2>v4.1.0</h2> <h2>What's Changed</h2> <ul> <li>Customizable timestamps format by <a href="https://github.com/ctaoist"><code>@ctaoist</code></a> in <a href="https://redirect.github.com/borntyping/rust-simple_logger/pull/79">borntyping/rust-simple_logger#79</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/borntyping/rust-simple_logger/compare/v4.0.0...v4.1.0">https://github.com/borntyping/rust-simple_logger/compare/v4.0.0...v4.1.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
dependabot[bot] | 4ca067a16c |
Bump once_cell from 1.17.0 to 1.17.1 (#2602)
Bumps [once_cell](https://github.com/matklad/once_cell) from 1.17.0 to 1.17.1. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/matklad/once_cell/blob/master/CHANGELOG.md">once_cell's changelog</a>.</em></p> <blockquote> <h2>1.17.1</h2> <ul> <li>Make <code>OnceRef</code> implementation compliant with <a href="https://github-redirect.dependabot.com/rust-lang/rust/issues/95228">strict provenance</a>.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
dependabot[bot] | 3c59a3ac5f |
Bump icu_datagen from 1.1.0 to 1.1.1 (#2583)
Bumps [icu_datagen](https://github.com/unicode-org/icu4x) from 1.1.0 to 1.1.1. <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=icu_datagen&package-manager=cargo&previous-version=1.1.0&new-version=1.1.1)](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 | aa8e0c55dd |
Update icu dependencies (#2574)
This Pull Request changes the following: - Update icu dependencies - Regenerate icu data |
2 years ago |
José Julián Espina | 097f85e409 |
First batch of `no_std` support for some sub-crates (#2544)
<!--- Thank you for contributing to Boa! Please fill out the template below, and remove or add any information as you feel necessary. ---> This Pull Request enables support for `no_std` targets on some of our sub-crates. I intentionally left out `boa_ast` and `boa_cli` because they're the largest crates we have after `boa_engine`. `boa_gc` is a monster on its own, because we'll need to design a `no_std` multithreaded GC. Anyways, this changes the following: - Adds support for `no_std` on `boa_unicode`. - Adds support for `no_std` on `boa_profiler`. - Adds support for `no_std` on `boa_interner`. - Adds support for `no_std` on `boa_icu_provider`. |
2 years ago |
dependabot[bot] | 5aac69c27d |
Bump once_cell from 1.16.0 to 1.17.0 (#2510)
Bumps [once_cell](https://github.com/matklad/once_cell) from 1.16.0 to 1.17.0. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/matklad/once_cell/blob/master/CHANGELOG.md">once_cell's changelog</a>.</em></p> <blockquote> <h2>1.17.0</h2> <ul> <li>Add <code>race::OnceRef</code> for storing a <code>&'a T</code>.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
2 years ago |
José Julián Espina | 81680ff5c4 |
Pass locale data provider by ref instead of boxing (#2508)
This change is actually pretty simple, but since now we have to pass a lifetime parameter to all references of `Context`, it touches a lot of files. Relevant changes: - https://github.com/boa-dev/boa/pull/2508/files#diff-73e17259d77e5fbef83b2bdbbe4dc40a912f807472287f7f45b77e0cbf78792d - https://github.com/boa-dev/boa/pull/2508/files#diff-e7ebcd61f7a01c432b62e1742a6cfd8e28326a1f2b6afb37ba66d4964b3db521 - https://github.com/boa-dev/boa/pull/2508/files#diff-7b2a85f5aa9b5a8070e04e87a67b4f7cc700a43a520e0d6cc6e0b701711ccb7c - https://github.com/boa-dev/boa/pull/2508/files#diff-872037c107c01bf644ede412e4802b3eefeb5a70ce595c441f75651d45111b2a - https://github.com/boa-dev/boa/pull/2508/files#diff-a665b3b6f564521875fd0d725bffbc4f0cc84e5feefdc5fd875fd943e56311cd - https://github.com/boa-dev/boa/pull/2508/files#diff-3e1f19581f227120ddc3334fd0450152b767811c9b6cb4048581347fcd9fc91d - https://github.com/boa-dev/boa/pull/2508/files#diff-5fe65193a910618375d9575d918cd584430437ee2738a987c92068dea3117297 - https://github.com/boa-dev/boa/pull/2508/files#diff-4ce8770f8aaf50785ece12a9a15b781a544bfc47f080e2ff62ddfb18264a44ef All the other changes are just replacing `Context` with `Context<'_>`. |
2 years ago |
José Julián Espina | 3bf5de2929 |
Redesign Intl API and implement some services (#2478)
This Pull Request fixes/closes #1180. (I'll open a tracking issue for the progress) It changes the following: - Redesigns the internal API of Intl to (hopefully!) make it easier to implement a service. - Implements the `Intl.Locale` service. - Implements the `Intl.Collator` service. - Implements the `Intl.ListFormat` service. On the subject of the failing tests. Some of them are caused by missing locale data in the `icu_testdata` crate; we would need to regenerate that with the missing locales, or vendor a custom default data. On the other hand, there are some tests that are bugs from the ICU4X crate. The repo https://github.com/jedel1043/icu4x-test262 currently tracks the found bugs when running test262. I'll sync with the ICU4X team to try to fix those. cc @sffc |
2 years ago |