The Servo Browser Engine
Find a file
dependabot[bot] 325ac9e416
build(deps): bump kurbo from 0.11.1 to 0.11.2 (#37160)
Bumps [kurbo](https://github.com/linebender/kurbo) from 0.11.1 to
0.11.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/linebender/kurbo/releases">kurbo's
releases</a>.</em></p>
<blockquote>
<h2>v0.11.2</h2>
<h2>0.11.2 (2025-04-28)</h2>
<p>This release has an <a
href="README.md#minimum-supported-rust-version-msrv">MSRV</a> of
1.65.</p>
<h3>Added</h3>
<ul>
<li><code>Stroke</code> is now <code>PartialEq</code>,
<code>StrokeOpts</code> is now <code>Clone</code>, <code>Copy</code>,
<code>Debug</code>, <code>Eq</code>, <code>PartialEq</code>. (<a
href="https://redirect.github.com/linebender/kurbo/issues/379">#379</a>
by <a
href="https://github.com/waywardmonkeys"><code>@​waywardmonkeys</code></a>)</li>
<li>Implement <code>Sum</code> for <code>Vec2</code>. (<a
href="https://redirect.github.com/linebender/kurbo/issues/399">#399</a>
by <a
href="https://github.com/Philipp-M"><code>@​Philipp-M</code></a>)</li>
<li>Add triangle shape. (<a
href="https://redirect.github.com/linebender/kurbo/issues/350">#350</a>
by <a href="https://github.com/juliapaci"><code>@​juliapaci</code></a>,
<a
href="https://redirect.github.com/linebender/kurbo/issues/387">#387</a>
by <a href="https://github.com/tomcur"><code>@​tomcur</code></a>)</li>
<li>Implement <code>Div&lt;f64&gt;</code> and
<code>Mul&lt;f64&gt;</code> for <code>Insets</code>. (<a
href="https://redirect.github.com/linebender/kurbo/issues/384">#384</a>
by <a
href="https://github.com/liferooter"><code>@​liferooter</code></a>)</li>
<li>Add <code>Vec2::turn_90</code> and <code>Vec2::rotate_scale</code>
methods (<a
href="https://redirect.github.com/linebender/kurbo/issues/409">#409</a>
by <a
href="https://github.com/raphlinus"><code>@​raphlinus</code></a>)</li>
<li>Add <code>min</code> and <code>max</code> methods to
<code>Size</code>. (<a
href="https://redirect.github.com/linebender/kurbo/issues/412">#412</a>
by <a
href="https://github.com/nils-mathieu"><code>@​nils-mathieu</code></a>)</li>
<li>Add an <code>INFNITY</code> constant to <code>Size</code>. (<a
href="https://redirect.github.com/linebender/kurbo/issues/413">#413</a>
by <a
href="https://github.com/nils-mathieu"><code>@​nils-mathieu</code></a>)</li>
<li>Add <code>BezPath::with_capacity</code> method (<a
href="https://redirect.github.com/linebender/kurbo/issues/418">#418</a>
by <a
href="https://github.com/LaurenzV"><code>@​LaurenzV</code></a>)</li>
<li>Add <code>Affine::scale_about</code> and
<code>Affine::then_scale_about</code>. (<a
href="https://redirect.github.com/linebender/kurbo/issues/429">#429</a>
by <a href="https://github.com/xorgy"><code>@​xorgy</code></a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Reduce number of operations in
<code>Triangle::circumscribed_circle</code>. (<a
href="https://redirect.github.com/linebender/kurbo/issues/390">#390</a>
by <a href="https://github.com/tomcur"><code>@​tomcur</code></a>)</li>
<li>Numerically approximate ellipse perimeter. (<a
href="https://redirect.github.com/linebender/kurbo/issues/383">#383</a>,
<a
href="https://redirect.github.com/linebender/kurbo/issues/407">#407</a>
by <a href="https://github.com/tomcur"><code>@​tomcur</code></a>)</li>
<li>Always inline trivial casts, splats, and swizzles. (<a
href="https://redirect.github.com/linebender/kurbo/issues/428">#428</a>
by <a href="https://github.com/xorgy"><code>@​xorgy</code></a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fix documentation of <code>Affine::svd</code>. (<a
href="https://redirect.github.com/linebender/kurbo/issues/388">#388</a>
by <a href="https://github.com/tomcur"><code>@​tomcur</code></a>)</li>
<li>Fix documentation of cross product. (<a
href="https://redirect.github.com/linebender/kurbo/issues/409">#409</a>
by <a
href="https://github.com/raphlinus"><code>@​raphlinus</code></a>)</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/juliapaci"><code>@​juliapaci</code></a>
made their first contribution in <a
href="https://redirect.github.com/linebender/kurbo/pull/350">linebender/kurbo#350</a></li>
<li><a href="https://github.com/tomcur"><code>@​tomcur</code></a> made
their first contribution in <a
href="https://redirect.github.com/linebender/kurbo/pull/383">linebender/kurbo#383</a></li>
<li><a href="https://github.com/Philipp-M"><code>@​Philipp-M</code></a>
made their first contribution in <a
href="https://redirect.github.com/linebender/kurbo/pull/399">linebender/kurbo#399</a></li>
<li><a
href="https://github.com/liferooter"><code>@​liferooter</code></a> made
their first contribution in <a
href="https://redirect.github.com/linebender/kurbo/pull/384">linebender/kurbo#384</a></li>
<li><a href="https://github.com/LaurenzV"><code>@​LaurenzV</code></a>
made their first contribution in <a
href="https://redirect.github.com/linebender/kurbo/pull/418">linebender/kurbo#418</a></li>
<li><a href="https://github.com/xorgy"><code>@​xorgy</code></a> made
their first contribution in <a
href="https://redirect.github.com/linebender/kurbo/pull/429">linebender/kurbo#429</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/linebender/kurbo/compare/v0.11.1...v0.11.2">https://github.com/linebender/kurbo/compare/v0.11.1...v0.11.2</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/linebender/kurbo/blob/main/CHANGELOG.md">kurbo's
changelog</a>.</em></p>
<blockquote>
<h2>[0.11.2][] (2025-04-28)</h2>
<p>This release has an [MSRV][] of 1.65.</p>
<h3>Added</h3>
<ul>
<li><code>Stroke</code> is now <code>PartialEq</code>,
<code>StrokeOpts</code> is now <code>Clone</code>, <code>Copy</code>,
<code>Debug</code>, <code>Eq</code>, <code>PartialEq</code>. (<a
href="https://redirect.github.com/linebender/kurbo/issues/379">#379</a>[]
by [<a
href="https://github.com/waywardmonkeys"><code>@​waywardmonkeys</code></a>][])</li>
<li>Implement <code>Sum</code> for <code>Vec2</code>. (<a
href="https://redirect.github.com/linebender/kurbo/issues/399">#399</a>[]
by [<a
href="https://github.com/Philipp-M"><code>@​Philipp-M</code></a>][])</li>
<li>Add triangle shape. (<a
href="https://redirect.github.com/linebender/kurbo/issues/350">#350</a>[]
by [<a
href="https://github.com/juliapaci"><code>@​juliapaci</code></a>][], <a
href="https://redirect.github.com/linebender/kurbo/issues/387">#387</a>[]
by [<a
href="https://github.com/tomcur"><code>@​tomcur</code></a>][])</li>
<li>Implement <code>Div&lt;f64&gt;</code> and
<code>Mul&lt;f64&gt;</code> for <code>Insets</code>. (<a
href="https://redirect.github.com/linebender/kurbo/issues/384">#384</a>[]
by [<a
href="https://github.com/liferooter"><code>@​liferooter</code></a>][])</li>
<li>Add <code>Vec2::turn_90</code> and <code>Vec2::rotate_scale</code>
methods (<a
href="https://redirect.github.com/linebender/kurbo/issues/409">#409</a>[]
by [<a
href="https://github.com/raphlinus"><code>@​raphlinus</code></a>][])</li>
<li>Add <code>min</code> and <code>max</code> methods to
<code>Size</code>. (<a
href="https://redirect.github.com/linebender/kurbo/issues/412">#412</a>[]
by [<a
href="https://github.com/nils-mathieu"><code>@​nils-mathieu</code></a>][])</li>
<li>Add an <code>INFNITY</code> constant to <code>Size</code>. (<a
href="https://redirect.github.com/linebender/kurbo/issues/413">#413</a>[]
by [<a
href="https://github.com/nils-mathieu"><code>@​nils-mathieu</code></a>][])</li>
<li>Add <code>BezPath::with_capacity</code> method (<a
href="https://redirect.github.com/linebender/kurbo/issues/418">#418</a>[]
by [<a
href="https://github.com/LaurenzV"><code>@​LaurenzV</code></a>][])</li>
<li>Add <code>Affine::scale_about</code> and
<code>Affine::then_scale_about</code>. (<a
href="https://redirect.github.com/linebender/kurbo/issues/429">#429</a>[]
by [<a href="https://github.com/xorgy"><code>@​xorgy</code></a>][])</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Reduce number of operations in
<code>Triangle::circumscribed_circle</code>. (<a
href="https://redirect.github.com/linebender/kurbo/issues/390">#390</a>[]
by [<a
href="https://github.com/tomcur"><code>@​tomcur</code></a>][])</li>
<li>Numerically approximate ellipse perimeter. (<a
href="https://redirect.github.com/linebender/kurbo/issues/383">#383</a>[],
<a
href="https://redirect.github.com/linebender/kurbo/issues/407">#407</a>[]
by [<a
href="https://github.com/tomcur"><code>@​tomcur</code></a>][])</li>
<li>Always inline trivial casts, splats, and swizzles. (<a
href="https://redirect.github.com/linebender/kurbo/issues/428">#428</a>[]
by [<a href="https://github.com/xorgy"><code>@​xorgy</code></a>][])</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fix documentation of <code>Affine::svd</code>. (<a
href="https://redirect.github.com/linebender/kurbo/issues/388">#388</a>[]
by [<a
href="https://github.com/tomcur"><code>@​tomcur</code></a>][])</li>
<li>Fix documentation of cross product. (<a
href="https://redirect.github.com/linebender/kurbo/issues/409">#409</a>[]
by [<a
href="https://github.com/raphlinus"><code>@​raphlinus</code></a>][])</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="03942df6bb"><code>03942df</code></a>
Release 0.11.2 (<a
href="https://redirect.github.com/linebender/kurbo/issues/441">#441</a>)</li>
<li><a
href="5495ac1a3a"><code>5495ac1</code></a>
Expand changelog (<a
href="https://redirect.github.com/linebender/kurbo/issues/442">#442</a>)</li>
<li><a
href="ea944bb829"><code>ea944bb</code></a>
Update <code>libm</code> and <code>rand</code> deps (<a
href="https://redirect.github.com/linebender/kurbo/issues/440">#440</a>)</li>
<li><a
href="b85607f998"><code>b85607f</code></a>
Fix <code>clippy::default_trait_access</code> lints (<a
href="https://redirect.github.com/linebender/kurbo/issues/439">#439</a>)</li>
<li><a
href="cb1c2c39b9"><code>cb1c2c3</code></a>
Update deps (<a
href="https://redirect.github.com/linebender/kurbo/issues/438">#438</a>)</li>
<li><a
href="d872acb7f0"><code>d872acb</code></a>
ci: update to stable Rust 1.86, typos 1.31.1 (<a
href="https://redirect.github.com/linebender/kurbo/issues/422">#422</a>)</li>
<li><a
href="c68c4f9469"><code>c68c4f9</code></a>
Improve doc comment on <code>Shape::contains</code> (<a
href="https://redirect.github.com/linebender/kurbo/issues/433">#433</a>)</li>
<li><a
href="d67b9dd98a"><code>d67b9dd</code></a>
Make <code>kurbo</code> a crate within a workspace (<a
href="https://redirect.github.com/linebender/kurbo/issues/434">#434</a>)</li>
<li><a
href="cf7d823a50"><code>cf7d823</code></a>
Update CHANGELOG (<a
href="https://redirect.github.com/linebender/kurbo/issues/430">#430</a>)</li>
<li><a
href="193f413a6f"><code>193f413</code></a>
Always inline trivial casts, splats, and swizzles. (<a
href="https://redirect.github.com/linebender/kurbo/issues/428">#428</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/linebender/kurbo/compare/v0.11.1...v0.11.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=kurbo&package-manager=cargo&previous-version=0.11.1&new-version=0.11.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 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>
2025-05-28 06:41:00 +00:00
.cargo Move various reflector types and traits to script_bindings (#35279) 2025-02-04 06:58:08 +00:00
.github OHOS CI: Allow run.json to be overwritten in upload action. (#37083) 2025-05-23 02:17:41 +00:00
.vscode use ruff rather than flake8 for python code linting (#37045) 2025-05-24 14:19:47 +00:00
components Refactor the memory profiler code to return the struct. (#37155) 2025-05-28 00:58:05 +00:00
docs Update in-tree docs to point to the new book (#32743) 2024-07-09 15:42:00 +00:00
etc Use ruff to enforce python code formatting (#37117) 2025-05-26 11:54:43 +00:00
ports/servoshell servoshell: Ensure that the theme is applied properly on startup (#37128) 2025-05-26 15:09:04 +00:00
python bootstrap: Add winget fallback (#32836) 2025-05-27 09:51:46 +00:00
resources Replace hsts preload list hashmap with an FST (#37015) 2025-05-20 04:26:55 +00:00
support ohos: servoshell: Use Flex{Column} to avoid Column bug (#37087) 2025-05-24 01:37:46 +00:00
tests layout: Fix logic for transforms with non-invertible matrix (#37147) 2025-05-27 18:36:33 +00:00
third_party imagebitmap: Make ImageBitmap serializable and transferable (#37101) 2025-05-23 20:40:25 +00:00
.clang-format Run test-tidy on Windows 2019-11-21 09:56:39 +01:00
.gitattributes openharmony: add servoshell for ohos (#33295) 2024-09-20 08:20:27 +00:00
.gitignore Add Zed configuration files to .gitignore (#36909) 2025-05-08 08:23:19 +00:00
.mailmap Update Tetsuharu OHZEKI's entry in mailmap 2019-11-15 00:46:45 +09:00
.python-version Set python version to 3.11 (#34707) 2024-12-19 18:42:36 +00:00
Cargo.lock build(deps): bump kurbo from 0.11.1 to 0.11.2 (#37160) 2025-05-28 06:41:00 +00:00
Cargo.toml Add support for static SVG images using resvg crate (#36721) 2025-05-27 11:02:40 +00:00
CLOBBER Add clobber mechanism 2017-05-08 16:19:56 +02:00
CODE_OF_CONDUCT.md Clarify the Code of Conduct (closes servo/servo.org#164) (#32835) 2024-07-23 09:12:03 +00:00
CONTRIBUTING.md Update in-tree docs to point to the new book (#32743) 2024-07-09 15:42:00 +00:00
deny.toml build(deps): bump the objc2-related group with 2 updates (#36919) 2025-05-11 18:39:49 +00:00
Info.plist remove bhtml 2018-02-11 08:02:39 +01:00
LICENSE Update MPL license to https (part 1) 2018-11-19 14:46:43 +01:00
LICENSE_WHATWG_SPECS Add license for WHATWG specifications in code (#36282) 2025-04-03 04:33:06 +00:00
mach Fix mach argument quoting on NixOS (#35573) 2025-02-21 08:21:50 +00:00
mach.bat mach: adopt uv and avoid system python (#34632) 2024-12-16 09:20:37 +00:00
PULL_REQUEST_TEMPLATE.md Use a simpler GitHub pull request template (#36203) 2025-03-30 10:14:13 +00:00
README.md Link to the Zulip and project repo in README (#37134) 2025-05-26 15:51:50 +00:00
ruff.toml use ruff rather than flake8 for python code linting (#37045) 2025-05-24 14:19:47 +00:00
rust-toolchain.toml Unsimplify rust-toolchain.toml by adding clippy and rustfmt (#37028) 2025-05-16 17:04:27 +00:00
rustfmt.toml Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00
SECURITY.md docs(security): avoid possible misconception in the security policy (#37032) 2025-05-16 21:27:42 +00:00
servo-tidy.toml Replace hsts preload list hashmap with an FST (#37015) 2025-05-20 04:26:55 +00:00
servobuild.example Remove some references to layout 2013 vs layout 2020 (#37007) 2025-05-14 19:53:48 +00:00
shell.nix Install tshark for automated tests in #36033 (#36201) 2025-03-28 09:43:03 +00:00
taplo.toml Format toml files (#30112) 2023-08-17 15:07:43 +00:00
uv.toml uv: Use native-tls (#36564) 2025-04-16 11:47:49 +00:00

The Servo Parallel Browser Engine Project

Servo is a prototype web browser engine written in the Rust language. It is currently developed on 64-bit macOS, 64-bit Linux, 64-bit Windows, 64-bit OpenHarmony, and Android.

Servo welcomes contribution from everyone. Check out:

Coordination of Servo development happens:

Getting started

For more detailed build instructions, see the Servo book under Setting up your environment, Building Servo, Building for Android and Building for OpenHarmony.

macOS

  • Download and install Xcode and brew.
  • Install uv: curl -LsSf https://astral.sh/uv/install.sh | sh
  • Install rustup: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  • Restart your shell to make sure cargo is available
  • Install the other dependencies: ./mach bootstrap
  • Build servoshell: ./mach build

Linux

  • Install curl:
    • Arch: sudo pacman -S --needed curl
    • Debian, Ubuntu: sudo apt install curl
    • Fedora: sudo dnf install curl
    • Gentoo: sudo emerge net-misc/curl
  • Install uv: curl -LsSf https://astral.sh/uv/install.sh | sh
  • Install rustup: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  • Restart your shell to make sure cargo is available
  • Install the other dependencies: ./mach bootstrap
  • Build servoshell: ./mach build

Windows

  • Download uv, choco, and rustup
    • Be sure to select Quick install via the Visual Studio Community installer
  • In the Visual Studio Installer, ensure the following components are installed:
    • Windows 10 SDK (10.0.19041.0) (Microsoft.VisualStudio.Component.Windows10SDK.19041)
    • MSVC v143 - VS 2022 C++ x64/x86 build tools (Latest) (Microsoft.VisualStudio.Component.VC.Tools.x86.x64)
    • C++ ATL for latest v143 build tools (x86 & x64) (Microsoft.VisualStudio.Component.VC.ATL)
    • C++ MFC for latest v143 build tools (x86 & x64) (Microsoft.VisualStudio.Component.VC.ATLMFC)
  • Restart your shell to make sure cargo is available
  • Install the other dependencies: .\mach bootstrap
  • Build servoshell: .\mach build

Android

  • Ensure that the following environment variables are set:
    • ANDROID_SDK_ROOT
    • ANDROID_NDK_ROOT: $ANDROID_SDK_ROOT/ndk/26.2.11394342/ ANDROID_SDK_ROOT can be any directory (such as ~/android-sdk). All of the Android build dependencies will be installed there.
  • Install the latest version of the Android command-line tools to $ANDROID_SDK_ROOT/cmdline-tools/latest.
  • Run the following command to install the necessary components:
    sudo $ANDROID_SDK_ROOT/cmdline-tools/latest/bin/sdkmanager --install \
     "build-tools;34.0.0" \
     "emulator" \
     "ndk;26.2.11394342" \
     "platform-tools" \
     "platforms;android-33" \
     "system-images;android-33;google_apis;x86_64"
    
  • Follow the instructions above for the platform you are building on

OpenHarmony

  • Follow the instructions above for the platform you are building on to prepare the environment.
  • Depending on the target distribution (e.g. HarmonyOS NEXT vs pure OpenHarmony) the build configuration will differ slightly.
  • Ensure that the following environment variables are set
    • DEVECO_SDK_HOME (Required when targeting HarmonyOS NEXT)
    • OHOS_BASE_SDK_HOME (Required when targeting OpenHarmony)
    • OHOS_SDK_NATIVE (e.g. ${DEVECO_SDK_HOME}/default/openharmony/native or ${OHOS_BASE_SDK_HOME}/${API_VERSION}/native)
    • SERVO_OHOS_SIGNING_CONFIG: Path to json file containing a valid signing configuration for the demo app.
  • Review the detailed instructions at Building for OpenHarmony.
  • The target distribution can be modified by passing --flavor=<default|harmonyos> to `mach <build|package|install>.