railties 5.2.5 → 6.0.0.beta1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of railties might be problematic. Click here for more details.

Files changed (143) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +184 -180
  3. data/MIT-LICENSE +1 -1
  4. data/RDOC_MAIN.rdoc +35 -28
  5. data/README.rdoc +1 -1
  6. data/lib/minitest/rails_plugin.rb +6 -10
  7. data/lib/rails/all.rb +4 -0
  8. data/lib/rails/api/generator.rb +2 -1
  9. data/lib/rails/api/task.rb +16 -0
  10. data/lib/rails/app_loader.rb +1 -1
  11. data/lib/rails/app_updater.rb +3 -1
  12. data/lib/rails/application.rb +21 -45
  13. data/lib/rails/application/configuration.rb +54 -12
  14. data/lib/rails/application/default_middleware_stack.rb +2 -0
  15. data/lib/rails/backtrace_cleaner.rb +5 -17
  16. data/lib/rails/code_statistics.rb +3 -3
  17. data/lib/rails/command.rb +11 -10
  18. data/lib/rails/command/actions.rb +0 -10
  19. data/lib/rails/command/base.rb +1 -5
  20. data/lib/rails/command/behavior.rb +4 -46
  21. data/lib/rails/command/environment_argument.rb +1 -11
  22. data/lib/rails/command/spellchecker.rb +58 -0
  23. data/lib/rails/commands/credentials/USAGE +19 -1
  24. data/lib/rails/commands/credentials/credentials_command.rb +42 -23
  25. data/lib/rails/commands/db/system/change/change_command.rb +20 -0
  26. data/lib/rails/commands/dbconsole/dbconsole_command.rb +2 -2
  27. data/lib/rails/commands/dev/dev_command.rb +17 -0
  28. data/lib/rails/commands/encrypted/encrypted_command.rb +2 -3
  29. data/lib/rails/commands/help/help_command.rb +1 -1
  30. data/lib/rails/commands/initializers/initializers_command.rb +16 -0
  31. data/lib/rails/commands/new/new_command.rb +2 -2
  32. data/lib/rails/commands/notes/notes_command.rb +39 -0
  33. data/lib/rails/commands/plugin/plugin_command.rb +1 -1
  34. data/lib/rails/commands/routes/routes_command.rb +37 -0
  35. data/lib/rails/commands/runner/runner_command.rb +6 -6
  36. data/lib/rails/commands/secrets/USAGE +3 -3
  37. data/lib/rails/commands/secrets/secrets_command.rb +3 -3
  38. data/lib/rails/commands/server/server_command.rb +109 -48
  39. data/lib/rails/configuration.rb +1 -7
  40. data/lib/rails/engine.rb +3 -9
  41. data/lib/rails/engine/configuration.rb +3 -1
  42. data/lib/rails/gem_version.rb +4 -4
  43. data/lib/rails/generators.rb +11 -12
  44. data/lib/rails/generators/actions.rb +48 -37
  45. data/lib/rails/generators/app_base.rb +49 -89
  46. data/lib/rails/generators/app_name.rb +50 -0
  47. data/lib/rails/generators/base.rb +0 -4
  48. data/lib/rails/generators/database.rb +57 -0
  49. data/lib/rails/generators/erb/mailer/mailer_generator.rb +1 -1
  50. data/lib/rails/generators/erb/scaffold/templates/index.html.erb.tt +1 -1
  51. data/lib/rails/generators/erb/scaffold/templates/show.html.erb.tt +1 -1
  52. data/lib/rails/generators/generated_attribute.rb +17 -17
  53. data/lib/rails/generators/model_helpers.rb +8 -1
  54. data/lib/rails/generators/named_base.rb +1 -5
  55. data/lib/rails/generators/rails/app/app_generator.rb +37 -72
  56. data/lib/rails/generators/rails/app/templates/Gemfile.tt +3 -6
  57. data/lib/rails/generators/rails/app/templates/app/assets/config/manifest.js.tt +0 -3
  58. data/lib/rails/generators/rails/app/templates/app/{assets/javascripts/cable.js.tt → javascript/channels/consumer.js} +2 -9
  59. data/lib/rails/generators/rails/app/templates/app/javascript/channels/index.js +5 -0
  60. data/lib/rails/generators/rails/app/templates/app/javascript/packs/application.js.tt +15 -0
  61. data/lib/rails/generators/rails/app/templates/app/jobs/application_job.rb.tt +5 -0
  62. data/lib/rails/generators/rails/app/templates/app/views/layouts/application.html.erb.tt +4 -4
  63. data/lib/rails/generators/rails/app/templates/bin/setup.tt +4 -5
  64. data/lib/rails/generators/rails/app/templates/bin/update.tt +6 -7
  65. data/lib/rails/generators/rails/app/templates/config/application.rb.tt +2 -0
  66. data/lib/rails/generators/rails/app/templates/config/cable.yml.tt +1 -1
  67. data/lib/rails/generators/rails/app/templates/config/databases/frontbase.yml.tt +2 -2
  68. data/lib/rails/generators/rails/app/templates/config/databases/ibm_db.yml.tt +2 -2
  69. data/lib/rails/generators/rails/app/templates/config/databases/jdbc.yml.tt +2 -2
  70. data/lib/rails/generators/rails/app/templates/config/databases/jdbcmysql.yml.tt +3 -3
  71. data/lib/rails/generators/rails/app/templates/config/databases/jdbcpostgresql.yml.tt +3 -3
  72. data/lib/rails/generators/rails/app/templates/config/databases/mysql.yml.tt +4 -4
  73. data/lib/rails/generators/rails/app/templates/config/databases/oracle.yml.tt +2 -2
  74. data/lib/rails/generators/rails/app/templates/config/databases/postgresql.yml.tt +6 -6
  75. data/lib/rails/generators/rails/app/templates/config/databases/sqlserver.yml.tt +2 -2
  76. data/lib/rails/generators/rails/app/templates/config/environments/development.rb.tt +3 -2
  77. data/lib/rails/generators/rails/app/templates/config/environments/production.rb.tt +5 -12
  78. data/lib/rails/generators/rails/app/templates/config/environments/test.rb.tt +6 -2
  79. data/lib/rails/generators/rails/app/templates/config/initializers/assets.rb.tt +1 -1
  80. data/lib/rails/generators/rails/app/templates/config/initializers/content_security_policy.rb.tt +4 -0
  81. data/lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults_6_0.rb.tt +33 -0
  82. data/lib/rails/generators/rails/app/templates/config/locales/en.yml +1 -1
  83. data/lib/rails/generators/rails/app/templates/config/puma.rb.tt +3 -5
  84. data/lib/rails/generators/rails/app/templates/config/routes.rb.tt +1 -1
  85. data/lib/rails/generators/rails/app/templates/config/spring.rb.tt +6 -6
  86. data/lib/rails/generators/rails/app/templates/gitignore.tt +2 -7
  87. data/lib/rails/generators/rails/app/templates/package.json.tt +7 -1
  88. data/lib/rails/generators/rails/app/templates/ruby-version.tt +1 -1
  89. data/lib/rails/generators/rails/app/templates/test/channels/application_cable/connection_test.rb.tt +11 -0
  90. data/lib/rails/generators/rails/app/templates/test/test_helper.rb.tt +7 -0
  91. data/lib/rails/generators/rails/assets/USAGE +1 -4
  92. data/lib/rails/generators/rails/assets/assets_generator.rb +0 -8
  93. data/lib/rails/generators/rails/controller/controller_generator.rb +11 -1
  94. data/lib/rails/generators/rails/credentials/credentials_generator.rb +7 -8
  95. data/lib/rails/generators/rails/db/system/change/change_generator.rb +55 -0
  96. data/lib/rails/generators/rails/encrypted_file/encrypted_file_generator.rb +4 -5
  97. data/lib/rails/generators/rails/helper/helper_generator.rb +5 -0
  98. data/lib/rails/generators/rails/plugin/plugin_generator.rb +9 -18
  99. data/lib/rails/generators/rails/plugin/templates/app/controllers/%namespaced_name%/application_controller.rb.tt +1 -1
  100. data/lib/rails/generators/rails/plugin/templates/app/helpers/%namespaced_name%/application_helper.rb.tt +1 -1
  101. data/lib/rails/generators/rails/plugin/templates/app/jobs/%namespaced_name%/application_job.rb.tt +1 -1
  102. data/lib/rails/generators/rails/plugin/templates/app/mailers/%namespaced_name%/application_mailer.rb.tt +1 -1
  103. data/lib/rails/generators/rails/plugin/templates/app/models/%namespaced_name%/application_record.rb.tt +1 -1
  104. data/lib/rails/generators/rails/plugin/templates/gitignore.tt +1 -1
  105. data/lib/rails/generators/rails/plugin/templates/lib/%namespaced_name%/engine.rb.tt +1 -1
  106. data/lib/rails/generators/rails/plugin/templates/lib/%namespaced_name%/railtie.rb.tt +1 -1
  107. data/lib/rails/generators/rails/plugin/templates/test/test_helper.rb.tt +1 -2
  108. data/lib/rails/generators/resource_helpers.rb +1 -6
  109. data/lib/rails/generators/test_unit/integration/integration_generator.rb +6 -0
  110. data/lib/rails/generators/test_unit/job/job_generator.rb +5 -0
  111. data/lib/rails/generators/test_unit/mailer/mailer_generator.rb +1 -1
  112. data/lib/rails/generators/test_unit/scaffold/scaffold_generator.rb +1 -1
  113. data/lib/rails/generators/test_unit/system/system_generator.rb +5 -0
  114. data/lib/rails/generators/testing/behaviour.rb +3 -0
  115. data/lib/rails/info.rb +2 -2
  116. data/lib/rails/info_controller.rb +1 -1
  117. data/lib/rails/mailers_controller.rb +1 -1
  118. data/lib/rails/paths.rb +19 -9
  119. data/lib/rails/railtie.rb +1 -1
  120. data/lib/rails/ruby_version_check.rb +3 -3
  121. data/lib/rails/secrets.rb +0 -1
  122. data/lib/rails/source_annotation_extractor.rb +125 -117
  123. data/lib/rails/tasks/annotations.rake +9 -9
  124. data/lib/rails/tasks/dev.rake +5 -4
  125. data/lib/rails/tasks/framework.rake +5 -1
  126. data/lib/rails/tasks/initializers.rake +5 -4
  127. data/lib/rails/tasks/log.rake +0 -1
  128. data/lib/rails/tasks/routes.rake +4 -26
  129. data/lib/rails/tasks/statistics.rake +1 -0
  130. data/lib/rails/tasks/yarn.rake +1 -1
  131. data/lib/rails/templates/rails/welcome/index.html.erb +2 -2
  132. data/lib/rails/test_help.rb +11 -9
  133. data/lib/rails/test_unit/reporter.rb +1 -1
  134. data/lib/rails/test_unit/runner.rb +5 -5
  135. data/lib/rails/test_unit/testing.rake +1 -1
  136. metadata +30 -24
  137. data/lib/rails/commands/encrypted/USAGE +0 -28
  138. data/lib/rails/generators/js/assets/assets_generator.rb +0 -15
  139. data/lib/rails/generators/js/assets/templates/javascript.js +0 -2
  140. data/lib/rails/generators/rails/app/templates/app/assets/javascripts/application.js.tt +0 -22
  141. data/lib/rails/generators/rails/app/templates/bin/bundle.tt +0 -2
  142. data/lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults_5_2.rb.tt +0 -38
  143. data/lib/rails/generators/rails/assets/templates/javascript.js +0 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 163b41616e81ca4edab973d96ece26240e5bdce1646447cc378c73a0cbade810
4
- data.tar.gz: b05525de03b4aea8bc3d34e92cf7f56433611f8fdaa695bdc85f61c936818b7b
3
+ metadata.gz: 66f8f350ddf521a8fb2a51bddda33e6afc57c6e239ea0fe8bd23bea476d12c8f
4
+ data.tar.gz: e647293ffdbc4bbc4beddbde230d567e90de69183b5498729717f1bfda0b2890
5
5
  SHA512:
6
- metadata.gz: 69a39bc58f1ea7eb31b338085e4b6680e06fc9d48591a6aec8e0697a95a287e442e28ab0d6cc76ab9b06d8b010ab6cc40782c18ba585c60324da9e1b189f1ab3
7
- data.tar.gz: 64834c67da6a27cb929d93696e93f9816015d67b36d831614419acc4eaa35b9c5dd25953a927b47fdb23946684159ddb4b955dcf229bd38b7ef65438743399b3
6
+ metadata.gz: f62d369e32f4e40ef7d5f08af230bc70967627c5db1f68c4ab295c7942ac152f33af09bb1012a2d239fb260f411328d3cf78daf70e6d08329079b031ed2f453c
7
+ data.tar.gz: 786ff80d0075f5ff9adefe82ce44c249aa436c8a62f663c2c10d62bef204b84ed9b1a743b7866314756eb3ea86172f3468822736d01333d0cd04cd224fc1a46d
data/CHANGELOG.md CHANGED
@@ -1,305 +1,309 @@
1
- ## Rails 5.2.5 (March 26, 2021) ##
1
+ ## Rails 6.0.0.beta1 (January 18, 2019) ##
2
2
 
3
- * No changes.
3
+ * Remove deprecated `after_bundle` helper inside plugins templates.
4
4
 
5
+ *Rafael Mendonça França*
5
6
 
6
- ## Rails 5.2.4.5 (February 10, 2021) ##
7
+ * Remove deprecated support to old `config.ru` that use the application class as argument of `run`.
7
8
 
8
- * No changes.
9
+ *Rafael Mendonça França*
9
10
 
11
+ * Remove deprecated `environment` argument from the rails commands.
10
12
 
11
- ## Rails 5.2.4.4 (September 09, 2020) ##
13
+ *Rafael Mendonça França*
12
14
 
13
- * No changes.
15
+ * Remove deprecated `capify!`.
14
16
 
17
+ *Rafael Mendonça França*
15
18
 
16
- ## Rails 5.2.4.3 (May 18, 2020) ##
19
+ * Remove deprecated `config.secret_token`.
17
20
 
18
- * No changes.
21
+ *Rafael Mendonça França*
19
22
 
23
+ * Seed database with inline ActiveJob job adapter.
20
24
 
21
- ## Rails 5.2.4.2 (March 19, 2020) ##
25
+ *Gannon McGibbon*
22
26
 
23
- * No changes.
27
+ * Add `rails db:system:change` command for changing databases.
24
28
 
29
+ ```
30
+ bin/rails db:system:change --to=postgresql
31
+ force config/database.yml
32
+ gsub Gemfile
33
+ ```
25
34
 
26
- ## Rails 5.2.4.1 (December 18, 2019) ##
35
+ The change command copies a template `config/database.yml` with the target database adapter into your app, and replaces your database gem with the target database gem.
27
36
 
28
- * No changes.
37
+ *Gannon McGibbon*
29
38
 
39
+ * Add `rails test:channels`.
30
40
 
31
- ## Rails 5.2.4 (November 27, 2019) ##
41
+ *bogdanvlviv*
32
42
 
33
43
  * Use original `bundler` environment variables during the process of generating a new rails project.
34
44
 
35
45
  *Marco Costa*
36
46
 
37
- * Allow loading seeds without ActiveJob.
47
+ * Send Active Storage analysis and purge jobs to dedicated queues by default.
38
48
 
39
- Fixes #35782
49
+ Analysis jobs now use the `:active_storage_analysis` queue, and purge jobs
50
+ now use the `:active_storage_purge` queue. This matches Action Mailbox,
51
+ which sends its jobs to dedicated queues by default.
40
52
 
41
- *Jeremy Weathers*
53
+ *George Claghorn*
42
54
 
43
- * Only force `:async` ActiveJob adapter to `:inline` during seeding.
55
+ * Add `rails test:mailboxes`.
44
56
 
45
- *BatedUrGonnaDie*
57
+ *George Claghorn*
46
58
 
59
+ * Introduce guard against DNS rebinding attacks
47
60
 
48
- ## Rails 5.2.3 (March 27, 2019) ##
61
+ The `ActionDispatch::HostAuthorization` is a new middleware that prevent
62
+ against DNS rebinding and other `Host` header attacks. It is included in
63
+ the development environment by default with the following configuration:
49
64
 
50
- * Seed database with inline ActiveJob job adapter.
65
+ Rails.application.config.hosts = [
66
+ IPAddr.new("0.0.0.0/0"), # All IPv4 addresses.
67
+ IPAddr.new("::/0"), # All IPv6 addresses.
68
+ "localhost" # The localhost reserved domain.
69
+ ]
51
70
 
