Skip to content

Add security policy, post-v1.0 MSRV bump policy - #367

Merged
Shnatsel merged 5 commits into
linebender:mainfrom
Shnatsel:security-policy
Sep 6, 2026
Merged

Add security policy, post-v1.0 MSRV bump policy#367
Shnatsel merged 5 commits into
linebender:mainfrom
Shnatsel:security-policy

Conversation

@Shnatsel

@Shnatsel Shnatsel commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Based on the discussion in the relevant Zulip thread: #simd > v1.0.0

@DJMcNab DJMcNab 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.

One question I do have is what counts as a security backport. E.g. if one of our operations doesn't meet the specified semantics, that can be a security issue in a downstream crate (e.g. one doing cryptographic hashing, say). But then silently updating the implementation to have different semantics is a Hyrum's law nightmare.

I'd be tempted to specify "soundness" as the baseline boundary, and leave everything else unspecified. In a scenario where we do discover a method doesn't work as documented, I'd expect us to probably backport the deprecation and providing a new fixed method, rather than updating semantics. (Although I wonder how that works for core::ops impls!)

Aside from that concern, this looks great. And being overly vague with what counts as a security issue is fine - I don't expect this policy to ever come up in practice.

Comment thread fearless_simd/README.md Outdated
Comment thread fearless_simd/SECURITY.md Outdated
Shnatsel and others added 2 commits September 5, 2026 01:09
Co-authored-by: Daniel McNab <36049421+DJMcNab@users.noreply.github.com>
@Shnatsel

Shnatsel commented Sep 5, 2026

Copy link
Copy Markdown
Contributor Author

@LaurenzV I'd like to hear from you as well before we commit to this.

@Shnatsel Shnatsel mentioned this pull request Sep 6, 2026
3 tasks

@LaurenzV LaurenzV left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Overall fine from my side, trusting your judgement on this. 😄

Comment thread fearless_simd/README.md
Future versions of Fearless SIMD might increase the Rust version requirement. This will be accompanied by a minor version bump.

If you require a fixed MSRV, we recommend using Cargo's [MSRV-aware resolver](https://doc.rust-lang.org/edition-guide/rust-2024/cargo-resolver.html) which will not select a version that fails to build.
We will provide [security backports](SECURITY.md) to older Rust versions released within the last 3 years.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

What's the usual procedure for handling this? Do we create a new branch for each backported version?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Yes, branch off the git tag for that version. Even if we don't do tags, cargo now includes the git commit state into archive published to crates.io, so we always know where to branch off.

@Shnatsel
Shnatsel added this pull request to the merge queue Sep 6, 2026
Merged via the queue into linebender:main with commit 623913f Sep 6, 2026
22 checks passed
@Shnatsel
Shnatsel deleted the security-policy branch September 6, 2026 14:28
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