What's Changed
- Add net8.0 targets and update dependencies by @wjrogers in #9
- Replace runtime reflection with compile-time source generator by @wjrogers in #8
Breaking Changes
- For a given command, declarative configuration with
CommandAttribute
and imperative configuration withICommandBuilder
are mutually exclusive.CommandAttribute
automatically adds the target command type to the application, and it has new properties that provide access to all command configuration options. (You can still mix declarative and imperative configuration of different commands in the same application. Be sure to omitCommandAttribute
from any type you want to configure through the builder.) - Instead of using
DescriptionAttribute
to set the help text for commands, arguments, and options, use theDescription
property ofCommandAttribute
,CommandArgumentAttribute
, andCommandOptionAttribute
, respectively. - Support for typed global options has been removed.
ICommandContext
provides access to the rawstring
values of global options. - Some infrastructure types have been moved, renamed, or deleted.
Packages
- XO.Console.Cli v5.0.42
- XO.Console.Cli.Extensions v5.0.9
- XO.Console.Cli.Instrumentation v5.0.6
Full Changelog: v4.0.3...v5.0.56