* Disable `pidfile` generation in production environment. *Hans Schnedlitz* * Set `config.action_view.annotate_rendered_view_with_filenames` to `true` in the development environment. *Adrian Marin* * Support `BACKTRACE` ENV variable to turn off backtrace cleaning. Useful for debugging framework code: ```sh BACKTRACE=1 ./bin/rails server ``` *Alex Ghiculescu* * Raise `ArgumentError` when reading `config.x.something` with arguments ```ruby config.x.this_works.this_raises true # raises ArgumentError ``` *Sean Doyle* * Add default PWA files for manifest and service-worker that are served from `app/views/pwa` and can be dynamically rendered through erb. Mount these files explicitly at the root with default routes in the generated routes file. *DHH* * Updated system tests to now use headless Chrome by default for the new applications. *DHH* * Add GitHub CI files for dependabot, brakeman, rubocop, and running tests by default. Can be skipped with --skip-ci. *DHH* * Add brakeman gem by default for static analysis of security vulnerabilities. Allow skipping with --skip-brakeman option. *vipulnsward* * Add RuboCop with rules from rubocop-rails-omakase by default. Skip with --skip-rubocop. *DHH* and *zzak* * Use `bin/rails runner --skip-executor` option to not wrap the runner script with an Executor. *Ben Sheldon* * Fix isolated engines to take `ActiveRecord::Base.table_name_prefix` into consideration. This will allow for engine defined models, such as inside Active Storage, to respect Active Record table name prefix configuration. *Chedli Bourguiba* * Fix running `db:system:change` when app has no Dockerfile. *Hartley McGuire* * In Action Mailer previews, list inline attachments separately from normal attachments. For example, attachments that were previously listed like > Attachments: logo.png file1.pdf file2.pdf will now be listed like > Attachments: file1.pdf file2.pdf (Inline: logo.png) *Christian Schmidt* and *Jonathan Hefner* * In mailer preview, only show SMTP-To if it differs from the union of To, Cc and Bcc. *Christian Schmidt* * Enable YJIT by default on new applications running Ruby 3.3+ Adds a `config/initializers/enable_yjit.rb` initializer that enables YJIT when running on Ruby 3.3+. *Jean Boussier* * In Action Mailer previews, show date from message `Date` header if present. *Sampat Badhe* * Exit with non-zero status when the migration generator fails. *Katsuhiko YOSHIDA* * Use numeric UID and GID in Dockerfile template The Dockerfile generated by `rails new` sets the default user and group by name instead of UID:GID. This can cause the following error in kubernetes: ``` container has runAsNonRoot and image has non-numeric user (rails), cannot verify user is non-root ``` This change sets default user and group by their numeric values. *Ivan Fedotov* * Disallow invalid values for rails new options. The `--database`, `--asset-pipeline`, `--css`, and `--javascript` flags for `rails new` can all take different options. This change adds checks to options to make sure the user enters the correct value. *Tony Drake*, *Akhil G Krishnan*, *Petrik de Heus* * Conditionally print `$stdout` when invoking `run_generator` In an effort to improve the developer experience when debugging generator tests, we add the ability to conditionally print `$stdout` instead of capturing it. This allows for calls to `binding.irb` and `puts` work as expected. ```sh RAILS_LOG_TO_STDOUT=true ./bin/test test/generators/actions_test.rb ``` *Steve Polito* * Remove the option `config.public_file_server.enabled` from the generators for all environments, as the value is the same in all environments. *Adrian Hirt* Please check [7-1-stable](https://github.com/rails/rails/blob/7-1-stable/railties/CHANGELOG.md) for previous changes.