Skip to content

chore: prepare v0.25.0#3510

Merged
omansfeld merged 1 commit intomozilla:mainfrom
omansfeld:chore/prep_v0.24.2
Mar 30, 2026
Merged

chore: prepare v0.25.0#3510
omansfeld merged 1 commit intomozilla:mainfrom
omansfeld:chore/prep_v0.24.2

Conversation

@omansfeld
Copy link
Copy Markdown
Collaborator

@omansfeld omansfeld commented Mar 30, 2026

Preparing a new sub-release to get the fixes to HyStart++ in.

What's Changed

New Contributors

Copilot AI review requested due to automatic review settings March 30, 2026 08:02
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Prepares the Neqo workspace for the v0.24.2 sub-release by updating the workspace/package versioning artifacts.

Changes:

  • Bump workspace package version to 0.24.2 in the root Cargo.toml.
  • Update workspace crate versions in Cargo.lock to 0.24.2.

Reviewed changes

Copilot reviewed 1 out of 2 changed files in this pull request and generated 1 comment.

File Description
Cargo.toml Updates [workspace.package] version to 0.24.2 for the release.
Cargo.lock Syncs lockfile workspace package versions to 0.24.2.

Comment thread Cargo.toml Outdated
@larseggert
Copy link
Copy Markdown
Collaborator

I would want these included:
#3435, #3485, #3455

@codecov
Copy link
Copy Markdown

codecov Bot commented Mar 30, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 94.24%. Comparing base (64a36e2) to head (2bcceec).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3510      +/-   ##
==========================================
- Coverage   94.36%   94.24%   -0.13%     
==========================================
  Files         127      131       +4     
  Lines       38825    39155     +330     
  Branches    38825    39155     +330     
