Skip to content

More clearly flag internal crates as such #10963

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged

Conversation

alexcrichton
Copy link
Member

This commit is an attempt to more clearly flag internal crates in this project as internal and not intended for external use. Specifically:

  • Many crates are renamed from wasmtime-foo to wasmtime-internal-foo.
  • All of these crates now have INTERNAL: ... in their crates.io description.
  • All of these crates now have a warning at the top of their documentation discouraging use.

This change is a result of rustsec/advisory-db#1999 where the goal is to be crystal clear from a project perspective that usage of these crates are highly discouraged and not supported. We'll still probably get such advisories but we won't be considering them CVEs from the project itself due to the internal nature of these crates and the discouraging warnings.

Some concrete changes used here are:

  • Inter-crate dependencies still use wasmtime_foo for naming and do so with Cargo's package-renaming features.
  • Crate renames are specified at the workspace level so the rename is only in one locations and all other inherit it.
  • Contribution documentation now has some brief guidelines about crate organization.

This commit is an attempt to more clearly flag internal crates in this
project as internal and not intended for external use. Specifically:

* Many crates are renamed from `wasmtime-foo` to
  `wasmtime-internal-foo`.
* All of these crates now have `INTERNAL: ...` in their crates.io
  description.
* All of these crates now have a warning at the top of their
  documentation discouraging use.

This change is a result of rustsec/advisory-db#1999 where the goal is to
be crystal clear from a project perspective that usage of these crates
are highly discouraged and not supported. We'll still probably get such
advisories but we won't be considering them CVEs from the project itself
due to the internal nature of these crates and the discouraging
warnings.

Some concrete changes used here are:

* Inter-crate dependencies still use `wasmtime_foo` for naming and do
  so with Cargo's package-renaming features.
* Crate renames are specified at the workspace level so the rename is
  only in one locations and all other inherit it.
* Contribution documentation now has some brief guidelines about crate
  organization.
@alexcrichton alexcrichton requested review from a team as code owners June 6, 2025 20:26
@alexcrichton alexcrichton requested review from pchickey and removed request for a team June 6, 2025 20:26
Copy link
Contributor

@pchickey pchickey left a comment

Choose a reason for hiding this comment

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

Thanks, Alex

@alexcrichton alexcrichton enabled auto-merge June 6, 2025 21:09
@alexcrichton alexcrichton added this pull request to the merge queue Jun 6, 2025
Merged via the queue into bytecodealliance:main with commit 4c8edb9 Jun 6, 2025
160 checks passed
@alexcrichton alexcrichton deleted the internal-crates-are-internal branch June 6, 2025 21:47
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.

2 participants