52
- *Gannon McGibbon*
71
+ In other environments `Rails.application.config.hosts` is empty and no
72
+ `Host` header checks will be done. If you want to guard against header
73
+ attacks on production, you have to manually whitelist the allowed hosts
74
+ with:
53
75
 
54
- * Fix boolean interaction in scaffold system tests.
76
+ Rails.application.config.hosts << "product.com"
55
77
 
56
- *Gannon McGibbon*
78
+ The host of a request is checked against the `hosts` entries with the case
79
+ operator (`#===`), which lets `hosts` support entries of type `RegExp`,
80
+ `Proc` and `IPAddr` to name a few. Here is an example with a regexp.
57
81
 
82
+ # Allow requests from subdomains like `www.product.com` and
83
+ # `beta1.product.com`.
84
+ Rails.application.config.hosts << /.*\.product\.com/
58
85
 
59
- ## Rails 5.2.2.1 (March 11, 2019) ##
86
+ A special case is supported that allows you to whitelist all sub-domains:
60
87
 
61
- * Generate random development secrets
88
+ # Allow requests from subdomains like `www.product.com` and
89
+ # `beta1.product.com`.
90
+ Rails.application.config.hosts << ".product.com"
62
91
 
63
- A random development secret is now generated to tmp/development_secret.txt
92
+ *Genadi Samokovarov*
64
93
 
65
- This avoids an issue where development mode servers were vulnerable to
66
- remote code execution.
94
+ * Remove redundant suffixes on generated helpers.
67
95
 
68
- Fixes CVE-2019-5420
96
+ *Gannon McGibbon*
69
97
 
70
- *Eileen M. Uchitelle*, *Aaron Patterson*, *John Hawthorn*
98
+ * Remove redundant suffixes on generated integration tests.
71
99
 
100
+ *Gannon McGibbon*
72
101
 
73
- ## Rails 5.2.2 (December 04, 2018) ##
102
+ * Fix boolean interaction in scaffold system tests.
74
103
 
75
- * Disable content security policy for mailer previews.
104
+ *Gannon McGibbon*
76
105
 
77
- *Dylan Reile*
106
+ * Remove redundant suffixes on generated system tests.
78
107
 
79
- * Log the remote IP address of clients behind a proxy.
108
+ *Gannon McGibbon*
80
109
 
81
- *Atul Bhosale*
110
+ * Add an `abort_on_failure` boolean option to the generator method that shell
111
+ out (`generate`, `rake`, `rails_command`) to abort the generator if the
112
+ command fails.
82
113
 
114
+ *David Rodríguez*
83
115
 
84
- ## Rails 5.2.1.1 (November 27, 2018) ##
116
+ * Remove `app/assets` and `app/javascript` from `eager_load_paths` and `autoload_paths`.
85
117
 
86
- * No changes.
118
+ *Gannon McGibbon*
87
119
 
120
+ * Use Ids instead of memory addresses when displaying references in scaffold views.
88
121
 
89
- ## Rails 5.2.1 (August 07, 2018) ##
122
+ Fixes #29200.
90
123
 
91
- * Respect `NODE_ENV` when running `rails yarn:install`.
124
+ *Rasesh Patel*
92
125
 
93
- *Max Melentiev*
126
+ * Adds support for multiple databases to `rails db:migrate:status`.
127
+ Subtasks are also added to get the status of individual databases (eg. `rails db:migrate:status:animals`).
94
128
 
95
- * Don't generate unused files in `app:update` task
129
+ *Gannon McGibbon*
96
130
 
97
- Skip the assets' initializer when sprockets isn't loaded.
131
+ * Use Webpacker by default to manage app-level JavaScript through the new app/javascript directory.
132
+ Sprockets is now solely in charge, by default, of compiling CSS and other static assets.
133
+ Action Cable channel generators will create ES6 stubs rather than use CoffeeScript.
134
+ Active Storage, Action Cable, Turbolinks, and Rails-UJS are loaded by a new application.js pack.
135
+ Generators no longer generate JavaScript stubs.
98
136
 
99
- Skip `config/spring.rb` when spring isn't loaded.
137
+ *DHH*, *Lachlan Sylvester*
100
138
 
101
- *Tsukuru Tanimichi*
139
+ * Add `database` (aliased as `db`) option to model generator to allow
140
+ setting the database. This is useful for applications that use
141
+ multiple databases and put migrations per database in their own directories.
102
142
 
103
- * Don't include `bootsnap` by default in apps generated under JRuby.
143
+ ```
144
+ bin/rails g model Room capacity:integer --database=kingston
145
+ invoke active_record
146
+ create db/kingston_migrate/20180830151055_create_rooms.rb
147
+ ```
104
148
 
105
- Fixes #32641.
149
+ Because rails scaffolding uses the model generator, you can
150
+ also specify a database with the scaffold generator.
106
151
 
107
- *Guillermo Iguaran*
152
+ *Gannon McGibbon*
108
153
 
109
- * Create the `.ruby-version` file compatible with MRI/JRuby by default.
154
+ * Raise an error when "recyclable cache keys" are being used by a cache store
155
+ that does not explicitly support it. Custom cache keys that do support this feature
156
+ can bypass this error by implementing the `supports_cache_versioning?` method on their
157
+ class and returning a truthy value.
110
158
 
111
- Fixes #32639.
159
+ *Richard Schneeman*
112
160
 
113
- *Guillermo Iguaran*
161
+ * Support environment specific credentials overrides.
114
162
 
115
- * Make the master.key file read-only for the owner upon generation on
116
- POSIX-compliant systems.
163
+ So any environment will look for `config/credentials/#{Rails.env}.yml.enc` and fall back
164
+ to `config/credentials.yml.enc`.
117
165
 
118
- Previously:
166
+ The encryption key can be in `ENV["RAILS_MASTER_KEY"]` or `config/credentials/production.key`.
119
167
 
120
- $ ls -l config/master.key
121
- -rw-r--r-- 1 owner group 32 Jan 1 00:00 master.key
122
-
123
- Now:
124
-
125
- $ ls -l config/master.key
126
- -rw------- 1 owner group 32 Jan 1 00:00 master.key
168
+ Environment credentials overrides can be edited with `rails credentials:edit --environment production`.
169
+ If no override is setup for the passed environment, it will be created.
127
170
 
128
- Fixes #32604.
171
+ Additionally, the default lookup paths can be overwritten with these configs:
129
172
 
130
- *Jose Luis Duran*
173
+ - `config.credentials.content_path`
174
+ - `config.credentials.key_path`
131
175
 
132
- * Allow use of `minitest-rails` gem with Rails test runner.
176
+ *Wojciech Wnętrzak*
133
177
 
134
- Fixes #31324.
178
+ * Make `ActiveSupport::Cache::NullStore` the default cache store in the test environment.
135
179
 
136
- *Yuji Yaginuma*
180
+ *Michael C. Nelson*
137
181
 
182
+ * Emit warning for unknown inflection rule when generating model.
138
183
 
139
- ## Rails 5.2.0 (April 09, 2018) ##
184
+ *Yoshiyuki Kinjo*
140
185
 
141
- * Fix minitest rails plugin.
186
+ * Add `database` (aliased as `db`) option to migration generator.
142
187
 
143
- The custom reporters are added only if needed.
188
+ If you're using multiple databases and have a folder for each database
189
+ for migrations (ex db/migrate and db/new_db_migrate) you can now pass the
190
+ `--database` option to the generator to make sure the the migration
191
+ is inserted into the correct folder.
144
192
 
145
- This will fix conflicts with others plugins.
193
+ ```
194
+ rails g migration CreateHouses --database=kingston
195
+ invoke active_record
196
+ create db/kingston_migrate/20180830151055_create_houses.rb
197
+ ```
146
198
 
147
- *Kevin Robatel*
199
+ *Eileen M. Uchitelle*
148
200
 
149
- * Deprecate `after_bundle` callback in Rails plugin templates.
201
+ * Deprecate `rake routes` in favor of `rails routes`.
150
202
 
151
203
  *Yuji Yaginuma*
152
204
 