==========================================
+ Hits        36638    36901     +263     
- Misses       1348     1407      +59     
- Partials      839      847       +8     
Flag Coverage Δ
freebsd 93.25% <ø> (-0.10%) ⬇️
linux 94.30% <ø> (-0.03%) ⬇️
macos 94.24% <ø> (+0.01%) ⬆️
windows 94.29% <ø> (-0.02%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Components Coverage Δ
neqo-common 98.50% <ø> (ø)
neqo-crypto 86.90% <ø> (ø)
neqo-http3 93.95% <ø> (ø)
neqo-qpack 95.02% <ø> (ø)
neqo-transport 95.26% <ø> (-0.05%) ⬇️
neqo-udp 83.40% <ø> (ø)
mtu 86.61% <ø> (ø)

@codspeed-hq
Copy link
Copy Markdown

codspeed-hq Bot commented Mar 30, 2026

Merging this PR will improve performance by 4.73%

⚡ 3 improved benchmarks
✅ 21 untouched benchmarks
⏩ 27 skipped benchmarks1

Performance Changes

Mode Benchmark BASE HEAD Efficiency
Simulation coalesce_acked_from_zero 1000+1 entries 2.8 µs 2.7 µs +3.25%
Simulation coalesce_acked_from_zero 10+1 entries 3.2 µs 3.1 µs +4.73%
Simulation coalesce_acked_from_zero 3+1 entries 3.2 µs 3.1 µs +4.73%

Comparing omansfeld:chore/prep_v0.24.2 (2bcceec) with main (64a36e2)

Open in CodSpeed

Footnotes

  1. 27 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

@omansfeld
Copy link
Copy Markdown
Collaborator Author

I would want these included: #3435, #3485, #3455

If we get those in I'd change the release to v0.25.0 instead of v0.24.2 as it wouldn't be a sub-release just for the HyStart++ fixes anymore.

@mxinden
Copy link
Copy Markdown
Member

mxinden commented Mar 30, 2026

I would want these included:
#3435, #3485, #3455

@larseggert all but #3485 are merged. #3485 won't have an impact in Firefox by itself anyways. Thus, are you fine moving forward here without #3485?

Copy link
Copy Markdown
Member

@mxinden mxinden left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fine with v0.24.2 or v0.25.0.

@omansfeld omansfeld force-pushed the chore/prep_v0.24.2 branch from 2fe110a to 2bcceec Compare March 30, 2026 12:56
@omansfeld omansfeld changed the title chore: prepare v0.24.2 chore: prepare v0.25.0 Mar 30, 2026
@omansfeld omansfeld enabled auto-merge March 30, 2026 12:59
@omansfeld omansfeld added this pull request to the merge queue Mar 30, 2026
@github-actions
Copy link
Copy Markdown
Contributor

Failed Interop Tests

QUIC Interop Runner, client vs. server, differences relative to main at 64a36e2.

neqo-pr as clientneqo-pr as server
neqo-pr vs. aioquic: ⚠️C1
neqo-pr vs. go-x-net: BP BA
neqo-pr vs. haproxy: 🚀M L1 BP BA
neqo-pr vs. kwik: S L1 C1 BP BA
neqo-pr vs. linuxquic: 🚀L1 ⚠️C1
neqo-pr vs. lsquic: L1 C1
neqo-pr vs. msquic: A L1 C1
neqo-pr vs. mvfst: H DC LR M R Z 3 B U A L1 L2 C1 C2 6 BP BA
neqo-pr vs. neqo: Z A
neqo-pr vs. nginx: BP BA
neqo-pr vs. ngtcp2: CM
neqo-pr vs. picoquic: A
neqo-pr vs. quic-go: A ⚠️C1
neqo-pr vs. quiche: BP BA
neqo-pr vs. s2n-quic: ⚠️BA CM
neqo-pr vs. tquic: S BP BA
neqo-pr vs. xquic: A 🚀L1 ⚠️C1
aioquic vs. neqo-pr: run cancelled after 20 min
go-x-net vs. neqo-pr: CM
kwik vs. neqo-pr: Z BP BA CM
lsquic vs. neqo-pr: Z
msquic vs. neqo-pr: Z 🚀BP BA CM
mvfst vs. neqo-pr: Z A L1 C1 CM
neqo vs. neqo-pr: Z A
openssl vs. neqo-pr: LR M A CM
picoquic vs. neqo-pr: Z
quic-go vs. neqo-pr: CM
quiche vs. neqo-pr: Z ⚠️C1 CM
quinn vs. neqo-pr: Z V2 CM
s2n-quic vs. neqo-pr: 🚀B ⚠️BP BA CM
tquic vs. neqo-pr: Z CM
xquic vs. neqo-pr: M CM
All results

Succeeded Interop Tests

QUIC Interop Runner, client vs. server

neqo-pr as client

neqo-pr as server

Unsupported Interop Tests

QUIC Interop Runner, client vs. server

neqo-pr as client

neqo-pr as server

@github-actions
Copy link
Copy Markdown
Contributor

Client/server transfer results

Performance differences relative to 64a36e2.

Transfer of 33554432 bytes over loopback, min. 100 runs. All unit-less numbers are in milliseconds.

Client vs. server (params) Mean ± σ Min Max MiB/s ± σ Δ baseline Δ baseline
neqo-neqo-newreno-nopacing 94.0 ± 4.0 85.9 102.8 340.4 ± 8.0 💚 -2.5 -2.6%
neqo-quiche-cubic 192.3 ± 4.4 185.9 201.1 166.4 ± 7.3 💔 1.4 0.7%
s2n-neqo-cubic 221.8 ± 4.6 210.4 235.4 144.3 ± 7.0 💔 1.5 0.7%

Table above only shows statistically significant changes. See all results below.

All results

Transfer of 33554432 bytes over loopback, min. 100 runs. All unit-less numbers are in milliseconds.

Client vs. server (params) Mean ± σ Min Max MiB/s ± σ Δ baseline Δ baseline
google-google-nopacing 450.7 ± 4.2 444.3 461.2 71.0 ± 7.6
google-neqo-cubic 271.2 ± 4.9 262.9 290.3 118.0 ± 6.5 -1.1 -0.4%
msquic-msquic-nopacing 205.8 ± 107.3 115.9 558.6 155.5 ± 0.3
msquic-neqo-cubic 189.3 ± 75.1 131.3 586.7 169.0 ± 0.4 -21.2 -10.1%
neqo-google-cubic 748.2 ± 4.9 740.5 765.7 42.8 ± 6.5 -0.0 -0.0%
neqo-msquic-cubic 152.8 ± 4.1 147.0 163.4 209.4 ± 7.8 -0.7 -0.5%
neqo-neqo-cubic 97.4 ± 3.8 88.4 103.8 328.6 ± 8.4 0.7 0.7%
neqo-neqo-cubic-nopacing 96.3 ± 3.9 87.5 103.5 332.3 ± 8.2 0.3 0.3%
neqo-neqo-newreno 96.0 ± 4.2 88.2 105.2 333.3 ± 7.6 -1.0 -1.1%
neqo-neqo-newreno-nopacing 94.0 ± 4.0 85.9 102.8 340.4 ± 8.0 💚 -2.5 -2.6%
neqo-quiche-cubic 192.3 ± 4.4 185.9 201.1 166.4 ± 7.3 💔 1.4 0.7%
neqo-s2n-cubic 219.2 ± 3.8 213.4 228.4 146.0 ± 8.4 -0.0 -0.0%
quiche-neqo-cubic 180.2 ± 4.8 170.7 189.6 177.6 ± 6.7 -1.2 -0.7%
quiche-quiche-nopacing 142.6 ± 4.7 135.8 155.2 224.4 ± 6.8
s2n-neqo-cubic 221.8 ± 4.6 210.4 235.4 144.3 ± 7.0 💔 1.5 0.7%
s2n-s2n-nopacing 299.7 ± 30.0 280.6 426.1 106.8 ± 1.1

Download data for profiler.firefox.com or download performance comparison data.

Merged via the queue into mozilla:main with commit 2fce249 Mar 30, 2026
179 checks passed
@omansfeld omansfeld deleted the chore/prep_v0.24.2 branch March 30, 2026 13:29
@github-actions
Copy link
Copy Markdown
Contributor

Benchmark results

No significant performance differences relative to 64a36e2.

All results
transfer/1-conn/1-100mb-resp (aka. Download)/mtu-1504: Change within noise threshold.
       time:   [204.13 ms 204.47 ms 204.87 ms]
       thrpt:  [488.13 MiB/s 489.07 MiB/s 489.89 MiB/s]
change:
       time:   [+0.8318% +1.1062% +1.3827] (p = 0.00 < 0.05)
       thrpt:  [-1.3638% -1.0941% -0.8249]
       Change within noise threshold.
Found 4 outliers among 100 measurements (4.00%)
1 (1.00%) low mild
1 (1.00%) high mild
2 (2.00%) high severe
transfer/1-conn/10_000-parallel-1b-resp (aka. RPS)/mtu-1504: No change in performance detected.
       time:   [282.52 ms 284.42 ms 286.33 ms]
       thrpt:  [34.924 Kelem/s 35.160 Kelem/s 35.395 Kelem/s]
change:
       time:   [-0.2442% +0.7611% +1.6989] (p = 0.12 > 0.05)
       thrpt:  [-1.6705% -0.7553% +0.2448]
       No change in performance detected.
transfer/1-conn/1-1b-resp (aka. HPS)/mtu-1504: No change in performance detected.
       time:   [38.494 ms 38.624 ms 38.768 ms]
       thrpt:  [25.794   B/s 25.890   B/s 25.978   B/s]
change:
       time:   [-0.4370% +0.1402% +0.7168] (p = 0.64 > 0.05)
       thrpt:  [-0.7117% -0.1400% +0.4389]
       No change in performance detected.
Found 11 outliers among 100 measurements (11.00%)
8 (8.00%) high mild
3 (3.00%) high severe
transfer/1-conn/1-100mb-req (aka. Upload)/mtu-1504: Change within noise threshold.
       time:   [205.46 ms 205.93 ms 206.51 ms]
       thrpt:  [484.24 MiB/s 485.61 MiB/s 486.71 MiB/s]
change:
       time:   [+0.3407% +0.6501% +0.9862] (p = 0.00 < 0.05)
       thrpt:  [-0.9766% -0.6459% -0.3396]
       Change within noise threshold.
Found 2 outliers among 100 measurements (2.00%)
1 (1.00%) high mild
1 (1.00%) high severe
streams/walltime/1-streams/each-1000-bytes: Change within noise threshold.
       time:   [586.00 µs 588.07 µs 590.48 µs]
       change: [-1.1238% -0.6010% -0.0604] (p = 0.03 < 0.05)
       Change within noise threshold.
Found 8 outliers among 100 measurements (8.00%)
8 (8.00%) high severe
streams/walltime/1000-streams/each-1-bytes: Change within noise threshold.
       time:   [12.277 ms 12.315 ms 12.373 ms]
       change: [-1.4323% -1.0841% -0.6347] (p = 0.00 < 0.05)
       Change within noise threshold.
Found 2 outliers among 100 measurements (2.00%)
2 (2.00%) high severe
streams/walltime/1000-streams/each-1000-bytes: Change within noise threshold.
       time:   [45.087 ms 45.136 ms 45.184 ms]
       change: [+0.2552% +0.4111% +0.5679] (p = 0.00 < 0.05)
       Change within noise threshold.
Found 3 outliers among 100 measurements (3.00%)
1 (1.00%) low mild
2 (2.00%) high mild
transfer/walltime/pacing-false/varying-seeds: Change within noise threshold.
       time:   [81.945 ms 82.006 ms 82.068 ms]
       change: [+0.7104% +0.9011% +1.0746] (p = 0.00 < 0.05)
       Change within noise threshold.
Found 2 outliers among 100 measurements (2.00%)
1 (1.00%) low mild
1 (1.00%) high mild
transfer/walltime/pacing-true/varying-seeds: Change within noise threshold.
       time:   [83.078 ms 83.127 ms 83.177 ms]
       change: [+0.5203% +0.6698% +0.8055] (p = 0.00 < 0.05)
       Change within noise threshold.
transfer/walltime/pacing-false/same-seed: Change within noise threshold.
       time:   [83.440 ms 83.486 ms 83.534 ms]
       change: [+2.9248% +3.1480% +3.3570] (p = 0.00 < 0.05)
       Change within noise threshold.
Found 1 outliers among 100 measurements (1.00%)
1 (1.00%) high mild
transfer/walltime/pacing-true/same-seed: Change within noise threshold.
       time:   [83.533 ms 83.589 ms 83.650 ms]
       change: [+1.3503% +1.4470% +1.5485] (p = 0.00 < 0.05)
       Change within noise threshold.
Found 3 outliers among 100 measurements (3.00%)
3 (3.00%) high mild

Download data for profiler.firefox.com or download performance comparison data.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants