hanami-cli 2.3.3 → 2.3.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +356 -225
  3. data/LICENSE +20 -0
  4. data/README.md +11 -20
  5. data/hanami-cli.gemspec +28 -30
  6. data/lib/hanami/cli/commands/app/assets/command.rb +3 -2
  7. data/lib/hanami/cli/commands/app/command.rb +3 -3
  8. data/lib/hanami/cli/commands/app/console.rb +1 -1
  9. data/lib/hanami/cli/commands/app/db/command.rb +3 -3
  10. data/lib/hanami/cli/commands/app/db/prepare.rb +1 -1
  11. data/lib/hanami/cli/commands/app/db/rollback.rb +6 -2
  12. data/lib/hanami/cli/commands/app/db/structure/dump.rb +1 -1
  13. data/lib/hanami/cli/commands/app/db/structure/load.rb +1 -1
  14. data/lib/hanami/cli/commands/app/db/utils/postgres.rb +2 -2
  15. data/lib/hanami/cli/commands/app/db/utils/sqlite.rb +3 -4
  16. data/lib/hanami/cli/commands/app/db/version.rb +1 -1
  17. data/lib/hanami/cli/commands/app/generate/action.rb +0 -2
  18. data/lib/hanami/cli/commands/app/generate/command.rb +2 -2
  19. data/lib/hanami/cli/commands/app/generate/component.rb +1 -1
  20. data/lib/hanami/cli/commands/app/generate/migration.rb +1 -1
  21. data/lib/hanami/cli/commands/app/generate/operation.rb +1 -1
  22. data/lib/hanami/cli/commands/app/generate/part.rb +1 -1
  23. data/lib/hanami/cli/commands/app/generate/relation.rb +1 -1
  24. data/lib/hanami/cli/commands/app/generate/repo.rb +1 -1
  25. data/lib/hanami/cli/commands/app/generate/slice.rb +1 -1
  26. data/lib/hanami/cli/commands/app/generate/struct.rb +1 -1
  27. data/lib/hanami/cli/commands/app/generate/view.rb +1 -1
  28. data/lib/hanami/cli/commands/app/install.rb +2 -0
  29. data/lib/hanami/cli/commands/app/middleware.rb +1 -1
  30. data/lib/hanami/cli/commands/app/routes.rb +1 -1
  31. data/lib/hanami/cli/commands/app/run.rb +10 -10
  32. data/lib/hanami/cli/commands/app.rb +1 -1
  33. data/lib/hanami/cli/commands/gem/new.rb +1 -4
  34. data/lib/hanami/cli/commands.rb +21 -12
  35. data/lib/hanami/cli/generators/app/action.rb +1 -3
  36. data/lib/hanami/cli/generators/app/component.rb +1 -1
  37. data/lib/hanami/cli/generators/app/migration.rb +1 -1
  38. data/lib/hanami/cli/generators/app/operation.rb +1 -1
  39. data/lib/hanami/cli/generators/app/relation.rb +1 -1
  40. data/lib/hanami/cli/generators/app/repo.rb +1 -1
  41. data/lib/hanami/cli/generators/app/ruby_file.rb +3 -3
  42. data/lib/hanami/cli/generators/app/slice.rb +4 -4
  43. data/lib/hanami/cli/generators/app/struct.rb +1 -1
  44. data/lib/hanami/cli/generators/app/view.rb +2 -2
  45. data/lib/hanami/cli/generators/constants.rb +1 -1
  46. data/lib/hanami/cli/ruby_file_generator.rb +1 -1
  47. data/lib/hanami/cli/version.rb +1 -1
  48. data/lib/hanami/console/plugins/unbooted_slice_warnings.rb +8 -0
  49. metadata +12 -79
  50. data/.github/FUNDING.yml +0 -1
  51. data/.github/workflows/ci.yml +0 -76
  52. data/.gitignore +0 -13
  53. data/.repobot.yml +0 -9
  54. data/.rspec +0 -2
  55. data/.rubocop.yml +0 -48
  56. data/.rubocop_todo.yml +0 -150
  57. data/.yardopts +0 -3
  58. data/CODE_OF_CONDUCT.md +0 -84
  59. data/Gemfile +0 -33
  60. data/LICENSE.md +0 -22
  61. data/Rakefile +0 -12
  62. data/bin/console +0 -15
  63. data/bin/setup +0 -8
  64. data/docker-compose.yml +0 -14
  65. data/project.yml +0 -2
  66. data/script/ci +0 -31
data/CHANGELOG.md CHANGED
@@ -1,27 +1,70 @@
1
- # Hanami::CLI
1
+ # Changelog
2
2
 
3
- Hanami Command Line Interface
3
+ All notable changes to this project will be documented in this file.
4
4
 
5
- ## Unreleased
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
7
 
