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

Remove badges from crate lists and details #2436

Closed
Turbo87 opened this issue Apr 17, 2020 · 7 comments · Fixed by #2440
Closed

Remove badges from crate lists and details #2436

Turbo87 opened this issue Apr 17, 2020 · 7 comments · Fixed by #2440

Comments

@Turbo87
Copy link
Member

Turbo87 commented Apr 17, 2020

Back when badges on crates.io were introduced they were useful because there was no other way to display them. By now we render the README files for a lot of crates directly on crates.io, which often include these same badges.

In our team meeting today we decided to deprecate the badges feature. We will still keep the metadata around for now and send the data to our clients via the API, but we no longer want to display the badges on the crate list pages or the crate details page, except for the badges inside of the README files.

Specifically, https://github.com/rust-lang/crates.io/blob/master/app/components/crate-row.hbs#L14-L18 and https://github.com/rust-lang/crates.io/blob/master/app/templates/crate/version.hbs#L79-L83 need to be removed, and anything else related to it in the frontend code.

Please note that a few things will still remain as badges for now. For example, in the crates lists we currently display the latest version as a badge for some reason. Most of the other Badge components can probably be removed though.

@stanislav-tkach
Copy link

Will things like is-it-maintained-issue-resolution also be removed?

@BurntSushi
Copy link
Member

but we no longer want to display the badges on the crate list pages or the crate details page

Would it be possible to elaborate on this? I found the badge display in search results to be pretty useful as a signal for crate quality and maintenance status.

@Turbo87
Copy link
Member Author

Turbo87 commented Apr 18, 2020

Will things like is-it-maintained-issue-resolution also be removed?

yes, but it is totally up to the crate maintainers to add this badge to their README file instead.

but we no longer want to display the badges on the crate list pages or the crate details page

Would it be possible to elaborate on this? I found the badge display in search results to be pretty useful as a signal for crate quality and maintenance status.

While I agree that some form of quality and maintenance indicator in the search results might be useful, displaying, in some cases, up to ten different badges for each search result was making the results view quite cluttered.

The "Maintenance Badge" specifically was also quite problematic because the value was/is hardcoded in the Cargo.toml file, but when something is no longer maintained then it seems unlikely for the no-longer-maintainer to publish a new release that updates the value.

Ultimately, both the badges in general, and the "maintenance badge" in specific were creating significant busy work for the crates.io maintainers, because of the "we would like to have a badge for XYZ" and "can you manually update the maintenance status for this unmaintained crate please" requests.

We've also looked at some of the other package registries and none of them display badges anywhere other than in the README.

I personally would like to see something close to what https://npms.io/about did for the JS ecosystem. Implementing something like that will take quite a bit of time, but it might still be a good long-term goal.

I hope that answered your question sufficiently :)

bors added a commit to rust-lang/rust-clippy that referenced this issue Apr 18, 2020
Remove badge FIXME from Cargo.toml

cc rust-lang/crates.io#2436

changelog: none
parasyte added a commit to parasyte/pixels that referenced this issue Apr 18, 2020
- crates.io badges are now deprecated: rust-lang/crates.io#2436
parasyte added a commit to parasyte/pixels that referenced this issue Apr 18, 2020
- crates.io badges are now deprecated: rust-lang/crates.io#2436
@jhpratt
Copy link
Member

jhpratt commented Apr 18, 2020

FWIW I quite like badges.

With regard to maintenance, I'd prefer that weren't something in Cargo.toml, though. An option on crates.io would be preferred, still opt-in of course.

@stanislav-tkach
Copy link

Sorry for bothering, but I would like to clarify one more thing. As far as I understand, badges are deprecated on crates.io, but what is their status in cargo manifest format? Will (or should) they be deprecated there too?

@Turbo87
Copy link
Member Author

Turbo87 commented Apr 28, 2020

@DarkEld3r They are not officially deprecated in the manifest yet, as the deprecation there would probably have to go through the RFC process. since crates.io will no longer display most of them there is not much reason to keep the data in the file though.

One exception is the "maintenance status" badge. #2439 will make that badge available as an API endpoint and in the current state this badge will still be based on the info from the Cargo.toml file. Once #2437 is implemented this will change, but even then I expect us to use the metadata from the file as a fallback.

I hope that answers your question :)

@stanislav-tkach
Copy link

@Turbo87 Thanks for the clarifications!

kulp added a commit to kulp/mangling that referenced this issue May 8, 2020
Per rust-lang/crates.io#2436, badges are deprecated on crates.io. The
[maintenance badge may remain useful for fallback information][1].

[1]: rust-lang/crates.io#2436 (comment)
ghost pushed a commit to nats-io/nats.rs that referenced this issue Jun 24, 2020
Apparently badges are deprecated and we're not using Travis anymore. There is no support for GitHub Actions.

