6.1 KiB
-
Rails console now indicates application name and the current Rails environment:
my-app(dev)> # for RAILS_ENV=development my-app(test)> # for RAILS_ENV=test my-app(prod)> # for RAILS_ENV=production my-app(my_env)> # for RAILS_ENV=my_env
The application name is derived from the application's module name from
config/application.rb
. For example,MyApp
will displayed asmy-app
in the prompt.Additionally, the environment name will be colorized when the environment is
development
(green),test
(green), orproduction
(red), if your terminal supports it.Stan Lo
-
bin/rails
now prints its help message when given an unrecognized bare option.Before
$ bin/rails -v Rails 7.2.0.alpha $ bin/rails -V rake, version 13.0.6 $ bin/rails -s Running 0 tests in a single process (parallelization threshold is 50) ... $ bin/rails -S invalid option: -S
After
$ bin/rails -v Rails 7.2.0.alpha $ bin/rails -V Usage: bin/rails COMMAND [options] You must specify a command. The most common commands are: ... $ bin/rails -s Usage: bin/rails COMMAND [options] You must specify a command. The most common commands are: ... $ bin/rails -S Usage: bin/rails COMMAND [options] You must specify a command. The most common commands are: ...
Jonathan Hefner
-
Ensure
autoload_paths
,autoload_once_paths
,eager_load_paths
, andload_paths
only have directories when initialized from engine defaults. Previously, files under theapp
directory could end up there too.Takumasa Ochi
-
Prevent unnecessary application reloads in development.
Previously, some files outside autoload paths triggered unnecessary reloads. With this fix, application reloads according to
Rails.autoloaders.main.dirs
, thereby preventing unnecessary reloads.Takumasa Ochi
-
Use
oven-sh/setup-bun
in GitHub CI when generating an app with Bun.TangRufus
-
Disable
pidfile
generation in theproduction
environment.Hans Schnedlitz
-
Set
config.action_view.annotate_rendered_view_with_filenames
totrue
in thedevelopment
environment.Adrian Marin
-
Support the
BACKTRACE
environment variable to turn off backtrace cleaning.Useful for debugging framework code:
BACKTRACE=1 bin/rails server
Alex Ghiculescu
-
Raise
ArgumentError
when readingconfig.x.something
with arguments: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 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
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 the 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
options forrails new
take different arguments. This change validates them.Tony Drake, Akhil G Krishnan, Petrik de Heus
-
Conditionally print
$stdout
when invokingrun_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
andputs
work as expected.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 for previous changes.