Skip to content
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

Move the changelog to the cargo book #15119

Merged
merged 5 commits into from
Jan 29, 2025
Merged

Conversation

ehuss
Copy link
Contributor

@ehuss ehuss commented Jan 29, 2025

This moves cargo's changelog to the cargo book. We're bumping into rendering limits on GitHub's side, so we're moving the changelog to the cargo book where it can be statically served under our control.

This PR is structured in such a way that the original CHANGELOG.md file is kept in place (and history is preserved in the new copy). The intent is to wait until this PR makes it to the nightly channel, and then open a new PR that will delete the original. That will look something like ehuss@5ce7947.

This makes use of a new mdbook feature in order to exclude the changelog chapter from the search index. It completely swamps the search results, so I think it is best to just exclude it.

We'll need to coordinate with the release team so that future release notes link directly to the cargo book instead of GitHub.

ehuss added 4 commits January 28, 2025 18:52
Due to rendering limits with GitHub's markdown renderer, we're moving
the changelog to the cargo book where it can be statically served under
our control.
This is so that we temporarily keep a copy of the CHANGELOG in
the original location until the website is updated.
@rustbot
Copy link
Collaborator

rustbot commented Jan 29, 2025

r? @weihanglo

rustbot has assigned @weihanglo.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@rustbot rustbot added A-documenting-cargo-itself Area: Cargo's documentation A-infrastructure Area: infrastructure around the cargo repo, ci, releases, etc. S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jan 29, 2025
Copy link
Member

@weihanglo weihanglo left a comment

Choose a reason for hiding this comment

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

     Running `linkchecker/target/release/linkchecker linkcheck`
cargo/CHANGELOG.html:2848: broken intra-doc link - [<code>patch</code>]
cargo/print.html:22667: broken intra-doc link - [<code>patch</code>]
checked links in: 18.5s
number of HTML files scanned: 44199
number of HTML redirects found: 13800
number of links checked: 2423387
number of links ignored due to external: 92227
number of links ignored due to exceptions: 24
number of intra doc links ignored: 8
errors found: 2
found some broken links

Guess the CI failure was this:

diff --git a/src/doc/src/CHANGELOG.md b/src/doc/src/CHANGELOG.md
index 8ec33623364..c1ee4f243e7 100644
--- a/src/doc/src/CHANGELOG.md
+++ b/src/doc/src/CHANGELOG.md
@@ -2694,7 +2694,7 @@
   [#11790](https://github.com/rust-lang/cargo/pull/11790)
 - Broke endless loop on cyclic features in added dependency in `cargo add`.
   [#11805](https://github.com/rust-lang/cargo/pull/11805)
-- Don't panic when [`patch`] involved in dependency resolution results in a conflict.
+- Don't panic when `[patch]` involved in dependency resolution results in a conflict.
   [#11770](https://github.com/rust-lang/cargo/pull/11770)
 - Fixed credential token format validation.
   [#11951](https://github.com/rust-lang/cargo/pull/11951)

Feel free to merge when resolved.

@weihanglo weihanglo added this pull request to the merge queue Jan 29, 2025
@epage
Copy link
Contributor

epage commented Jan 29, 2025

We'll need to coordinate with the release team so that future release notes link directly to the cargo book instead of GitHub.

Won't this break links from previous releases?

Merged via the queue into rust-lang:master with commit 5a882c1 Jan 29, 2025
21 checks passed
@weihanglo
Copy link
Member

We'll need to coordinate with the release team so that future release notes link directly to the cargo book instead of GitHub.

Won't this break links from previous releases?

Linking to the Cargo book won't.

The intent is to wait until this PR makes it to the nightly channel, and then open a new PR that will delete the original. That will look something like ehuss@5ce7947.

This will.


Maybe instead, we put a big notice on the top of the file, and we keep only the heading of each release, and put a link under it to the new location of the cargo book.

@epage
Copy link
Contributor

epage commented Jan 29, 2025

Other options

  • Could the book symlink to the root's changelog? Limits book building to Windows
  • We fork the changelog and freeze the current location

No strong preference on what we do.

bors added a commit to rust-lang-ci/rust that referenced this pull request Feb 1, 2025
Update cargo

11 commits in cecde95c119a456c30e57d3e4b31fff5a7d83df4..776129a2b93928a67ec4c2f8e5bc3cfeb5bc06cd
2025-01-24 17:15:24 +0000 to 2025-01-30 15:34:14 +0000
- Don't suggest `cargo login` when using incompatible credental providers (rust-lang/cargo#15124)
- chore: Update clap_complete (rust-lang/cargo#15121)
- Move the changelog to the cargo book (rust-lang/cargo#15119)
- Conditionally mark the `test` cfg as a well known cfg (rust-lang/cargo#15007)
- fix broken links in the Cargo book (rust-lang/cargo#15109)
- Fix a typo and touch up documentation (rust-lang/cargo#15108)
- Fix shared_std_dependency_rebuild running on Windows (rust-lang/cargo#15111)
- Fix warnings on Windows (rust-lang/cargo#15112)
- fix(login): Deprecate CLI token (rust-lang/cargo#15057)
- Update tests to fix nightly errors (rust-lang/cargo#15110)
- Fix comment on Ord for SourceId (rust-lang/cargo#15103)
bors added a commit to rust-lang-ci/rust that referenced this pull request Feb 1, 2025
Update cargo

try-job: dist-aarch64-linux

11 commits in cecde95c119a456c30e57d3e4b31fff5a7d83df4..776129a2b93928a67ec4c2f8e5bc3cfeb5bc06cd
2025-01-24 17:15:24 +0000 to 2025-01-30 15:34:14 +0000
- Don't suggest `cargo login` when using incompatible credental providers (rust-lang/cargo#15124)
- chore: Update clap_complete (rust-lang/cargo#15121)
- Move the changelog to the cargo book (rust-lang/cargo#15119)
- Conditionally mark the `test` cfg as a well known cfg (rust-lang/cargo#15007)
- fix broken links in the Cargo book (rust-lang/cargo#15109)
- Fix a typo and touch up documentation (rust-lang/cargo#15108)
- Fix shared_std_dependency_rebuild running on Windows (rust-lang/cargo#15111)
- Fix warnings on Windows (rust-lang/cargo#15112)
- fix(login): Deprecate CLI token (rust-lang/cargo#15057)
- Update tests to fix nightly errors (rust-lang/cargo#15110)
- Fix comment on Ord for SourceId (rust-lang/cargo#15103)
bors added a commit to rust-lang-ci/rust that referenced this pull request Feb 2, 2025
Update cargo

12 commits in cecde95c119a456c30e57d3e4b31fff5a7d83df4..0e3d73849ab8cbbab3ec5c65cbd555586cb21339
2025-01-24 17:15:24 +0000 to 2025-02-01 20:14:40 +0000
- Revert "Conditionally mark the `test` cfg as a well known cfg (rust-lang/cargo#15007)" (rust-lang/cargo#15132)
- Don't suggest `cargo login` when using incompatible credental providers (rust-lang/cargo#15124)
- chore: Update clap_complete (rust-lang/cargo#15121)
- Move the changelog to the cargo book (rust-lang/cargo#15119)
- Conditionally mark the `test` cfg as a well known cfg (rust-lang/cargo#15007)
- fix broken links in the Cargo book (rust-lang/cargo#15109)
- Fix a typo and touch up documentation (rust-lang/cargo#15108)
- Fix shared_std_dependency_rebuild running on Windows (rust-lang/cargo#15111)
- Fix warnings on Windows (rust-lang/cargo#15112)
- fix(login): Deprecate CLI token (rust-lang/cargo#15057)
- Update tests to fix nightly errors (rust-lang/cargo#15110)
- Fix comment on Ord for SourceId (rust-lang/cargo#15103)
bors added a commit to rust-lang-ci/rust that referenced this pull request Feb 2, 2025
Update cargo

12 commits in cecde95c119a456c30e57d3e4b31fff5a7d83df4..0e3d73849ab8cbbab3ec5c65cbd555586cb21339
2025-01-24 17:15:24 +0000 to 2025-02-01 20:14:40 +0000
- Revert "Conditionally mark the `test` cfg as a well known cfg (rust-lang/cargo#15007)" (rust-lang/cargo#15132)
- Don't suggest `cargo login` when using incompatible credental providers (rust-lang/cargo#15124)
- chore: Update clap_complete (rust-lang/cargo#15121)
- Move the changelog to the cargo book (rust-lang/cargo#15119)
- Conditionally mark the `test` cfg as a well known cfg (rust-lang/cargo#15007)
- fix broken links in the Cargo book (rust-lang/cargo#15109)
- Fix a typo and touch up documentation (rust-lang/cargo#15108)
- Fix shared_std_dependency_rebuild running on Windows (rust-lang/cargo#15111)
- Fix warnings on Windows (rust-lang/cargo#15112)
- fix(login): Deprecate CLI token (rust-lang/cargo#15057)
- Update tests to fix nightly errors (rust-lang/cargo#15110)
- Fix comment on Ord for SourceId (rust-lang/cargo#15103)
@rustbot rustbot added this to the 1.86.0 milestone Feb 2, 2025
github-merge-queue bot pushed a commit that referenced this pull request Feb 3, 2025
This removes the original changelog now that it is located in the cargo
book.

This places a notice in the original location that it has moved to a new
place. There are a few other alternatives we could consider:
* Keep the headings but replace the content with a link. This would make
it a little easier for someone to jump to the exact position in the new
page. However, it looks a little messy. Each section could be something
like:

> This content has moved to
[CHANGELOG.md#186-2025-04-03](https://doc.rust-lang.org/cargo/nightly/CHANGELOG.md#186-2025-04-03)

* Keep the content, with a notice at the top that the page is no longer
being updated. I was a little uncomfortable with this, since I wasn't
sure people would see the notice, it duplicates some content, and still
leaves the potential problems of GitHub not rendering the page. If we
cut some content, it ensures the page still renders reliably.
* As a variant, we could delete the content but keep the last 1 or 2
releases since those are probably what people will be looking for.

Opening as draft until #15119 is
published on nightly.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-documenting-cargo-itself Area: Cargo's documentation A-infrastructure Area: infrastructure around the cargo repo, ci, releases, etc. S-waiting-on-review Status: Awaiting review from the assignee but also interested parties.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants