cardinal 0.4.0
cardinal: ^0.4.0 copied to clipboard
The declarative and elegant CLI framework for Dart.
0.4.0 #
Breaking Changes #
- Removed built-in logger support from
CardinalApp. Logging is now the responsibility of the consuming application. - Simplified
CardinalContextby removing implicit logger access.
Changed #
- Simplified
CardinalAppconstructor and internal wiring. - Improved separation of concerns between the framework core and external tooling.
- Refactored argument adapter internals for clarity and maintainability.
Internal #
- Minor internal cleanups in adapter and context handling.
0.3.0 #
Breaking Changes #
- Complete redesign of Cardinal’s core architecture.
- Previous command, context, and configuration APIs have been removed.
- Existing applications built on earlier versions will require migration.
Added #
- New declarative command system with first-class support for:
- Typed arguments
- Typed options
- Flags
- Subcommands
- Global options support shared across all commands.
- Context-driven execution model via
CardinalContext. - Clear separation between framework core and
argsintegration. - Improved and more accurate command usage output.
Changed #
- Simplified and flattened internal structure under
lib/src/. - Commands are now defined using a consistent declarative API.
- Argument and option parsing is centralized and type-safe.
Removed #
- Legacy internal modules and definitions.
- Old context and configuration abstractions.
Fixed #
- Improved validation and error reporting for missing required arguments.
- More predictable command and subcommand resolution.
0.2.0 #
- Breaking Change: Major internal refactoring of the project structure. All context classes have been moved to
lib/src/context/. - New: Introduced dedicated
lib/src/contextmodule for clearer separation of concerns. - Fix: Updated dependency constraints in
pubspec.yaml.