mirror of
https://github.com/rust-lang/cargo.git
synced 2025-09-25 11:14:46 +00:00
docs(ref): Deprecate 'package.authors' (#15068)
### What does this PR try to resolve? This was left as a future-possibility in [RFC #3052](https://rust-lang.github.io/rfcs/3052-optional-authors-field.html). Without a clear role for this field within Cargo/crates.io, there seems little reason to actively support it (e.g. #14949, #15027), including working through feature requests. I see the potential for having some fields with more specific roles (where to go for support, where to go for disclosing vulnerabilities, etc) but even these run into the mutable data problem of `authors`. Users can always manage metadata for their own purposes through `package.metadata`. The RFC called out clap as an example of something that uses this. Clap no longer does by default but users can opt-in through a `help_template`. For now, this notes the status in the documentation. When we have[user control over Cargo lint (#12235) (and figure out namespacing with lints that overlap with Rust), we can give a warning on this. Based on feedback from users, we can evaluate removing this field in a future edition. This is as discussed in a recent Cargo team meeting ### How should we test and review this PR? ### Additional information We may want to consider doing similar for `badges`
This commit is contained in:
commit
2909c013ea
@ -63,7 +63,6 @@ The first section in a `Cargo.toml` is `[package]`.
|
||||
[package]
|
||||
name = "hello_world" # the name of the package
|
||||
version = "0.1.0" # the current version, obeying semver
|
||||
authors = ["Alice <a@example.com>", "Bob <b@example.com>"]
|
||||
```
|
||||
|
||||
The only field required by Cargo is [`name`](#the-name-field). If publishing to
|
||||
@ -121,10 +120,10 @@ This field is optional and defaults to `0.0.0`. The field is required for publi
|
||||
|
||||
### The `authors` field
|
||||
|
||||
> **Warning**: This field is deprecated
|
||||
|
||||
The optional `authors` field lists in an array the people or organizations that are considered
|
||||
the "authors" of the package. The exact meaning is open to interpretation --- it
|
||||
may list the original or primary authors, current maintainers, or owners of the
|
||||
package. An optional email address may be included within angled brackets at
|
||||
the "authors" of the package. An optional email address may be included within angled brackets at
|
||||
the end of each author entry.
|
||||
|
||||
```toml
|
||||
@ -133,13 +132,8 @@ the end of each author entry.
|
||||
authors = ["Graydon Hoare", "Fnu Lnu <no-reply@rust-lang.org>"]
|
||||
```
|
||||
|
||||
This field is only surfaced in package metadata and in the `CARGO_PKG_AUTHORS`
|
||||
environment variable within `build.rs`. It is not displayed in the [crates.io]
|
||||
user interface.
|
||||
|
||||
> **Warning**: Package manifests cannot be changed once published, so this
|
||||
> field cannot be changed or removed in already-published versions of a
|
||||
> package.
|
||||
This field is surfaced in package metadata and in the `CARGO_PKG_AUTHORS`
|
||||
environment variable within `build.rs` for backwards compatibility.
|
||||
|
||||
### The `edition` field
|
||||
|
||||
|
@ -54,7 +54,6 @@ where the workspace's `Cargo.toml` is located.
|
||||
[package]
|
||||
name = "hello_world" # the name of the package
|
||||
version = "0.1.0" # the current version, obeying semver
|
||||
authors = ["Alice <a@example.com>", "Bob <b@example.com>"]
|
||||
```
|
||||
|
||||
### Virtual workspace
|
||||
@ -77,7 +76,6 @@ resolver = "2"
|
||||
name = "hello_world" # the name of the package
|
||||
version = "0.1.0" # the current version, obeying semver
|
||||
edition = "2024" # the edition, will have no effect on a resolver used in the workspace
|
||||
authors = ["Alice <a@example.com>", "Bob <b@example.com>"]
|
||||
```
|
||||
|
||||
By having a workspace without a root package,
|
||||
|
Loading…
x
Reference in New Issue
Block a user