unstale

npm / citty

citty

What changed in citty 0.2, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-18.

1 breaking7 new APIs and options1 performance4 behavior and defaults6 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli on npm

citty 0.219 changes

Breaking changes 1

  • The distribution is ESM-only, which affects how projects can consume the package.

    0.2.0release notes

New APIs and options 7

Performance 1

  • citty now has zero dependencies, reducing install size from 267kB to 22.8kB.

    0.2.0release notes

Behavior and default changes 4

  • An alias value now takes precedence over a default value.

    0.2.2release notes

  • Negative boolean argument usage is printed conditionally.

    0.2.0release notes

  • Number args can be optional.

    0.2.0release notes

  • Parsed optionals and enum arguments have updated type safety.

    0.2.0release notes

Fixes and other changes 6

  • Parsed argument values are coerced to match their declared types.

    0.2.2release notes

  • Subcommand resolution no longer incorrectly consumes flag values.

    0.2.2release notes

  • Usage tips are improved.

    0.2.2release notes

  • Propagates --no- negation to aliases and the main option.

    0.2.1release notes

  • CLI error messages are shown.

    0.2.0release notes

  • The value type of NumberArgDef is corrected to number.

    0.2.0release notes