mirror of
https://github.com/servo/servo.git
synced 2025-09-18 10:58:22 +01:00
52814 commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
|
8c3acaaec9
|
html: Validate descriptors tokens on 'srcset' attribute parsing (#39317)
Follow the specification and validate tokens of the "x/w/h" descriptors before applying the rules for parsing float-pointing numbers or non-negative integers. https://html.spec.whatwg.org/multipage/#parsing-a-srcset-attribute (step 13) Testing: Improvements in the following tests - html/semantics/embedded-content/the-img-element/srcset/parse-a-srcset-attribute.html Signed-off-by: Andrei Volykhin <andrei.volykhin@gmail.com> |
||
|
b685c2f424
|
devtools: Fix race in tests due to asynchronous termination (#39309)
one of the flaky failure modes we found in #38658 was that on linux, geckordp occasionally fails to connect to servoshell’s devtools server. this happens despite our preliminary connect check passing, which should imply that the devtools server is listening and ready to use. we closed the issue without any fix for that failure mode, because we were ultimately unable to reproduce it, but it still happens in the wild (#39273). we’ve now found a way to reproduce it, and we think it’s caused by a race that occurs when moving from one test to the next. for example: - test 1 finishes - we send SIGTERM to test 1’s servoshell, but it does not stop its devtools server yet - test 2 begins - we spawn test 2’s servoshell, but it does not start its devtools server yet - we try to do our preliminary connects, and it succeeds against test 1’s servoshell immediately (the failure logs on GitHub never make this clear, due to some kind of buffering problem that delays the `.` and `+` outputs) - test 1’s servoshell stops its devtools server - we try to do our actual connect, and it fails because no devtools server is listening - test 2 fails very rarely, one test’s servoshell may even fail to start its devtools server, which we think happens because the previous test’s servoshell is still listening. this has only ever happened once, and we’ve been unable to reproduce it since, but we think it’s caused by the same kind of race. for example: - test 1 finishes - we send SIGTERM to test 1’s servoshell, but it does not stop its devtools server yet - test 2 begins - we spawn test 2’s servoshell, but it does not start its devtools server yet - test 2’s servoshell tries to start its devtools server, but fails because test 1’s servoshell is still listening - test 2 fails in both cases, the failure can be explained by the fact that we send SIGTERM to the previous test’s servoshell without actually waiting for the process to exit. this patch ensures that we wait, and also moves all of the output we do in the test suite from stdout to stderr to avoid it getting mangled in GitHub Actions. Testing: see [this comment](https://github.com/servo/servo/pull/39309#issuecomment-3291007931) (before) vs [this comment](https://github.com/servo/servo/pull/39309#issuecomment-3291188997) (after) Fixes: #39273 Signed-off-by: Delan Azabani <dazabani@igalia.com> |
||
|
b1ab72e589
|
Set composed flag for TouchEvent (#39138)
Following the definition of `TouchEvent` in https://w3c.github.io/touch-events/#list-of-touchevent-types, all `TouchEvent` should have its `composed` flag set to be able to propagate past a shadow root layer. Part of #35997 Testing: Would require a testdriver. Signed-off-by: Jo Steven Novaryo <jo.steven.novaryo@huawei.com> |
||
|
8f4ced66d7
|
script: Make EventTarget::fire return bool according to spec (#39308)
This is a continuation of #38566, newly discovered when fixing https://github.com/servo/servo/issues/38616#issuecomment-3261561671. We add more documentation and return `bool` for the function family of [event firing](https://dom.spec.whatwg.org/#concept-event-fire). Testing: No behaviour change. Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com> |
||
|
059a2fd86d
|
ci: Convert runner select to composite action (#39270)
to run bencher builds on self-hosted runners (#39269), we will need to do a self-hosted runner select, but that would exceed the workflow call depth limit (try → dispatch-workflow → linux → bencher → self-hosted-runner-select). this patch converts the self-hosted runner select from a [reusable workflow](https://docs.github.com/en/actions/concepts/workflows-and-actions/reusable-workflows) to a [composite action](https://docs.github.com/en/actions/tutorials/create-actions/create-a-composite-action), much like #38503 did for the runner timeout. Testing: - self-hosted <https://github.com/servo/servo/actions/runs/17674919359/job/50235098986> - GitHub-hosted <https://github.com/delan/servo/actions/runs/17674928875/job/50234708810> Fixes: part of #39269 --------- Signed-off-by: Delan Azabani <dazabani@igalia.com> |
||
|
eb03fb743c
|
build(deps): bump serde from 1.0.219 to 1.0.223 (#39301)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.219 to 1.0.223. <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.223</h2> <ul> <li>Fix serde_core documentation links (<a href="https://redirect.github.com/serde-rs/serde/issues/2978">#2978</a>)</li> </ul> <h2>v1.0.222</h2> <ul> <li>Make <code>serialize_with</code> attribute produce code that works if respanned to 2024 edition (<a href="https://redirect.github.com/serde-rs/serde/issues/2950">#2950</a>, thanks <a href="https://github.com/aytey"><code>@aytey</code></a>)</li> </ul> <h2>v1.0.221</h2> <ul> <li>Documentation improvements (<a href="https://redirect.github.com/serde-rs/serde/issues/2973">#2973</a>)</li> <li>Deprecate <code>serde_if_integer128!</code> macro (<a href="https://redirect.github.com/serde-rs/serde/issues/2975">#2975</a>)</li> </ul> <h2>v1.0.220</h2> <ul> <li>Add a way for data formats to depend on serde traits without waiting for serde_derive compilation: <a href="https://docs.rs/serde_core">https://docs.rs/serde_core</a> (<a href="https://redirect.github.com/serde-rs/serde/issues/2608">#2608</a>, thanks <a href="https://github.com/osiewicz"><code>@osiewicz</code></a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
d094d0388a
|
build(deps): bump polling from 3.10.0 to 3.11.0 (#39300)
Bumps [polling](https://github.com/smol-rs/polling) from 3.10.0 to 3.11.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/smol-rs/polling/releases">polling's releases</a>.</em></p> <blockquote> <h2>v3.11.0</h2> <ul> <li>Bump MSRV to 1.71. (<a href="https://redirect.github.com/smol-rs/polling/issues/251">#251</a>)</li> <li>Update to <code>windows-sys</code> v0.61. (<a href="https://redirect.github.com/smol-rs/polling/issues/251">#251</a>)</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/smol-rs/polling/blob/master/CHANGELOG.md">polling's changelog</a>.</em></p> <blockquote> <h1>Version 3.11.0</h1> <ul> <li>Bump MSRV to 1.71. (<a href="https://redirect.github.com/smol-rs/polling/issues/251">#251</a>)</li> <li>Update to <code>windows-sys</code> v0.61. (<a href="https://redirect.github.com/smol-rs/polling/issues/251">#251</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
ce132b18bf
|
build(deps): bump async-io from 2.5.0 to 2.6.0 (#39304)
Bumps [async-io](https://github.com/smol-rs/async-io) from 2.5.0 to 2.6.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/smol-rs/async-io/releases">async-io's releases</a>.</em></p> <blockquote> <h2>v2.6.0</h2> <ul> <li>Bump MSRV to 1.71. (<a href="https://redirect.github.com/smol-rs/async-io/issues/243">#243</a>)</li> <li>Expose <code>Timer::clear</code>. (<a href="https://redirect.github.com/smol-rs/async-io/issues/239">#239</a>)</li> <li>Implement <code>IoSafe</code> for <code>std::io::PipeReader</code> and <code>std::io::PipeWriter</code> (<a href="https://redirect.github.com/smol-rs/async-io/issues/237">#237</a>)</li> <li>Update to <code>windows-sys</code> v0.61. (<a href="https://redirect.github.com/smol-rs/async-io/issues/243">#243</a>)</li> <li>Remove dependency on <code>async_lock</code>. (<a href="https://redirect.github.com/smol-rs/async-io/issues/240">#240</a>)</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/smol-rs/async-io/blob/master/CHANGELOG.md">async-io's changelog</a>.</em></p> <blockquote> <h1>Version 2.6.0</h1> <ul> <li>Bump MSRV to 1.71. (<a href="https://redirect.github.com/smol-rs/async-io/issues/243">#243</a>)</li> <li>Expose <code>Timer::clear</code>. (<a href="https://redirect.github.com/smol-rs/async-io/issues/239">#239</a>)</li> <li>Implement <code>IoSafe</code> for <code>std::io::PipeReader</code> and <code>std::io::PipeWriter</code> (<a href="https://redirect.github.com/smol-rs/async-io/issues/237">#237</a>)</li> <li>Update to <code>windows-sys</code> v0.61. (<a href="https://redirect.github.com/smol-rs/async-io/issues/243">#243</a>)</li> <li>Remove dependency on <code>async_lock</code>. (<a href="https://redirect.github.com/smol-rs/async-io/issues/240">#240</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
9595f7f664
|
build(deps): bump rustls-webpki from 0.103.4 to 0.103.5 (#39303)
Bumps [rustls-webpki](https://github.com/rustls/webpki) from 0.103.4 to 0.103.5. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/rustls/webpki/releases">rustls-webpki's releases</a>.</em></p> <blockquote> <h2>0.103.5</h2> <ul> <li><strong>New feature</strong>: support verification of P256+SHA512 and P384-SHA512 ECDSA signatures with aws-lc-rs. This is not a recommended combination, but such signatures exist in the wild.</li> </ul> <h2>What's Changed</h2> <ul> <li>Leverage extended API from rcgen 0.14.2 by <a href="https://github.com/djc"><code>@djc</code></a> in <a href="https://redirect.github.com/rustls/webpki/pull/366">rustls/webpki#366</a></li> <li>Update semver-compatible dependencies by <a href="https://github.com/djc"><code>@djc</code></a> in <a href="https://redirect.github.com/rustls/webpki/pull/369">rustls/webpki#369</a></li> <li>ci: take updated nightly for cargo-check-external-types by <a href="https://github.com/cpu"><code>@cpu</code></a> in <a href="https://redirect.github.com/rustls/webpki/pull/370">rustls/webpki#370</a></li> <li>build(deps): bump actions/checkout from 4 to 5 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/rustls/webpki/pull/371">rustls/webpki#371</a></li> <li>build(deps): bump serde_json from 1.0.142 to 1.0.143 in the crates-io group by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/rustls/webpki/pull/374">rustls/webpki#374</a></li> <li>Clarify docs on <code>Cert</code> methods by <a href="https://github.com/ctz"><code>@ctz</code></a> in <a href="https://redirect.github.com/rustls/webpki/pull/375">rustls/webpki#375</a></li> <li>Extract trait for ExtendedKeyUsage validation by <a href="https://github.com/djc"><code>@djc</code></a> in <a href="https://redirect.github.com/rustls/webpki/pull/376">rustls/webpki#376</a></li> <li>build(deps): bump actions/setup-python from 5 to 6 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/rustls/webpki/pull/378">rustls/webpki#378</a></li> <li>0.103.5: support P256+SHA512 and P384+SHA512 by <a href="https://github.com/ctz"><code>@ctz</code></a> in <a href="https://redirect.github.com/rustls/webpki/pull/379">rustls/webpki#379</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/rustls/webpki/compare/v/0.103.4...v/0.103.5">https://github.com/rustls/webpki/compare/v/0.103.4...v/0.103.5</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
d9e860f7ef
|
build(deps): bump libredox from 0.1.9 to 0.1.10 (#39302)
Bumps libredox from 0.1.9 to 0.1.10. [](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 show <dependency name> 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) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
1084c093df
|
build(deps): bump iana-time-zone from 0.1.63 to 0.1.64 (#39299)
Bumps [iana-time-zone](https://github.com/strawlab/iana-time-zone) from 0.1.63 to 0.1.64. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/strawlab/iana-time-zone/blob/main/CHANGELOG.md">iana-time-zone's changelog</a>.</em></p> <blockquote> <h2>[0.1.64] - 2025-09-12</h2> <h3>Changed</h3> <ul> <li>Bump <code>windows-core</code> to <code>0.56-0.62</code> range (<a href="https://redirect.github.com/strawlab/iana-time-zone/pull/177">#177</a></li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
d5f055dd98
|
build(deps): bump the egui-related group with 7 updates (#39298)
Bumps the egui-related group with 7 updates: | Package | From | To | | --- | --- | --- | | [egui](https://github.com/emilk/egui) | `0.32.2` | `0.32.3` | | [egui-winit](https://github.com/emilk/egui) | `0.32.2` | `0.32.3` | | [egui_glow](https://github.com/emilk/egui) | `0.32.2` | `0.32.3` | | [ecolor](https://github.com/emilk/egui) | `0.32.2` | `0.32.3` | | [emath](https://github.com/emilk/egui) | `0.32.2` | `0.32.3` | | [epaint](https://github.com/emilk/egui) | `0.32.2` | `0.32.3` | | [epaint_default_fonts](https://github.com/emilk/egui) | `0.32.2` | `0.32.3` | Updates `egui` from 0.32.2 to 0.32.3 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/emilk/egui/releases">egui's releases</a>.</em></p> <blockquote> <h2>0.32.3 - Fix tooltips for ellided text</h2> <p>egui is an easy-to-use immediate mode GUI for Rust that runs on both web and native.</p> <p>Try it now: <a href="https://www.egui.rs/">https://www.egui.rs/</a></p> <p>egui development is sponsored by <a href="https://www.rerun.io/">Rerun</a>, a startup building an SDK for visualizing streams of multimodal data.</p> <h3>egui</h3> <ul> <li>Preserve text format in truncated label tooltip <a href="https://redirect.github.com/emilk/egui/pull/7514">#7514</a> <a href="https://redirect.github.com/emilk/egui/pull/7535">#7535</a> by <a href="https://github.com/lucasmerlin"><code>@lucasmerlin</code></a></li> <li>Fix <code>TextEdit</code>'s in RTL layouts <a href="https://redirect.github.com/emilk/egui/pull/5547">#5547</a> by <a href="https://github.com/zakarumych"><code>@zakarumych</code></a></li> <li>Optimize <code>Mesh::add_rect_with_uv</code> <a href="https://redirect.github.com/emilk/egui/pull/7511">#7511</a> by <a href="https://github.com/valadaptive"><code>@valadaptive</code></a></li> </ul> <h3>egui_extras</h3> <ul> <li>Fix deadlock in <code>FileLoader</code> and <code>EhttpLoader</code> <a href="https://redirect.github.com/emilk/egui/pull/7515">#7515</a> by <a href="https://github.com/emilk"><code>@emilk</code></a></li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/emilk/egui/blob/main/CHANGELOG.md">egui's changelog</a>.</em></p> <blockquote> <h2>0.32.3 - 2025-09-12</h2> <ul> <li>Preserve text format in truncated label tooltip <a href="https://redirect.github.com/emilk/egui/pull/7514">#7514</a> <a href="https://redirect.github.com/emilk/egui/pull/7535">#7535</a> by <a href="https://github.com/lucasmerlin"><code>@lucasmerlin</code></a></li> <li>Fix <code>TextEdit</code>'s in RTL layouts <a href="https://redirect.github.com/emilk/egui/pull/5547">#5547</a> by <a href="https://github.com/zakarumych"><code>@zakarumych</code></a></li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
2947476bdd
|
Fix Response:bodyUsed behavior to return false if the body is null (#39287)
This PR fixes some test-cases in https://wpt.fyi/results/fetch/api/response/response-consume-empty.any.html?product=servo Fetch standard indicates `Response:bodyUsed` should return `false` if the body content is null , even if the stream was disturbed. https://fetch.spec.whatwg.org/#dom-body-bodyused > The bodyUsed getter steps are to return true if [this](https://webidl.spec.whatwg.org/#this)’s [body](https://fetch.spec.whatwg.org/#concept-body-body) is non-null and [this](https://webidl.spec.whatwg.org/#this)’s [body](https://fetch.spec.whatwg.org/#concept-body-body)’s [stream](https://fetch.spec.whatwg.org/#concept-body-stream) is [disturbed](https://streams.spec.whatwg.org/#is-readable-stream-disturbed); otherwise false. --------- Signed-off-by: araya <araya@araya.dev> |
||
|
a0c3dcefe4
|
chore: update wgpu to v26 (#39016)
Vello has updated to wgpu v26 recently. It might be a good time for servo to update as well. This PR should wait for #39015 and #38717 Testing: WebGPU CTS Fixes: None --------- Signed-off-by: Wu Yu Wei <yuweiwu@pm.me> |
||
|
2d5eac386f
|
servoshell: Add ParseResolutionError to parse elegantly (#39289)
When passing an invalid resolution string (such as `1x1x1`) to the `--screen-size` or `--window-size` argument, Servo starts without any error. Additionally, if the width or height is set to 0, Servo crashes with a SIGSEGV (Address boundary error). This patch addresses the following issue by several changes: 1. Introduce a custom error type ParseResolutionError. 2. Replace the `split()` method with `split_once()`. 3. Make the capital 'X' an acceptable separator. 4. Add a check to prevent crashes when width or height is set to 0. --- Before: ``` ╰─❯ ./servo --screen-size=0 index out of bounds: the len is 1 but the index is 1 (thread main, at ports/servoshell/prefs.rs:236) fish: Job 1, './servo --screen-size=0' terminated by signal SIGSEGV (Address boundary error) ``` ``` ╰─❯ ./servo --screen-size=0x1 xdg_surface#30: error -1: invalid window geometry size (0x1) assertion `left != right` failed left: 0 right: 0 (thread main, at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/surfman-0.10.0/src/platform/unix/wayland/connection.rs:140) fish: Job 1, './servo --screen-size=0x1' terminated by signal SIGSEGV (Address boundary error) ``` After: ``` ╰─❯ ./servo --screen-size=0 Error: couldn't parse `0`: invalid resolution format ``` ``` ╰─❯ ./servo --screen-size=0x1 Error: couldn't parse `0x1`: width and height must be greater than 0 ``` Signed-off-by: Integral <integral@member.fsf.org> |
||
|
b3b79e049b
|
Sync WPT with upstream (14-09-2025) (#39293)
Automated downstream sync of changes from upstream as of 14-09-2025 [no-wpt-sync] Signed-off-by: WPT Sync Bot <ghbot+wpt-sync@servo.org> |
||
|
3ef3ba9378
|
Add spec steps and comments for fetch abort steps (#39283)
While trying to figure out what the status of this implementation was, I added steps and comments to see what we are missing. Also updated some links, since I couldn't find an implementation of `window.fetch`, since the spec URL was pointing to the chapter instead of the algorithm. Part of #34866 Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com> |
||
|
2f252c9b78
|
Remove the dom_trusted_types_enabled preference (#39281)
Everything related to Trusted Types has been implemented. Failing WPT tests are related to other features such as SVG scripts. Fixes #36258 Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com> |
||
|
5beb16d671
|
Enable abort controller preference for fetch/api/abort (#39282)
This sets a baseline of tests for fetch-related implementation of AbortController. Part of #34866 Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com> |
||
|
c11670b067
|
layout: Take text-indent into account in min/max-content inline sizes (#39230)
The min-content and max-content inline sizes of an inline formatting contentext need to take `text-indent` into account. Note it can be set to a negative amount, so the `ContentSizesComputation` logic needs some tweaks to handle it well. Testing: Fixes various WPT tests Signed-off-by: Oriol Brufau <obrufau@igalia.com> |
||
|
d1c3e5f58f
|
Add trusted type checks for eval arguments (#39263)
Also bumps mozjs to the latest version that has support for `GStackVector` which is what this callback uses. Part of #36258 Fixes #38877 Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com> |
||
|
033da09800
|
Move signals_slots to ScriptMutationObservers (#39275)
Both places where we access signals_slots already have a reference to ScriptMutationObserver. This saves us another access to with_script_thread. Testing: This does not change functionality. Fixes: Part of addressing: https://github.com/servo/servo/issues/37969 Signed-off-by: Narfinger <Narfinger@users.noreply.github.com> |
||
|
250c4cda00
|
indexeddb: Implement openCursor and openKeyCursor for object store (#39080)
Continue on implementing indexeddb's cursor. This patch focuses on implementing the `openCursor` [1] and `openKeyCursor` [2] methods of the `IDBObjectStore` interface, which create and initialize cursors by running the iterate-a-cursor algorithm [3]. It also adds struct `IndexedDBRecord` to `components/shared/net/indexeddb_thread.rs`. This struct can later be used to implement the new `IDBRecord` interface [4]. [1] https://www.w3.org/TR/IndexedDB-2/#dom-idbobjectstore-opencursor [2] https://www.w3.org/TR/IndexedDB-2/#dom-idbobjectstore-openkeycursor [3] https://www.w3.org/TR/IndexedDB-2/#iterate-a-cursor [4] https://w3c.github.io/IndexedDB/#record-interface Testing: Pass WPT tests that were expected to fail. Fixes: Part of #38111 --------- Signed-off-by: Kingsley Yung <kingsley@kkoyung.dev> |
||
|
1f63116bdd
|
webdriver: Add ScrollBehavior::Instant for scroll_into_view (#39265)
There is a recent spec change which adds instant as default scroll behaviour: https://github.com/w3c/webdriver/pull/1924. This PR reflects the change. Testing: No behaviour change as `ScrollBehavior` is ignored right now. Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com> |
||
|
a4c6108cbe
|
script: Check if IndexedDB key path is ECMAScript identifier name (#39255)
From IndexedDB spec, when we check whether a key path is valid, we have to check whether it is an ECMAScript identifier name. We have not yet implemented this logic, and always return true. This patch uses the function `js::rust::wrappers::JS_IsIdentifier` to achieve this checking. Testing: Pass WPT tests that were expected to fail. Fixes: #25324 --------- Signed-off-by: Kingsley Yung <kingsley@kkoyung.dev> |
||
|
25147c75cb
|
ci: Stop using python3 ./mach (#39271)
this way of invoking mach is incorrect now that we use uv, and it will prevent us from running bencher builds on self-hosted runners (#39269), where the system Python is too old (3.10 vs 3.11). Testing: - mach try bencher <https://github.com/servo/servo/actions/runs/17675086579> Fixes: part of #39269 Signed-off-by: Delan Azabani <dazabani@igalia.com> |
||
|
2b2ea05c12
|
ci: Make runner timeout jobs conditional, not the steps (#39268)
#38503 converted the self-hosted runner timeout from a [reusable workflow](https://docs.github.com/en/actions/concepts/workflows-and-actions/reusable-workflows) to a [composite action](https://docs.github.com/en/actions/tutorials/create-actions/create-a-composite-action), but in doing so, it changed from having a conditional job to having a conditional step. [This Update Broke My Workflow](https://xkcd.com/1172/), because i enjoyed being able to tell if a job ended up being GitHub-hosted or not by seeing if its timeout job was skipped, rather than having to click on the workload job then wait then scroll up then click “Set up job”. this patch fixes that by making the job conditional. Testing: - self-hosted <https://github.com/servo/servo/actions/runs/17674214808/job/50232483209> - GitHub-hosted <https://github.com/delan/servo/actions/runs/17674531369/job/50233465791> Fixes: #39192 Signed-off-by: Delan Azabani <dazabani@igalia.com> |
||
|
4aabc67e57
|
constellation: Use one image cache thread pool in the single-process mode (#38783)
Previously, each ScriptThread was creating a new image cache with a separate thread pool. These changes add an image cache to the constellation and create new image caches by calling the `create_new_image_cache` method. It reuses the original image cache's thread pool and reduces the number of spawned threads in the single-process mode. Testing: Tested manually, using `ps -M` to see the number of spawned threads with multiple tabs open in servoshell before and after these changes. Fixes: #37770 Signed-off-by: Rodion Borovyk <rodion.borovyk@gmail.com> |
||
|
23ac24438a
|
CODEOWNERS: Add yezhizhen for WebDriver components (#39266)
So that I can get notified and GitHub won't wildcard other reviewers. Testing: No. Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com> |
||
|
268a0eeb2d
|
ci: Reland run devtools tests whenever we run unit tests from #38614 (#39267)
This patch updates `linux.yml`, `mac.yml`, and `windows.yml` to run the devtools test suite (https://github.com/servo/servo/issues/36325). Testing: this patch effectively adds all devtools tests to CI Fixes: https://github.com/servo/servo/issues/36325 Signed-off-by: atbrakhi <atbrakhi@igalia.com> Co-authored-by: Delan Azabani <dazabani@igalia.com> |
||
|
965e87d006
|
html: Ignore a parse error on 'srcset' attribute parsing (#39260)
Parsing the 'srcset' attribute of an image element may result in a parse error indicating a non-fatal mismatch between the input and the requirements. https://html.spec.whatwg.org/multipage/#concept-microsyntax-parse-error https://html.spec.whatwg.org/multipage/#parse-a-srcset-attribute This error should not be a reason to stop parsing and may be used by the user agent to signal a syntax error. Other browsers generally ignore this error, and we do the same. Testing: Improvements in the following tests - html/semantics/embedded-content/the-img-element/srcset/parse-a-srcset-attribute.html Signed-off-by: Andrei Volykhin <andrei.volykhin@gmail.com> |
||
|
097a69169a
|
webdriver: Support "scroll into view" for commands (#38508)
Implement scroll into view steps for all WebDriver command that requires it (element click, element send keys, element clear, and take element screenshot). Testing: `element_send_keys/scroll_into_view.py`, `element_click/scroll_into_view.py`, `element_clear/clear.py` --------- Signed-off-by: PotatoCP <Kenzie.Raditya.Tirtarahardja@huawei.com> |
||
|
9e9bd80bba
|
layout: Add style to ConstraintSpace and IndefiniteContainingBlock (#39229)
They only had the writing mode, now they will have the entire computed style. This is needed for #39230. Testing: Not needed, no behavior change Signed-off-by: Oriol Brufau <obrufau@igalia.com> |
||
|
dfdcba88d4
|
fixup: Enable viewport <meta> tag support for mobile platforms only (#39207)
1. Adds a pref viewport_meta_enabled. 2. Enable pref for mobile platforms. Testing: Tested Manually Fixes: #39157 Fixes: #39002 --------- Signed-off-by: Shubham Gupta <shubham13297@gmail.com> |
||
|
e6d46fb9f3
|
cargo: Update packages that depend on windows-sys 0.60 (#39262)
Update some dependencies that were being held back due to windows dependency updates. Testing: No tests for dependency updates. Signed-off-by: Alex Touchet <26315797+atouchet@users.noreply.github.com> |
||
|
96592dce44
|
Invalid return type for key conversion (#39252)
`convert_value_to_key` returns a `ConversionResult` now, so keys can be considered "Invalid" rather than throwing an exception. Testing: WPT Unblocks: #38288 --------- Signed-off-by: Ashwin Naren <arihant2math@gmail.com> |
||
|
19f70dccf6
|
Combine some access to the thread local variable for script thread. (#38752)
This combines some access to the thread local variable for script thread. - We introduce a new UserInteractingScriptGuard which on drop handles the resetting of was_interacting to the previous value. Sometimes throughout the code `ScriptThread::is_user_interacting` was reset to the previous value while sometimes just set to false. This should remove this footgun. - This also reduces the amount of thread local access for MutationObservers and task queue. Testing: WPT tests should cover this. Fixes: This addresses part of https://github.com/servo/servo/issues/37969 but there is probably still stuff to be done. --------- Signed-off-by: Narfinger <Narfinger@users.noreply.github.com> Signed-off-by: Josh Matthews <josh@joshmatthews.net> Co-authored-by: Josh Matthews <josh@joshmatthews.net> |
||
|
5de041e6ef
|
script: Unwrap imported key in JWK format after normalizing (#39234)
In our current implementation, the `importKey` method and `unwrapKey` method of `SubtleCrypto` interface unwrap JsonWebKey before running the normalized algorithms. Therefore, all cryptography algorithms share the same unwrapping mechanism. Our current unwrapping mechanism is not compatible with some cryptography algorithms, which we have not yet implemented such as Ed25519. Following the WebCrypto API spec, this patch moves the JsonWebKey unwrapping mechanism to normalized algorithms so that each cryptography algorithm can unwrap JsonWebKey in its own way. This does not introduce behavioral changes, but makes implementing the unwrap operation for new cryptography algorithms easier in the future. Remark: Step 8 and 13 of `SubtleCrypto::ImportKey` require the crypto task source in the script task manager, but we don't have it yet. So, they're marked as TODO. Testing: Existing tests should suffice. --------- Signed-off-by: Kingsley Yung <kingsley@kkoyung.dev> Signed-off-by: Josh Matthews <josh@joshmatthews.net> Co-authored-by: Josh Matthews <josh@joshmatthews.net> |
||
|
97690b1cba
|
script: Ensure autoincrement and keypath are passed in correctly from IDBTransaction (#38738)
Previously, the correct autoincremented and keypath parameters were only being passed if the object store is being created. This PR queries this info from the backend and passes it onto the constructor in IDBTransaction. Furthermore it exposes keypath and index_names from IDBObjectStore, mainly for WPT. Testing: WPT Fixes: None --------- Signed-off-by: Ashwin Naren <arihant2math@gmail.com> |
||
|
722b0de8d8
|
build(deps): bump zbus from 5.9.0 to 5.11.0 (#39239)
Bumps [zbus](https://github.com/dbus2/zbus) from 5.9.0 to 5.11.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/dbus2/zbus/releases">zbus's releases</a>.</em></p> <blockquote> <h2>🔖 zbus 5.11.0</h2> <ul> <li>✨ API to specify timeouts for method calls. Add a way to specify an timeout for method calls. If set, the method calls will timeout after the specified duration, returning an error. This can be used to handle the issues with non-answering D-Bus services.</li> <li>🩹 Add <code>connection::socket::Split::new</code> method, allowing <code>Socket</code> trait impls outside zbus.</li> <li>📝 Mention receive_X_changes in <code>proxy</code> docs.</li> </ul> <h2>🔖 zbus 5.10.0</h2> <ul> <li>✨ Property stream will now first yield the current value.</li> <li>🐛 Fall back to no groups rather than erroring out for peer creds.</li> <li>📝 Fix wrong documentation in blocking <code>Proxy</code> methods.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
3b294d0856
|
net: Add spec comments to "cors_preflight_fetch" (#39246)
I added these comments while debugging `cors/request-headers.htm`. Ultimately the bug turned out to be outside of servo, so we have to wait for https://github.com/hyperium/headers/pull/219. Since that PR might take a while to merge I'd like to add these on their own. Signed-off-by: Simon Wülker <simon.wuelker@arcor.de> |
||
|
93ad2cf62a
|
script: Set validation anchor to target element in ElementInternals::SetValidity when anchor is not given (#39247)
Testing: Covered by existing web platform tests --------- Signed-off-by: Simon Wülker <simon.wuelker@arcor.de> |
||
|
da64921877
|
build(deps): bump errno from 0.3.13 to 0.3.14 (#39250)
Bumps [errno](https://github.com/lambda-fairy/rust-errno) from 0.3.13 to 0.3.14. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/lambda-fairy/rust-errno/blob/main/CHANGELOG.md">errno's changelog</a>.</em></p> <blockquote> <h1>[0.3.14] - 2025-09-08</h1> <ul> <li>Update windows-sys requirement from >=0.52, <=0.59 to >=0.52, <0.62 <a href="https://redirect.github.com/lambda-fairy/rust-errno/pull/117">#117</a></li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/lambda-fairy/rust-errno/commits">compare view</a></li> </ul> </details> <br /> [](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 show <dependency name> 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) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
4670136a12
|
build(deps): bump unicode-ident from 1.0.18 to 1.0.19 (#39249)
Bumps [unicode-ident](https://github.com/dtolnay/unicode-ident) from 1.0.18 to 1.0.19. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/dtolnay/unicode-ident/releases">unicode-ident's releases</a>.</em></p> <blockquote> <h2>1.0.19</h2> <ul> <li>Update to Unicode 17.0.0 (<a href="https://redirect.github.com/dtolnay/unicode-ident/issues/37">#37</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
ac6898efec
|
build(deps): bump color from 0.3.1 to 0.3.2 (#39248)
Bumps [color](https://github.com/linebender/color) from 0.3.1 to 0.3.2. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/linebender/color/releases">color's releases</a>.</em></p> <blockquote> <h2>v0.3.2</h2> <p><strong><a href="https://crates.io/crates/color/0.3.2">Crates.io</a> | <a href="https://docs.rs/color/0.3.2/">Docs</a></strong></p> <p>This release has an <a href="README.md#minimum-supported-rust-version-msrv">MSRV</a> of 1.82.</p> <h3>Added</h3> <ul> <li> <p>Add <code>interpolate_unpremultiplied</code> and <code>gradient_unpremultiplied</code> for interpolating in unpremultiplied (straight) alpha space.</p> <p>While such interpolation will often give perceptually undesired results, this allows using Color to implement rendering features where such interpolation is specified, like in the <a href="https://html.spec.whatwg.org/commit-snapshots/a93c6fa9fa95e31f1caa05f2f8abc650669df7c3/#interpolation">HTML Canvas element</a>. (<a href="https://redirect.github.com/linebender/color/issues/185">#185</a> by <a href="https://github.com/sagudev"><code>@sagudev</code></a>)</p> </li> </ul> <h3>Changed</h3> <ul> <li>Specify XYZ-D65 color space conversion matrices as exact rationals. (<a href="https://redirect.github.com/linebender/color/issues/171">#171</a> by <a href="https://github.com/tomcur"><code>@tomcur</code></a>)</li> <li>Improve documentation of <code>AlphaColor</code> vs <code>PremulColor</code> to clarify alpha premultiplication, and make both types more discoverable from each other. (<a href="https://redirect.github.com/linebender/color/issues/190">#190</a> by <a href="https://github.com/tomcur"><code>@tomcur</code></a>)</li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/ProgramCrafter"><code>@ProgramCrafter</code></a> made their first contribution in <a href="https://redirect.github.com/linebender/color/pull/186">linebender/color#186</a></li> <li><a href="https://github.com/sagudev"><code>@sagudev</code></a> made their first contribution in <a href="https://redirect.github.com/linebender/color/pull/191">linebender/color#191</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/linebender/color/compare/v0.3.1...v0.3.2">https://github.com/linebender/color/compare/v0.3.1...v0.3.2</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/linebender/color/blob/main/CHANGELOG.md">color's changelog</a>.</em></p> <blockquote> <h2>[0.3.2][] (2025-09-10)</h2> <p>This release has an [MSRV][] of 1.82.</p> <h3>Added</h3> <ul> <li> <p>Add <code>interpolate_unpremultiplied</code> and <code>gradient_unpremultiplied</code> for interpolating in unpremultiplied (straight) alpha space.</p> <p>While such interpolation will often give perceptually undesired results, this allows using Color to implement rendering features where such interpolation is specified, like in the <a href="https://html.spec.whatwg.org/commit-snapshots/a93c6fa9fa95e31f1caa05f2f8abc650669df7c3/#interpolation">HTML Canvas element</a>. (<a href="https://redirect.github.com/linebender/color/issues/185">#185</a>[] by [<a href="https://github.com/sagudev"><code>@sagudev</code></a>][])</p> </li> </ul> <h3>Changed</h3> <ul> <li>Specify XYZ-D65 color space conversion matrices as exact rationals. (<a href="https://redirect.github.com/linebender/color/issues/171">#171</a>[] by [<a href="https://github.com/tomcur"><code>@tomcur</code></a>][])</li> <li>Improve documentation of <code>AlphaColor</code> vs <code>PremulColor</code> to clarify alpha premultiplication, and make both types more discoverable from each other. (<a href="https://redirect.github.com/linebender/color/issues/190">#190</a>[] by [<a href="https://github.com/tomcur"><code>@tomcur</code></a>][])</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
bc496b08e7
|
Enable the zstd decoder (#36530)
Uses the `zstd` support from `async-compression` to support zstd Content-Encoding. Testing: Covered by wpt tests. Signed-off-by: webbeef <me@webbeef.org> |
||
|
84465e7768
|
Removed FnvHash and transformed the rest to FxHashmap (#39233)
This should be the final PR for the Hash Function series that is trivial. Of note: I decided to transform `HashMapTracedValues<Atom,..>` to use FxBuildHasher. This is likely not going to improve performance as Atom's already have a unique u32 that is used as the Hash but it safes a few bytes for the RandomState that is normally in the HashMap. Signed-off-by: Narfinger <Narfinger@users.noreply.github.com> Testing: Hash function changes should not change functionality, we slightly decrease the size and unit tests still work. Signed-off-by: Narfinger <Narfinger@users.noreply.github.com> |
||
|
726b456120
|
webdriver: Focus WebView asynchronously (#39241)
#38160 added a webdriver-specific API to support waiting on focus operations to complete. Later, #38243 added a unique id to track each focus operation. Back then we wait on focusing webview in webdriver hoping to improve stability, but it does not matter as it turns out later. #39086 also focuses browsing context asynchronously. This PR would make webdriver's focusing-webview behaviour same as human interaction. Testing: [Before 1](https://github.com/yezhizhen/servo/actions/runs/17598288280), [Before 2](https://github.com/yezhizhen/servo/actions/runs/17598289360), [Before 3](https://github.com/yezhizhen/servo/actions/runs/17598290532) [After 1](https://github.com/yezhizhen/servo/actions/runs/17598282988), [After 2](https://github.com/yezhizhen/servo/actions/runs/17598280603), [After 3](https://github.com/yezhizhen/servo/actions/runs/17589228530) --------- Signed-off-by: Euclid Ye <yezhizhenjiakang@gmail.com> |
||
|
433a6bf47b
|
layout: Set baseline even if line box has no fragment (#39235)
`InlineFormattingContextLayout::finish_current_line_and_reset()` has an early return in case the line has no fragment. However, if the line only has a forced line break, then we still need to set the baseline. Testing: Adding new test. Signed-off-by: Oriol Brufau <obrufau@igalia.com> |
||
|
aea3467781
|
build(deps): bump aws-lc-rs from 1.13.3 to 1.14.0 (#39238)
Bumps [aws-lc-rs](https://github.com/aws/aws-lc-rs) from 1.13.3 to 1.14.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/aws/aws-lc-rs/releases">aws-lc-rs's releases</a>.</em></p> <blockquote> <h2>aws-lc-rs v1.14.0</h2> <h2>What's Changed</h2> <ul> <li>MSRV bumped to 1.70.0 by <a href="https://github.com/justsmth"><code>@justsmth</code></a> in <a href="https://redirect.github.com/aws/aws-lc-rs/pull/822">aws/aws-lc-rs#822</a></li> <li>aws-lc-sys v0.31.0 aligned with <a href="https://github.com/aws/aws-lc/releases/tag/v1.59.0">AWS-LC v1.59.0</a> by <a href="https://github.com/justsmth"><code>@justsmth</code></a> in <a href="https://redirect.github.com/aws/aws-lc-rs/pull/867">aws/aws-lc-rs#867</a> <ul> <li>Performance improvements for ML-KEM: <ul> <li>x86-64: <a href="https://redirect.github.com/aws/aws-lc/pull/2631">aws/aws-lc#2631</a></li> <li>arm64: <a href="https://redirect.github.com/aws/aws-lc/pull/2498">aws/aws-lc#2498</a></li> </ul> </li> </ul> </li> <li>Support for <a href="https://docs.rs/aws-lc-rs/latest/aws_lc_rs/signature/struct.EcdsaKeyPair.html#method.sign_digest">sign</a>/<a href="https://docs.rs/aws-lc-rs/latest/aws_lc_rs/signature/trait.VerificationAlgorithm.html#tymethod.verify_digest_sig">verify</a> on digests by <a href="https://github.com/justsmth"><code>@justsmth</code></a> in <a href="https://redirect.github.com/aws/aws-lc-rs/pull/826">aws/aws-lc-rs#826</a></li> <li>Support for <a href="https://docs.rs/aws-lc-rs/latest/aws_lc_rs/cipher/struct.PaddedBlockDecryptingKey.html#method.cbc_iso10126">decrypting ANSI X9.23 / ISO 10126-padded</a> AES by <a href="https://github.com/tstenner"><code>@tstenner</code></a> in <a href="https://redirect.github.com/aws/aws-lc-rs/pull/847">aws/aws-lc-rs#847</a></li> <li>Support <a href="https://docs.rs/aws-lc-rs/latest/aws_lc_rs/aead/struct.RandomizedNonceKey.html">SIV in RandomizedNonceKey</a> by <a href="https://github.com/justsmth"><code>@justsmth</code></a> in <a href="https://redirect.github.com/aws/aws-lc-rs/pull/846">aws/aws-lc-rs#846</a></li> <li>Support verification of <a href="https://docs.rs/aws-lc-rs/latest/aws_lc_rs/signature/index.html">P256/P384+SHA512 signatures</a> by <a href="https://github.com/ctz"><code>@ctz</code></a> in <a href="https://redirect.github.com/aws/aws-lc-rs/pull/857">aws/aws-lc-rs#857</a></li> <li><a href="https://docs.rs/aws-lc-rs/latest/aws_lc_rs/signature/struct.RsaSignatureEncoding.html"><code>RsaSignatureEncoding</code></a> type is public by <a href="https://github.com/soundofspace"><code>@soundofspace</code></a> in <a href="https://redirect.github.com/aws/aws-lc-rs/pull/864">aws/aws-lc-rs#864</a></li> <li><a href="https://docs.rs/aws-lc-rs/latest/aws_lc_rs/signature/struct.ParsedPublicKey.html"><code>ParsedPublicKey</code></a> for signature operations by <a href="https://github.com/justsmth"><code>@justsmth</code></a> in <a href="https://redirect.github.com/aws/aws-lc-rs/pull/863">aws/aws-lc-rs#863</a></li> <li><a href="https://docs.rs/aws-lc-rs/latest/aws_lc_rs/agreement/struct.ParsedPublicKey.html"><code>ParsedPublicKey</code></a> for agreement operations by <a href="https://github.com/justsmth"><code>@justsmth</code></a> in <a href="https://redirect.github.com/aws/aws-lc-rs/pull/862">aws/aws-lc-rs#862</a></li> </ul> <h3>Build Improvements</h3> <ul> <li>Allow prebuilt-NASM w/ Cmake toolchain by <a href="https://github.com/justsmth"><code>@justsmth</code></a> in <a href="https://redirect.github.com/aws/aws-lc-rs/pull/852">aws/aws-lc-rs#852</a></li> <li>Add support for Apple tvOS builds by <a href="https://github.com/matszczygiel"><code>@matszczygiel</code></a> in <a href="https://redirect.github.com/aws/aws-lc-rs/pull/848">aws/aws-lc-rs#848</a></li> </ul> <h3>Issues Being Resolved</h3> <ul> <li>Feature Request: RandomizedNonceKey for AES-GCM-SIV -- <a href="https://redirect.github.com/aws/aws-lc-rs/issues/842">aws/aws-lc-rs#842</a></li> <li>Add way to pre-parse signature keys (i.e. turn <code>signature::UnparsedPublicKey</code> to <code>PublicKey</code>) -- <a href="https://redirect.github.com/aws/aws-lc-rs/issues/849">aws/aws-lc-rs#849</a></li> <li>Build failed for x86_64-pc-windows-gnu target regardless of AWS_LC_SYS_PREBUILT_NASM=1 -- <a href="https://redirect.github.com/aws/aws-lc-rs/issues/850">aws/aws-lc-rs#850</a></li> </ul> <h2>Other Merged PRs</h2> <ul> <li>Exclude CI jobs for invalid param combinations by <a href="https://github.com/justsmth"><code>@justsmth</code></a> in <a href="https://redirect.github.com/aws/aws-lc-rs/pull/866">aws/aws-lc-rs#866</a></li> <li>Prepare aws-lc-rs v1.14.0 by <a href="https://github.com/justsmth"><code>@justsmth</code></a> in <a href="https://redirect.github.com/aws/aws-lc-rs/pull/876">aws/aws-lc-rs#876</a></li> <li>Fix + refactor "ios-simulator-runner.sh" by <a href="https://github.com/justsmth"><code>@justsmth</code></a> in <a href="https://redirect.github.com/aws/aws-lc-rs/pull/868">aws/aws-lc-rs#868</a></li> <li>Support CPU Jitter Entropy from upstream RAGDOLL by <a href="https://github.com/torben-hansen"><code>@torben-hansen</code></a> in <a href="https://redirect.github.com/aws/aws-lc-rs/pull/865">aws/aws-lc-rs#865</a></li> <li>Avoid doctests in cross-compile CI by <a href="https://github.com/justsmth"><code>@justsmth</code></a> in <a href="https://redirect.github.com/aws/aws-lc-rs/pull/855">aws/aws-lc-rs#855</a></li> <li>Consolidate agreement functions into LcPtr<EVP_PKEY> by <a href="https://github.com/justsmth"><code>@justsmth</code></a> in <a href="https://redirect.github.com/aws/aws-lc-rs/pull/854">aws/aws-lc-rs#854</a></li> <li>Fix unexpected +1.70.0 compiler error by <a href="https://github.com/justsmth"><code>@justsmth</code></a> in <a href="https://redirect.github.com/aws/aws-lc-rs/pull/861">aws/aws-lc-rs#861</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/tstenner"><code>@tstenner</code></a> made their first contribution in <a href="https://redirect.github.com/aws/aws-lc-rs/pull/847">aws/aws-lc-rs#847</a></li> <li><a href="https://github.com/matszczygiel"><code>@matszczygiel</code></a> made their first contribution in <a href="https://redirect.github.com/aws/aws-lc-rs/pull/848">aws/aws-lc-rs#848</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/aws/aws-lc-rs/compare/v1.13.3...v1.14.0">https://github.com/aws/aws-lc-rs/compare/v1.13.3...v1.14.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |