structopt icon indicating copy to clipboard operation
structopt copied to clipboard

structopt is in maintenance mode, see clap for new development

Open epage opened this issue 3 years ago • 5 comments

structopt is a derive wrapper around clap v2. As of clap v3, the derive wrapper is included with clap under the derive feature flag. A migration guide is available for users wishing to switch.

Both clap v2 and structopt are in maintenance mode. They both depend on ansi_term which is unmaintained.

I've seen users posting here and elsewhere who are unaware of the migration. Dependabot, cargo outdated, and cargo upgrade won't report anything.

epage avatar Feb 08 '22 23:02 epage

Brainstorming:

  • Pin an issue about the maintenance status
  • See if rustsec can add this to their warnings discouraging some crates in favor of others
    • The focus here is on "no maintainer" (no one available in case of vulnerability) so it'd be stretching things
  • Move this repo into the clap repo
  • Add #[deprecated] attributes to the trait methods
  • Have the derive inject a deprecated function and a call to it

epage avatar Feb 08 '22 23:02 epage

  • I'm not sure an pinned issue would change anything
  • Not sure that's rustsec job, there is no vulerability known in clap v2 for a long time, so no much risk.
  • Same, moving the structopt repo will not change.
  • Deprecation is annoying.

But maybe the interesting part is that cargo outdated and friend don't report anything. Maybe I can publish a structopt v0.4 (or v1?) that is empty and point to clap v3, for easy discoverability?

TeXitoi avatar Feb 09 '22 19:02 TeXitoi

Yeah. didn't call that out but it seems like it'd be nice to have a database for cargo outdated that fills a purpose besides rustsec.

If you are up for a dummy release, that works too.

epage avatar Feb 09 '22 19:02 epage

This issue is now pinned, not sure it will change anything, but that's free :-)

TeXitoi avatar Feb 09 '22 19:02 TeXitoi

We could always flag informational = unmaintained on structopt if @TeXitoi agrees ?

We flag informational advisories routinely to deprecate or handle superceded crates when the maintainer asks us to do so.

Note ansi_term was deprecated so we've had to include structopt/clap2 specific advice there.

pinkforest avatar Sep 02 '22 01:09 pinkforest