hanami-cli 3.0.0.rc1 released

Added

  • Include hanami-mailer in the default Gemfile, include sample mailer env vars in .env, and generate a base Mailer class for the app and each slice (app/mailer.rb and mailer.rb in slices). Use hanami new --skip-mailer to opt out. (@timriley in #420, #425)
  • Add generate mailer command. (@timriley in #426)
  • Add i18n gem to the default Gemfile, and generate a placeholder config/i18n/en.yml for the app and each generated slice. (@timriley in #409)
  • Add --name option to hanami new, to specify a custom module namespace while using the positional argument as the directory path. For example, hanami new my_bookshelf --name=bookshelf creates the app in my_bookshelf/ with Bookshelf as the module name. (@aaronmallen in #387)
  • Add --test option to hanami new to specify which test framework to use. Supports rspec (default) and minitest. (@timriley in #399)
  • Add generate provider command. (@timriley in #419)
  • Add --template-engine option to hanami generate and hanami new to specify which template engine should be used for generated template files. Supports erb, haml and slim. (@katafrakt in #280, #389, #390)
  • Add --force option to all generators (except migration), which will override existing files instead of exiting early (@katafrakt in #397)

Changed

  • In generated Gemfile, depend on dry-validation rather than hanami-validations. Hanami Validations will no longer be used; Hanami Action now checks for Dry Validation directly. (@timriley in #401)
  • In generated package.json, include esbuild as a direct dependency. esbuild is now a peer dependency of hanami-assets, which requires the app to depend on it directly. (@timriley in #428)
  • Check for the hanami-action gem rather than hanami-controller (now retired) across various commands. (@cllns in #402)
  • Include rouge gem in generated Gemfile to enable SQL syntax highlighting in logs. (@kyleplump in #405)
  • When --gem-source=gem.coop is used, Hanami and Dry gems are installed from their respective namespaces on gem.coop (@katafrakt in #424)
  • Require Puma 7.1 or later, and remove unneeded preload_app! in generated config/puma.rb. Preloading is now enabled by default in Puma’s cluster mode. (@joshuay03 in #372)
  • In generated .env, include a link the guide explaining how these files are loaded. (@timriley in #425)
  • In generated files, update all guides.hanamirb.org links to hanakai.org. (@yosangwon in #407)
  • Require dry-cli 1.4 or later, allowing for simplified argument handling in hanami-rspec callback methods. (@timriley in #408)
  • Link to new hanakai.org site in generated README.md. (@katafrakt in #423)
  • Require Ruby 3.3 or newer.

Fixed

  • Skip generating duplicate routes when running generate action. (@sandbergja in #417)
  • Don’t overwrite libpq ENV vars with empty strings derived from certain DATABASE_URLs. (@StantonMatt in #414)
  • Remove duplicate text in middleware and routes command usage output. (@katafrakt in #406

Compare v2.3.5 … v3.0.0.rc1


View release on GitHub