## 0.7.0 2020-05-08 ### Added - Inheritable attributes for subclasses of commands (@IvanShamatov) - Ability to register instances, not only classes as Commands (@IvanShamatov) - Add support for subcommands with a parent command (@unrooty) ### Fixed - Safely rescue pipe exception, when you CLI app is producing output for piped CLI app (IvanShamatov) - Safely rescue keyboard interrupts (@IvanShamatov) - [Internal] Don't run specs twice (@jodosha) - Update inline call with keyward arguments (@flash-gordon) ### Changed - Extracted Dry::CLI::Utils::Files into dry-files (@jodosha) - Drop 2.3 ruby support (@IvanShamatov) - [Internal] Changelog, issue templates (@solnic) - Documentation updates (@davydovanton) - Remove concurrent-ruby as runtime dependency (@jodosha) - [Internal] Banner and Parses refactoring (@IvanShamatov) [Compare v0.6.0...v0.7.0](https://github.com/dry-rb/dry-cli/compare/v0.6.0...v0.7.0) ## 0.6.0 2020-03-06 ### Added - Ability to pass command along with registry (for a singular command case) (@IvanShamatov) - [Internal] Backported ability to run gem's CI against ruby 2.3 (@flash-gordon) - Inline syntax for commands (@IvanShamatov) - Introduced stderr to any diagnostic output (@IvanShamatov) ### Fixed - [John Ledbetter & Luca Guidi] Fix ruby 2.7 warnings (@jodosha) - Fix banner, when option is a type of Array (@IvanShamatov) [Compare v0.5.1...v0.6.0](https://github.com/dry-rb/dry-cli/compare/v0.5.1...v0.6.0) ## 0.5.1 2020-01-23 ### Added - Anonymous Registry sintax (@IvanShamatov) - [Internal] Specs refactored, more unit specs added (@IvanShamatov) - [Internal] removed `dry-inflector` as runtime dependency (@jodosha) - [Internal] Refactored Command class (command_name property removed) (@IvanShamatov) - [Internal] Adapt gem to dry-rb style (@jodosha, @flash-gordon, @solnic, @cgeorgii) ### Fixed - Added missing 'set' require (@solnic) [Compare v0.5.0...v0.5.1](https://github.com/dry-rb/dry-cli/compare/v0.5.0...v0.5.1) ## 0.5.0 2019-12-21 ### Added - [Internal] removed runtime and development dependency against `hanami-utils` (@jodosha, @IvanShamatov, @solnic) [Compare v0.4.0...v0.5.0](https://github.com/dry-rb/dry-cli/compare/v0.4.0...v0.5.0) ## 0.4.0 2019-12-10 ### Added - `hanami-cli` => `dry-cli` (@jodosha, @IvanShamatov, @solnic) [Compare v0.3.1...v0.4.0](https://github.com/dry-rb/dry-cli/compare/v0.3.1...v0.4.0) ## 0.3.1 2019-01-18 ### Added - Official support for Ruby: MRI 2.6 (@jodosha) - Support `bundler` 2.0+ (@jodosha) [Compare v0.3.0...v0.3.1](https://github.com/dry-rb/dry-cli/compare/v0.3.0...v0.3.1) ## 0.3.0 2018-10-24 [Compare v0.3.0.beta1...v0.3.0](https://github.com/dry-rb/dry-cli/compare/v0.3.0.beta1...v0.3.0) ## 0.3.0.beta1 2018-08-08 ### Added - Introduce array type for arguments (`foo exec test spec/bookshelf/entities spec/bookshelf/repositories`) (@davydovanton, @AlfonsoUceda) - Introduce array type for options (`foo generate config --apps=web,api`) (@davydovanton, @AlfonsoUceda) - Introduce variadic arguments (`foo run ruby:latest -- ruby -v`) - Official support for JRuby 9.2.0.0 (@jodosha, @AlfonsoUceda) ### Fixed - Print informative message when unknown or wrong option is passed (`"test" was called with arguments "--framework=unknown"`) (@davydovanton) [Compare v0.2.0...v0.3.0.beta1](https://github.com/dry-rb/dry-cli/compare/v0.2.0...v0.3.0.beta1) ## 0.2.0 2018-04-11 [Compare v0.2.0.rc2...v0.2.0](https://github.com/dry-rb/dry-cli/compare/v0.2.0.rc2...v0.2.0) ## 0.2.0.rc2 2018-04-06 [Compare v0.2.0.rc1...v0.2.0.rc2](https://github.com/dry-rb/dry-cli/compare/v0.2.0.rc1...v0.2.0.rc2) ## 0.2.0.rc1 2018-03-30 [Compare v0.2.0.beta2...v0.2.0.rc1](https://github.com/dry-rb/dry-cli/compare/v0.2.0.beta2...v0.2.0.rc1) ## 0.2.0.beta2 2018-03-23 ### Added - Support objects as callbacks (@jodosha, @davydovanton) ### Fixed - Ensure callbacks' context of execution (aka `self`) to be the command that is being executed (@jodosha, @davydovanton) [Compare v0.2.0.beta1...v0.2.0.beta2](https://github.com/dry-rb/dry-cli/compare/v0.2.0.beta1...v0.2.0.beta2) ## 0.2.0.beta1 2018-02-28 ### Added - Register `before`/`after` callbacks for commands (@davydovanton) [Compare v0.1.1...v0.2.0.beta1](https://github.com/dry-rb/dry-cli/compare/v0.1.1...v0.2.0.beta1) ## 0.1.1 2018-02-27 ### Added - Official support for Ruby: MRI 2.5 (@jodosha) ### Fixed - Ensure default values for arguments to be sent to commands (@AlfonsoUceda) - Ensure to fail when a missing required argument isn't provider, but an option is provided instead (@AlfonsoUceda) [Compare v0.1.0...v0.1.1](https://github.com/dry-rb/dry-cli/compare/v0.1.0...v0.1.1) ## 0.1.0 2017-10-25 [Compare v0.1.0.rc1...v0.1.0](https://github.com/dry-rb/dry-cli/compare/v0.1.0.rc1...v0.1.0) ## 0.1.0.rc1 2017-10-16 [Compare v0.1.0.beta3...v0.1.0.rc1](https://github.com/dry-rb/dry-cli/compare/v0.1.0.beta3...v0.1.0.rc1) ## 0.1.0.beta3 2017-10-04 [Compare v0.1.0.beta2...v0.1.0.beta3](https://github.com/dry-rb/dry-cli/compare/v0.1.0.beta2...v0.1.0.beta3) ## 0.1.0.beta2 2017-10-03 ### Added - Allow default value for arguments (@AlfonsoUceda) [Compare v0.1.0.beta1...v0.1.0.beta2](https://github.com/dry-rb/dry-cli/compare/v0.1.0.beta1...v0.1.0.beta2) ## 0.1.0.beta1 2017-08-11 ### Added - Commands banner and usage (@jodosha, @AlfonsoUceda) - Added support for subcommands (@AlfonsoUceda) - Validations for arguments and options (@AlfonsoUceda) - Commands arguments and options (@AlfonsoUceda) - Commands description (@AlfonsoUceda) - Commands aliases (@AlfonsoUceda, @oana-sipos) - Exit on unknown command (@jodosha) - Command lookup (@AlfonsoUceda, @oana-sipos) - Trie based registry to register commands and allow third-parties to override/add commands (@jodosha, @timriley)