7
- ## v2.3.3 - 2025-12-04
8
+ ## [Unreleased]
9
+
10
+ ### Added
11
+
12
+ ### Changed
13
+
14
+ - In `assets` commands, provide the node command with the assets config path _relative to app root_ instead of an absolute path (`config/assets.js` instead of `/full/path/to/config/assets.js`). This allows the assets commands to work in environments where Node.js is "sandboxed" in such a way that it doesn't share the same absolute path. (@haileys in #381).
15
+
16
+ ### Deprecated
17
+
18
+ ### Removed
19
+
20
+ ### Fixed
21
+
22
+ ### Security
23
+
24
+ [Unreleased]: https://github.com/hanami/cli/compare/v2.3.5...HEAD
25
+
26
+ ## [2.3.5] - 2026-02-06
27
+
28
+ ### Changed
29
+
30
+ - In `assets` commands, provide the node command with the assets config path _relative to app root_ instead of an absolute path (`config/assets.js` instead of `/full/path/to/config/assets.js`). This allows the assets commands to work in environments where Node.js is "sandboxed" in such a way that it doesn't share the same absolute path. (@haileys in #381).
31
+
32
+ [2.3.4]: https://github.com/hanami/cli/compare/v2.3.4...v2.3.5
33
+
34
+ ## [2.3.4] - 2026-01-23
35
+
36
+ ### Fixed
37
+
38
+ - Avoid an unhandled exception in the "are we inside a Hanami app?" check that happens at the beginning of every CLI invocation. This would occur when a bundled gem is already activated (from our testing: bigdecimal) but in conflict with the required version of that gem by a Hanami dependency. (@timriley in #380).
39
+
40
+ [2.3.4]: https://github.com/hanami/cli/compare/v2.3.3...v2.3.4
41
+
42
+ ## [2.3.3] - 2025-12-04
43
+
44
+ ### Changed
8
45
 
9
46
  - Support the newly released Bundler v4 by removing the upper version bound from our dependency. (@timriley in #373)
10
47
 
11
- ## v2.3.2 - 2025-11-16
48
+ [2.3.3]: https://github.com/hanami/cli/compare/v2.3.2...v2.3.3
49
+
50
+ ## [2.3.2] - 2025-11-16
12
51
 
13
52
  ### Fixed
14
53
 
15
54
  - Fix potential deadlocks with `db structure dump` for large structure files. (@timriley in #370, report from @pat in #369)
16
55
  - Decouple the hanami-assets npm package version from the current Hanami version in generated `package.json`, using the stable minor version (e.g. `^2.3.0`) instead of the exact version (e.g. `^2.3.1`). This allows Hanami patch releases without requiring a corresponding hanami-assets npm package release. (@timriley in #270)
17
56
 
18
- ## v2.3.1 - 2025-11-14
57
+ [2.3.2]: https://github.com/hanami/cli/compare/v2.3.1...v2.3.2
58
+
59
+ ## [2.3.1] - 2025-11-14
19
60
 
20
61
  ### Fixed
21
62
 
22
63
  - Fix stray wording in `README.md` in new apps. (@davidcelis in #368)
23
64
 
24
- ## v2.3.0 - 2025-11-12
65
+ [2.3.1]: https://github.com/hanami/cli/compare/v2.3.0...v2.3.1
66
+
67
+ ## [2.3.0] - 2025-11-12
25
68
 
26
69
  ### Added
27
70
 
@@ -48,7 +91,9 @@ Hanami Command Line Interface
48
91
  - Fix structure dump and load for MySQL 9.5.0. (@timriley in #348)
49
92
  - Preserve Bundler environment variables when commands make system calls. (@robyurkowski in 346)
50
93
 
51
- ## v2.3.0.beta2 - 2025-10-17
94
+ [2.3.0]: https://github.com/hanami/cli/compare/v2.3.0.beta2...v2.3.0
95
+
96
+ ## [2.3.0.beta2] - 2025-10-17
52
97
 
53
98
  ### Added
54
99
 
@@ -65,446 +110,532 @@ Hanami Command Line Interface
65
110
 
66
111
  - Handle mixed case names given to `generate` subcommands. (@cllns in #327)
67
112
 
68
- ## v2.3.0.beta1 - 2025-10-03
113
+ [2.3.0.beta2]: https://github.com/hanami/cli/compare/v2.3.0.beta1...v2.3.0.beta2
114
+
115
+ ## [2.3.0.beta1] - 2025-10-03
69
116
 
70
117
  ### Added
71
118
 
72
- - Running `hanami generate` commands within a slice directory will generate the file in that slice (@krzykamil in #298)
119
+ - Running `hanami generate` commands within a slice directory will generate the file in that slice. (@krzykamil in #298)
73
120
  - Add `db rollback` command, supporting rolling back a single database at a time. (@krzykamil in #300)
74
- - `console` command loads configured extensions from app config. Add these using e.g. `config.console.include MyModule, AnotherModule` (@alassek in #324)
75
- - `console` command uses REPL engine configured in app config. Set this using e.g. `config.console.engine = :pry`; valid options are `:irb` (default) and `:pry` (@alassek in #324)
121
+ - `console` command loads configured extensions from app config. Add these using e.g. `config.console.include MyModule, AnotherModule`. (@alassek in #324)
122
+ - `console` command uses REPL engine configured in app config. Set this using e.g. `config.console.engine = :pry`; valid options are `:irb` (default) and `:pry`. (@alassek in #324)
76
123
 
77
- ### Fixed
124
+ ### Changed
78
125
 
79
- - Allow generated `public/400.html` and `public/500.html` to go into source control (@kyleplump in #290)
80
- - Properly show database errors from failed `db drop` commands (@katafrakt in #281)
81
- - Ensure consistent env var loading by disallowing Foreman's own env processing in generated `bin/dev` script (@cflipse in #305)
82
- - Use the configured app inflector (and any custom inflections) for all commands (@timriley in #312)
83
- - For app generated with `hanami new` with `--head`, include `hanami-cli` in the `Gemfile` (@afomera in #328)
126
+ - Prevent `hanami new` from creating apps with confusing names (currently: "app" or "slice"). (@seven1m in #272)
127
+ - Provide more helpful instructions in generated app README. (@hanarimawi in #273)
128
+ - Prevent generators from overwriting files. (@maxemitchell in #274, @stephannv in #319)
129
+ - Add irb as a gem dependency to avoid default gem warnings. (@y-yagi in #294)
130
+ - Expand on comments `config/assets.js` and enable customization function by default. (@robyurkowski in #293)
131
+ - Run `git init` at the end of `hanami new`. (@krzykamil in #295)
132
+ - Prevent blank lines from showing when generating classes without deep module nesting. (@cllns)
133
+ - Add `--skip-view` flag to `hanami new`. (@kyleplump in #308)
134
+ - Support Rack 3 in addition to Rack 2 (for `hanami server` command). (@kyleplump in #289)
135
+ - Ensure compatibility with MySQL 9.4's CLI tools in `db structure load` command. (@timriley in #315)
136
+ - Generated `Rakefile` will load tasks defined in `lib/tasks/`. (@AlexanderZagaynov in #318)
84
137
 
85
- ### Changed
138
+ ### Fixed
139
+
140
+ - Allow generated `public/400.html` and `public/500.html` to go into source control. (@kyleplump in #290)
141
+ - Properly show database errors from failed `db drop` commands. (@katafrakt in #281)
142
+ - Ensure consistent env var loading by disallowing Foreman's own env processing in generated `bin/dev` script. (@cflipse in #305)
143
+ - Use the configured app inflector (and any custom inflections) for all commands. (@timriley in #312)
144
+ - For app generated with `hanami new` with `--head`, include `hanami-cli` in the `Gemfile`. (@afomera in #328)
86
145
 
87
- - Prevent `hanami new` from creating apps with confusing names (currently: "app" or "slice") (@seven1m in #272)
88
- - Provide more helpful instructions in generated app README (@hanarimawi in #273)
89
- - Prevent generators from overwriting files (@maxemitchell in #274, @stephannv in #319)
90
- - Add irb as a gem dependency to avoid default gem warnings (@y-yagi in #294)
91
- - Expand on comments `config/assets.js` and enable customization function by default (@robyurkowski in #293)
92
- - Run `git init` at the end of `hanami new` (@krzykamil in #295)
93
- - Prevent blank lines from showing when generating classes without deep module nesting (@cllns)
94
- - Add `--skip-view` flag to `hanami new` (@kyleplump in #308)
95
- - Support Rack 3 in addition to Rack 2 (for `hanami server` command) (@kyleplump in #289)
96
- - Ensure compatibility with MySQL 9.4's CLI tools in `db structure load` command (@timriley in #315)
97
- - Generated `Rakefile` will load tasks defined in `lib/tasks/` (@AlexanderZagaynov in #318)
146
+ [2.3.0.beta1]: https://github.com/hanami/cli/compare/v2.2.1...v2.3.0.beta1
98
147
 
99
- ## v2.2.1 - 2024-11-12
148
+ ## [2.2.1] - 2024-11-12
100
149
 
101
150
  ### Changed
102
151
 
103
- - [Tim Riley] Run a bundle install inside `hanami install`. Combined with first-party extension gems modifying the new app's `Gemfile` via a `before "install"` command hook, this ensures that all necessary gems are installed duringthe `hanami new` command. (#269)
152
+ - Run a bundle install inside `hanami install`. Combined with first-party extension gems modifying the new app's `Gemfile` via a `before "install"` command hook, this ensures that all necessary gems are installed during the `hanami new` command. (@timriley in #269)
104
153
 
105
154
  ### Fixed
106
155
 
107
- - [Tim Riley] Allow `hanami new` to be called with `--skip-db` (#266)
156
+ - Allow `hanami new` to be called with `--skip-db`. (@timriley in #266)
157
+
158
+ [2.2.1]: https://github.com/hanami/cli/compare/v2.2.0...v2.2.1
108
159
 
109
- ## v2.2.0 - 2024-11-05
160
+ ## [2.2.0] - 2024-11-05
110
161
 
111
162
  ### Changed
112
163
 
113
- - [Kyle Plump] Add `--gateway` optiopn to `generate relation` (#261)
114
- - [Tim Riley] Depend on stable release of dry-operation in new app `Gemfile` (#262)
115
- - [Tim Riley] Depend on newser dry-types with a simpler version constraint in new app `Gemfile` (#263)
116
- - [Adam Lassek] Point to Hanami's own migrations guide from generated migration files (#264)
164
+ - Add `--gateway` option to `generate relation`. (@kyleplump in #261)
165
+ - Depend on stable release of dry-operation in new app `Gemfile`. (@timriley in #262)
166
+ - Depend on newer dry-types with a simpler version constraint in new app `Gemfile`. (@timriley in #263)
167
+ - Point to Hanami's own migrations guide from generated migration files. (@alassek in #264)
117
168
 
118
- ## v2.2.0.rc1 - 2024-10-29
169
+ [2.2.0]: https://github.com/hanami/cli/compare/v2.2.0.rc1...v2.2.0
170
+
171
+ ## [2.2.0.rc1] - 2024-10-29
119
172
 
120
173
  ### Added
121
174
 
122
- - [Tim Riley, François Beausoleil] Generate a `config/db/seeds.rb` file in new apps (#255, #256)
175
+ - Generate a `config/db/seeds.rb` file in new apps. (@timriley, @fbeausoleil in #255, #256)
123
176
 
124
177
  ### Changed
125
178
 
126
- - [Tim Riley] Add `--env` and `-e` options to all app commands, for setting the Hanami env (#246)
127
- - [Tim Riley] Keep test database in sync by applying `hanami db` commands to both development and test databases when invoked in development environment (#247)
128
- - [Kyle Plump] Add `--skip-route` flag to `generate action` and `generate slice` commands (#227)
129
- - [Tim Riley] Include a `change do` block in generated migrations (#254)
130
- - [Tim Riley] Generate MySQL database URL in `.env` that works with standard Homebrew MySQL installation (#249)
131
- - [Tim Riley, Adam Lassek] Remove ROM extension boilerplate in operations generated by `hanami new` and `generate operation` (this is now applied automatically) (#240, #252)
132
- - [François Beausoleil] Print a warning when running `db seed` but expected seeds files could not be found (#256)
133
- - [Seb Wilgosz] Only register `generate` subcommands if the relevant gems are bundled (#242)
134
- - [Anderson Saunders] When both IRB and pry are loaded, use IRB as the default engine for `hanami console` (#182)
179
+ - Add `--env` and `-e` options to all app commands, for setting the Hanami env. (@timriley in #246)
180
+ - Keep test database in sync by applying `hanami db` commands to both development and test databases when invoked in development environment. (@timriley in #247)
181
+ - Add `--skip-route` flag to `generate action` and `generate slice` commands. (@kyleplump in #227)
182
+ - Include a `change do` block in generated migrations. (@timriley in #254)
183
+ - Generate MySQL database URL in `.env` that works with standard Homebrew MySQL installation. (@timriley in #249)
184
+ - Remove ROM extension boilerplate in operations generated by `hanami new` and `generate operation` (this is now applied automatically). (@timriley, @alassek in #240, #252)
185
+ - Print a warning when running `db seed` but expected seeds files could not be found. (@fbeausoleil in #256)
186
+ - Only register `generate` subcommands if the relevant gems are bundled. (@swilgosz in #242)
187
+ - When both IRB and pry are loaded, use IRB as the default engine for `hanami console`. (@asaunders in #182)
135
188
 
136
189
  ### Fixed
137
190
 
138
- - [Tim Riley] Fix error dumping structure when there are no migrations (#244)
139
- - [Tim Riley] Stop erroneous misconfigured DB warnings from `hanami db` commands when a database is configured once but shared across sliaces (#253)
191
+ - Fix error dumping structure when there are no migrations. (@timriley in #244)
192
+ - Stop erroneous misconfigured DB warnings from `hanami db` commands when a database is configured once but shared across slices. (@timriley in #253)
193
+
194
+ [2.2.0.rc1]: https://github.com/hanami/cli/compare/v2.2.0.beta2...v2.2.0.rc1
140
195
 
141
- ## v2.2.0.beta2 - 2024-09-25
196
+ ## [2.2.0.beta2] - 2024-09-25
142
197
 
143
198
  ### Added
144
199
 
145
- - [Tim Riley] MySQL support for `db` commands (#226)
146
- - [Tim Riley] Support for multiple gateways in `db` commands (#232, #234, #237, #238)
200
+ - MySQL support for `db` commands. (@timriley in #226)
201
+ - Support for multiple gateways in `db` commands. (@timriley in #232, #234, #237, #238)
147
202
 
148
203
  ### Changed
149
204
 
150
- - [Kyle Plump, Tim Riley] Delete `.keep` files when generating new files into previously empty directory (#224)
151
- - [Sean Collins] Add `db/*.sqlite` to the `.gitignore` in new apps (#210)
152
- - [Sean Collins] Print warnings for misconfigured databases when running `db` commands (#211)
205
+ - Delete `.keep` files when generating new files into previously empty directory. (@kyleplump, @timriley in #224)
206
+ - Add `db/*.sqlite` to the `.gitignore` in new apps. (@cllns in #210)
207
+ - Print warnings for misconfigured databases when running `db` commands. (@cllns in #211)
153
208
 
154
- ## v2.2.0.beta1 - 2024-07-16
209
+ [2.2.0.beta2]: https://github.com/hanami/cli/compare/v2.2.0.beta1...v2.2.0.beta2
210
+
211
+ ## [2.2.0.beta1] - 2024-07-16
155
212
 
156
213
  ### Added
157
214
 
158
- - [Sean Collins] Generate db files in `hanami new` and `generate slice`
159
- - [Tim Riley] Add `db` commands: `create`, `drop`, `migrate`, `structure dump` `structure load`, `seed` `prepare`, `version`
160
- - [Tim Riley] Support SQLite and Postgres for `db` commands
161
- - [Sean Collins] Add `generate` commands for db components: `generate migration`, `generate relation`, `generate repo`, `generate struct`
162
- - [Krzysztof] Add `generate component` command
163
- - [Sean Collins] Add `generate operation` command
215
+ - Generate db files in `hanami new` and `generate slice`. (@cllns)
216
+ - Add `db` commands: `create`, `drop`, `migrate`, `structure dump` `structure load`, `seed` `prepare`, `version`. (@timriley)
217
+ - Support SQLite and Postgres for `db` commands. (@timriley)
218
+ - Add `generate` commands for db components: `generate migration`, `generate relation`, `generate repo`, `generate struct`. (@cllns)
219
+ - Add `generate component` command. (@krzykamil)
220
+ - Add `generate operation` command. (@cllns)
164
221
 
165
222
  ### Changed
166
223
 
167
224
  - Drop support for Ruby 3.0
168
225
 
169
- ## v2.1.1 - 2024-03-19
226
+ [2.2.0.beta1]: https://github.com/hanami/cli/compare/v2.1.1...v2.2.0.beta1
227
+
228
+ ## [2.1.1] - 2024-03-19
170
229
 
171
230
  ### Fixed
172
231
 
173
- - [Ryan Bigg] Properly pass INT signal to child processes when interrupting `hanami assets watch` command
232
+ - Properly pass INT signal to child processes when interrupting `hanami assets watch` command. (@ryanbigg)
233
+
234
+ [2.1.1]: https://github.com/hanami/cli/compare/v2.1.0...v2.1.1
174
235
 
175
- ## v2.1.0 - 2024-02-27
236
+ ## [2.1.0] - 2024-02-27
176
237
 
177
238
  ### Changed
178
239
 
179
- - [Tim Riley] Underscore slice names in `public/assets/` to avoid naming conflicts with nested asset entry points. In this arrangement, an "admin" slice will have its assets compiled into `public/assets/_admin/`.
240
+ - Underscore slice names in `public/assets/` to avoid naming conflicts with nested asset entry points. In this arrangement, an "admin" slice will have its assets compiled into `public/assets/_admin/`. (@timriley)
180
241
 
181
- ## v2.1.0.rc3 - 2024-02-16
242
+ [2.1.0]: https://github.com/hanami/cli/compare/v2.1.0.rc3...v2.1.0
243
+
244
+ ## [2.1.0.rc3] - 2024-02-16
182
245
 
183
246
  ### Changed
184
247
 
185
- - [Tim Riley] For `hanami assets` commands, run a separate assets compilation process per slice (in parallel).
186
- - [Tim Riley] Generate compiled assets into separate folders per slice, each with its own `assets.js` manifest file: `public/assets/` for the app, and `public/assets/[slice_name]/` for each slice.
187
- - [Tim Riley] For `hanami assets` commands, directly detect and invoke the `config/assets.js` files. Look for this file within each slice, and fall back to the app-level file.
188
- - [Tim Riley] Do not generate `"scripts": {"assets": "..."}` section in new app's `package.json`.
189
- - [Tim Riley] Subclasses of `Hanami::CLI::Command` receive default args to their `#initialize` methods, and do not need to re-declare default args themselves.
190
- - [Philip Arndt] Alphabetically sort hanami gems in the new app `Gemfile`.
248
+ - For `hanami assets` commands, run a separate assets compilation process per slice (in parallel). (@timriley)
249
+ - Generate compiled assets into separate folders per slice, each with its own `assets.js` manifest file: `public/assets/` for the app, and `public/assets/[slice_name]/` for each slice. (@timriley)
250
+ - For `hanami assets` commands, directly detect and invoke the `config/assets.js` files. Look for this file within each slice, and fall back to the app-level file. (@timriley)
251
+ - Do not generate `"scripts": {"assets": "..."}` section in new app's `package.json`. (@timriley)
252
+ - Subclasses of `Hanami::CLI::Command` receive default args to their `#initialize` methods, and do not need to re-declare default args themselves. (@timriley)
253
+ - Alphabetically sort hanami gems in the new app `Gemfile`. (@parndt)
191
254
 
192
255
  ### Fixed
193
256
 
194
- - [Nishiki (錦華)] Strip invalid characters from module name when generating new app.
257
+ - Strip invalid characters from module name when generating new app. (@nishiki)
258
+
259
+ [2.1.0.rc3]: https://github.com/hanami/cli/compare/v2.1.0.rc2...v2.1.0.rc3
195
260
 
196
- ## v2.1.0.rc2 - 2023-11-08
261
+ ## [2.1.0.rc2] - 2023-11-08
197
262
 
198
263
  ### Added
199
264
 
200
- - [Tim Riley] Add `--skip-tests` for `hanami generate` commands. This CLI option will skip tests generation.
265
+ - Add `--skip-tests` for `hanami generate` commands. This CLI option will skip tests generation. (@timriley)
201
266
 
202
267
  ### Changed
203
268
 
204
- - [Tim Riley] Set `"type": "module"` in package.json, enabling ES modules by default
205
- - [Tim Riley] Rename `config/assets.mjs` to `config/assets.js` (use a plain `.js` file extension)
269
+ - Set `"type": "module"` in package.json, enabling ES modules by default. (@timriley)
270
+ - Rename `config/assets.mjs` to `config/assets.js` (use a plain `.js` file extension). (@timriley)
206
271
 
207
272
  ### Fixed
208
273
 
209
- - [Tim Riley] Use correct helper names in generated app layout
210
- - [Luca Guidi] Ensure to generate apps with correct pre-release version of `hanami-assets` NPM package
211
- - [Sean Collins] Print to stderr NPM installation errors when running `hanami install`
212
- - [Sean Collins] Ensure to install missing gems after `hanami install` is ran
274
+ - Use correct helper names in generated app layout. (@timriley)
275
+ - Ensure to generate apps with correct pre-release version of `hanami-assets` NPM package. (@lucaguidi)
276
+ - Print to stderr NPM installation errors when running `hanami install`. (@cllns)
277
+ - Ensure to install missing gems after `hanami install` is ran. (@cllns)
213
278
 
214
- ## v2.1.0.rc1 - 2023-11-01
279
+ [2.1.0.rc2]: https://github.com/hanami/cli/compare/v2.1.0.rc1...v2.1.0.rc2
215
280
 
216
- ### Added
217
-
218
- - [Tim Riley] `hanami new` to generate `bin/dev` as configuration for `hanami dev`
219
- - [Luca Guidi] Introducing `hanami generate part` to generate view parts
281
+ ## [2.1.0.rc1] - 2023-11-01
220
282
 
221
- ### Fixed
283
+ ### Added
222
284
 
223
- - [Luca Guidi] `hanami new` generates a fully documented Puma configuration in `config/puma.rb`
285
+ - `hanami new` to generate `bin/dev` as configuration for `hanami dev`. (@timriley)
286
+ - Introducing `hanami generate part` to generate view parts. (@lucaguidi)
224
287
 
225
288
  ### Changed
226
289
 
227
- - [Tim Riley] `hanami new` generates a `config/assets.mjs` as Assets configuration
228
- - [Tim Riley] `hanami new` generates a leaner `package.json`
229
- - [Tim Riley] `hanami new` doesn't generate a default root route anymore
230
- - [Aaron Moodie & Tim Riley] `hanami new` to generate a redesigned 404 and 500 error pages
231
- - [Luca Guidi] When generating a RESTful action, skip `create`, if `new` is present, and `update`, if `edit` is present
290
+ - `hanami new` generates a `config/assets.mjs` as Assets configuration. (@timriley)
291
+ - `hanami new` generates a leaner `package.json`. (@timriley)
292
+ - `hanami new` doesn't generate a default root route anymore. (@timriley)
293
+ - `hanami new` to generate a redesigned 404 and 500 error pages. (@aaronmoodie, @timriley)
294
+ - `hanami new` generates a fully documented Puma configuration in `config/puma.rb`. (@lucaguidi)
295
+ - When generating a RESTful action, skip `create`, if `new` is present, and `update`, if `edit` is present. (@lucaguidi)
296
+
297
+ [2.1.0.rc1]: https://github.com/hanami/cli/compare/v2.1.0.beta2...v2.1.0.rc1
232
298
 
233
- ## v2.1.0.beta2 - 2023-10-04
299
+ ## [2.1.0.beta2] - 2023-10-04
234
300
 
235
301
  ### Added
236
302
 
237
- - [Luca Guidi] `hanami new` generates `Procfile.dev`
238
- - [Luca Guidi] `hanami new` generates basic app assets, if `hanami-assets` is bundled by the app
239
- - [Luca Guidi] `hanami new` accepts `--head` to generate the app using Hanami HEAD version from GitHub
240
- - [Luca Guidi] `hanami generate slice` generates basic slice assets, if `hanami-assets` is bundled by the app
241
- - [Ryan Bigg] `hanami generate action` generates corresponding view, if `hanami-view` is bundled by the app
242
- - [Luca Guidi] `hanami assets compile` to compile assets at the deploy time
243
- - [Luca Guidi] `hanami assets watch` to watch and compile assets at the development time
244
- - [Luca Guidi] `hanami dev` to start the processes in `Procfile.dev`
303
+ - `hanami new` generates `Procfile.dev`. (@lucaguidi)
304
+ - `hanami new` generates basic app assets, if `hanami-assets` is bundled by the app. (@lucaguidi)
305
+ - `hanami new` accepts `--head` to generate the app using Hanami HEAD version from GitHub. (@lucaguidi)
306
+ - `hanami generate slice` generates basic slice assets, if `hanami-assets` is bundled by the app. (@lucaguidi)
307
+ - `hanami generate action` generates corresponding view, if `hanami-view` is bundled by the app. (@ryanbigg)
308
+ - `hanami assets compile` to compile assets at the deploy time. (@lucaguidi)
309
+ - `hanami assets watch` to watch and compile assets at the development time. (@lucaguidi)
310
+ - `hanami dev` to start the processes in `Procfile.dev`. (@lucaguidi)
245
311
 
246
312
  ### Fixed
247
313
 
248
- - [Luca Guidi] `hanami new` generates a `Gemfile` with `hanami-webconsole` in `:development` group
249
- - [Luca Guidi] `hanami new` generates a `Gemfile` with versioned `hanami-webconsole`, `hanami-rspec`, and `hanami-reloader`
314
+ - `hanami new` generates a `Gemfile` with `hanami-webconsole` in `:development` group. (@lucaguidi)
315
+ - `hanami new` generates a `Gemfile` with versioned `hanami-webconsole`, `hanami-rspec`, and `hanami-reloader`. (@lucaguidi)
316
+
317
+ [2.1.0.beta2]: https://github.com/hanami/cli/compare/v2.1.0.beta1...v2.1.0.beta2
250
318
 
251
- ## v2.1.0.beta1 - 2023-06-29
319
+ ## [2.1.0.beta1] - 2023-06-29
252
320
 
253
321
  ### Added
254
322
 
255
- - [Tim Riley] `hanami new` to generate default views, templates, and helpers
256
- - [Tim Riley] `hanami generate slice` to generate default views, templates, and helpers
257
- - [Tim Riley] `hanami generate action` to generate associated view and template
258
- - [Tim Riley] Introduced `hanami generate view`
259
- - [Tim Riley] `hanami new` to generate `Gemfile` with `hanami-view` and `hanami-webconsole` gems
260
- - [Tim Riley] `hanami new` to generate default error pages for `404` and `500` HTTP errors
323
+ - `hanami new` to generate default views, templates, and helpers. (@timriley)
324
+ - `hanami generate slice` to generate default views, templates, and helpers. (@timriley)
325
+ - `hanami generate action` to generate associated view and template. (@timriley)
326
+ - Introduced `hanami generate view`. (@timriley)
327
+ - `hanami new` to generate `Gemfile` with `hanami-view` and `hanami-webconsole` gems. (@timriley)
328
+ - `hanami new` to generate default error pages for `404` and `500` HTTP errors. (@timriley)
261
329
 
262
330
  ### Fixed
263
331
 
264
- - [Philip Arndt] `hanami server` to start only one Puma worker by default
332
+ - `hanami server` to start only one Puma worker by default. (@parndt)
265
333
 
266
- ## v2.0.3 - 2023-02-01
334
+ [2.1.0.beta1]: https://github.com/hanami/cli/compare/v2.0.3...v2.1.0.beta1
335
+
336
+ ## [2.0.3] - 2023-02-01
267
337
 
268
338
  ### Added
269
339
 
270
- - [Luca Guidi] Generate a default `.gitignore` when using `hanami new`
340
+ - Generate a default `.gitignore` when using `hanami new`. (@lucaguidi)
271
341
 
272
342
  ### Fixed
273
343
 
274
- - [dsisnero] Ensure to run automatically bundle gems when using `hanami new` on Windows
275
- - [Luca Guidi] Ensure to generate the correct action identifier in routes when using `hanami generate action` with deeply nested action name
344
+ - Ensure to run automatically bundle gems when using `hanami new` on Windows. (@dsisnero)
345
+ - Ensure to generate the correct action identifier in routes when using `hanami generate action` with deeply nested action name. (@lucaguidi)
346
+
347
+ [2.0.3]: https://github.com/hanami/cli/compare/v2.0.2...v2.0.3
276
348
 
277
- ## v2.0.2 - 2022-12-25
349
+ ## [2.0.2] - 2022-12-25
278
350
 
279
351
  ### Added
280
352
 
281
- - [Luca Guidi] Official support for Ruby 3.2
353
+ - Official support for Ruby 3.2. (@lucaguidi)
354
+
355
+ [2.0.2]: https://github.com/hanami/cli/compare/v2.0.1...v2.0.2
282
356
 
283
- ## v2.0.1 - 2022-12-06
357
+ ## [2.0.1] - 2022-12-06
284
358
 
285
359
  ### Fixed
286
360
 
287
- - [Luca Guidi] Ensure to load `.env` files during CLI commands execution
288
- - [Luca Guidi] Ensure `hanami server` to respect HTTP port used in `.env` or the value given as CLI argument (`--port`)
361
+ - Ensure to load `.env` files during CLI commands execution. (@lucaguidi)
362
+ - Ensure `hanami server` to respect HTTP port used in `.env` or the value given as CLI argument (`--port`). (@lucaguidi)
289
363
 
290
- ## v2.0.0 - 2022-11-22
364
+ [2.0.1]: https://github.com/hanami/cli/compare/v2.0.0...v2.0.1
365
+
366
+ ## [2.0.0] - 2022-11-22
291
367
 
292
368
  ### Added
293
369
 
294
- - [Tim Riley] Use Zeitwerk to autoload the gem
370
+ - Use Zeitwerk to autoload the gem. (@timriley)
295
371
 
296
372
  ### Fixed
297
373
 
298
- - [Luca Guidi] In case of internal exception, don't print the stack trace to stderr, print the error message, exit with 1.
299
- - [Tim Riley] Ensure to be able to run `hanami` CLI in Hanami app subdirectories.
300
- - [Sean Collins] Return an error when trying to run `hanami new` with an existing target path (file or directory)
374
+ - In case of internal exception, don't print the stack trace to stderr, print the error message, exit with 1. (@lucaguidi)
375
+ - Ensure to be able to run `hanami` CLI in Hanami app subdirectories. (@timriley)
376
+ - Return an error when trying to run `hanami new` with an existing target path (file or directory). (@cllns)
377
+
378
+ [2.0.0]: https://github.com/hanami/cli/compare/v2.0.0.rc1...v2.0.0
301
379
 
302
- ## v2.0.0.rc1 - 2022-11-08
380
+ ## [2.0.0.rc1] - 2022-11-08
303
381
 
304
- ## v2.0.0.beta4 - 2022-10-24
382
+ [2.0.0.rc1]: https://github.com/hanami/cli/compare/v2.0.0.beta4...v2.0.0.rc1
383
+
384
+ ## [2.0.0.beta4] - 2022-10-24
305
385
 
306
386
  ### Changed
307
387
 
308
- - [Sean Collins] Show output when generating files (e.g. in `hanami new`) (#49)
309
- - [Luca Guidi] Advertise Bundler and Hanami install steps when running `hanami new` (#54)
388
+ - Show output when generating files (e.g. in `hanami new`). (@cllns in #49)
389
+ - Advertise Bundler and Hanami install steps when running `hanami new`. (@lucaguidi in #54)
390
+
391
+ [2.0.0.beta4]: https://github.com/hanami/cli/compare/v2.0.0.beta3...v2.0.0.beta4
310
392
 
311
- ## v2.0.0.beta3 - 2022-09-21
393
+ ## [2.0.0.beta3] - 2022-09-21
312
394
 
313
395
  ### Added
314
396
 
315
- - [Luca Guidi] New applications to support Puma server out of the box. Add the `puma` gem to `Gemfile` and generate `config/puma.rb`.
316
- - [Luca Guidi] New applications to support code reloading for `hanami server` via `hanami-reloader`. This gem is added to app's `Gemfile`.
317
- - [Marc Busqué] Introduce code reloading for `hanami console` via `#reload` method to be invoked within the console context.
397
+ - New applications to support Puma server out of the box. Add the `puma` gem to `Gemfile` and generate `config/puma.rb`. (@lucaguidi)
398
+ - New applications to support code reloading for `hanami server` via `hanami-reloader`. This gem is added to app's `Gemfile`. (@lucaguidi)
399
+ - Introduce code reloading for `hanami console` via `#reload` method to be invoked within the console context. (@mbusque)
318
400
 
319
- ### Fixed
401
+ ### Changed
320
402
 
321
- - [Luca Guidi] Respect plural when generating code via `hanami new` and `hanami generate`. Example: `hanami new code_insights` => `CodeInsights` instead of `CodeInsight`
322
- - [Luca Guidi] Ensure `hanami generate action` to not crash when invoked with non-RESTful action names. Example: `hanami generate action talent.apply`
403
+ - `hanami generate action` to add routes to `config/routes.rb` without the `define` block context. See https://github.com/hanami/hanami/pull/1208. (@solnic)
323
404
 
324
- ### Changed
405
+ ### Fixed
406
+
407
+ - Respect plural when generating code via `hanami new` and `hanami generate`. Example: `hanami new code_insights` => `CodeInsights` instead of `CodeInsight`. (@lucaguidi)
408
+ - Ensure `hanami generate action` to not crash when invoked with non-RESTful action names. Example: `hanami generate action talent.apply`. (@lucaguidi)
325
409
 
326
- - [Piotr Solnica] `hanami generate action` to add routes to `config/routes.rb` without the `define` block context. See https://github.com/hanami/hanami/pull/1208
410
+ [2.0.0.beta3]: https://github.com/hanami/cli/compare/v2.0.0.beta2...v2.0.0.beta3
327
411
 
328
- ## v2.0.0.beta2 - 2022-08-16
412
+ ## [2.0.0.beta2] - 2022-08-16
329
413
 
330
414
  ### Added
331
415
 
332
- - [Luca Guidi] Added `hanami generate slice` command, for generating a new slice [#32]
333
- - [Luca Guidi] Added `hanami generate action` command, for generating a new action in the app or a slice [#33]
334
- - [Marc Busqué] Added `hanami middlewares` command, for listing middleware configed in app and/or in `config/routes.rb` [#30]
416
+ - Added `hanami generate slice` command, for generating a new slice. (@lucaguidi in #32)
417
+ - Added `hanami generate action` command, for generating a new action in the app or a slice. (@lucaguidi in #33)
418
+ - Added `hanami middlewares` command, for listing middleware configured in app and/or in `config/routes.rb`. (@mbusque in #30)
335
419
 
336
420
  ### Changed
337
421
 
338
- - [Marc Busqué, Tim Riley] `hanami` command will detect the app even when called inside nested subdirectories [#34]
339
- - [Seb Wilgosz] Include hanami-validations in generated apps `Gemfile`, allowing action classes to specify `.params` [#31]
340
- - [Tim Riley] Include dry-types in generated apps `Gemfile`, which is used by the types module defined in `lib/[app_name]/types.rb` (dry-types is no longer a hard dependency of the hanami gem as of 2.0.0.beta2) [#29]
341
- - [Tim Riley] Include dotenv in generated apps `Gemfile`, allowing `ENV` values to be loaded from `.env*` files [#29]
422
+ - `hanami` command will detect the app even when called inside nested subdirectories. (@mbusque, @timriley in #34)
423
+ - Include hanami-validations in generated app's `Gemfile`, allowing action classes to specify `.params`. (@swilgosz in #31)
424
+ - Include dry-types in generated app's `Gemfile`, which is used by the types module defined in `lib/[app_name]/types.rb` (dry-types is no longer a hard dependency of the hanami gem as of 2.0.0.beta2). (@timriley in #29)
425
+ - Include dotenv in generated app's `Gemfile`, allowing `ENV` values to be loaded from `.env*` files. (@timriley in #29)
426
+
427
+ [2.0.0.beta2]: https://github.com/hanami/cli/compare/v2.0.0.beta1...v2.0.0.beta2
342
428
 
343
- ## v2.0.0.beta1 - 2022-07-20
429
+ ## [2.0.0.beta1] - 2022-07-20
344
430
 
345
431
  ### Added
346
432
 
347
- - [Luca Guidi] Implemented `hanami new` to generate a new Hanami app
348
- - [Piotr Solnica] Implemented `hanami console` to start an interactive console (REPL)
349
- - [Marc Busqué] Implemented `hanami server` to start a HTTP server based on Rack
350
- - [Marc Busqué] Implemented `hanami routes` to print app routes
351
- - [Luca Guidi] Implemented `hanami version` to print app Hanami version
433
+ - Implemented `hanami new` to generate a new Hanami app. (@lucaguidi)
434
+ - Implemented `hanami console` to start an interactive console (REPL). (@solnic)
435
+ - Implemented `hanami server` to start a HTTP server based on Rack. (@mbusque)
436
+ - Implemented `hanami routes` to print app routes. (@mbusque)
437
+ - Implemented `hanami version` to print app Hanami version. (@lucaguidi)
352
438
 
353
- ## v2.0.0.alpha8.1 - 2022-05-23
439
+ [2.0.0.beta1]: https://github.com/hanami/cli/compare/v2.0.0.alpha8.1...v2.0.0.beta1
440
+
441
+ ## [2.0.0.alpha8.1] - 2022-05-23
354
442
 
355
443
  ### Fixed
356
444
 
357
- - [Tim Riley] Ensure CLI starts properly by fixing use of `Slice.slice_name`
445
+ - Ensure CLI starts properly by fixing use of `Slice.slice_name`. (@timriley)
446
+
447
+ [2.0.0.alpha8.1]: https://github.com/hanami/cli/compare/v2.0.0.alpha8...v2.0.0.alpha8.1
358
448
 
359
- ## v2.0.0.alpha8 - 2022-05-19
449
+ ## [2.0.0.alpha8] - 2022-05-19
360
450
 
361
451
  ### Fixed
362
452
 
363
- - [Andrew Croome] Respect HANAMI_ENV env var to set Hanami env if no `--env` option is supplied
364
- - [Lucas Mendelowski] Ensure Sequel migrations extension is loaded before related `db` commands are run
453
+ - Respect HANAMI_ENV env var to set Hanami env if no `--env` option is supplied. (@croomes)
454
+ - Ensure Sequel migrations extension is loaded before related `db` commands are run. (@waiting-for-dev)
365
455
 
366
- ## v2.0.0.alpha7 - 2022-03-11
456
+ [2.0.0.alpha8]: https://github.com/hanami/cli/compare/v2.0.0.alpha7...v2.0.0.alpha8
457
+
458
+ ## [2.0.0.alpha7] - 2022-03-11
367
459
 
368
460
  ### Changed
369
461
 
370
- - [Tim Riley] [Internal] Update console slice readers to work with new `Hanami::Application.slices` API
462
+ - [Internal] Update console slice readers to work with new `Hanami::Application.slices` API. (@timriley)
463
+
464
+ [2.0.0.alpha7]: https://github.com/hanami/cli/compare/v2.0.0.alpha6.1...v2.0.0.alpha7
371
465
 
372
- ## v2.0.0.alpha6.1 - 2022-02-11
466
+ ## [2.0.0.alpha6.1] - 2022-02-11
373
467
 
374
468
  ### Fixed
375
469
 
376
- - [Viet Tran] Ensure `hanami db` commands to work with `hanami` `v2.0.0.alpha6`
470
+ - Ensure `hanami db` commands to work with `hanami` `v2.0.0.alpha6`. (@vietqhoang)
471
+
472
+ [2.0.0.alpha6.1]: https://github.com/hanami/cli/compare/v2.0.0.alpha6...v2.0.0.alpha6.1
377
473
 
378
- ## v2.0.0.alpha6 - 2022-02-10
474
+ ## [2.0.0.alpha6] - 2022-02-10
379
475
 
380
476
  ### Added
381
477
 
382
- - [Luca Guidi] Official support for Ruby: MRI 3.1
478
+ - Official support for Ruby: MRI 3.1. (@lucaguidi)
383
479
 
384
480
  ### Changed
385
481
 
386
- - [Luca Guidi] Drop support for Ruby: MRI 2.6, and 2.7
482
+ - Drop support for Ruby: MRI 2.6, and 2.7. (@lucaguidi)
387
483
 
388
- ## v2.0.0.alpha4 - 2021-12-07
484
+ [2.0.0.alpha6]: https://github.com/hanami/cli/compare/v2.0.0.alpha4...v2.0.0.alpha6
485
+
486
+ ## [2.0.0.alpha4] - 2021-12-07
389
487
 
390
488
  ### Added
391
489
 
392
- - [Tim Riley] Display a custom prompt when using irb-based console (consistent with pry-based console)
393
- - [Phil Arndt] Support `postgresql://` URL schemes (in addition to existing `postgres://` support) for `db` subcommands
490
+ - Display a custom prompt when using irb-based console (consistent with pry-based console). (@timriley)
491
+ - Support `postgresql://` URL schemes (in addition to existing `postgres://` support) for `db` subcommands. (@parndt)
394
492
 
395
493
  ### Fixed
396
494
 
397
- - [Tim Riley] Ensure slice helper methods work in console (e.g. top-level `main` method will return `Main::Slice` if an app has a "main" slice defined)
495
+ - Ensure slice helper methods work in console (e.g. top-level `main` method will return `Main::Slice` if an app has a "main" slice defined). (@timriley)
496
+
497
+ [2.0.0.alpha4]: https://github.com/hanami/cli/compare/v2.0.0.alpha3...v2.0.0.alpha4
398
498
 
399
- ## v2.0.0.alpha3 - 2021-11-09
499
+ ## [2.0.0.alpha3] - 2021-11-09
400
500
 
401
- No changes.
501
+ [2.0.0.alpha3]: https://github.com/hanami/cli/compare/v2.0.0.alpha2...v2.0.0.alpha3
402
502
 
403
- ## v2.0.0.alpha2 - 2021-05-04
503
+ ## [2.0.0.alpha2] - 2021-05-04
404
504
 
405
505
  ### Added
406
506
 
407
- - [Luca Guidi] Official support for Ruby: MRI 3.0
408
- - [Luca Guidi] Dynamically change the set of available commands depending on the context (outside or inside an Hanami app)
409
- - [Luca Guidi] Dynamically change the set of available commands depending on Hanami app architecture
410
- - [Luca Guidi] Implemented `hanami version` (available both outside and inside an Hanami app)
411
- - [Piotr Solnica] Implemented `db *` commands (available both outside and inside an Hanami app) (sqlite and postgres only for now)
412
- - [Piotr Solnica] Implemented `console` command with support for `IRB` and `Pry` (`pry` is auto-detected)
507
+ - Official support for Ruby: MRI 3.0. (@lucaguidi)
508
+ - Dynamically change the set of available commands depending on the context (outside or inside an Hanami app). (@lucaguidi)
509
+ - Dynamically change the set of available commands depending on Hanami app architecture. (@lucaguidi)
510
+ - Implemented `hanami version` (available both outside and inside an Hanami app). (@lucaguidi)
511
+ - Implemented `db *` commands (available both outside and inside an Hanami app) (sqlite and postgres only for now). (@solnic)
512
+ - Implemented `console` command with support for `IRB` and `Pry` (`pry` is auto-detected). (@solnic)
413
513
 
414
514
  ### Changed
415
515
 
416
- - [Luca Guidi] Changed the purpose of this gem: the CLI Ruby framework has been extracted into `dry-cli` gem. `hanami-cli` is now the `hanami` command line.
417
- - [Luca Guidi] Drop support for Ruby: MRI 2.5.
516
+ - Changed the purpose of this gem: the CLI Ruby framework has been extracted into `dry-cli` gem. `hanami-cli` is now the `hanami` command line. (@lucaguidi)
517
+ - Drop support for Ruby: MRI 2.5. (@lucaguidi)
518
+
519
+ [2.0.0.alpha2]: https://github.com/hanami/cli/compare/v1.0.0.alpha1...v2.0.0.alpha2
418
520
 
419
- ## v1.0.0.alpha1 - 2019-01-30
521
+ ## [1.0.0.alpha1] - 2019-01-30
420
522
 
421
523
  ### Added
422
524
 
423
- - [Luca Guidi] Inheritng from subclasses of `Hanami::CLI::Command`, allows to inherit arguments, options, description, and examples.
424
- - [Luca Guidi] Allow to use `super` from `#call`
525
+ - Inheriting from subclasses of `Hanami::CLI::Command`, allows to inherit arguments, options, description, and examples. (@lucaguidi)
526
+ - Allow to use `super` from `#call`. (@lucaguidi)
425
527
 
426
528
  ### Changed
427
529
 
428
- - [Luca Guidi] Drop support for Ruby: MRI 2.3, and 2.4.
530
+ - Drop support for Ruby: MRI 2.3, and 2.4. (@lucaguidi)
429
531
 
430
- ## v0.3.1 - 2019-01-18
532
+ [1.0.0.alpha1]: https://github.com/hanami/cli/compare/v0.3.1...v1.0.0.alpha1
533
+
534
+ ## [0.3.1] - 2019-01-18
431
535
 
432
536
  ### Added
433
537
 
434
- - [Luca Guidi] Official support for Ruby: MRI 2.6
435
- - [Luca Guidi] Support `bundler` 2.0+
538
+ - Official support for Ruby: MRI 2.6. (@lucaguidi)
539
+ - Support `bundler` 2.0+. (@lucaguidi)
540
+
541
+ [0.3.1]: https://github.com/hanami/cli/compare/v0.3.0...v0.3.1
542
+
543
+ ## [0.3.0] - 2018-10-24
436
544
 
437
- ## v0.3.0 - 2018-10-24
545
+ [0.3.0]: https://github.com/hanami/cli/compare/v0.3.0.beta1...v0.3.0
438
546
 
439
- ## v0.3.0.beta1 - 2018-08-08
547
+ ## [0.3.0.beta1] - 2018-08-08
440
548
 
441
549
  ### Added
442
550
 
443
- - [Anton Davydov & Alfonso Uceda] Introduce array type for arguments (`foo exec test spec/bookshelf/entities spec/bookshelf/repositories`)
444
- - [Anton Davydov & Alfonso Uceda] Introduce array type for options (`foo generate config --apps=web,api`)
445
- - [Alfonso Uceda] Introduce variadic arguments (`foo run ruby:latest -- ruby -v`)
446
- - [Luca Guidi] Official support for JRuby 9.2.0.0
551
+ - Introduce array type for arguments (`foo exec test spec/bookshelf/entities spec/bookshelf/repositories`). (@davydovanton, @AlfonsoUceda)
552
+ - Introduce array type for options (`foo generate config --apps=web,api`). (@davydovanton, @AlfonsoUceda)
553
+ - Introduce variadic arguments (`foo run ruby:latest -- ruby -v`). (@AlfonsoUceda)
554
+ - Official support for JRuby 9.2.0.0. (@lucaguidi)
447
555
 
448
556
  ### Fixed
449
557
 
450
- - [Anton Davydov] Print informative message when unknown or wrong option is passed (`"test" was called with arguments "--framework=unknown"`)
558
+ - Print informative message when unknown or wrong option is passed (`"test" was called with arguments "--framework=unknown"`). (@davydovanton)
559
+
560
+ [0.3.0.beta1]: https://github.com/hanami/cli/compare/v0.2.0...v0.3.0.beta1
561
+
562
+ ## [0.2.0] - 2018-04-11
451
563
 
452
- ## v0.2.0 - 2018-04-11
564
+ [0.2.0]: https://github.com/hanami/cli/compare/v0.2.0.rc2...v0.2.0
453
565
 
454
- ## v0.2.0.rc2 - 2018-04-06
566
+ ## [0.2.0.rc2] - 2018-04-06
455
567
 
456
- ## v0.2.0.rc1 - 2018-03-30
568
+ [0.2.0.rc2]: https://github.com/hanami/cli/compare/v0.2.0.rc1...v0.2.0.rc2
457
569
 
458
- ## v0.2.0.beta2 - 2018-03-23
570
+ ## [0.2.0.rc1] - 2018-03-30
571
+
572
+ [0.2.0.rc1]: https://github.com/hanami/cli/compare/v0.2.0.beta2...v0.2.0.rc1
573
+
574
+ ## [0.2.0.beta2] - 2018-03-23
459
575
 
460
576
  ### Added
461
577
 
462
- - [Anton Davydov & Luca Guidi] Support objects as callbacks
578
+ - Support objects as callbacks. (@davydovanton, @lucaguidi)
463
579
 
464
580
  ### Fixed
465
581
 
466
- - [Anton Davydov & Luca Guidi] Ensure callbacks' context of execution (aka `self`) to be the command that is being executed
582
+ - Ensure callbacks' context of execution (aka `self`) to be the command that is being executed. (@davydovanton, @lucaguidi)
583
+
584
+ [0.2.0.beta2]: https://github.com/hanami/cli/compare/v0.2.0.beta1...v0.2.0.beta2
467
585
 
468
- ## v0.2.0.beta1 - 2018-02-28
586
+ ## [0.2.0.beta1] - 2018-02-28
469
587
 
470
588
  ### Added
471
589
 
472
- - [Anton Davydov] Register `before`/`after` callbacks for commands
590
+ - Register `before`/`after` callbacks for commands. (@davydovanton)
473
591
 
474
- ## v0.1.1 - 2018-02-27
592
+ [0.2.0.beta1]: https://github.com/hanami/cli/compare/v0.1.1...v0.2.0.beta1
593
+
594
+ ## [0.1.1] - 2018-02-27
475
595
 
476
596
  ### Added
477
597
 
478
- - [Luca Guidi] Official support for Ruby: MRI 2.5
598
+ - Official support for Ruby: MRI 2.5. (@lucaguidi)
479
599
 
480
600
  ### Fixed
481
601
 
482
- - [Alfonso Uceda] Ensure default values for arguments to be sent to commands
483
- - [Alfonso Uceda] Ensure to fail when a missing required argument isn't provider, but an option is provided instead
602
+ - Ensure default values for arguments to be sent to commands. (@AlfonsoUceda)
603
+ - Ensure to fail when a missing required argument isn't provided, but an option is provided instead. (@AlfonsoUceda)
484
604
 
485
- ## v0.1.0 - 2017-10-25
605
+ [0.1.1]: https://github.com/hanami/cli/compare/v0.1.0...v0.1.1
486
606
 
487
- ## v0.1.0.rc1 - 2017-10-16
607
+ ## [0.1.0] - 2017-10-25
488
608
 
489
- ## v0.1.0.beta3 - 2017-10-04
609
+ [0.1.0]: https://github.com/hanami/cli/compare/v0.1.0.rc1...v0.1.0
490
610
 
491
- ## v0.1.0.beta2 - 2017-10-03
611
+ ## [0.1.0.rc1] - 2017-10-16
492
612
 
493
- ### Added
613
+ [0.1.0.rc1]: https://github.com/hanami/cli/compare/v0.1.0.beta3...v0.1.0.rc1
494
614
 
495
- [Alfonso Uceda] Allow default value for arguments
615
+ ## [0.1.0.beta3] - 2017-10-04
496
616
 
497
- ## v0.1.0.beta1 - 2017-08-11
617
+ [0.1.0.beta3]: https://github.com/hanami/cli/compare/v0.1.0.beta2...v0.1.0.beta3
618
+
619
+ ## [0.1.0.beta2] - 2017-10-03
498
620
 
499
621
  ### Added
500
622
 
501
- - [Alfonso Uceda, Luca Guidi] Commands banner and usage
502
- - [Alfonso Uceda] Added support for subcommands
623
+ - Allow default value for arguments. (@AlfonsoUceda)
624
+
625
+ [0.1.0.beta2]: https://github.com/hanami/cli/compare/v0.1.0.beta1...v0.1.0.beta2
626
+
627
+ ## [0.1.0.beta1] - 2017-08-11
628
+
629
+ ### Added
503
630
 
504
- - [Alfonso Uceda] Validations for arguments and options
505
- - [Alfonso Uceda] Commands arguments and options
506
- - [Alfonso Uceda] Commands description
507
- - [Alfonso Uceda, Oana Sipos] Commands aliases
508
- - [Luca Guidi] Exit on unknown command
509
- - [Luca Guidi, Alfonso Uceda, Oana Sipos] Command lookup
510
- - [Luca Guidi, Tim Riley] Trie based registry to register commands and allow third-parties to override/add commands
631
+ - Commands banner and usage. (@AlfonsoUceda, @lucaguidi)
632
+ - Added support for subcommands. (@AlfonsoUceda)
633
+ - Validations for arguments and options. (@AlfonsoUceda)
634
+ - Commands arguments and options. (@AlfonsoUceda)
635
+ - Commands description. (@AlfonsoUceda)
636
+ - Commands aliases. (@AlfonsoUceda, @oana-sipos)
637
+ - Exit on unknown command. (@lucaguidi)
638
+ - Command lookup. (@lucaguidi, @AlfonsoUceda, @oana-sipos)
639
+ - Trie based registry to register commands and allow third-parties to override/add commands. (@lucaguidi, @timriley)
640
+
641
+ [0.1.0.beta1]: https://github.com/hanami/cli/releases/tag/v0.1.0.beta1