structopt
structopt copied to clipboard
structopt is in maintenance mode, see clap for new development
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.
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
- 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?
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.
This issue is now pinned, not sure it will change anything, but that's free :-)
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.