Skip to content

chore: move the Rust pin to 1.98.1 - #266

Merged
kurok merged 1 commit into
masterfrom
chore/rust-1.98.1
Sep 18, 2026
Merged

kurok merged 1 commit into
masterfrom
chore/rust-1.98.1

Conversation

@kurok

@kurok kurok commented Sep 18, 2026

Copy link
Copy Markdown
Contributor

Moves the pin from 1.98.0 to 1.98.1 (latest stable, 2026-09-01).

Measured first

rust-toolchain.toml says how to do this, and why: the benchmark gate builds a revision and its base with the same toolchain, so a compiler change is the one regression it cannot see. This repo has watched a rustc minor version move the parse path 15–96% (#120).

So, per that file: gh workflow run toolchain-ab.yml -f candidate=1.98.1 — one job, both toolchains, measured interleaved.

Result on an EPYC 7763: worst benchmark +1.9% against a 1.8% control noise floor. Verdict "no significant difference". Every gated benchmark flat:

1.98.0 1.98.1
parse_message 0.315 ms 0.316 ms +0.1%
full_read 0.336 ms 0.337 ms +0.2%
parse_tree 0.318 ms 0.317 ms −0.4%
parse_many 2.589 ms 2.575 ms −0.5%
parse_qp_dense_escapes 0.210 ms 0.210 ms +0.0%
parse_8bit_text 0.032 ms 0.030 ms −6.0%

What changed

Every place the version is named and cargo actually uses it: rust-toolchain.toml's channel, the four publish.yml wheel jobs, the four test.yml jobs that install components for it, and toolchain-ab.yml's baseline default.

The history lines in those same files still say 1.98.0, deliberately — they are recording what happened, not what is pinned. The pin's own History comment gains this measurement so the next person bumping it can see what bar it had to clear.

One line in CONTRIBUTING.md said "the pin has moved on to 1.98.0". That is a statement that goes stale at every bump, so it now reads "moved on past it" and stops needing maintenance.

Verification

Built and run on 1.98.1: 867 Python tests, 13 core Rust tests, cargo clippy --workspace --all-targets -D warnings, cargo fmt --check.

Independent of #265 (the 0.10.0 release) — disjoint files. If you want 0.10.0's wheels built on 1.98.1, merge this first and I will re-tag.

Latest stable, released 2026-09-01. Measured first, as rust-toolchain.toml
requires: `gh workflow run toolchain-ab.yml -f candidate=1.98.1` builds this
source with both toolchains in one job and measures them interleaved.

On an EPYC 7763 the worst benchmark moved +1.9% against a 1.8% pure-Python
control noise floor -- verdict "no significant difference", every gated
benchmark flat. That is the bar the pin's own procedure sets.

Bumped everywhere the version is named and cargo actually uses it:
rust-toolchain.toml's channel, the four publish.yml wheel jobs, the four
test.yml jobs that install components for it, and toolchain-ab.yml's baseline
default. The history lines in those files keep saying 1.98.0, because that is
history. CONTRIBUTING's "the pin has moved on to 1.98.0" now reads "moved on
past it", so it stops being a statement that goes stale on every bump.

The pin's History comment records this measurement, so the next person bumping
it can see what the bar was.

Verified on 1.98.1: 867 Python tests, 13 core tests, clippy with -D warnings,
fmt.

Signed-off-by: kurok <22548029+kurok@users.noreply.github.com>
@kurok
kurok merged commit 7ef16fd into master Sep 18, 2026
15 checks passed
@kurok
kurok deleted the chore/rust-1.98.1 branch September 18, 2026 14:25
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.

1 participant