Files
servo/Cargo.toml
dependabot[bot] f1b48126bf build(deps): bump hyper from 1.7.0 to 1.8.0 (#40576)
Bumps [hyper](https://github.com/hyperium/hyper) from 1.7.0 to 1.8.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/hyperium/hyper/releases">hyper's
releases</a>.</em></p>
<blockquote>
<h2>v1.8.0</h2>
<h2>Highlights</h2>
<h3>Features</h3>
<ul>
<li><strong>rt:</strong> add <code>Timer::now()</code> method to allow
overriding the instant returned (<a
href="https://redirect.github.com/hyperium/hyper/issues/3965">#3965</a>)
(<a
href="5509ebe615">5509ebe6</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li><strong>http1:</strong> fix rare missed write wakeup on connections
(<a
href="https://redirect.github.com/hyperium/hyper/issues/3952">#3952</a>)
(<a
href="2377b893f6">2377b893</a>)</li>
<li><strong>http2:</strong> fix internals of HTTP/2 CONNECT upgrades (<a
href="https://redirect.github.com/hyperium/hyper/issues/3967">#3967</a>)
(<a
href="58e0e7dc70">58e0e7dc</a>,
closes <a
href="https://redirect.github.com/hyperium/hyper/issues/3966">#3966</a>)</li>
</ul>
<h3>Breaking Changes</h3>
<p>While technically breaking, it's assumed you will not need to do
anything or be affected.</p>
<ul>
<li>
<p>The HTTP/2 client connection no longer allows an executor
that can not spawn itself.</p>
<p>This was an oversight originally. The client connection will now
include spawning
a future that keeps a copy of the executor to spawn other futures. Thus,
if it is
<code>!Send</code>, it needs to spawn <code>!Send</code> futures. The
likelihood of executors that match
the previously allowed behavior should be very remote.</p>
<p>There is also technically a semver break in here, which is that the
<code>Http2ClientConnExec</code> trait no longer dyn-compatible, because
it now expects to
be <code>Clone</code>. This should not break usage of the
<code>conn</code> builder, because it already
separately had <code>E: Clone</code> bounds. If someone were using
<code>dyn Http2ClientConnExec</code>,
that will break. However, there is no purpose for doing so, and it is
not usable
otherwise, since the trait only exists to propagate bounds into hyper.
Thus, the
breakage should not affect anyone.
(<a
href="58e0e7dc70">58e0e7dc</a>)</p>
</li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>chore(ci): update to actions/checkout@v5 by <a
href="https://github.com/tottoto"><code>@​tottoto</code></a> in <a
href="https://redirect.github.com/hyperium/hyper/pull/3935">hyperium/hyper#3935</a></li>
<li>refactor(ffi): specify &quot;C&quot; ABI explicitly in ffi_fn! macro
by <a href="https://github.com/1911860538"><code>@​1911860538</code></a>
in <a
href="https://redirect.github.com/hyperium/hyper/pull/3937">hyperium/hyper#3937</a></li>
<li>Update documented default values for <code>http1::Builder</code> by
<a href="https://github.com/Will-Low"><code>@​Will-Low</code></a> in <a
href="https://redirect.github.com/hyperium/hyper/pull/3938">hyperium/hyper#3938</a></li>
<li>fix(client): port tests to in-memory socket by <a
href="https://github.com/cratelyn"><code>@​cratelyn</code></a> in <a
href="https://redirect.github.com/hyperium/hyper/pull/3947">hyperium/hyper#3947</a></li>
<li>feat: allow overriding the instant returned from Timer by <a
href="https://github.com/arielb1"><code>@​arielb1</code></a> in <a
href="https://redirect.github.com/hyperium/hyper/pull/3965">hyperium/hyper#3965</a></li>
<li>fix(http1): poll_loop writes when ready by <a
href="https://github.com/lthiery"><code>@​lthiery</code></a> in <a
href="https://redirect.github.com/hyperium/hyper/pull/3952">hyperium/hyper#3952</a></li>
<li>test(ready_stream): replace tracing with printlns by <a
href="https://github.com/seanmonstar"><code>@​seanmonstar</code></a> in
<a
href="https://redirect.github.com/hyperium/hyper/pull/3973">hyperium/hyper#3973</a></li>
<li>fix(http2): fix internals of HTTP/2 CONNECT upgrades by <a
href="https://github.com/seanmonstar"><code>@​seanmonstar</code></a> in
<a
href="https://redirect.github.com/hyperium/hyper/pull/3967">hyperium/hyper#3967</a></li>
<li>Release v1.8.0 by <a
href="https://github.com/seanmonstar"><code>@​seanmonstar</code></a> in
<a
href="https://redirect.github.com/hyperium/hyper/pull/3974">hyperium/hyper#3974</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/Will-Low"><code>@​Will-Low</code></a>
made their first contribution in <a
href="https://redirect.github.com/hyperium/hyper/pull/3938">hyperium/hyper#3938</a></li>
<li><a href="https://github.com/arielb1"><code>@​arielb1</code></a> made
their first contribution in <a
href="https://redirect.github.com/hyperium/hyper/pull/3965">hyperium/hyper#3965</a></li>
<li><a href="https://github.com/lthiery"><code>@​lthiery</code></a> made
their first contribution in <a
href="https://redirect.github.com/hyperium/hyper/pull/3952">hyperium/hyper#3952</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/hyperium/hyper/blob/master/CHANGELOG.md">hyper's
changelog</a>.</em></p>
<blockquote>
<h2>v1.8.0 (2025-11-11)</h2>
<h4>Bug Fixes</h4>
<ul>
<li><strong>http1:</strong> fix rare missed write wakeup on connections
(<a
href="https://redirect.github.com/hyperium/hyper/issues/3952">#3952</a>)
(<a
href="2377b893f6">2377b893</a>)</li>
<li><strong>http2:</strong> fix internals of HTTP/2 CONNECT upgrades (<a
href="https://redirect.github.com/hyperium/hyper/issues/3967">#3967</a>)
(<a
href="58e0e7dc70">58e0e7dc</a>,
closes <a
href="https://redirect.github.com/hyperium/hyper/issues/3966">#3966</a>)</li>
</ul>
<h4>Features</h4>
<ul>
<li><strong>rt:</strong> add <code>Timer::now()</code> method to allow
overriding the instant returned (<a
href="https://redirect.github.com/hyperium/hyper/issues/3965">#3965</a>)
(<a
href="5509ebe615">5509ebe6</a>)</li>
</ul>
<h4>Breaking Changes</h4>
<ul>
<li>
<p>The HTTP/2 client connection no longer allows an executor
that can not spawn itself.</p>
<p>This was an oversight originally. The client connection will now
include spawning
a future that keeps a copy of the executor to spawn other futures. Thus,
if it is
<code>!Send</code>, it needs to spawn <code>!Send</code> futures. The
likelihood of executors that match
the previously allowed behavior should be very remote.</p>
<p>There is also technically a semver break in here, which is that the
<code>Http2ClientConnExec</code> trait no longer dyn-compatible, because
it now expects to
be <code>Clone</code>. This should not break usage of the
<code>conn</code> builder, because it already
separately had <code>E: Clone</code> bounds. If someone were using
<code>dyn Http2ClientConnExec</code>,
that will break. However, there is no purpose for doing so, and it is
not usable
otherwise, since the trait only exists to propagate bounds into hyper.
Thus, the
breakage should not affect anyone.
(<a
href="58e0e7dc70">58e0e7dc</a>)</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="dbe6f25ba2"><code>dbe6f25</code></a>
v1.8.0</li>
<li><a
href="58e0e7dc70"><code>58e0e7d</code></a>
fix(http2): fix internals of HTTP/2 CONNECT upgrades (<a
href="https://redirect.github.com/hyperium/hyper/issues/3967">#3967</a>)</li>
<li><a
href="0a37a8cd9d"><code>0a37a8c</code></a>
test(ready_stream): replace tracing with printlns (<a
href="https://redirect.github.com/hyperium/hyper/issues/3973">#3973</a>)</li>
<li><a
href="2377b893f6"><code>2377b89</code></a>
fix(http1): fix rare missed write wakeup on connections (<a
href="https://redirect.github.com/hyperium/hyper/issues/3952">#3952</a>)</li>
<li><a
href="5509ebe615"><code>5509ebe</code></a>
feat(rt): add <code>Timer::now()</code> method to allow overriding the
instant returned ...</li>
<li><a
href="f9f8f44058"><code>f9f8f44</code></a>
tests(client): port tests to in-memory socket (<a
href="https://redirect.github.com/hyperium/hyper/issues/3947">#3947</a>)</li>
<li><a
href="5803a9c059"><code>5803a9c</code></a>
docs(server): update default values for <code>http1::Builder</code> (<a
href="https://redirect.github.com/hyperium/hyper/issues/3938">#3938</a>)</li>
<li><a
href="e1e1f2b461"><code>e1e1f2b</code></a>
refactor(ffi): specify &quot;C&quot; ABI explicitly in ffi_fn! macro (<a
href="https://redirect.github.com/hyperium/hyper/issues/3937">#3937</a>)</li>
<li><a
href="64ab7ae339"><code>64ab7ae</code></a>
chore(ci): update to actions/checkout@v5 (<a
href="https://redirect.github.com/hyperium/hyper/issues/3935">#3935</a>)</li>
<li>See full diff in <a
href="https://github.com/hyperium/hyper/compare/v1.7.0...v1.8.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=hyper&package-manager=cargo&previous-version=1.7.0&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 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-11-12 00:50:04 +00:00

288 lines
9.7 KiB
TOML

[workspace]
resolver = "2"
members = [
"components/xpath",
"ports/servoshell",
"tests/unit/*",
]
default-members = ["ports/servoshell"]
exclude = [".cargo", "support/crown"]
[workspace.package]
version = "0.0.1"
authors = ["The Servo Project Developers"]
license = "MPL-2.0"
edition = "2024"
publish = false
# We have yet to decide on a policy for updating the minimum supported Rust version.
# Before increasing this, please open a discussion on Zulip explaining the reason
# why we should consider increasing our minimum supported Rust version.
# Please also note, that the **default** Rust version in rust-toolchain.toml may be
# bumped freely.
# Skip 1.90 which causes mis-compilation: https://github.com/rust-lang/rust/issues/147265
rust-version = "1.86.0"
[workspace.dependencies]
accountable-refcell = "0.2.2"
aes = "0.8.4"
aes-gcm = "0.10.3"
aes-kw = { version = "0.2.1", features = ["alloc"] }
app_units = "0.7"
arboard = "3"
arrayvec = "0.7"
async-tungstenite = { version = "0.32", features = ["tokio-rustls-webpki-roots"] }
atomic_refcell = "0.1.13"
aws-lc-rs = { version = "1.14", default-features = false, features = ["aws-lc-sys"] }
background_hang_monitor_api = { path = "components/shared/background_hang_monitor" }
backtrace = "0.3"
base = { path = "components/shared/base" }
base64 = "0.22.1"
base64ct = { version = "1.8", features = ["alloc"] }
bincode = "1"
bitflags = "2.10"
bluetooth_traits = { path = "components/shared/bluetooth" }
bytemuck = "1"
byteorder = "1.5"
canvas_traits = { path = "components/shared/canvas" }
cbc = "0.1.2"
cfg-if = "1.0.4"
chrono = { version = "0.4", features = ["serde"] }
cipher = { version = "0.4.4", features = ["alloc"] }
compositing_traits = { path = "components/shared/compositing" }
constellation_traits = { path = "components/shared/constellation" }
content-security-policy = { git = "https://github.com/servo/rust-content-security-policy", branch = "servo-csp", features = ["serde"] }
cookie = { package = "cookie", version = "0.18" }
crossbeam-channel = "0.5"
cssparser = { version = "0.36", features = ["serde"] }
ctr = "0.9.2"
data-url = "0.3"
devtools_traits = { path = "components/shared/devtools" }
digest = "0.10"
dpi = "0.1"
dwrote = "0.11.5"
ecdsa = "0.16"
elliptic-curve = "0.13"
embedder_traits = { path = "components/shared/embedder" }
encoding_rs = "0.8"
env_logger = "0.11"
euclid = "0.22"
flate2 = "1.1"
fonts_traits = { path = "components/shared/fonts" }
freetype-sys = "0.20"
gleam = "0.15"
glow = "0.16.0"
gstreamer = { version = "0.24", features = ["v1_18"] }
gstreamer-base = "0.24"
gstreamer-gl = "0.24"
gstreamer-gl-sys = "0.24"
gstreamer-sys = "0.24"
gstreamer-video = "0.24"
harfbuzz-sys = "0.6.1"
headers = "0.4"
hitrace = "0.1.5"
html5ever = "0.36"
http = "1.3"
http-body-util = "0.1"
hyper = "1.8"
hyper-rustls = { version = "0.27", default-features = false, features = ["http1", "http2", "logging", "tls12", "webpki-tokio"] }
hyper-util = { version = "0.1", features = ["client-legacy", "http2", "tokio"] }
hyper_serde = { path = "components/hyper_serde" }
icu_locid = "1.5.0"
icu_segmenter = "1.5.0"
image = { version = "0.25", default-features = false, features = ["avif", "rayon", "bmp", "gif", "ico", "jpeg", "png", "webp"] }
imsz = "0.4"
indexmap = { version = "2.11.4", features = ["std"] }
ipc-channel = "0.20.2"
itertools = "0.14"
js = { package = "mozjs", git = "https://github.com/servo/mozjs" }
keyboard-types = { version = "0.8.3", features = ["serde", "webdriver"] }
kurbo = { version = "0.12", features = ["euclid"] }
layout_api = { path = "components/shared/layout" }
libc = "0.2"
log = "0.4.27"
mach2 = "0.4"
malloc_size_of = { package = "servo_malloc_size_of", path = "components/malloc_size_of" }
malloc_size_of_derive = "0.1"
markup5ever = "0.36"
memmap2 = "0.9.9"
mime = "0.3.13"
mime_guess = "2.0.5"
mozangle = "0.5.3"
net_traits = { path = "components/shared/net" }
nix = "0.30"
nom = "8.0.0"
nom-rfc8288 = "0.4.0"
num-traits = "0.2"
num_cpus = "1.17.0"
openxr = "0.19"
p256 = { version = "0.13", features = ["ecdh"] }
p384 = { version = "0.13", features = ["ecdh"] }
p521 = { version = "0.13", features = ["ecdh"] }
parking_lot = "0.12"
peniko = "0.5"
percent-encoding = "2.3"
pkcs8 = { version = "0.10", features = ["rand_core"] }
proc-macro2 = "1"
profile_traits = { path = "components/shared/profile" }
quote = "1"
rand = "0.9"
raw-window-handle = "0.6"
rayon = "1"
read-fonts = "0.35.0"
regex = "1.12"
resvg = "0.45.0"
rustc-hash = "2.1.1"
rustls = { version = "0.23", default-features = false, features = ["logging", "std", "tls12"] }
rustls-pemfile = "2.0"
rustls-pki-types = "1.13"
script_traits = { path = "components/shared/script" }
sec1 = "0.7"
selectors = { git = "https://github.com/servo/stylo", branch = "2025-11-01" }
serde = "1.0.228"
serde_bytes = "0.11"
serde_core = "1.0.226"
serde_json = "1.0"
servo-media = { git = "https://github.com/servo/media" }
servo-media-dummy = { git = "https://github.com/servo/media" }
servo-media-gstreamer = { git = "https://github.com/servo/media" }
servo-tracing = { path = "components/servo_tracing" }
servo_arc = { git = "https://github.com/servo/stylo", branch = "2025-11-01" }
sha1 = "0.10"
sha2 = "0.10"
skrifa = "0.37.0"
smallvec = { version = "1.15", features = ["serde", "union"] }
storage_traits = { path = "components/shared/storage" }
string_cache = "0.9"
strum = "0.27"
strum_macros = "0.27"
stylo = { git = "https://github.com/servo/stylo", branch = "2025-11-01" }
stylo_atoms = { git = "https://github.com/servo/stylo", branch = "2025-11-01" }
stylo_config = { git = "https://github.com/servo/stylo", branch = "2025-11-01" }
stylo_dom = { git = "https://github.com/servo/stylo", branch = "2025-11-01" }
stylo_malloc_size_of = { git = "https://github.com/servo/stylo", branch = "2025-11-01" }
stylo_traits = { git = "https://github.com/servo/stylo", branch = "2025-11-01" }
surfman = { version = "0.10.0", features = ["chains"] }
syn = { version = "2", default-features = false, features = ["clone-impls", "derive", "parsing"] }
synstructure = "0.13"
taffy = { version = "0.9", default-features = false, features = ["calc", "detailed_layout_info", "grid", "std"] }
tikv-jemalloc-sys = "0.6.1"
tikv-jemallocator = "0.6.1"
time = { package = "time", version = "0.3", features = ["large-dates", "local-offset", "serde"] }
tokio = "1"
tokio-rustls = { version = "0.26", default-features = false, features = ["logging"] }
tower-service = "0.3"
tracing = "0.1.41"
tracing-perfetto = "0.1.5"
tracing-subscriber = "0.3.20"
tungstenite = "0.28"
unicode-bidi = "0.3.18"
unicode-properties = { version = "0.1.4", features = ["emoji"] }
unicode-script = "0.5"
unicode-segmentation = "1.12.0"
url = "2.5"
urlpattern = "0.3"
utf-8 = "0.7"
uuid = { version = "1.18.1", features = ["v4", "v5"] }
vello = "0.6"
vello_cpu = "0.0.4"
webdriver = "0.53.0"
webgpu_traits = { path = "components/shared/webgpu" }
webpki-roots = "1.0"
webrender = { git = "https://github.com/servo/webrender", branch = "0.68", features = ["capture"] }
webrender_api = { git = "https://github.com/servo/webrender", branch = "0.68" }
webxr-api = { path = "components/shared/webxr" }
wgpu-core = "26"
wgpu-types = "26"
winapi = "0.3"
windows-sys = "0.61"
winit = "0.30.12"
wio = "0.2"
wr_malloc_size_of = { git = "https://github.com/servo/webrender", branch = "0.68" }
x25519-dalek = { version = "2.0.1", features = ["static_secrets"] }
xi-unicode = "0.3.0"
xml5ever = "0.36"
xpath = { path = "components/xpath" }
# Force tikv-jemalloc-sys to build with at least -O1.
# This can help with build environments that force _FORTIFY_SOURCE, such as Nix.
# More details: <https://github.com/tikv/jemallocator/issues/108>
[profile.dev.package.tikv-jemalloc-sys]
opt-level = 1
[profile.release]
opt-level = 3
debug-assertions = true
# Disk-space is limited in CI, so we disabled features that are not needed for code coverage.
# Locally using the default `dev` profile is perfectly fine.
[profile.coverage]
inherits = "dev"
incremental = false
debug = false
# A profile between `dev` and `release` which aims to offer a compromise between
# fast incremental rebuilds and runtime speed.
[profile.medium]
inherits = "release"
opt-level = 2
incremental = true
debug = "line-tables-only"
[profile.production]
inherits = "release"
debug-assertions = false
lto = true
codegen-units = 1
opt-level = "s"
[profile.production-stripped]
inherits = "production"
strip = true
[profile.profiling]
inherits = "release"
debug-assertions = false
debug = true
lto = "thin"
codegen-units = 1
[patch.crates-io]
# If you need to temporarily test Servo with a local fork of some upstream
# crate, add that here. Use the form:
#
# <crate> = { path = "/path/to/local/checkout" }
#
# For html5ever:
#
# html5ever = { path = "../html5ever/html5ever" }
# markup5ever = { path = "../html5ever/markup5ever" }
# web_atoms = { path = "../html5ever/web_atoms" }
# xml5ever = { path = "../html5ever/xml5ever" }
#
# Or for Stylo:
#
# [patch."https://github.com/servo/stylo"]
# selectors = { path = "../stylo/selectors" }
# servo_arc = { path = "../stylo/servo_arc" }
# stylo = { path = "../stylo/style" }
# stylo_atoms = { path = "../stylo/stylo_atoms" }
# stylo_config = { path = "../stylo/stylo_config" }
# stylo_dom = { path = "../stylo/stylo_dom" }
# stylo_malloc_size_of = { path = "../stylo/malloc_size_of" }
# stylo_traits = { path = "../stylo/style_traits" }
#
# Or for WebRender:
#
# [patch."https://github.com/servo/webrender"]
# webrender = { path = "../webrender/webrender" }
# webrender_api = { path = "../webrender/webrender_api" }
# wr_malloc_size_of = { path = "../webrender/wr_malloc_size_of" }
#
# Or for another Git dependency:
#
# [patch."https://github.com/servo/<repository>"]
# <crate> = { path = "/path/to/local/checkout" }
#
# [patch."https://github.com/servo/rust-content-security-policy"]
# content-security-policy = { path = "../rust-content-security-policy" }