railties 6.1.3.1 → 7.0.0.alpha1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (152) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +94 -333
  3. data/MIT-LICENSE +1 -1
  4. data/RDOC_MAIN.rdoc +16 -16
  5. data/README.rdoc +0 -1
  6. data/lib/rails/app_updater.rb +2 -4
  7. data/lib/rails/application/bootstrap.rb +17 -5
  8. data/lib/rails/application/configuration.rb +57 -29
  9. data/lib/rails/application/default_middleware_stack.rb +6 -3
  10. data/lib/rails/application/finisher.rb +43 -85
  11. data/lib/rails/application/routes_reloader.rb +8 -0
  12. data/lib/rails/application.rb +32 -51
  13. data/lib/rails/application_controller.rb +2 -2
  14. data/lib/rails/autoloaders/inflector.rb +21 -0
  15. data/lib/rails/autoloaders.rb +12 -16
  16. data/lib/rails/code_statistics.rb +2 -2
  17. data/lib/rails/code_statistics_calculator.rb +10 -1
  18. data/lib/rails/command/base.rb +26 -12
  19. data/lib/rails/command/behavior.rb +1 -1
  20. data/lib/rails/command/environment_argument.rb +1 -1
  21. data/lib/rails/command.rb +11 -10
  22. data/lib/rails/commands/credentials/USAGE +4 -2
  23. data/lib/rails/commands/credentials/credentials_command/diffing.rb +26 -16
  24. data/lib/rails/commands/credentials/credentials_command.rb +8 -3
  25. data/lib/rails/commands/dbconsole/dbconsole_command.rb +10 -6
  26. data/lib/rails/commands/help/USAGE +3 -2
  27. data/lib/rails/commands/runner/runner_command.rb +3 -2
  28. data/lib/rails/commands/server/server_command.rb +2 -5
  29. data/lib/rails/configuration.rb +18 -23
  30. data/lib/rails/engine/configuration.rb +2 -2
  31. data/lib/rails/engine.rb +23 -27
  32. data/lib/rails/gem_version.rb +4 -4
  33. data/lib/rails/generators/actions/create_migration.rb +4 -4
  34. data/lib/rails/generators/actions.rb +35 -13
  35. data/lib/rails/generators/app_base.rb +66 -102
  36. data/lib/rails/generators/app_name.rb +1 -1
  37. data/lib/rails/generators/base.rb +9 -13
  38. data/lib/rails/generators/erb/scaffold/scaffold_generator.rb +2 -0
  39. data/lib/rails/generators/erb/scaffold/templates/edit.html.erb.tt +8 -4
  40. data/lib/rails/generators/erb/scaffold/templates/index.html.erb.tt +5 -27
  41. data/lib/rails/generators/erb/scaffold/templates/new.html.erb.tt +7 -3
  42. data/lib/rails/generators/erb/scaffold/templates/partial.html.erb.tt +20 -0
  43. data/lib/rails/generators/erb/scaffold/templates/show.html.erb.tt +7 -16
  44. data/lib/rails/generators/erb.rb +1 -1
  45. data/lib/rails/generators/generated_attribute.rb +40 -4
  46. data/lib/rails/generators/migration.rb +2 -6
  47. data/lib/rails/generators/model_helpers.rb +1 -1
  48. data/lib/rails/generators/named_base.rb +1 -1
  49. data/lib/rails/generators/rails/app/app_generator.rb +44 -88
  50. data/lib/rails/generators/rails/app/templates/Gemfile.tt +41 -52
  51. data/lib/rails/generators/rails/app/templates/app/assets/stylesheets/application.css.tt +2 -2
  52. data/lib/rails/generators/rails/app/templates/app/mailers/application_mailer.rb.tt +2 -2
  53. data/lib/rails/generators/rails/app/templates/app/models/application_record.rb.tt +1 -1
  54. data/lib/rails/generators/rails/app/templates/app/views/layouts/application.html.erb.tt +3 -10
  55. data/lib/rails/generators/rails/app/templates/bin/rails.tt +1 -4
  56. data/lib/rails/generators/rails/app/templates/bin/rake.tt +0 -3
  57. data/lib/rails/generators/rails/app/templates/bin/setup.tt +9 -14
  58. data/lib/rails/generators/rails/app/templates/config/boot.rb.tt +1 -1
  59. data/lib/rails/generators/rails/app/templates/config/databases/jdbc.yml.tt +2 -2
  60. data/lib/rails/generators/rails/app/templates/config/databases/jdbcmysql.yml.tt +3 -3
  61. data/lib/rails/generators/rails/app/templates/config/databases/jdbcpostgresql.yml.tt +3 -3
  62. data/lib/rails/generators/rails/app/templates/config/databases/jdbcsqlite3.yml.tt +2 -2
  63. data/lib/rails/generators/rails/app/templates/config/databases/mysql.yml.tt +3 -3
  64. data/lib/rails/generators/rails/app/templates/config/databases/oracle.yml.tt +2 -2
  65. data/lib/rails/generators/rails/app/templates/config/databases/postgresql.yml.tt +3 -3
  66. data/lib/rails/generators/rails/app/templates/config/databases/sqlite3.yml.tt +1 -1
  67. data/lib/rails/generators/rails/app/templates/config/databases/sqlserver.yml.tt +5 -5
  68. data/lib/rails/generators/rails/app/templates/config/environments/development.rb.tt +2 -11
  69. data/lib/rails/generators/rails/app/templates/config/environments/production.rb.tt +9 -15
  70. data/lib/rails/generators/rails/app/templates/config/environments/test.rb.tt +2 -7
  71. data/lib/rails/generators/rails/app/templates/config/initializers/assets.rb.tt +1 -5
  72. data/lib/rails/generators/rails/app/templates/config/initializers/content_security_policy.rb.tt +0 -5
  73. data/lib/rails/generators/rails/app/templates/config/initializers/cors.rb.tt +2 -2
  74. data/lib/rails/generators/rails/app/templates/config/initializers/inflections.rb.tt +4 -4
  75. data/lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults_7_0.rb.tt +85 -0
  76. data/lib/rails/generators/rails/app/templates/config/locales/en.yml +3 -3
  77. data/lib/rails/generators/rails/app/templates/config/puma.rb.tt +1 -1
  78. data/lib/rails/generators/rails/app/templates/config/routes.rb.tt +3 -0
  79. data/lib/rails/generators/rails/app/templates/config/storage.yml.tt +5 -5
  80. data/lib/rails/generators/rails/app/templates/db/seeds.rb.tt +2 -2
  81. data/lib/rails/generators/rails/app/templates/gitattributes.tt +0 -5
  82. data/lib/rails/generators/rails/app/templates/gitignore.tt +0 -1
  83. data/lib/rails/generators/rails/app/templates/test/test_helper.rb.tt +1 -1
  84. data/lib/rails/generators/rails/controller/controller_generator.rb +1 -2
  85. data/lib/rails/generators/rails/controller/templates/controller.rb.tt +0 -4
  86. data/lib/rails/generators/rails/db/system/change/change_generator.rb +1 -1
  87. data/lib/rails/generators/rails/generator/templates/%file_name%_generator.rb.tt +1 -1
  88. data/lib/rails/generators/rails/plugin/plugin_generator.rb +40 -15
  89. data/lib/rails/generators/rails/plugin/templates/%name%.gemspec.tt +4 -2
  90. data/lib/rails/generators/rails/plugin/templates/Gemfile.tt +9 -9
  91. data/lib/rails/generators/rails/plugin/templates/README.md.tt +1 -1
  92. data/lib/rails/generators/rails/plugin/templates/app/mailers/%namespaced_name%/application_mailer.rb.tt +2 -2
  93. data/lib/rails/generators/rails/plugin/templates/app/models/%namespaced_name%/application_record.rb.tt +1 -1
  94. data/lib/rails/generators/rails/plugin/templates/app/views/layouts/%namespaced_name%/application.html.erb.tt +0 -3
  95. data/lib/rails/generators/rails/plugin/templates/bin/rails.tt +4 -4
  96. data/lib/rails/generators/rails/plugin/templates/gitignore.tt +0 -5
  97. data/lib/rails/generators/rails/plugin/templates/lib/%namespaced_name%/engine.rb.tt +2 -2
  98. data/lib/rails/generators/rails/plugin/templates/lib/%namespaced_name%/version.rb.tt +1 -1
  99. data/lib/rails/generators/rails/plugin/templates/rails/boot.rb.tt +2 -2
  100. data/lib/rails/generators/rails/plugin/templates/test/test_helper.rb.tt +3 -3
  101. data/lib/rails/generators/rails/scaffold/scaffold_generator.rb +0 -19
  102. data/lib/rails/generators/rails/scaffold_controller/templates/api_controller.rb.tt +1 -5
  103. data/lib/rails/generators/rails/scaffold_controller/templates/controller.rb.tt +6 -10
  104. data/lib/rails/generators/resource_helpers.rb +2 -2
  105. data/lib/rails/generators/test_unit/generator/templates/generator_test.rb.tt +1 -1
  106. data/lib/rails/generators/test_unit/model/templates/fixtures.yml.tt +2 -2
  107. data/lib/rails/generators/test_unit/scaffold/scaffold_generator.rb +3 -3
  108. data/lib/rails/generators/test_unit/scaffold/templates/api_functional_test.rb.tt +5 -5
  109. data/lib/rails/generators/test_unit/scaffold/templates/functional_test.rb.tt +2 -2
  110. data/lib/rails/generators/test_unit/scaffold/templates/system_test.rb.tt +3 -3
  111. data/lib/rails/generators/testing/behaviour.rb +1 -2
  112. data/lib/rails/generators.rb +9 -22
  113. data/lib/rails/info.rb +1 -1
  114. data/lib/rails/info_controller.rb +1 -3
  115. data/lib/rails/initializable.rb +1 -1
  116. data/lib/rails/mailers_controller.rb +2 -4
  117. data/lib/rails/rack/logger.rb +0 -1
  118. data/lib/rails/railtie/configuration.rb +1 -2
  119. data/lib/rails/railtie.rb +9 -9
  120. data/lib/rails/ruby_version_check.rb +3 -3
  121. data/lib/rails/secrets.rb +4 -1
  122. data/lib/rails/tasks/framework.rake +2 -8
  123. data/lib/rails/tasks/statistics.rake +3 -1
  124. data/lib/rails/tasks/tmp.rake +8 -1
  125. data/lib/rails/tasks/yarn.rake +6 -2
  126. data/lib/rails/tasks/zeitwerk.rake +2 -10
  127. data/lib/rails/templates/layouts/application.html.erb +15 -0
  128. data/lib/rails/templates/rails/mailers/email.html.erb +12 -10
  129. data/lib/rails/templates/rails/welcome/index.html.erb +3 -0
  130. data/lib/rails/test_unit/railtie.rb +0 -4
  131. data/lib/rails/test_unit/runner.rb +7 -5
  132. data/lib/rails/test_unit/testing.rake +4 -9
  133. data/lib/rails.rb +1 -0
  134. metadata +34 -35
  135. data/lib/rails/command/spellchecker.rb +0 -57
  136. data/lib/rails/generators/css/assets/assets_generator.rb +0 -15
  137. data/lib/rails/generators/css/assets/templates/stylesheet.css +0 -4
  138. data/lib/rails/generators/css/scaffold/scaffold_generator.rb +0 -18
  139. data/lib/rails/generators/rails/app/templates/app/javascript/channels/consumer.js +0 -6
  140. data/lib/rails/generators/rails/app/templates/app/javascript/channels/index.js +0 -5
  141. data/lib/rails/generators/rails/app/templates/app/javascript/packs/application.js.tt +0 -23
  142. data/lib/rails/generators/rails/app/templates/bin/spring.tt +0 -13
  143. data/lib/rails/generators/rails/app/templates/bin/yarn.tt +0 -16
  144. data/lib/rails/generators/rails/app/templates/config/initializers/application_controller_renderer.rb.tt +0 -8
  145. data/lib/rails/generators/rails/app/templates/config/initializers/cookies_serializer.rb.tt +0 -5
  146. data/lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults_6_1.rb.tt +0 -67
  147. data/lib/rails/generators/rails/app/templates/config/spring.rb.tt +0 -6
  148. data/lib/rails/generators/rails/app/templates/package.json.tt +0 -11
  149. data/lib/rails/generators/rails/assets/USAGE +0 -16
  150. data/lib/rails/generators/rails/assets/assets_generator.rb +0 -26
  151. data/lib/rails/generators/rails/assets/templates/stylesheet.css +0 -4
  152. data/lib/rails/generators/rails/scaffold/templates/scaffold.css +0 -80
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5aec339306019871f8653723de4632456dd76486a889edd0622d1609610a668c
4
- data.tar.gz: d10197f3a4d4d5ed980f06da505c316aa60b397da3edc5328ad5f6a0d6db4b59
3
+ metadata.gz: 809add07149bc6a8fc6bd9e1848b4237e6a39642319d686c0e5e7c1ff005a0fe
4
+ data.tar.gz: 3676fc831492d4e660fe82b657b25630373e1176d5dfc0d6375857aa0de0d0cd
5
5
  SHA512:
