Skip to content
This repository was archived by the owner on Nov 5, 2022. It is now read-only.
This repository was archived by the owner on Nov 5, 2022. It is now read-only.

Plan for rollout of requiring verified email to publish #8

@carols10cents

Description

@carols10cents

Investigation results

Number of users potentially affected

As of 2018-10-29:

  • There are 3,367 users on crates.io. 1890 of them (56%) have a verified email address and would not be affected by this change.
  • It's hard to tell how many of the remaining 1477 (44%) users are active publishers because we don't currently track which owners publish a particular crate version.
  • The best I could get was the most recent update to any crate that a user is an individual owner of (including ownership via team membership would require querying GitHub):
    • 254 users (17% of 1477) own a crate that has been updated during the last 6 week Rust release cycle (since 2018-09-13)
    • 227 additional users (15%) own a crate that has been updated in the last 6 months (since 2018-04-29)
    • 146 additional users (10%) own a crate that has been updated in 2018
    • 850 users (56%) only own crates that have been last updated prior to 2018

If we warn for a release cycle, we're likely to catch about 250 users and get them to verify their email address before it disrupts their workflow.

Ability to return a warning

Cargo does have the capability of displaying warnings from crates.io after a successful publish, however it's currently hardcoded to warnings about invalid categories and badges.

Proposed plan based on investigation results

I'd be happy to not get 250 emails complaining that we changed the publish workflow without warning, so I think we should warn for a release cycle.

For the purposes of this warning, potential future warnings, and potential warnings from alternate registries, we should add the ability to Cargo to display general warnings returned in a successful publish response.

Therefore, I propose the following plan:

  • Start publicizing this plan as soon as we agree on it Done
  • Add general warning display capability to Cargo and get it into nightly in this release cycle Done
  • Warning capability would go into beta with Rust 1.32.0 on 2018-12-06
  • Warning capability would be stable with Rust 1.32.0 on 2019-01-17
  • We would warn for one release cycle
  • Coinciding with the release of 1.33.0 on 2019-02-28, we would disallow publishing crates without a valid email address.
  • Implement the warning and hard error in crates.io, possibly with date checks so we don't have to remember to merge+deploy code on a particular day Done
  • Merge #1629 and deploy
  • After 2019-03-01, merge #1630 and deploy

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions