|
| 1 | +# Be sure to restart your server when you modify this file. |
| 2 | +# |
| 3 | +# This file eases your Rails 7.1 framework defaults upgrade. |
| 4 | +# |
| 5 | +# Uncomment each configuration one by one to switch to the new default. |
| 6 | +# Once your application is ready to run with all new defaults, you can remove |
| 7 | +# this file and set the `config.load_defaults` to `7.1`. |
| 8 | +# |
| 9 | +# Read the Guide for Upgrading Ruby on Rails for more info on each option. |
| 10 | +# https://guides.rubyonrails.org/upgrading_ruby_on_rails.html |
| 11 | + |
| 12 | +### |
| 13 | +# No longer add autoloaded paths into `$LOAD_PATH`. This means that you won't be able |
| 14 | +# to manually require files that are managed by the autoloader, which you shouldn't do anyway. |
| 15 | +# |
| 16 | +# This will reduce the size of the load path, making `require` faster if you don't use bootsnap, or reduce the size |
| 17 | +# of the bootsnap cache if you use it. |
| 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 |
| 21 | + |
| 22 | +### |
| 23 | +# Remove the default X-Download-Options headers since it is used only by Internet Explorer. |
| 24 | +# If you need to support Internet Explorer, add back `"X-Download-Options" => "noopen"`. |
| 25 | +#++ |
| 26 | +# Rails.application.config.action_dispatch.default_headers = { |
| 27 | +# "X-Frame-Options" => "SAMEORIGIN", |
| 28 | +# "X-XSS-Protection" => "0", |
| 29 | +# "X-Content-Type-Options" => "nosniff", |
| 30 | +# "X-Permitted-Cross-Domain-Policies" => "none", |
| 31 | +# "Referrer-Policy" => "strict-origin-when-cross-origin" |
| 32 | +# } |
| 33 | + |
| 34 | +### |
| 35 | +# Do not treat an `ActionController::Parameters` instance |
| 36 | +# as equal to an equivalent `Hash` by default. |
| 37 | +#++ |
| 38 | +# Rails.application.config.action_controller.allow_deprecated_parameters_hash_equality = false |
| 39 | + |
| 40 | +### |
| 41 | +# Active Record Encryption now uses SHA-256 as its hash digest algorithm. |
| 42 | +# |
| 43 | +# There are 3 scenarios to consider. |
| 44 | +# |
| 45 | +# 1. If you have data encrypted with previous Rails versions, and you have |
| 46 | +# +config.active_support.key_generator_hash_digest_class+ configured as SHA1 (the default |
| 47 | +# before Rails 7.0), you need to configure SHA-1 for Active Record Encryption too: |
| 48 | +#++ |
| 49 | +# Rails.application.config.active_record.encryption.hash_digest_class = OpenSSL::Digest::SHA1 |
| 50 | +# |
| 51 | +# 2. If you have +config.active_support.key_generator_hash_digest_class+ configured as SHA256 (the new default |
| 52 | +# in 7.0), then you need to configure SHA-256 for Active Record Encryption: |
| 53 | +#++ |
| 54 | +# Rails.application.config.active_record.encryption.hash_digest_class = OpenSSL::Digest::SHA256 |
| 55 | +# |
| 56 | +# 3. If you don't currently have data encrypted with Active Record encryption, you can disable this setting to |
| 57 | +# configure the default behavior starting 7.1+: |
| 58 | +#++ |
| 59 | +# Rails.application.config.active_record.encryption.support_sha1_for_non_deterministic_encryption = false |
| 60 | + |
| 61 | +### |
| 62 | +# No longer run after_commit callbacks on the first of multiple Active Record |
| 63 | +# instances to save changes to the same database row within a transaction. |
| 64 | +# Instead, run these callbacks on the instance most likely to have internal |
| 65 | +# state which matches what was committed to the database, typically the last |
| 66 | +# instance to save. |
| 67 | +#++ |
| 68 | +# Rails.application.config.active_record.run_commit_callbacks_on_first_saved_instances_in_transaction = false |
| 69 | + |
| 70 | +### |
| 71 | +# Configures SQLite with a strict strings mode, which disables double-quoted string literals. |
| 72 | +# |
| 73 | +# SQLite has some quirks around double-quoted string literals. |
| 74 | +# It first tries to consider double-quoted strings as identifier names, but if they don't exist |
| 75 | +# it then considers them as string literals. Because of this, typos can silently go unnoticed. |
| 76 | +# For example, it is possible to create an index for a non existing column. |
| 77 | +# See https://www.sqlite.org/quirks.html#double_quoted_string_literals_are_accepted for more details. |
| 78 | +#++ |
| 79 | +# Rails.application.config.active_record.sqlite3_adapter_strict_strings_by_default = true |
| 80 | + |
| 81 | +### |
| 82 | +# Disable deprecated singular associations names. |
| 83 | +#++ |
| 84 | +# Rails.application.config.active_record.allow_deprecated_singular_associations_name = false |
| 85 | + |
| 86 | +### |
| 87 | +# Enable the Active Job `BigDecimal` argument serializer, which guarantees |
| 88 | +# roundtripping. Without this serializer, some queue adapters may serialize |
| 89 | +# `BigDecimal` arguments as simple (non-roundtrippable) strings. |
| 90 | +# |
| 91 | +# When deploying an application with multiple replicas, old (pre-Rails 7.1) |
| 92 | +# replicas will not be able to deserialize `BigDecimal` arguments from this |
| 93 | +# serializer. Therefore, this setting should only be enabled after all replicas |
| 94 | +# have been successfully upgraded to Rails 7.1. |
| 95 | +#++ |
| 96 | +# Rails.application.config.active_job.use_big_decimal_serializer = true |
| 97 | + |
| 98 | +### |
| 99 | +# Specify if an `ArgumentError` should be raised if `Rails.cache` `fetch` or |
| 100 | +# `write` are given an invalid `expires_at` or `expires_in` time. |
| 101 | +# Options are `true`, and `false`. If `false`, the exception will be reported |
| 102 | +# as `handled` and logged instead. |
| 103 | +#++ |
| 104 | +# Rails.application.config.active_support.raise_on_invalid_cache_expiration_time = true |
| 105 | + |
| 106 | +### |
| 107 | +# Specify whether Query Logs will format tags using the SQLCommenter format |
| 108 | +# (https://open-telemetry.github.io/opentelemetry-sqlcommenter/), or using the legacy format. |
| 109 | +# Options are `:legacy` and `:sqlcommenter`. |
| 110 | +#++ |
| 111 | +# Rails.application.config.active_record.query_log_tags_format = :sqlcommenter |
| 112 | + |
| 113 | +### |
| 114 | +# Specify the default serializer used by `MessageEncryptor` and `MessageVerifier` |
| 115 | +# instances. |
| 116 | +# |
| 117 | +# The legacy default is `:marshal`, which is a potential vector for |
| 118 | +# deserialization attacks in cases where a message signing secret has been |
| 119 | +# leaked. |
| 120 | +# |
| 121 | +# In Rails 7.1, the new default is `:json_allow_marshal` which serializes and |
| 122 | +# deserializes with `ActiveSupport::JSON`, but can fall back to deserializing |
| 123 | +# with `Marshal` so that legacy messages can still be read. |
| 124 | +# |
| 125 | +# In Rails 7.2, the default will become `:json` which serializes and |
| 126 | +# deserializes with `ActiveSupport::JSON` only. |
| 127 | +# |
| 128 | +# Alternatively, you can choose `:message_pack` or `:message_pack_allow_marshal`, |
| 129 | +# which serialize with `ActiveSupport::MessagePack`. `ActiveSupport::MessagePack` |
| 130 | +# can roundtrip some Ruby types that are not supported by JSON, and may provide |
| 131 | +# improved performance, but it requires the `msgpack` gem. |
| 132 | +# |
| 133 | +# For more information, see |
| 134 | +# https://guides.rubyonrails.org/v7.1/configuring.html#config-active-support-message-serializer |
| 135 | +# |
| 136 | +# If you are performing a rolling deploy of a Rails 7.1 upgrade, wherein servers |
| 137 | +# that have not yet been upgraded must be able to read messages from upgraded |
| 138 | +# servers, first deploy without changing the serializer, then set the serializer |
| 139 | +# in a subsequent deploy. |
| 140 | +#++ |
| 141 | +# Rails.application.config.active_support.message_serializer = :json_allow_marshal |
| 142 | + |
| 143 | +### |
| 144 | +# Enable a performance optimization that serializes message data and metadata |
| 145 | +# together. This changes the message format, so messages serialized this way |
| 146 | +# cannot be read by older versions of Rails. However, messages that use the old |
| 147 | +# format can still be read, regardless of whether this optimization is enabled. |
| 148 | +# |
| 149 | +# To perform a rolling deploy of a Rails 7.1 upgrade, wherein servers that have |
| 150 | +# not yet been upgraded must be able to read messages from upgraded servers, |
| 151 | +# leave this optimization off on the first deploy, then enable it on a |
| 152 | +# subsequent deploy. |
| 153 | +#++ |
| 154 | +# Rails.application.config.active_support.use_message_serializer_for_metadata = true |
| 155 | + |
| 156 | +### |
| 157 | +# Set the maximum size for Rails log files. |
| 158 | +# |
| 159 | +# `config.load_defaults 7.1` does not set this value for environments other than |
| 160 | +# development and test. |
| 161 | +#++ |
| 162 | +# if Rails.env.local? |
| 163 | +# Rails.application.config.log_file_size = 100 * 1024 * 1024 |
| 164 | +# end |
| 165 | + |
| 166 | +### |
| 167 | +# Enable raising on assignment to attr_readonly attributes. The previous |
| 168 | +# behavior would allow assignment but silently not persist changes to the |
| 169 | +# database. |
| 170 | +#++ |
| 171 | +# Rails.application.config.active_record.raise_on_assign_to_attr_readonly = true |
| 172 | + |
| 173 | +### |
| 174 | +# Enable validating only parent-related columns for presence when the parent is mandatory. |
| 175 | +# The previous behavior was to validate the presence of the parent record, which performed an extra query |
| 176 | +# to get the parent every time the child record was updated, even when parent has not changed. |
| 177 | +#++ |
| 178 | +# Rails.application.config.active_record.belongs_to_required_validates_foreign_key = false |
| 179 | + |
| 180 | +### |
| 181 | +# Enable precompilation of `config.filter_parameters`. Precompilation can |
| 182 | +# improve filtering performance, depending on the quantity and types of filters. |
| 183 | +#++ |
| 184 | +# Rails.application.config.precompile_filter_parameters = true |
| 185 | + |
| 186 | +### |
| 187 | +# Enable before_committed! callbacks on all enrolled records in a transaction. |
| 188 | +# The previous behavior was to only run the callbacks on the first copy of a record |
| 189 | +# if there were multiple copies of the same record enrolled in the transaction. |
| 190 | +#++ |
| 191 | +# Rails.application.config.active_record.before_committed_on_all_records = true |
| 192 | + |
| 193 | +### |
| 194 | +# Disable automatic column serialization into YAML. |
| 195 | +# To keep the historic behavior, you can set it to `YAML`, however it is |
| 196 | +# recommended to explicitly define the serialization method for each column |
| 197 | +# rather than to rely on a global default. |
| 198 | +#++ |
| 199 | +# Rails.application.config.active_record.default_column_serializer = nil |
| 200 | + |
| 201 | +### |
| 202 | +# Enable a performance optimization that serializes Active Record models |
| 203 | +# in a faster and more compact way. |
| 204 | +# |
| 205 | +# To perform a rolling deploy of a Rails 7.1 upgrade, wherein servers that have |
| 206 | +# not yet been upgraded must be able to read caches from upgraded servers, |
| 207 | +# leave this optimization off on the first deploy, then enable it on a |
| 208 | +# subsequent deploy. |
| 209 | +#++ |
| 210 | +# Rails.application.config.active_record.marshalling_format_version = 7.1 |
| 211 | + |
| 212 | +### |
| 213 | +# Run `after_commit` and `after_*_commit` callbacks in the order they are defined in a model. |
| 214 | +# This matches the behaviour of all other callbacks. |
| 215 | +# In previous versions of Rails, they ran in the inverse order. |
| 216 | +#++ |
| 217 | +# Rails.application.config.active_record.run_after_transaction_callbacks_in_order_defined = true |
| 218 | + |
| 219 | +### |
| 220 | +# Whether a `transaction` block is committed or rolled back when exited via `return`, `break` or `throw`. |
| 221 | +#++ |
| 222 | +# Rails.application.config.active_record.commit_transaction_on_non_local_return = true |
| 223 | + |
| 224 | +### |
| 225 | +# Controls when to generate a value for <tt>has_secure_token</tt> declarations. |
| 226 | +#++ |
| 227 | +# Rails.application.config.active_record.generate_secure_token_on = :initialize |
| 228 | + |
| 229 | +### |
| 230 | +# ** Please read carefully, this must be configured in config/application.rb ** |
| 231 | +# |
| 232 | +# Change the format of the cache entry. |
| 233 | +# |
| 234 | +# Changing this default means that all new cache entries added to the cache |
| 235 | +# will have a different format that is not supported by Rails 7.0 |
| 236 | +# applications. |
| 237 | +# |
| 238 | +# Only change this value after your application is fully deployed to Rails 7.1 |
| 239 | +# and you have no plans to rollback. |
| 240 | +# When you're ready to change format, add this to `config/application.rb` (NOT |
| 241 | +# this file): |
| 242 | +# config.active_support.cache_format_version = 7.1 |
| 243 | + |
| 244 | + |
| 245 | +### |
| 246 | +# Configure Action View to use HTML5 standards-compliant sanitizers when they are supported on your |
| 247 | +# platform. |
| 248 | +# |
| 249 | +# `Rails::HTML::Sanitizer.best_supported_vendor` will cause Action View to use HTML5-compliant |
| 250 | +# sanitizers if they are supported, else fall back to HTML4 sanitizers. |
| 251 | +# |
| 252 | +# In previous versions of Rails, Action View always used `Rails::HTML4::Sanitizer` as its vendor. |
| 253 | +#++ |
| 254 | +# Rails.application.config.action_view.sanitizer_vendor = Rails::HTML::Sanitizer.best_supported_vendor |
| 255 | + |
| 256 | + |
| 257 | +### |
| 258 | +# Configure Action Text to use an HTML5 standards-compliant sanitizer when it is supported on your |
| 259 | +# platform. |
| 260 | +# |
| 261 | +# `Rails::HTML::Sanitizer.best_supported_vendor` will cause Action Text to use HTML5-compliant |
| 262 | +# sanitizers if they are supported, else fall back to HTML4 sanitizers. |
| 263 | +# |
| 264 | +# In previous versions of Rails, Action Text always used `Rails::HTML4::Sanitizer` as its vendor. |
| 265 | +#++ |
| 266 | +# Rails.application.config.action_text.sanitizer_vendor = Rails::HTML::Sanitizer.best_supported_vendor |
| 267 | + |
| 268 | + |
| 269 | +### |
| 270 | +# Configure the log level used by the DebugExceptions middleware when logging |
| 271 | +# uncaught exceptions during requests. |
| 272 | +#++ |
| 273 | +# Rails.application.config.action_dispatch.debug_exception_log_level = :error |
| 274 | + |
| 275 | + |
| 276 | +### |
| 277 | +# Configure the test helpers in Action View, Action Dispatch, and rails-dom-testing to use HTML5 |
| 278 | +# parsers. |
| 279 | +# |
| 280 | +# Nokogiri::HTML5 isn't supported on JRuby, so JRuby applications must set this to :html4. |
| 281 | +# |
| 282 | +# In previous versions of Rails, these test helpers always used an HTML4 parser. |
| 283 | +#++ |
| 284 | +# Rails.application.config.dom_testing_default_html_version = :html5 |
0 commit comments