Skip to content

build: track stable toolchain + declare MSRV 1.83; bump mailparse to 0.16.1#82

Merged
kurok merged 1 commit into
masterfrom
fix-issues-37-38-toolchain-deps
Jun 12, 2026
Merged

build: track stable toolchain + declare MSRV 1.83; bump mailparse to 0.16.1#82
kurok merged 1 commit into
masterfrom
fix-issues-37-38-toolchain-deps

Conversation

@kurok

@kurok kurok commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

Summary

Resolves two high-priority dependency/toolchain issues. Scope is limited to Cargo.toml, Cargo.lock, rust-toolchain, and .github/workflows/test.yml — no src/, tests/, or pyproject.toml changes.

#37 — Track stable toolchain, declare MSRV

  • rust-toolchain: 1.83stable, so dev/CI build against current stable.
  • Cargo.toml: added rust-version = "1.83" to [package] to declare the MSRV explicitly (the floor PyO3 0.29 requires).
  • test.yml: the lint, test, and benchmark jobs now resolve their toolchain to stable (the dtolnay/rust-toolchain SHA pins are unchanged — only the toolchain: value moved off 1.83). security-audit already used stable. Updated the stale comment that referenced "the repo's pinned 1.83".

#38 — Audit & upgrade mailparse

  • Latest maintained release is 0.16.1 (2025-02-27). Upgraded mailparse 0.15.00.16.1 and regenerated Cargo.lock.
  • The 0.16.x line is API-compatible with the code in src/mail_parser.rsparse_mail, header get_key/get_value, get_body/get_body_raw, ctype.params/ctype.mimetype, and subparts are all unchanged. The only changes between v0.15.0 and v0.16.1 are bug fixes: CRLF-before-boundary handling and not panicking on a multipart message with no starting boundary. No src/ changes were required.

Verification

  • cargo build succeeds on stable.
  • Full suite (maturin develop + pytest --ignore tests/benchmark tests): 87 passed — identical to before the bump, no behavior change.

Closes #37
Closes #38

….16.1

Set the rust-toolchain file to `stable` so dev/CI build against current
stable, and declare the minimum supported Rust version explicitly via
`rust-version = "1.83"` in Cargo.toml (the floor PyO3 0.29 requires).
The CI lint/test/benchmark jobs now resolve their toolchain to stable
(SHA pins on dtolnay/rust-toolchain unchanged); stale comments that
referenced the old pinned 1.83 are updated.

Upgrade mailparse 0.15.0 -> 0.16.1 (latest maintained release). The
0.16.x line is API-compatible (parse_mail, header get_key/get_value,
get_body/get_body_raw, ctype.params/ctype.mimetype, subparts unchanged);
the only changes are bug fixes (CRLF-before-boundary handling, no panic
on multipart without a starting boundary). Full test suite (87 tests)
passes identically on stable with no behavior change.

Closes #37
Closes #38

Signed-off-by: yuriyryabikov <22548029+kurok@users.noreply.github.com>
@kurok kurok merged commit 2d7d531 into master Jun 12, 2026
7 checks passed
@kurok kurok deleted the fix-issues-37-38-toolchain-deps branch June 12, 2026 21:06
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.

Audit and upgrade mailparse 0.15.0 (verify upstream maintenance) Set rust-toolchain to stable and declare MSRV

1 participant