rust-lang/crates.io#2436
Dushistov added a commit to Dushistov/flapigen-rs that referenced this issue Jun 30, 2020
zaki-yama added a commit to zaki-yama-labs/rust-bicycle-book-wordcount that referenced this issue Jul 16, 2020
cholcombe973 pushed a commit to ceph/ceph-rust that referenced this issue Sep 2, 2020
* fix unused import warning

* docker use ceph octopus to test

* add github ci

* remove travis ci

* remove badges and useless comments

see [rust-lang/crates.io/issues/2436](rust-lang/crates.io#2436)
bors added a commit to rust-lang/cargo that referenced this issue Sep 23, 2020
Remove some badges documentation.

Badges have been removed from crates.io, so this updates the documentation. I don't think Cargo should manage a schema for the different services, and since crates.io isn't using these, I think it is mostly a dead feature. I left the `maintenance` field, because that might still have some meaning in the future.

More details:
* Removal from crates.io: rust-lang/crates.io#2436 rust-lang/crates.io#2440
* Solicited feedback for this change: https://internals.rust-lang.org/t/cargo-badges/12982
* Potential future support of `maintenance` status: rust-lang/crates.io#2437 rust-lang/crates.io#2438 rust-lang/crates.io#2439. It's not clear, if crates.io manages the status in the database, the motivation for putting it in `Cargo.toml` is probably pretty small.
nominolo added a commit to nominolo/legion that referenced this issue Sep 27, 2020
Also remove the badges section since (a) legion now uses Github actions
and (b) the badges section will actually be deprecated. See
rust-lang/crates.io#2436 for details.
Xanewok added a commit to Xanewok/rust-semverver that referenced this issue Nov 5, 2020
We've migrated to GitHub Actions and it seems that Cargo.toml badges are
deprecated in favour of rendering READMEs directly:
rust-lang/crates.io#2436
Xanewok added a commit to Xanewok/rust-semverver that referenced this issue Nov 5, 2020
We've migrated to GitHub Actions and it seems that Cargo.toml badges are
deprecated in favour of rendering READMEs directly:
rust-lang/crates.io#2436
Xanewok added a commit to Xanewok/rust-semverver that referenced this issue Nov 5, 2020
We've migrated to GitHub Actions and it seems that Cargo.toml badges are
deprecated in favour of rendering READMEs directly:
rust-lang/crates.io#2436
mzhong1 pushed a commit to mzhong1/ceph-rust that referenced this issue Nov 9, 2020
* fix unused import warning

* docker use ceph octopus to test

* add github ci

* remove travis ci

* remove badges and useless comments

see [rust-lang/crates.io/issues/2436](rust-lang/crates.io#2436)
jnqnfe added a commit to jnqnfe/pulse-binding-rust that referenced this issue Nov 24, 2020
crates.io used to show some automatically per badge configuration in the
crate toml files, however then they dropped this ([1]). crates now show
badges via embedding them in readme.md files.

shields.io is a popular service for constructing and serving badges, with
a lot of available customisation.

here i have selected the 'for-the-badge' style, which is similar to the
nice 'flat-square' style, but uses capital letters and a default later
height of 28px instead of 20px. I have used HTML for embedding them to
allow control over the size, which I have forced to 22px since 28px is just
too large. (there is a query-param available to control width but not
height for some reason).

notes:
 - for the min-rust-version badge, there were two different URL formats
   available for custom badges, I went with the 'static' form which makes
   use of a lot of query params.
 - for the min-rust-version badge, I had to use capitals for the service
   text to get it consistent with the rest, since it was not automatically
   capitalising it.
 - for the docs.rs one i had to use the crates.io one with a custom colour
   and service text specified, since shields.io has a mechanism in place
   for automatically building the latest crates.io version number into the
   crates.io badge, but does not have a similar specific badge-builder
   available for docs.rs badges. (and the badge you can get from docs.rs
   itself is a different style of course).
 - the message for the min-rust-version is '1.40%2B' which is '1.40+'!

i was inspired by the badges of the 'quote' crate.

[1]: rust-lang/crates.io#2436
jnqnfe added a commit to jnqnfe/pulse-binding-rust that referenced this issue Nov 24, 2020
crates.io used to show some automatically per badge configuration in the
crate toml files, however then they dropped this ([1]). crates now show
badges via embedding them in readme.md files.

shields.io is a popular service for constructing and serving badges, with
a lot of available customisation.

here i have selected the 'for-the-badge' style, which is similar to the
nice 'flat-square' style, but uses capital letters and a default later
height of 28px instead of 20px. I have used HTML for embedding them to
allow control over the size, which I have forced to 24px since 28px is just
too large. (there is a query-param available to control width but not
height for some reason).

notes:
 - for the min-rust-version badge, there were two different URL formats
   available for custom badges, I went with the 'static' form which makes
   use of a lot of query params.
 - for the min-rust-version badge, I had to use capitals for the service
   text to get it consistent with the rest, since it was not automatically
   capitalising it.
 - for the docs.rs one i had to use the crates.io one with a custom colour
   and service text specified, since shields.io has a mechanism in place
   for automatically building the latest crates.io version number into the
   crates.io badge, but does not have a similar specific badge-builder
   available for docs.rs badges. (and the badge you can get from docs.rs
   itself is a different style of course).
 - the message for the min-rust-version is '1.40%2B' which is '1.40+'!

i was inspired by the badges of the 'quote' crate.

[1]: rust-lang/crates.io#2436
jnqnfe added a commit to jnqnfe/pulse-binding-rust that referenced this issue Nov 24, 2020
crates.io used to show some automatically per badge configuration in the
crate toml files, however then they dropped this ([1]). crates now show
badges via embedding them in readme.md files.

shields.io is a popular service for constructing and serving badges, with
a lot of available customisation.

here i have selected the 'for-the-badge' style, which is similar to the
nice 'flat-square' style, but uses capital letters and a default later
height of 28px instead of 20px. I have used HTML for embedding them to
allow control over the size, which I have forced to 24px since 28px is just
too large. (there is a query-param available to control width but not
height for some reason).

notes:
 - for the min-rust-version badge, there were two different URL formats
   available for custom badges, I went with the 'static' form which makes
   use of a lot of query params.
 - for the min-rust-version badge, I had to use capitals for the service
   text to get it consistent with the rest, since it was not automatically
   capitalising it.
 - for the docs.rs one i had to use the crates.io one with a custom colour
   and service text specified, since shields.io has a mechanism in place
   for automatically building the latest crates.io version number into the
   crates.io badge, but does not have a similar specific badge-builder
   available for docs.rs badges. (and the badge you can get from docs.rs
   itself is a different style of course).
 - the message for the min-rust-version is '1.40%2B' which is '1.40+'!

i was inspired by the badges of the 'quote' crate.

[1]: rust-lang/crates.io#2436
jnqnfe added a commit to jnqnfe/term-ctrl-rust that referenced this issue Nov 24, 2020
crates.io used to show some automatically per badge configuration in the
crate toml files, however then they dropped this ([1]). crates now show
badges via embedding them in readme.md files.

shields.io is a popular service for constructing and serving badges, with
a lot of available customisation.

here i have selected the 'for-the-badge' style, which is similar to the
nice 'flat-square' style, but uses capital letters and a default later
height of 28px instead of 20px. I have used HTML for embedding them to
allow control over the size, which I have forced to 24px since 28px is just
too large.

notes:
 - for the min-rust-version badge, there were two different URL formats
   available for custom badges, I went with the 'static' form which makes
   use of a lot of query params.
 - for the min-rust-version badge, I had to use capitals for the service
   text to get it consistent with the rest, since it was not automatically
   capitalising it.
 - for the docs.rs one i had to use the crates.io one with a custom colour
   and service text specified, since shields.io has a mechanism in place
   for automatically building the latest crates.io version number into the
   crates.io badge, but does not have a similar specific badge-builder
   available for docs.rs badges. (and the badge you can get from docs.rs
   itself is a different style of course).
 - the message for the min-rust-version is '1.40%2B' which is '1.40+'!

i was inspired by the badges of the 'quote' crate.

[1]: rust-lang/crates.io#2436
jnqnfe added a commit to jnqnfe/gong that referenced this issue Nov 25, 2020
crates.io used to show some automatically per badge configuration in the
crate toml files, however then they dropped this ([1]). crates now show
badges via embedding them in readme.md files.

shields.io is a popular service for constructing and serving badges, with
a lot of available customisation.

here i have selected the 'for-the-badge' style, which is similar to the
nice 'flat-square' style, but uses capital letters and a default later
height of 28px instead of 20px. I have used HTML for embedding them to
allow control over the size, which I have forced to 24px since 28px is just
too large.

notes:
 - for the min-rust-version badge, there were two different URL formats
   available for custom badges, I went with the 'static' form which makes
   use of a lot of query params.
 - for the min-rust-version badge, I had to use capitals for the service
   text to get it consistent with the rest, since it was not automatically
   capitalising it.
 - for the docs.rs one i had to use the crates.io one with a custom colour
   and service text specified, since shields.io has a mechanism in place
   for automatically building the latest crates.io version number into the
   crates.io badge, but does not have a similar specific badge-builder
   available for docs.rs badges. (and the badge you can get from docs.rs
   itself is a different style of course).
 - the message for the min-rust-version is '1.40%2B' which is '1.40+'!

i was inspired by the badges of the 'quote' crate.

[1]: rust-lang/crates.io#2436
simeg added a commit to simeg/eureka that referenced this issue Dec 26, 2020
b-r-u added a commit to b-r-u/osmpbf that referenced this issue Jan 3, 2022
najamelan added a commit to najamelan/crate_template that referenced this issue May 21, 2022
axelf4 added a commit to axelf4/unicode-linebreak that referenced this issue Sep 16, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

4 participants