railties 7.1.2 → 7.1.3
Sign up to get free protection for your applications and to get access to all the features.
- 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:
|