153
- * `rails new` and `rails plugin new` get `Active Storage` by default.
154
- Add ability to skip `Active Storage` with `--skip-active-storage`
155
- and do so automatically when `--skip-active-record` is used.
156
-
157
- *bogdanvlviv*
158
-
159
- * Gemfile for new apps: upgrade redis-rb from ~> 3.0 to 4.0.
160
-
161
- *Jeremy Daer*
162
-
163
- * Add `mini_magick` to default `Gemfile` as comment.
164
-
165
- *Yoshiyuki Hirano*
166
-
167
- * Derive `secret_key_base` from the app name in development and test environments.
168
-
169
- Spares away needless secret configs.
170
-
171
- *DHH*, *Kasper Timm Hansen*
172
-
173
- * Support multiple versions arguments for `gem` method of Generators.
205
+ * Deprecate `rake initializers` in favor of `rails initializers`.
174
206
 
175
- *Yoshiyuki Hirano*
207
+ *Annie-Claude Côté*
176
208
 
177
- * Add `--skip-yarn` option to the plugin generator.
209
+ * Deprecate `rake dev:cache` in favor of `rails dev:cache`.
178
210
 
179
- *bogdanvlviv*
180
-
181
- * Optimize routes indentation.
182
-
183
- *Yoshiyuki Hirano*
184
-
185
- * Optimize indentation for generator actions.
186
-
187
- *Yoshiyuki Hirano*
188
-
189
- * Skip unused components when running `bin/rails` in Rails plugin.
211
+ *Annie-Claude Côté*
190
212
 
191
- *Yoshiyuki Hirano*
213
+ * Deprecate `rails notes` subcommands in favor of passing an `annotations` argument to `rails notes`.
192
214
 
193
- * Add `git_source` to `Gemfile` for plugin generator.
215
+ The following subcommands are replaced by passing `--annotations` or `-a` to `rails notes`:
216
+ - `rails notes:custom ANNOTATION=custom` is deprecated in favor of using `rails notes -a custom`.
217
+ - `rails notes:optimize` is deprecated in favor of using `rails notes -a OPTIMIZE`.
218
+ - `rails notes:todo` is deprecated in favor of using`rails notes -a TODO`.
219
+ - `rails notes:fixme` is deprecated in favor of using `rails notes -a FIXME`.
194
220
 
195
- *Yoshiyuki Hirano*
221
+ *Annie-Claude Côté*
196
222
 
197
- * Add `--skip-action-cable` option to the plugin generator.
198
-
199
- *bogdanvlviv*
200
-
201
- * Deprecate support for using a `Rails::Application` subclass to start Rails server.
202
-
203
- *Yuji Yaginuma*
223
+ * Deprecate `SOURCE_ANNOTATION_DIRECTORIES` environment variable used by `rails notes`
224
+ through `Rails::SourceAnnotationExtractor::Annotation` in favor of using `config.annotations.register_directories`.
204
225
 
205
- * Add `ruby x.x.x` version to `Gemfile` and create `.ruby-version`
206
- root file containing the current Ruby version when new Rails applications are
207
- created.
226
+ *Annie-Claude Côté*
208
227
 
209
- *Alberto Almagro*
228
+ * Deprecate `rake notes` in favor of `rails notes`.
210
229
 
211
- * Support `-` as a platform-agnostic way to run a script from stdin with
212
- `rails runner`
230
+ *Annie-Claude Côté*
213
231
 
214
- *Cody Cutrer*
232
+ * Don't generate unused files in `app:update` task.
215
233
 
216
- * Add `bootsnap` to default `Gemfile`.
234
+ Skip the assets' initializer when sprockets isn't loaded.
217
235
 
218
- *Burke Libbey*
236
+ Skip `config/spring.rb` when spring isn't loaded.
219
237
 
220
- * Properly expand shortcuts for environment's name running the `console`
221
- and `dbconsole` commands.
238
+ Skip yarn's contents when yarn integration isn't used.
222
239
 
223
- *Robin Dupret*
240
+ *Tsukuru Tanimichi*
224
241
 
225
- * Passing the environment's name as a regular argument to the
226
- `rails dbconsole` and `rails console` commands is deprecated.
227
- The `-e` option should be used instead.
242
+ * Make the master.key file read-only for the owner upon generation on
243
+ POSIX-compliant systems.
228
244
 
229
245
  Previously:
230
246
 
231
- $ bin/rails dbconsole production
247
+ $ ls -l config/master.key
248
+ -rw-r--r-- 1 owner group 32 Jan 1 00:00 master.key
232
249
 
233
250
  Now:
234
251
 
235
- $ bin/rails dbconsole -e production
236
-
237
- *Robin Dupret*, *Kasper Timm Hansen*
238
-
239
- * Allow passing a custom connection name to the `rails dbconsole`
240
- command when using a 3-level database configuration.
241
-
242
- $ bin/rails dbconsole -c replica
243
-
244
- *Robin Dupret*, *Jeremy Daer*
245
-
246
- * Skip unused components when running `bin/rails app:update`.
247
-
248
- If the initial app generation skipped Action Cable, Active Record etc.,
249
- the update task honors those skips too.
250
-
251
- *Yuji Yaginuma*
252
-
253
- * Make Rails' test runner work better with minitest plugins.
254
-
255
- By demoting the Rails test runner to just another minitest plugin —
256
- and thereby not eager loading it — we can co-exist much better with
257
- other minitest plugins such as pride and minitest-focus.
252
+ $ ls -l config/master.key
253
+ -rw------- 1 owner group 32 Jan 1 00:00 master.key
258
254
 
259
- *Kasper Timm Hansen*
255
+ Fixes #32604.
260
256
 
261
- * Load environment file in `dbconsole` command.
257
+ *Jose Luis Duran*
262
258
 
263
- Fixes #29717.
259
+ * Deprecate support for using the `HOST` environment to specify the server IP.
264
260
 
265
- *Yuji Yaginuma*
261
+ The `BINDING` environment should be used instead.
266
262
 
267
- * Add `rails secrets:show` command.
263
+ Fixes #29516.
268
264
 
269
265
  *Yuji Yaginuma*
270
266
 
271
- * Allow mounting the same engine several times in different locations.
267
+ * Deprecate passing Rack server name as a regular argument to `rails server`.
272
268
 
273
- Fixes #20204.
274
-
275
- *David Rodríguez*
276
-
277
- * Clear screenshot files in `tmp:clear` task.
278
-
279
- *Yuji Yaginuma*
269
+ Previously:
280
270
 
281
- * Add `railtie.rb` to the plugin generator
271
+ $ bin/rails server thin
282
272
 
283
- *Tsukuru Tanimichi*
273
+ There wasn't an explicit option for the Rack server to use, now we have the
274
+ `--using` option with the `-u` short switch.
284
275
 
285
- * Deprecate `capify!` method in generators and templates.
276
+ Now:
286
277
 
287
- *Yuji Yaginuma*
278
+ $ bin/rails server -u thin
288
279
 
289
- * Allow irb options to be passed from `rails console` command.
280
+ This change also improves the error message if a missing or mistyped rack
281
+ server is given.
290
282
 
291
- Fixes #28988.
283
+ *Genadi Samokovarov*
292
284
 
293
- *Yuji Yaginuma*
285
+ * Add "rails routes --expanded" option to output routes in expanded mode like
286
+ "psql --expanded". Result looks like:
294
287
 
295
- * Added a shared section to `config/database.yml` that will be loaded for all environments.
288
+ ```
289
+ $ rails routes --expanded
290
+ --[ Route 1 ]------------------------------------------------------------
291
+ Prefix | high_scores
292
+ Verb | GET
293
+ URI | /high_scores(.:format)
294
+ Controller#Action | high_scores#index
295
+ --[ Route 2 ]------------------------------------------------------------
296
+ Prefix | new_high_score
297
+ Verb | GET
298
+ URI | /high_scores/new(.:format)
299
+ Controller#Action | high_scores#new
300
+ ```
296
301
 
297
- *Pierre Schambacher*
302
+ *Benoit Tigeot*
298
303
 
299
- * Namespace error pages' CSS selectors to stop the styles from bleeding into other pages
300
- when using Turbolinks.
304
+ * Rails 6 requires Ruby 2.5.0 or newer.
301
305
 
302
- *Jan Krutisch*
306
+ *Jeremy Daer*, *Kasper Timm Hansen*
303
307
 
304
308
 
305
- Please check [5-1-stable](https://github.com/rails/rails/blob/5-1-stable/railties/CHANGELOG.md) for previous changes.
309
+ Please check [5-2-stable](https://github.com/rails/rails/blob/5-2-stable/railties/CHANGELOG.md) for previous changes.