6
- metadata.gz: 7d6653e07db48e2e36736216556a43e522d172b620bcf13d7096eab91d56d720bffa09af64365831bab53279993e0d530884470d5e6d61213f73c02cff1bbfbc
7
- data.tar.gz: 761d0f69dd0509c7649a4370ebfeb74d29d84b18ba52ed90cc09f656b7cfca095e7443f0444733f38af6f24346437b7498b1139cac79300ff853ef9a15ed1583
6
+ metadata.gz: 136de74c284cec25a993107e665b70f0732116b770c0ca3081b2b9f6a2366046d318d0153da438b557485aadb18ab0850c7135c20ef662154418e1690a0f8788
7
+ data.tar.gz: a6ad192510bd25f054e931fcbb7ef7fa3c34cbc90a9445d7b8ca173c9c2f58b5ffd40e33b10ddb27d7cdf5cf026ebb5e2a9cd7e6637804d291e922310fc795c8
data/CHANGELOG.md CHANGED
@@ -1,404 +1,165 @@
1
- ## Rails 6.1.3.1 (March 26, 2021) ##
1
+ ## Rails 7.0.0.alpha1 (September 15, 2021) ##
2
2
 
3
- * No changes.
3
+ * New and upgraded Rails apps no longer generate `config/initializers/application_controller_renderer.rb`
4
+ or `config/initializers/cookies_serializer.rb`
4
5
 
