railties 6.1.7.10 → 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 +89 -473
  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 +52 -31
  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 +24 -50
  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 +8 -5
  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 +6 -2
  25. data/lib/rails/commands/dbconsole/dbconsole_command.rb +16 -15
  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 +2 -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 +8 -10
  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 +5 -1
  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 -36
  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: 996613023a4a78dfae5c58903536e9d7da08c394b3d283816b05b8f8ae2cf71f
4
- data.tar.gz: d49041e48f341f189d507b33578366a8861dabda45e8e0e82f2e5134a06efe16
3
+ metadata.gz: 809add07149bc6a8fc6bd9e1848b4237e6a39642319d686c0e5e7c1ff005a0fe
4
+ data.tar.gz: 3676fc831492d4e660fe82b657b25630373e1176d5dfc0d6375857aa0de0d0cd
5
5
  SHA512:
6
- metadata.gz: c43145ac89d7499eddc21ef7e2f547efa2e5f711750e74f58c12c021dd6ac07f680e7e77838a52ed01fe3dafa12874dc1abad10f12102243836bc1124534bc1a
7
- data.tar.gz: 03c33ee85af8bc78ac39c8d5b38ebb311c03251d074e03d6ea374a98798730a3ba86e7f499ab4f257c9b6022202f942148aad558a6959470eb4591611c4a3b35
6
+ metadata.gz: 136de74c284cec25a993107e665b70f0732116b770c0ca3081b2b9f6a2366046d318d0153da438b557485aadb18ab0850c7135c20ef662154418e1690a0f8788
7
+ data.tar.gz: a6ad192510bd25f054e931fcbb7ef7fa3c34cbc90a9445d7b8ca173c9c2f58b5ffd40e33b10ddb27d7cdf5cf026ebb5e2a9cd7e6637804d291e922310fc795c8
data/CHANGELOG.md CHANGED
@@ -1,126 +1,101 @@
1
- ## Rails 6.1.7.10 (October 23, 2024) ##
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.7.9 (October 15, 2024) ##
7
-
8
- * No changes.
9
-
10
-
11
- ## Rails 6.1.7.8 (June 04, 2024) ##
12
-
13
- * No changes.
14
-
15
-
16
- ## Rails 6.1.7.7 (February 21, 2024) ##
17
-
18
- * No changes.
19
-
20
-
21
- ## Rails 6.1.7.6 (August 22, 2023) ##
22
-
23
- * No changes.
24
-
25
-
26
- ## Rails 6.1.7.5 (August 22, 2023) ##
27
-
28
- * No changes.
29
-
30
-
31
- ## Rails 6.1.7.4 (June 26, 2023) ##
32
-
33
- * No changes.
34
-
35
-
36
- ## Rails 6.1.7.3 (March 13, 2023) ##
37
-
38
- * No changes.
39
-
40
-
41
- ## Rails 6.1.7.2 (January 24, 2023) ##
42
-
43
- * No changes.
44
-
45
-
46
- ## Rails 6.1.7.1 (January 17, 2023) ##
47
-
48
- * No changes.
49
-
50
-
51
- ## Rails 6.1.7 (September 09, 2022) ##
52
-
53
- * No changes.
54
-
55
-
56
- ## Rails 6.1.6.1 (July 12, 2022) ##
57
-
58
- * No changes.
59
-
9
+ *Alex Ghiculescu*
60
10
 
61
- ## Rails 6.1.6 (May 09, 2022) ##
11
+ * New applications get a dependency on the new `debug` gem, replacing `byebug`.
62
12
 
63
- * No changes.
13
+ *Xavier Noria*
64
14
 
15
+ * Add SSL support for postgresql in `bin/rails dbconsole`.
65
16
 
66
- ## Rails 6.1.5.1 (April 26, 2022) ##
17
+ Fixes #43114.
67
18
 
68
- * No changes.
19
+ *Michael Bayucot*
69
20
 
21
+ * Add support for comments above gem declaration in Rails application templates, e.g. `gem("nokogiri", comment: "For XML")`.
70
22
 
71
- ## Rails 6.1.5 (March 09, 2022) ##
23
+ *Linas Juškevičius*
72
24
 
73
- * In `zeitwerk` mode, setup the `once` autoloader first, and the `main` autoloader after it.
74
- This order plays better with shared namespaces.
25
+ * The setter `config.autoloader=` has been deleted. `zeitwerk` is the only
26
+ available autoloading mode.
75
27
 
76
28
  *Xavier Noria*
77
29
 
78
- * Handle paths with spaces when editing credentials.
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/*`.
79
33
 
80
- *Alex Ghiculescu*
34
+ Similarly, engines can configure that collection in the class body of the
35
+ engine class or in the configuration for environments.
81
36
 
82
- * Support Psych 4 when loading secrets.
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.
83
40
 
84
- *Nat Morcos*
41
+ *Xavier Noria*
85
42
 
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.
86
47
 
87
- ## Rails 6.1.4.7 (March 08, 2022) ##
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.
88
51
 
89
- * No changes.
52
+ *Xavier Noria*
90
53
 
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.
91
58
 
92
- ## Rails 6.1.4.6 (February 11, 2022) ##
59
+ *Xavier Noria*
93
60
 
94
- * No changes.
61
+ * Show Rake task description if command is run with `-h`.
95
62
 
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.
96
65
 
97
- ## Rails 6.1.4.5 (February 11, 2022) ##
66
+ *Petrik de Heus*
98
67
 
99
- * No changes.
68
+ * Add missing `plugin new` command to help.
100
69
 
70
+ *Petrik de Heus
101
71
 
102
- ## Rails 6.1.4.4 (December 15, 2021) ##
72
+ * Fix `config_for` error when there's only a shared root array.
103
73
 
104
- * No changes.
74
+ *Loïc Delmaire*
105
75
 
76
+ * Raise an error in generators if an index type is invalid.
106
77
 
107
- ## Rails 6.1.4.3 (December 14, 2021) ##
78
+ *Petrik de Heus*
108
79
 
109
- * Allow localhost with a port by default in development
80
+ * `package.json` now uses a strict version constraint for Rails JavaScript packages on new Rails apps.
110
81
 
111
- [Fixes: #43864]
82
+ *Zachary Scott*, *Alex Ghiculescu*
112
83
 
113
- ## Rails 6.1.4.2 (December 14, 2021) ##
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".
114
87
 
115
- * No changes.
88
+ Fixes #40744.
116
89
 
90
+ *Michael Duchemin*
117
91
 
118
- ## Rails 6.1.4.1 (August 19, 2021) ##
92
+ * Raise an error in generators if a field type is invalid.
119
93
 
120
- * No changes.
94
+ *Petrik de Heus*
121
95
 
96
+ * `bin/rails tmp:clear` deletes also files and directories in `tmp/storage`.
122
97
 
123
- ## Rails 6.1.4 (June 24, 2021) ##
98
+ *George Claghorn*
124
99
 
125
100
  * Fix compatibility with `psych >= 4`.
126
101
 
@@ -129,421 +104,62 @@
129
104
 
130
105
  *Jean Boussier*
131
106
 
132
- * Ensure `Rails.application.config_for` always cast hashes to `ActiveSupport::OrderedOptions`.
133
-
134
- *Jean Boussier*
135
-
136
- * Fix create migration generator with `--pretend` option.
137
-
138
- *euxx*
139
-
140
-
141
- ## Rails 6.1.3.2 (May 05, 2021) ##
142
-
143
- * No changes.
107
+ * Allow loading nested locales in engines.
144
108
 
109
+ *Gannon McGibbon*
145
110
 
146
- ## Rails 6.1.3.1 (March 26, 2021) ##
147
-
148
- * No changes.
149
-
150
-
151
- ## Rails 6.1.3 (February 17, 2021) ##
152
-
153
- * No changes.
154
-
155
-
156
- ## Rails 6.1.2.1 (February 10, 2021) ##
157
-
158
- * No changes.
111
+ * Ensure `Rails.application.config_for` always cast hashes to `ActiveSupport::OrderedOptions`.
159
112
 
113
+ *Jean Boussier*
160
114
 
161
- ## Rails 6.1.2 (February 09, 2021) ##
115
+ * Remove `Rack::Runtime` from the default middleware stack and deprecate
116
+ referencing it in middleware operations without adding it back.
162
117
 
163
- * No changes.
118
+ *Hartley McGuire*
164
119
 
120
+ * Allow adding additional authorized hosts in development via `ENV['RAILS_DEVELOPMENT_HOSTS']`.
165
121
 
166
- ## Rails 6.1.1 (January 07, 2021) ##
122
+ *Josh Abernathy*, *Debbie Milburn*
167
123
 
168
- * Allow spaces in path to Yarn binstub and only run on precompile if needed.
124
+ * Add app concern and test keepfiles to generated engine plugins.
169
125
 
170
- *Markus Doits*
126
+ *Gannon McGibbon*
171
127
 
172
- * Populate ARGV for app template.
128
+ * Stop generating a license for in-app plugins.
173
129
 
174
- Fixes #40945.
130
+ *Gannon McGibbon*
175
131
 
176
- *Jonathan Hefner*
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.
177
135
 
136
+ *Alex Ghiculescu*
178
137
 
179
- ## Rails 6.1.0 (December 09, 2020) ##
138
+ * Change default branch for new Rails projects and plugins to `main`.
180
139
 
181
- * Added `Railtie#server` hook called when Rails starts a server.
182
- This is useful in case your application or a library needs to run
183
- another process next to the Rails server. This is quite common in development
184
- for instance to run the Webpack or the React server.
140
+ *Prateek Choudhary*
185
141
 
186
- It can be used like this:
142
+ * The new method `Rails.benchmark` gives you a quick way to measure and log the execution time taken by a block:
187
143
 
188
- ```ruby
189
- class MyRailtie < Rails::Railtie
190
- server do
191
- WebpackServer.run
144
+ def test_expensive_stuff
145
+ Rails.benchmark("test_expensive_stuff") { ... }
192
146
  end
193
- end
194
- ```
195
-
196
- *Edouard Chin*
197
-
198
- * Remove deprecated `rake dev:cache` tasks.
199
-
200
- *Rafael Mendonça França*
201
-
202
- * Remove deprecated `rake routes` tasks.
203
-
204
- *Rafael Mendonça França*
205
-
206
- * Remove deprecated `rake initializers` tasks.
207
-
208
- *Rafael Mendonça França*
209
-
210
- * Remove deprecated support for using the `HOST` environment variable to specify the server IP.
211
-
212
- *Rafael Mendonça França*
213
-
214
- * Remove deprecated `server` argument from the rails server command.
215
-
216
- *Rafael Mendonça França*
217
-
218
- * Remove deprecated `SOURCE_ANNOTATION_DIRECTORIES` environment variable support from `rails notes`.
219
-
220
- *Rafael Mendonça França*
221
-
222
- * Remove deprecated `connection` option in the `rails dbconsole` command.
223
-
224
- *Rafael Mendonça França*
225
-
226
- * Remove depreated `rake notes` tasks.
227
-
228
- *Rafael Mendonça França*
229
-
230
- * Return a 405 Method Not Allowed response when a request uses an unknown HTTP method.
231
-
232
- Fixes #38998.
233
-
234
- *Loren Norman*
235
-
236
- * Make railsrc file location xdg-specification compliant
237
-
238
- `rails new` will now look for the default `railsrc` file at
239
- `$XDG_CONFIG_HOME/rails/railsrc` (or `~/.config/rails/railsrc` if
240
- `XDG_CONFIG_HOME` is not set). If this file does not exist, `rails new`
241
- will fall back to `~/.railsrc`.
242
-
243
- The fallback behaviour means this does not cause any breaking changes.
244
-
245
- *Nick Wolf*
246
-
247
- * Change the default logging level from :debug to :info to avoid inadvertent exposure of personally
248
- identifiable information (PII) in production environments.
249
-
250
- *Eric M. Payne*
251
-
252
- * Automatically generate abstract class when using multiple databases.
253
-
254
- 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.
255
-
256
- Usage:
257
-
258
- ```bash
259
- $ bin/rails generate scaffold Pet name:string --database=animals
260
- ```
261
-
262
- Will create an abstract class for the animals connection.
263
-
264
- ```ruby
265
- class AnimalsRecord < ApplicationRecord
266
- self.abstract_class = true
267
-
268
- connects_to database: { writing: :animals }
269
- end
270
- ```
271
-
272
- And generate a `Pet` model that inherits from the new `AnimalsRecord`:
273
-
274
- ```ruby
275
- class Pet < AnimalsRecord
276
- end
277
- ```
278
147
 
279
- 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.
148
+ This functionality was available in some contexts only before.
280
149
 
281
- ```bash
282
- $ bin/rails generate scaffold Pet name:string --database=animals --parent=SecondaryBase
283
- ```
150
+ *Simon Perepelitsa*
284
151
 
285
- This will ensure the model inherits from the `SecondaryBase` parent instead of `AnimalsRecord`
152
+ * Applications generated with `--skip-sprockets` no longer get `app/assets/config/manifest.js` and `app/assets/stylesheets/application.css`.
286
153
 
287
- ```ruby
288
- class Pet < SecondaryBase
289
- end
290
- ```
291
-
292
- *Eileen M. Uchitelle*, *John Crepezzi*
293
-
294
- * Accept params from url to prepopulate the Inbound Emails form in Rails conductor.
295
-
296
- *Chris Oliver*
297
-
298
- * Create a new rails app using a minimal stack.
299
-
300
- `rails new cool_app --minimal`
301
-
302
- All the following are excluded from your minimal stack:
303
-
304
- - action_cable
305
- - action_mailbox
306
- - action_mailer
307
- - action_text
308
- - active_job
309
- - active_storage
310
- - bootsnap
311
- - jbuilder
312
- - spring
313
- - system_tests
314
- - turbolinks
315
- - webpack
316
-
317
- *Haroon Ahmed*, *DHH*
318
-
319
- * Add default ENV variable option with BACKTRACE to turn off backtrace cleaning when debugging framework code in the
320
- generated config/initializers/backtrace_silencers.rb.
321
-
322
- `BACKTRACE=1 ./bin/rails runner "MyClass.perform"`
323
-
324
- *DHH*
325
-
326
- * The autoloading guide for Zeitwerk mode documents how to autoload classes
327
- during application boot in a safe way.
328
-
329
- *Haroon Ahmed*, *Xavier Noria*
330
-
331
- * The `classic` autoloader starts its deprecation cycle.
332
-
333
- 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.
334
-
335
- *Xavier Noria*
336
-
337
- * Adds `rails test:all` for running all tests in the test directory.
338
-
339
- This runs all test files in the test directory, including system tests.
340
-
341
- *Niklas Häusele*
342
-
343
- * Add `config.generators.after_generate` for processing to generated files.
344
-
345
- Register a callback that will get called right after generators has finished.
346
-
347
- *Yuji Yaginuma*
348
-
349
- * Make test file patterns configurable via Environment variables
350
-
351
- This makes test file patterns configurable via two environment variables:
352
- `DEFAULT_TEST`, to configure files to test, and `DEFAULT_TEST_EXCLUDE`,
353
- to configure files to exclude from testing.
354
-
355
- These values were hardcoded before, which made it difficult to add
356
- new categories of tests that should not be executed by default (e.g:
357
- smoke tests).
358
-
359
- *Jorge Manrubia*
360
-
361
- * No longer include `rake rdoc` task when generating plugins.
362
-
363
- To generate docs, use the `rdoc lib` command instead.
364
-
365
- *Jonathan Hefner*
366
-
367
- * Allow relative paths with trailing slashes to be passed to `rails test`.
368
-
369
- *Eugene Kenny*
370
-
371
- * Add `rack-mini-profiler` gem to the default `Gemfile`.
372
-
373
- `rack-mini-profiler` displays performance information such as SQL time and flame graphs.
374
- It's enabled by default in development environment, but can be enabled in production as well.
375
- See the gem [README](https://github.com/MiniProfiler/rack-mini-profiler/blob/master/README.md) for information on how to enable it in production.
376
-
377
- *Osama Sayegh*
378
-
379
- * `rails stats` will now count TypeScript files toward JavaScript stats.
380
-
381
- *Joshua Cody*
382
-
383
- * Run `git init` when generating plugins.
384
-
385
- Opt out with `--skip-git`.
386
-
387
- *OKURA Masafumi*
388
-
389
- * Add benchmark generator.
390
-
391
- Introduce benchmark generator to benchmark Rails applications.
392
-
393
- `rails generate benchmark opt_compare`
394
-
395
- This creates a benchmark file that uses [`benchmark-ips`](https://github.com/evanphx/benchmark-ips).
396
- By default, two code blocks can be benchmarked using the `before` and `after` reports.
397
-
398
- You can run the generated benchmark file using:
399
- `ruby script/benchmarks/opt_compare.rb`
400
-
401
- *Kevin Jalbert*, *Gannon McGibbon*
402
-
403
- * Cache compiled view templates when running tests by default.
404
-
405
- When generating a new app without `--skip-spring`, caching classes is
406
- disabled in `environments/test.rb`. This implicitly disables caching
407
- view templates too. This change will enable view template caching by
408
- adding this to the generated `environments/test.rb`:
409
-
410
- ```ruby
411
- config.action_view.cache_template_loading = true
412
- ```
413
-
414
- *Jorge Manrubia*
415
-
416
- * Introduce middleware move operations.
417
-
418
- With this change, you no longer need to delete and reinsert a middleware to
419
- move it from one place to another in the stack:
420
-
421
- ```ruby
422
- config.middleware.move_before ActionDispatch::Flash, Magical::Unicorns
423
- ```
424
-
425
- This will move the `Magical::Unicorns` middleware before
426
- `ActionDispatch::Flash`. You can also move it after with:
427
-
428
- ```ruby
429
- config.middleware.move_after ActionDispatch::Flash, Magical::Unicorns
430
- ```
431
-
432
- *Genadi Samokovarov*
433
-
434
- * Generators that inherit from NamedBase respect `--force` option.
435
-
436
- *Josh Brody*
437
-
438
- * Allow configuration of eager_load behaviour for rake environment:
439
-
440
- config.rake_eager_load
441
-
442
- Defaults to `false` as per previous behaviour.
443
-
444
- *Thierry Joyal*
445
-
446
- * Ensure Rails migration generator respects system-wide primary key config.
447
-
448
- When rails is configured to use a specific primary key type:
449
-
450
- ```ruby
451
- config.generators do |g|
452
- g.orm :active_record, primary_key_type: :uuid
453
- end
454
- ```
455
-
456
- Previously:
457
-
458
- ```bash
459
- $ bin/rails g migration add_location_to_users location:references
460
- ```
461
-
462
- The references line in the migration would not have `type: :uuid`.
463
- This change causes the type to be applied appropriately.
464
-
465
- *Louis-Michel Couture*, *Dermot Haughey*
466
-
467
- * Deprecate `Rails::DBConsole#config`.
468
-
469
- `Rails::DBConsole#config` is deprecated without replacement. Use `Rails::DBConsole.db_config.configuration_hash` instead.
470
-
471
- *Eileen M. Uchitelle*, *John Crepezzi*
472
-
473
- * `Rails.application.config_for` merges shared configuration deeply.
474
-
475
- ```yaml
476
- # config/example.yml
477
- shared:
478
- foo:
479
- bar:
480
- baz: 1
481
- development:
482
- foo:
483
- bar:
484
- qux: 2
485
- ```
486
-
487
- ```ruby
488
- # Previously
489
- Rails.application.config_for(:example)[:foo][:bar] #=> { qux: 2 }
490
-
491
- # Now
492
- Rails.application.config_for(:example)[:foo][:bar] #=> { baz: 1, qux: 2 }
493
- ```
494
-
495
- *Yuhei Kiriyama*
496
-
497
- * Remove access to values in nested hashes returned by `Rails.application.config_for` via String keys.
498
-
499
- ```yaml
500
- # config/example.yml
501
- development:
502
- options:
503
- key: value
504
- ```
505
-
506
- ```ruby
507
- Rails.application.config_for(:example).options
508
- ```
509
-
510
- 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.
511
-
512
- *Étienne Barrié*
513
-
514
- * Configuration files for environments (`config/environments/*.rb`) are
515
- now able to modify `autoload_paths`, `autoload_once_paths`, and
516
- `eager_load_paths`.
517
-
518
- 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.
519
-
520
- Ways to use application code in these files:
521
-
522
- * 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.
523
-
524
- ```ruby
525
- # In config/application.rb, for example.
526
- require "#{Rails.root}/lib/my_app/config"
527
-
528
- # In config/environments/development.rb, for example.
529
- config.foo = MyApp::Config.foo
530
- ```
531
-
532
- * If the class has to be reloadable, then wrap the configuration code in a `to_prepare` block:
533
-
534
- ```ruby
535
- config.to_prepare do
536
- config.foo = MyModel.foo
537
- end
538
- ```
154
+ *Cindy Gao*
539
155
 
540
- 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`.
541
157
 
542
- *Allen Hsu* & *Xavier Noria*
158
+ *Joel Hawksley*
543
159
 
544
- * Support using environment variable to set pidfile.
160
+ * Allow appended root routes to take precedence over internal welcome controller.
545
161
 
546
- *Ben Thorner*
162
+ *Gannon McGibbon*
547
163
 
548
164
 
549
- 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.
data/MIT-LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2004-2022 David Heinemeier Hansson
1
+ Copyright (c) 2004-2021 David Heinemeier Hansson
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the