railties 7.1.2 → 7.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +22 -0
- data/lib/rails/application/bootstrap.rb +5 -1
- data/lib/rails/application/configuration.rb +11 -2
- data/lib/rails/application/finisher.rb +3 -0
- data/lib/rails/application.rb +8 -5
- data/lib/rails/engine.rb +11 -4
- data/lib/rails/gem_version.rb +1 -1
- data/lib/rails/generators/app_base.rb +11 -13
- data/lib/rails/generators/base.rb +5 -5
- data/lib/rails/generators/rails/app/app_generator.rb +1 -0
- data/lib/rails/generators/rails/app/templates/config/environments/production.rb.tt +2 -2
- data/lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults_7_1.rb.tt +4 -3
- data/lib/rails/generators.rb +1 -1
- metadata +11 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8c529251b08d62ea8d3e2b261f9863382b32783ef34f1af4a50f3cc9bff1abc3
|
4
|
+
data.tar.gz: 3b8d46f6bea256a8e7998e9c44589d0ce8c0cdc9064a96083167ac9043e57f17
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a9883784c3d94e282969fe8ab8e2de689a824b66369b18fd902111671376152ac97d2a17427c1145bfdf11ea20bcb7d896cac66a4ba1dfd7245236805dc8be3b
|
7
|
+
data.tar.gz: bf25c78a46a71fd9c27c02f9432ffd97bc308c5567911d8cabffb9ea5b784e5ec015bc7a2f820d67cbfff70b1dbac9a9a9f19a7a86467b503ab31015b5909659
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,25 @@
|
|
1
|
+
## Rails 7.1.3 (January 16, 2024) ##
|
2
|
+
|
3
|
+
* Make sure `config.after_routes_loaded` hook runs on boot.
|
4
|
+
|
5
|
+
*Rafael Mendonça França*
|
6
|
+
|
7
|
+
* Fix `config.log_level` not being respected when using a `BroadcastLogger`
|
8
|
+
|
9
|
+
*Édouard Chin*
|
10
|
+
|
11
|
+
* Fix isolated engines to take `ActiveRecord::Base.table_name_prefix` into consideration.
|
12
|
+
This will allow for engine defined models, such as inside Active Storage, to respect
|
13
|
+
Active Record table name prefix configuration.
|
14
|
+
|
15
|
+
*Chedli Bourguiba*
|
16
|
+
|
17
|
+
* The `bin/rails app:template` command will no longer add potentially unwanted
|
18
|
+
gem platforms via `bundle lock --add-platform=...` commands.
|
19
|
+
|
20
|
+
*Jonathan Hefner*
|
21
|
+
|
22
|
+
|
1
23
|
## Rails 7.1.2 (November 10, 2023) ##
|
2
24
|
|
3
25
|
* Fix running `db:system:change` when app has no Dockerfile.
|
@@ -55,7 +55,11 @@ module Rails
|
|
55
55
|
logger
|
56
56
|
end
|
57
57
|
|
58
|
-
|
58
|
+
if Rails.logger.is_a?(ActiveSupport::BroadcastLogger)
|
59
|
+
if config.broadcast_log_level
|
60
|
+
Rails.logger.level = ActiveSupport::Logger.const_get(config.broadcast_log_level.to_s.upcase)
|
61
|
+
end
|
62
|
+
else
|
59
63
|
Rails.logger.level = ActiveSupport::Logger.const_get(config.log_level.to_s.upcase)
|
60
64
|
broadcast_logger = ActiveSupport::BroadcastLogger.new(Rails.logger)
|
61
65
|
broadcast_logger.formatter = Rails.logger.formatter
|
@@ -19,13 +19,13 @@ module Rails
|
|
19
19
|
:ssl_options, :public_file_server,
|
20
20
|
:session_options, :time_zone, :reload_classes_only_on_change,
|
21
21
|
:beginning_of_week, :filter_redirect, :x,
|
22
|
-
:read_encrypted_secrets, :
|
22
|
+
:read_encrypted_secrets, :content_security_policy_report_only,
|
23
23
|
:content_security_policy_nonce_generator, :content_security_policy_nonce_directives,
|
24
24
|
:require_master_key, :credentials, :disable_sandbox, :sandbox_by_default,
|
25
25
|
:add_autoload_paths_to_load_path, :rake_eager_load, :server_timing, :log_file_size,
|
26
26
|
:dom_testing_default_html_version
|
27
27
|
|
28
|
-
attr_reader :encoding, :api_only, :loaded_config_version
|
28
|
+
attr_reader :encoding, :api_only, :loaded_config_version, :log_level
|
29
29
|
|
30
30
|
def initialize(*)
|
31
31
|
super
|
@@ -379,6 +379,15 @@ module Rails
|
|
379
379
|
@debug_exception_response_format ||= :api
|
380
380
|
end
|
381
381
|
|
382
|
+
def log_level=(level)
|
383
|
+
@log_level = level
|
384
|
+
@broadcast_log_level = level
|
385
|
+
end
|
386
|
+
|
387
|
+
def broadcast_log_level # :nodoc:
|
388
|
+
defined?(@broadcast_log_level) ? @broadcast_log_level : nil
|
389
|
+
end
|
390
|
+
|
382
391
|
def debug_exception_response_format
|
383
392
|
@debug_exception_response_format || :default
|
384
393
|
end
|
@@ -160,6 +160,7 @@ module Rails
|
|
160
160
|
reloader.eager_load = app.config.eager_load
|
161
161
|
reloader.execute
|
162
162
|
reloaders << reloader
|
163
|
+
|
163
164
|
app.reloader.to_run do
|
164
165
|
# We configure #execute rather than #execute_if_updated because if
|
165
166
|
# autoloaded constants are cleared we need to reload routes also in
|
@@ -174,6 +175,8 @@ module Rails
|
|
174
175
|
reloader.execute
|
175
176
|
ActiveSupport.run_load_hooks(:after_routes_loaded, self)
|
176
177
|
end
|
178
|
+
|
179
|
+
ActiveSupport.run_load_hooks(:after_routes_loaded, self)
|
177
180
|
end
|
178
181
|
|
179
182
|
# Set clearing dependencies after the finisher hook to ensure paths
|
data/lib/rails/application.rb
CHANGED
@@ -234,8 +234,7 @@ module Rails
|
|
234
234
|
end
|
235
235
|
|
236
236
|
# Convenience for loading config/foo.yml for the current \Rails env.
|
237
|
-
#
|
238
|
-
# Examples:
|
237
|
+
# Example:
|
239
238
|
#
|
240
239
|
# # config/exception_notification.yml:
|
241
240
|
# production:
|
@@ -246,13 +245,15 @@ module Rails
|
|
246
245
|
# url: http://localhost:3001
|
247
246
|
# namespace: my_app_development
|
248
247
|
#
|
248
|
+
# <code></code>
|
249
|
+
#
|
249
250
|
# # config/environments/production.rb
|
250
251
|
# Rails.application.configure do
|
251
252
|
# config.middleware.use ExceptionNotifier, config_for(:exception_notification)
|
252
253
|
# end
|
253
254
|
#
|
254
|
-
#
|
255
|
-
#
|
255
|
+
# You can also store configurations in a shared section which will be merged
|
256
|
+
# with the environment configuration
|
256
257
|
#
|
257
258
|
# # config/example.yml
|
258
259
|
# shared:
|
@@ -265,6 +266,8 @@ module Rails
|
|
265
266
|
# bar:
|
266
267
|
# qux: 2
|
267
268
|
#
|
269
|
+
# <code></code>
|
270
|
+
#
|
268
271
|
# # development environment
|
269
272
|
# Rails.application.config_for(:example)[:foo][:bar]
|
270
273
|
# # => { baz: 1, qux: 2 }
|
@@ -484,7 +487,7 @@ module Rails
|
|
484
487
|
config.secret_key_base
|
485
488
|
else
|
486
489
|
Rails.deprecator.warn(<<~MSG.squish)
|
487
|
-
Your `secret_key_base is configured in `Rails.application.secrets`,
|
490
|
+
Your `secret_key_base` is configured in `Rails.application.secrets`,
|
488
491
|
which is deprecated in favor of `Rails.application.credentials` and
|
489
492
|
will be removed in Rails 7.2.
|
490
493
|
MSG
|
data/lib/rails/engine.rb
CHANGED
@@ -15,7 +15,8 @@ module Rails
|
|
15
15
|
# feature and application sharing.
|
16
16
|
#
|
17
17
|
# Any +Rails::Engine+ is also a Rails::Railtie, so the same
|
18
|
-
# methods (like
|
18
|
+
# methods (like {rake_tasks}[rdoc-ref:Rails::Railtie::rake_tasks] and
|
19
|
+
# {generators}[rdoc-ref:Rails::Railtie::generators]) and configuration
|
19
20
|
# options that are available in railties can also be used in engines.
|
20
21
|
#
|
21
22
|
# == Creating an Engine
|
@@ -116,7 +117,7 @@ module Rails
|
|
116
117
|
# An engine can also be a Rack application. It can be useful if you have a Rack application that
|
117
118
|
# you would like to provide with some of the +Engine+'s features.
|
118
119
|
#
|
119
|
-
# To do that, use the
|
120
|
+
# To do that, use the ::endpoint method:
|
120
121
|
#
|
121
122
|
# module MyEngine
|
122
123
|
# class Engine < Rails::Engine
|
@@ -197,7 +198,7 @@ module Rails
|
|
197
198
|
# named routes from the application will be available to your engine's controllers as well.
|
198
199
|
#
|
199
200
|
# However, sometimes you want to isolate your engine from the application, especially if your engine
|
200
|
-
# has its own router. To do that, you simply need to call
|
201
|
+
# has its own router. To do that, you simply need to call ::isolate_namespace. This method requires
|
201
202
|
# you to pass a module where all your controllers, helpers, and models should be nested to:
|
202
203
|
#
|
203
204
|
# module MyEngine
|
@@ -327,7 +328,7 @@ module Rails
|
|
327
328
|
# To use engine's migrations in application you can use the rake task below, which copies them to
|
328
329
|
# application's dir:
|
329
330
|
#
|
330
|
-
# rake ENGINE_NAME:install:migrations
|
331
|
+
# $ rake ENGINE_NAME:install:migrations
|
331
332
|
#
|
332
333
|
# Note that some of the migrations may be skipped if a migration with the same name already exists
|
333
334
|
# in application. In such a situation you must decide whether to leave that migration or rename the
|
@@ -395,6 +396,12 @@ module Rails
|
|
395
396
|
|
396
397
|
unless mod.respond_to?(:table_name_prefix)
|
397
398
|
define_method(:table_name_prefix) { "#{name}_" }
|
399
|
+
|
400
|
+
ActiveSupport.on_load(:active_record) do
|
401
|
+
mod.singleton_class.redefine_method(:table_name_prefix) do
|
402
|
+
"#{ActiveRecord::Base.table_name_prefix}#{name}_"
|
403
|
+
end
|
404
|
+
end
|
398
405
|
end
|
399
406
|
|
400
407
|
unless mod.respond_to?(:use_relative_model_naming?)
|
data/lib/rails/gem_version.rb
CHANGED
@@ -674,19 +674,7 @@ module Rails
|
|
674
674
|
end
|
675
675
|
|
676
676
|
def run_bundle
|
677
|
-
if bundle_install?
|
678
|
-
bundle_command("install", "BUNDLE_IGNORE_MESSAGES" => "1")
|
679
|
-
|
680
|
-
# The vast majority of Rails apps will be deployed on `x86_64-linux`.
|
681
|
-
platforms = ["--add-platform=x86_64-linux"]
|
682
|
-
|
683
|
-
# Users that develop on M1 mac may use docker and would need `aarch64-linux` as well.
|
684
|
-
platforms << "--add-platform=aarch64-linux" if RUBY_PLATFORM.start_with?("arm64")
|
685
|
-
|
686
|
-
platforms.each do |platform|
|
687
|
-
bundle_command("lock #{platform}", "BUNDLE_IGNORE_MESSAGES" => "1")
|
688
|
-
end
|
689
|
-
end
|
677
|
+
bundle_command("install", "BUNDLE_IGNORE_MESSAGES" => "1") if bundle_install?
|
690
678
|
end
|
691
679
|
|
692
680
|
def run_javascript
|
@@ -716,6 +704,16 @@ module Rails
|
|
716
704
|
end
|
717
705
|
end
|
718
706
|
|
707
|
+
def add_bundler_platforms
|
708
|
+
if bundle_install?
|
709
|
+
# The vast majority of Rails apps will be deployed on `x86_64-linux`.
|
710
|
+
bundle_command("lock --add-platform=x86_64-linux")
|
711
|
+
|
712
|
+
# Users that develop on M1 mac may use docker and would need `aarch64-linux` as well.
|
713
|
+
bundle_command("lock --add-platform=aarch64-linux") if RUBY_PLATFORM.start_with?("arm64")
|
714
|
+
end
|
715
|
+
end
|
716
|
+
|
719
717
|
def generate_bundler_binstub
|
720
718
|
if bundle_install?
|
721
719
|
bundle_command("binstubs bundler")
|
@@ -79,7 +79,7 @@ module Rails
|
|
79
79
|
#
|
80
80
|
# For example, if the user invoke the controller generator as:
|
81
81
|
#
|
82
|
-
# bin/rails generate controller Account --test-framework=test_unit
|
82
|
+
# $ bin/rails generate controller Account --test-framework=test_unit
|
83
83
|
#
|
84
84
|
# The controller generator will then try to invoke the following generators:
|
85
85
|
#
|
@@ -134,11 +134,11 @@ module Rails
|
|
134
134
|
# All hooks come with switches for user interface. If you do not want
|
135
135
|
# to use any test framework, you can do:
|
136
136
|
#
|
137
|
-
# bin/rails generate controller Account --skip-test-framework
|
137
|
+
# $ bin/rails generate controller Account --skip-test-framework
|
138
138
|
#
|
139
139
|
# Or similarly:
|
140
140
|
#
|
141
|
-
# bin/rails generate controller Account --no-test-framework
|
141
|
+
# $ bin/rails generate controller Account --no-test-framework
|
142
142
|
#
|
143
143
|
# ==== Boolean hooks
|
144
144
|
#
|
@@ -150,7 +150,7 @@ module Rails
|
|
150
150
|
#
|
151
151
|
# Then, if you want webrat to be invoked, just supply:
|
152
152
|
#
|
153
|
-
# bin/rails generate controller Account --webrat
|
153
|
+
# $ bin/rails generate controller Account --webrat
|
154
154
|
#
|
155
155
|
# The hooks lookup is similar as above:
|
156
156
|
#
|
@@ -222,7 +222,7 @@ module Rails
|
|
222
222
|
end
|
223
223
|
|
224
224
|
# Returns the default source root for a given generator. This is used internally
|
225
|
-
# by
|
225
|
+
# by \Rails to set its generators source root. If you want to customize your source
|
226
226
|
# root, you should use source_root.
|
227
227
|
def self.default_source_root
|
228
228
|
return unless base_name && generator_name
|
@@ -29,7 +29,7 @@ Rails.application.configure do
|
|
29
29
|
# Compress CSS using a preprocessor.
|
30
30
|
# config.assets.css_compressor = :sass
|
31
31
|
|
32
|
-
# Do not
|
32
|
+
# Do not fall back to assets pipeline if a precompiled asset is missed.
|
33
33
|
config.assets.compile = false
|
34
34
|
|
35
35
|
<%- end -%>
|
@@ -67,7 +67,7 @@ Rails.application.configure do
|
|
67
67
|
# Prepend all log lines with the following tags.
|
68
68
|
config.log_tags = [ :request_id ]
|
69
69
|
|
70
|
-
#
|
70
|
+
# "info" includes generic and useful information about system operation, but avoids logging too much
|
71
71
|
# information to avoid inadvertent exposure of personally identifiable information (PII). If you
|
72
72
|
# want to log everything, set the level to "debug".
|
73
73
|
config.log_level = ENV.fetch("RAILS_LOG_LEVEL", "info")
|
data/lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults_7_1.rb.tt
CHANGED
@@ -15,8 +15,9 @@
|
|
15
15
|
#
|
16
16
|
# This will reduce the size of the load path, making `require` faster if you don't use bootsnap, or reduce the size
|
17
17
|
# of the bootsnap cache if you use it.
|
18
|
-
|
19
|
-
#
|
18
|
+
#
|
19
|
+
# To set this configuration, add the following line to `config/application.rb` (NOT this file):
|
20
|
+
# config.add_autoload_paths_to_load_path = false
|
20
21
|
|
21
22
|
###
|
22
23
|
# Remove the default X-Download-Options headers since it is used only by Internet Explorer.
|
@@ -38,7 +39,7 @@
|
|
38
39
|
|
39
40
|
###
|
40
41
|
# Active Record Encryption now uses SHA-256 as its hash digest algorithm.
|
41
|
-
#
|
42
|
+
#
|
42
43
|
# There are 3 scenarios to consider.
|
43
44
|
#
|
44
45
|
# 1. If you have data encrypted with previous Rails versions, and you have
|
data/lib/rails/generators.rb
CHANGED
@@ -90,7 +90,7 @@ module Rails
|
|
90
90
|
end
|
91
91
|
|
92
92
|
# Hold configured generators fallbacks. If a plugin developer wants a
|
93
|
-
# generator group to
|
93
|
+
# generator group to fall back to another group in case of missing generators,
|
94
94
|
# they can add a fallback.
|
95
95
|
#
|
96
96
|
# For example, shoulda is considered a test_framework and is an extension
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: railties
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 7.1.
|
4
|
+
version: 7.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Heinemeier Hansson
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-01-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -16,28 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 7.1.
|
19
|
+
version: 7.1.3
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 7.1.
|
26
|
+
version: 7.1.3
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: actionpack
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - '='
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 7.1.
|
33
|
+
version: 7.1.3
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - '='
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 7.1.
|
40
|
+
version: 7.1.3
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rackup
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -120,14 +120,14 @@ dependencies:
|
|
120
120
|
requirements:
|
121
121
|
- - '='
|
122
122
|
- !ruby/object:Gem::Version
|
123
|
-
version: 7.1.
|
123
|
+
version: 7.1.3
|
124
124
|
type: :development
|
125
125
|
prerelease: false
|
126
126
|
version_requirements: !ruby/object:Gem::Requirement
|
127
127
|
requirements:
|
128
128
|
- - '='
|
129
129
|
- !ruby/object:Gem::Version
|
130
|
-
version: 7.1.
|
130
|
+
version: 7.1.3
|
131
131
|
description: 'Rails internals: application bootup, plugins, generators, and rake tasks.'
|
132
132
|
email: david@loudthinking.com
|
133
133
|
executables:
|
@@ -459,10 +459,10 @@ licenses:
|
|
459
459
|
- MIT
|
460
460
|
metadata:
|
461
461
|
bug_tracker_uri: https://github.com/rails/rails/issues
|
462
|
-
changelog_uri: https://github.com/rails/rails/blob/v7.1.
|
463
|
-
documentation_uri: https://api.rubyonrails.org/v7.1.
|
462
|
+
changelog_uri: https://github.com/rails/rails/blob/v7.1.3/railties/CHANGELOG.md
|
463
|
+
documentation_uri: https://api.rubyonrails.org/v7.1.3/
|
464
464
|
mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
|
465
|
-
source_code_uri: https://github.com/rails/rails/tree/v7.1.
|
465
|
+
source_code_uri: https://github.com/rails/rails/tree/v7.1.3/railties
|
466
466
|
rubygems_mfa_required: 'true'
|
467
467
|
post_install_message:
|
468
468
|
rdoc_options:
|