6
+ The default value for `cookies_serializer` (`:json`) has been moved to `config.load_defaults("7.0")`.
7
+ The new framework defaults file sets the serializer to `:marshal`.
5
8
 
6
- ## Rails 6.1.3 (February 17, 2021) ##
9
+ *Alex Ghiculescu*
7
10
 
8
- * No changes.
9
-
10
-
11
- ## Rails 6.1.2.1 (February 10, 2021) ##
12
-
13
- * No changes.
14
-
15
-
16
- ## Rails 6.1.2 (February 09, 2021) ##
17
-
18
- * No changes.
19
-
20
-
21
- ## Rails 6.1.1 (January 07, 2021) ##
22
-
23
- * Allow spaces in path to Yarn binstub and only run on precompile if needed.
24
-
25
- *Markus Doits*
26
-
27
- * Populate ARGV for app template.
28
-
29
- Fixes #40945.
30
-
31
- *Jonathan Hefner*
32
-
33
-
34
- ## Rails 6.1.0 (December 09, 2020) ##
35
-
36
- * Added `Railtie#server` hook called when Rails starts a server.
37
- This is useful in case your application or a library needs to run
38
- another process next to the Rails server. This is quite common in development
39
- for instance to run the Webpack or the React server.
40
-
41
- It can be used like this:
42
-
43
- ```ruby
44
- class MyRailtie < Rails::Railtie
45
- server do
46
- WebpackServer.run
47
- end
48
- end
49
- ```
50
-
51
- *Edouard Chin*
52
-
53
- * Remove deprecated `rake dev:cache` tasks.
54
-
55
- *Rafael Mendonça França*
56
-
57
- * Remove deprecated `rake routes` tasks.
58
-
59
- *Rafael Mendonça França*
60
-
61
- * Remove deprecated `rake initializers` tasks.
62
-
63
- *Rafael Mendonça França*
64
-
65
- * Remove deprecated support for using the `HOST` environment variable to specify the server IP.
66
-
67
- *Rafael Mendonça França*
68
-
69
- * Remove deprecated `server` argument from the rails server command.
70
-
71
- *Rafael Mendonça França*
72
-
73
- * Remove deprecated `SOURCE_ANNOTATION_DIRECTORIES` environment variable support from `rails notes`.
74
-
75
- *Rafael Mendonça França*
76
-
77
- * Remove deprecated `connection` option in the `rails dbconsole` command.
78
-
79
- *Rafael Mendonça França*
80
-
81
- * Remove depreated `rake notes` tasks.
82
-
83
- *Rafael Mendonça França*
84
-
85
- * Return a 405 Method Not Allowed response when a request uses an unknown HTTP method.
86
-
87
- Fixes #38998.
88
-
89
- *Loren Norman*
90
-
91
- * Make railsrc file location xdg-specification compliant
92
-
93
- `rails new` will now look for the default `railsrc` file at
94
- `$XDG_CONFIG_HOME/rails/railsrc` (or `~/.config/rails/railsrc` if
95
- `XDG_CONFIG_HOME` is not set). If this file does not exist, `rails new`
96
- will fall back to `~/.railsrc`.
97
-
98
- The fallback behaviour means this does not cause any breaking changes.
99
-
100
- *Nick Wolf*
101
-
102
- * Change the default logging level from :debug to :info to avoid inadvertent exposure of personally
103
- identifiable information (PII) in production environments.
104
-
105
- *Eric M. Payne*
106
-
107
- * Automatically generate abstract class when using multiple databases.
108
-
109
- When generating a scaffold for a multiple database application, Rails will now automatically generate the abstract class for the database when the database argument is passed. This abstract class will include the connection information for the writing configuration and any models generated for that database will automatically inherit from the abstract class.
110
-
111
- Usage:
112
-
113
- ```bash
114
- $ bin/rails generate scaffold Pet name:string --database=animals
115
- ```
116
-
117
- Will create an abstract class for the animals connection.
118
-
119
- ```ruby
120
- class AnimalsRecord < ApplicationRecord
121
- self.abstract_class = true
122
-
123
- connects_to database: { writing: :animals }
124
- end
125
- ```
126
-
127
- And generate a `Pet` model that inherits from the new `AnimalsRecord`:
128
-
129
- ```ruby
130
- class Pet < AnimalsRecord
131
- end
132
- ```
133
-
134
- If you already have an abstract class and it follows a different pattern than Rails defaults, you can pass a parent class with the database argument.
135
-
136
- ```bash
137
- $ bin/rails generate scaffold Pet name:string --database=animals --parent=SecondaryBase
138
- ```
139
-
140
- This will ensure the model inherits from the `SecondaryBase` parent instead of `AnimalsRecord`
141
-
142
- ```ruby
143
- class Pet < SecondaryBase
144
- end
145
- ```
146
-
147
- *Eileen M. Uchitelle*, *John Crepezzi*
148
-
149
- * Accept params from url to prepopulate the Inbound Emails form in Rails conductor.
150
-
151
- *Chris Oliver*
152
-
153
- * Create a new rails app using a minimal stack.
154
-
155
- `rails new cool_app --minimal`
156
-
157
- All the following are excluded from your minimal stack:
158
-
159
- - action_cable
160
- - action_mailbox
161
- - action_mailer
162
- - action_text
163
- - active_job
164
- - active_storage
165
- - bootsnap
166
- - jbuilder
167
- - spring
168
- - system_tests
169
- - turbolinks
170
- - webpack
171
-
172
- *Haroon Ahmed*, *DHH*
173
-
174
- * Add default ENV variable option with BACKTRACE to turn off backtrace cleaning when debugging framework code in the
175
- generated config/initializers/backtrace_silencers.rb.
176
-
177
- `BACKTRACE=1 ./bin/rails runner "MyClass.perform"`
178
-
179
- *DHH*
180
-
181
- * The autoloading guide for Zeitwerk mode documents how to autoload classes
182
- during application boot in a safe way.
183
-
184
- *Haroon Ahmed*, *Xavier Noria*
185
-
186
- * The `classic` autoloader starts its deprecation cycle.
187
-
188
- New Rails projects are strongly discouraged from using `classic`, and we recommend that existing projects running on `classic` switch to `zeitwerk` mode when upgrading. Please check the [_Upgrading Ruby on Rails_](https://guides.rubyonrails.org/upgrading_ruby_on_rails.html) guide for tips.
11
+ * New applications get a dependency on the new `debug` gem, replacing `byebug`.
189
12
 
190
13
  *Xavier Noria*
191
14
 
192
- * Adds `rails test:all` for running all tests in the test directory.
193
-
194
- This runs all test files in the test directory, including system tests.
195
-
196
- *Niklas Häusele*
197
-
198
- * Add `config.generators.after_generate` for processing to generated files.
199
-
200
- Register a callback that will get called right after generators has finished.
201
-
202
- *Yuji Yaginuma*
203
-
204
- * Make test file patterns configurable via Environment variables
205
-
206
- This makes test file patterns configurable via two environment variables:
207
- `DEFAULT_TEST`, to configure files to test, and `DEFAULT_TEST_EXCLUDE`,
208
- to configure files to exclude from testing.
209
-
210
- These values were hardcoded before, which made it difficult to add
211
- new categories of tests that should not be executed by default (e.g:
212
- smoke tests).
213
-
214
- *Jorge Manrubia*
15
+ * Add SSL support for postgresql in `bin/rails dbconsole`.
215
16
 
216
- * No longer include `rake rdoc` task when generating plugins.
17
+ Fixes #43114.
217
18
 
218
- To generate docs, use the `rdoc lib` command instead.
19
+ *Michael Bayucot*
219
20
 
220
- *Jonathan Hefner*
21
+ * Add support for comments above gem declaration in Rails application templates, e.g. `gem("nokogiri", comment: "For XML")`.
221
22
 
222
- * Allow relative paths with trailing slashes to be passed to `rails test`.
23
+ *Linas Juškevičius*
223
24
 
224
- *Eugene Kenny*
25
+ * The setter `config.autoloader=` has been deleted. `zeitwerk` is the only
26
+ available autoloading mode.
225
27
 
226
- * Add `rack-mini-profiler` gem to the default `Gemfile`.
227
-
228
- `rack-mini-profiler` displays performance information such as SQL time and flame graphs.
229
- It's enabled by default in development environment, but can be enabled in production as well.
230
- See the gem [README](https://github.com/MiniProfiler/rack-mini-profiler/blob/master/README.md) for information on how to enable it in production.
231
-
232
- *Osama Sayegh*
233
-
234
- * `rails stats` will now count TypeScript files toward JavaScript stats.
235
-
236
- *Joshua Cody*
237
-
238
- * Run `git init` when generating plugins.
28
+ *Xavier Noria*
239
29
 
240
- Opt out with `--skip-git`.
30
+ * `config.autoload_once_paths` can be configured in the body of the
31
+ application class defined in `config/application.rb` or in the configuration
32
+ for environments in `config/environments/*`.
241
33
 
242
- *OKURA Masafumi*
34
+ Similarly, engines can configure that collection in the class body of the
35
+ engine class or in the configuration for environments.
243
36
 
244
- * Add benchmark generator.
37
+ After that, the collection is frozen, and you can autoload from those paths.
38
+ They are managed by the `Rails.autoloaders.once` autoloader, which does not
39
+ reload, only autoloads/eager loads.
245
40
 
246
- Introduce benchmark generator to benchmark Rails applications.
41
+ *Xavier Noria*
247
42
 
248
- `rails generate benchmark opt_compare`
43
+ * During initialization, you cannot autoload reloadable classes or modules
44
+ like application models, unless they are wrapped in a `to_prepare` block.
45
+ For example, from `config/initializers/*`, or in application, engines, or
46
+ railties initializers.
249
47
 
250
- This creates a benchmark file that uses [`benchmark-ips`](https://github.com/evanphx/benchmark-ips).
251
- By default, two code blocks can be benchmarked using the `before` and `after` reports.
48
+ Please check the [autoloading
49
+ guide](https://guides.rubyonrails.org/v7.0/autoloading_and_reloading_constants.html#autoloading-when-the-application-boots)
50
+ for details.
252
51
 
253
- You can run the generated benchmark file using:
254
- `ruby script/benchmarks/opt_compare.rb`
52
+ *Xavier Noria*
255
53
 
256
- *Kevin Jalbert*, *Gannon McGibbon*
54
+ * While they are allowed to have elements in common, it is no longer required
55
+ that `config.autoload_once_paths` is a subset of `config.autoload_paths`.
56
+ The former are managed by the `once` autoloader. The `main` autoloader
57
+ manages the latter minus the former.
257
58
 
258
- * Cache compiled view templates when running tests by default.
59
+ *Xavier Noria*
259
60
 
260
- When generating a new app without `--skip-spring`, caching classes is
261
- disabled in `environments/test.rb`. This implicitly disables caching
262
- view templates too. This change will enable view template caching by
263
- adding this to the generated `environments/test.rb`:
61
+ * Show Rake task description if command is run with `-h`.
264
62
 
265
- ```ruby
266
- config.action_view.cache_template_loading = true
267
- ```
63
+ Adding `-h` (or `--help`) to a Rails command that's a Rake task now outputs
64
+ the task description instead of the general Rake help.
268
65
 
269
- *Jorge Manrubia*
66
+ *Petrik de Heus*
270
67
 
271
- * Introduce middleware move operations.
68
+ * Add missing `plugin new` command to help.
272
69
 
273
- With this change, you no longer need to delete and reinsert a middleware to
274
- move it from one place to another in the stack:
70
+ *Petrik de Heus
275
71
 
276
- ```ruby
277
- config.middleware.move_before ActionDispatch::Flash, Magical::Unicorns
278
- ```
72
+ * Fix `config_for` error when there's only a shared root array.
279
73
 
280
- This will move the `Magical::Unicorns` middleware before
281
- `ActionDispatch::Flash`. You can also move it after with:
74
+ *Loïc Delmaire*
282
75
 
283
- ```ruby
284
- config.middleware.move_after ActionDispatch::Flash, Magical::Unicorns
285
- ```
76
+ * Raise an error in generators if an index type is invalid.
286
77
 
287
- *Genadi Samokovarov*
78
+ *Petrik de Heus*
288
79
 
289
- * Generators that inherit from NamedBase respect `--force` option.
80
+ * `package.json` now uses a strict version constraint for Rails JavaScript packages on new Rails apps.
290
81
 
291
- *Josh Brody*
82
+ *Zachary Scott*, *Alex Ghiculescu*
292
83
 
293
- * Allow configuration of eager_load behaviour for rake environment:
84
+ * Modified scaffold generator template so that running
85
+ `rails g scaffold Author` no longer generates tests called "creating
86
+ a Author", "updating a Author", and "destroying a Author".
294
87
 
295
- config.rake_eager_load
88
+ Fixes #40744.
296
89
 
297
- Defaults to `false` as per previous behaviour.
90
+ *Michael Duchemin*
298
91
 
299
- *Thierry Joyal*
92
+ * Raise an error in generators if a field type is invalid.
300
93
 
301
- * Ensure Rails migration generator respects system-wide primary key config.
94
+ *Petrik de Heus*
302
95
 
303
- When rails is configured to use a specific primary key type:
96
+ * `bin/rails tmp:clear` deletes also files and directories in `tmp/storage`.
304
97
 
305
- ```ruby
306
- config.generators do |g|
307
- g.orm :active_record, primary_key_type: :uuid
308
- end
309
- ```
98
+ *George Claghorn*
310
99
 
311
- Previously:
100
+ * Fix compatibility with `psych >= 4`.
312
101
 
313
- ```bash
314
- $ bin/rails g migration add_location_to_users location:references
315
- ```
102
+ Starting in Psych 4.0.0 `YAML.load` behaves like `YAML.safe_load`. To preserve compatibility
103
+ `Rails.application.config_for` now uses `YAML.unsafe_load` if available.
316
104
 
317
- The references line in the migration would not have `type: :uuid`.
318
- This change causes the type to be applied appropriately.
105
+ *Jean Boussier*
319
106
 
320
- *Louis-Michel Couture*, *Dermot Haughey*
107
+ * Allow loading nested locales in engines.
321
108
 
322
- * Deprecate `Rails::DBConsole#config`.
109
+ *Gannon McGibbon*
323
110
 
324
- `Rails::DBConsole#config` is deprecated without replacement. Use `Rails::DBConsole.db_config.configuration_hash` instead.
111
+ * Ensure `Rails.application.config_for` always cast hashes to `ActiveSupport::OrderedOptions`.
325
112
 
326
- *Eileen M. Uchitelle*, *John Crepezzi*
113
+ *Jean Boussier*
327
114
 
328
- * `Rails.application.config_for` merges shared configuration deeply.
115
+ * Remove `Rack::Runtime` from the default middleware stack and deprecate
116
+ referencing it in middleware operations without adding it back.
329
117
 
330
- ```yaml
331
- # config/example.yml
332
- shared:
333
- foo:
334
- bar:
335
- baz: 1
336
- development:
337
- foo:
338
- bar:
339
- qux: 2
340
- ```
118
+ *Hartley McGuire*
341
119
 
342
- ```ruby
343
- # Previously
344
- Rails.application.config_for(:example)[:foo][:bar] #=> { qux: 2 }
120
+ * Allow adding additional authorized hosts in development via `ENV['RAILS_DEVELOPMENT_HOSTS']`.
345
121
 
346
- # Now
347
- Rails.application.config_for(:example)[:foo][:bar] #=> { baz: 1, qux: 2 }
348
- ```
122
+ *Josh Abernathy*, *Debbie Milburn*
349
123
 
350
- *Yuhei Kiriyama*
124
+ * Add app concern and test keepfiles to generated engine plugins.
351
125
 
352
- * Remove access to values in nested hashes returned by `Rails.application.config_for` via String keys.
126
+ *Gannon McGibbon*
353
127
 
354
- ```yaml
355
- # config/example.yml
356
- development:
357
- options:
358
- key: value
359
- ```
128
+ * Stop generating a license for in-app plugins.
360
129
 
361
- ```ruby
362
- Rails.application.config_for(:example).options
363
- ```
130
+ *Gannon McGibbon*
364
131
 
365
- This used to return a Hash on which you could access values with String keys. This was deprecated in 6.0, and now doesn't work anymore.
132
+ * `rails app:update` no longer prompts you to overwrite files that are generally modified in the
133
+ course of developing a Rails app. See [#41083](https://github.com/rails/rails/pull/41083) for
134
+ the full list of changes.
366
135
 
367
- *Étienne Barrié*
136
+ *Alex Ghiculescu*
368
137
 
369
- * Configuration files for environments (`config/environments/*.rb`) are
370
- now able to modify `autoload_paths`, `autoload_once_paths`, and
371
- `eager_load_paths`.
138
+ * Change default branch for new Rails projects and plugins to `main`.
372
139
 
373
- As a consequence, applications cannot autoload within those files. Before, they technically could, but changes in autoloaded classes or modules had no effect anyway in the configuration because reloading does not reboot.
140
+ *Prateek Choudhary*
374
141
 
375
- Ways to use application code in these files:
142
+ * The new method `Rails.benchmark` gives you a quick way to measure and log the execution time taken by a block:
376
143
 
377
- * Define early in the boot process a class that is not reloadable, from which the application takes configuration values that get passed to the framework.
144
+ def test_expensive_stuff
145
+ Rails.benchmark("test_expensive_stuff") { ... }
146
+ end
378
147
 
379
- ```ruby
380
- # In config/application.rb, for example.
381
- require "#{Rails.root}/lib/my_app/config"
148
+ This functionality was available in some contexts only before.
382
149
 
383
- # In config/environments/development.rb, for example.
384
- config.foo = MyApp::Config.foo
385
- ```
150
+ *Simon Perepelitsa*
386
151
 
387
- * If the class has to be reloadable, then wrap the configuration code in a `to_prepare` block:
152
+ * Applications generated with `--skip-sprockets` no longer get `app/assets/config/manifest.js` and `app/assets/stylesheets/application.css`.
388
153
 
389
- ```ruby
390
- config.to_prepare do
391
- config.foo = MyModel.foo
392
- end
393
- ```
154
+ *Cindy Gao*
394
155
 
395
- That assigns the latest `MyModel.foo` to `config.foo` when the application boots, and each time there is a reload. But whether that has an effect or not depends on the configuration point, since it is not uncommon for engines to read the application configuration during initialization and set their own state from them. That process happens only on boot, not on reloads, and if that is how `config.foo` worked, resetting it would have no effect in the state of the engine.
156
+ * Add support for stylesheets and ERB views to `rails stats`.
396
157
 
397
- *Allen Hsu* & *Xavier Noria*
158
+ *Joel Hawksley*
398
159
 
399
- * Support using environment variable to set pidfile.
160
+ * Allow appended root routes to take precedence over internal welcome controller.
400
161
 
401
- *Ben Thorner*
162
+ *Gannon McGibbon*
402
163
 
403
164
 
404
- Please check [6-0-stable](https://github.com/rails/rails/blob/6-0-stable/railties/CHANGELOG.md) for previous changes.
165
+ Please check [6-1-stable](https://github.com/rails/rails/blob/6-1-stable/railties/CHANGELOG.md) for previous changes.