diff --git a/CHANGELOG.md b/CHANGELOG.md index 7ee60d4..d7b8928 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,29 +1,51 @@ # Changelog -## [0.2.1] - 2022-09-05 +## [0.3.0] - 2023-01-07 + +### Changed + +- **Breaking:** deprecate command default name/description class variables in favor of the new `ACONA::AsCommand` annotation ([#214](https://github.com/athena-framework/athena/pull/214)) (George Dietrich) +- **Breaking:** refactor `ACON::Command#application=` to no longer have a `nil` default value ([#217](https://github.com/athena-framework/athena/pull/217)) (George Dietrich) +- **Breaking:** refactor `ACON::Command#process_title=` no longer accept `nil` ([#217](https://github.com/athena-framework/athena/pull/217)) (George Dietrich) +- **Breaking:** rename `ACON::Command#process_title=` to `ACON::Command#process_title` ([#217](https://github.com/athena-framework/athena/pull/217)) (George Dietrich) ### Added -- Add an `ACON::Input::Interface` based on a command line string ([#186](https://github.com/athena-framework/athena/pull/186), [#187](https://github.com/athena-framework/athena/pull/187)) (George Dietrich) +- **Breaking:** add `#table` method to `ACON::Style::Interface` ([#220](https://github.com/athena-framework/athena/pull/220)) (George Dietrich) +- Add `ACONA::AsCommand` annotation to configure a command's name, description, aliases, and if it should be hidden ([#214](https://github.com/athena-framework/athena/pull/214)) (George Dietrich) +- Add support for generating tables ([#220](https://github.com/athena-framework/athena/pull/220)) (George Dietrich) + +### Fixed + +- Fix issue with using `ACON::Formatter::Output#format_and_wrap` with `nil` input and an edge case when wrapping a string with a space at the limit ([#220](https://github.com/athena-framework/athena/pull/220)) (George Dietrich) +- Fix `ACON::Formatter::NullStyle#*_option` method using incorrect `ACON::Formatter::Mode` type restriction ([#220](https://github.com/athena-framework/athena/pull/220)) (George Dietrich) +- Fix some flakiness when testing commands with input ([#224](https://github.com/athena-framework/athena/pull/224)) (George Dietrich) +- Fix compiler error when trying to use `ACON::Style::Athena#error_style` ([#240](https://github.com/athena-framework/athena/pull/240)) (George Dietrich) + +## [0.2.1] - 2022-09-05 ### Changed - **Breaking:** ensure parameter names defined on interfaces match the implementation ([#188](https://github.com/athena-framework/athena/pull/188)) (George Dietrich) +### Added + +- Add an `ACON::Input::Interface` based on a command line string ([#186](https://github.com/athena-framework/athena/pull/186), [#187](https://github.com/athena-framework/athena/pull/187)) (George Dietrich) + ## [0.2.0] - 2022-05-14 _First release a part of the monorepo._ +### Changed + +- **Breaking:** remove `ACON::Formatter::Mode` in favor of `Colorize::Mode`. Breaking only if not using symbol autocasting. ([#170](https://github.com/athena-framework/athena/pull/170)) (George Dietrich) +- Update minimum `crystal` version to `~> 1.4.0` ([#169](https://github.com/athena-framework/athena/pull/169)) (George Dietrich) + ### Added - Add `VERSION` constant to `Athena::Console` namespace ([#166](https://github.com/athena-framework/athena/pull/166)) (George Dietrich) - Add getting started documentation to API docs ([#172](https://github.com/athena-framework/athena/pull/172)) (George Dietrich) -### Changed - -- Update minimum `crystal` version to `~> 1.4.0` ([#169](https://github.com/athena-framework/athena/pull/169)) (George Dietrich) -- **Breaking:** remove `ACON::Formatter::Mode` in favor of `Colorize::Mode`. Breaking only if not using symbol autocasting. ([#170](https://github.com/athena-framework/athena/pull/170)) (George Dietrich) - ### Fixed - Disallow multi char option shortcuts made up of diff chars ([#164](https://github.com/athena-framework/athena/pull/164)) (George Dietrich) @@ -32,13 +54,14 @@ _First release a part of the monorepo._ ### Fixed -- Fix recursive struct error ([#4](https://github.com/athena-framework/console/pull/4)) (George Dietrich) - **Breaking:** fix typo in parameter name of `ACON::Command#option` method ([#3](https://github.com/athena-framework/console/pull/3)) (George Dietrich) +- Fix recursive struct error ([#4](https://github.com/athena-framework/console/pull/4)) (George Dietrich) ## [0.1.0] - 2021-10-30 _Initial release._ +[0.3.0]: https://github.com/athena-framework/console/releases/tag/v0.3.0 [0.2.1]: https://github.com/athena-framework/console/releases/tag/v0.2.1 [0.2.0]: https://github.com/athena-framework/console/releases/tag/v0.2.0 [0.1.1]: https://github.com/athena-framework/console/releases/tag/v0.1.1 diff --git a/README.md b/README.md index ccec57c..70f1deb 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ Allows for the creation of CLI based commands. dependencies: athena-console: github: athena-framework/console - version: ~> 0.2.0 + version: ~> 0.3.0 ``` 2. Run `shards install` diff --git a/shard.yml b/shard.yml index a2fd97e..2afd86e 100644 --- a/shard.yml +++ b/shard.yml @@ -1,6 +1,6 @@ name: athena-console -version: 0.2.1 +version: 0.3.0 crystal: ~> 1.4 diff --git a/src/athena-console.cr b/src/athena-console.cr index 84ee038..f9ab6cb 100644 --- a/src/athena-console.cr +++ b/src/athena-console.cr @@ -83,7 +83,7 @@ alias ACONA = ACON::Annotations # dependencies: # athena-console: # github: athena-framework/console -# version: ~> 0.2.0 +# version: ~> 0.3.0 # ``` # # Then run `shards install`. @@ -91,7 +91,7 @@ alias ACONA = ACON::Annotations # From here you can then setup your entry point file talked about earlier, being sure to require the component via `require "athena-console"`. # Finally, create/require your `ACON::Command`s, and customize the `ACON::Application` as needed. module Athena::Console - VERSION = "0.2.1" + VERSION = "0.3.0" # Contains all the `Athena::Console` based annotations. module Annotations; end