hanami-cli 2.3.2 → 2.3.4

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