Skip to content

fix: update serde_with to patched 3.23 release - #170

Merged
elpiel merged 1 commit into
AeroRust:mainfrom
ahu04:fix/serde-with-advisory
Sep 30, 2026
Merged

elpiel merged 1 commit into
AeroRust:mainfrom
ahu04:fix/serde-with-advisory

Conversation

@ahu04

@ahu04 ahu04 commented Sep 9, 2026 •

Copy link
Copy Markdown
Contributor

The serde_with = "~3.11" constraint prevents downstream projects from resolving a version patched for GHSA-7gcf-g7xr-8hxj. Relax it to 3 so downstream users can choose compatible minor and patch releases, and regenerate the workspace lockfile with patched serde_with 3.23.0.

The locked serde_with release requires Rust 1.88. Update the library and benchmark-harness MSRV, README, and CI matrix accordingly. Convert two nested conditions to equivalent let chains required by Clippy at the new MSRV; parser behavior is unchanged.

@ahu04
ahu04 marked this pull request as ready for review September 9, 2026 20:54
@codecov

codecov Bot commented Sep 29, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 83.33333% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 81.34%. Comparing base (7ab1334) to head (b2e7e4f).

Files with missing lines Patch % Lines
src/sentences/faa_mode.rs 66.66% 1 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff           @@
##             main     #170   +/-   ##
=======================================
  Coverage   81.34%   81.34%           
=======================================
  Files          39       39           
  Lines        1576     1576           
=======================================
  Hits         1282     1282           
  Misses        294      294           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@CramBL CramBL left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thanks! This is a great change, but I have 2 requests:

  1. Change the version bound from ~3.23 to 3 since there's no reason to not allow newer minor/patch releases, users can choose themselves.
  2. Include more context in the commit message (mention the vulnerability, and now, the change to the version bounds). The commit message is much more important than the PR body and currently the PR body is very useful while the commit message is very generic

The ~3.11 requirement prevents downstream projects from selecting releases
patched for GHSA-7gcf-g7xr-8hxj. The advisory describes a KeyValueMap panic
when serializing empty sequence or map entries, which can terminate the
application.

Relax the optional serde_with requirement to 3 so downstream users can
choose compatible 3.x minor and patch releases. Refresh the workspace
lockfile to the patched 3.23.0 release; the advisory was fixed in 3.21.0.

Raise the library and benchmark-harness MSRV to Rust 1.88 to match the
locked serde_with release, and update the README and CI matrix. Convert
two nested conditions to equivalent let chains to satisfy Clippy at the
new MSRV without changing parser behavior.

Advisory: GHSA-7gcf-g7xr-8hxj
@ahu04
ahu04 force-pushed the fix/serde-with-advisory branch from 4023aea to b2e7e4f Compare September 29, 2026 22:42
@ahu04

ahu04 commented Sep 29, 2026

Copy link
Copy Markdown
Contributor Author

Thanks! This is a great change, but I have 2 requests:

  1. Change the version bound from ~3.23 to 3 since there's no reason to not allow newer minor/patch releases, users can choose themselves.
  2. Include more context in the commit message (mention the vulnerability, and now, the change to the version bounds). The commit message is much more important than the PR body and currently the PR body is very useful while the commit message is very generic

Thanks, fixed both. I am used to working in repos where the PR description gets folded into the squashed commit, so didn't think to update the commit message.

@CramBL

@ahu04
ahu04 requested a review from CramBL September 29, 2026 22:45
@CramBL

CramBL commented Sep 30, 2026

Copy link
Copy Markdown
Member

I've messaged @elpiel and we need him to take action before we can merge this. The issue is that the msrv job has the specific rust version in the job name, and it's configured to be a required job, but it no longer exists since you bumped the msrv, so we need to fix the configuration.

@elpiel elpiel left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

All good imo.
Not sure why we left ~3.11

@CramBL

CramBL commented Sep 30, 2026

Copy link
Copy Markdown
Member

All good imo. Not sure why we left ~3.11

Yes probably just an oversight or an attempt to be rigorous with compatibility.

We still need the changes to CI to be able to merge this and future PRs.

@elpiel

elpiel commented Sep 30, 2026

Copy link
Copy Markdown
Member

Done. This requires a Minor update though so keep that in mind @CramBL

@elpiel
elpiel merged commit 5556b91 into AeroRust:main Sep 30, 2026
15 checks passed
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.

3 participants