Update dependency rails to v8.1.3 #315

Open
renovate wants to merge 1 commit from renovate/ruby-on-rails-packages into main
Collaborator

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
rails (source, changelog) 8.1.18.1.3 age adoption passing confidence

Release Notes

rails/rails (rails)

v8.1.3: 8.1.3

Compare Source

Active Support

  • Fix JSONGemCoderEncoder to correctly serialize custom object hash keys.

    When hash keys are custom objects whose as_json returns a Hash,
    the encoder now calls to_s on the original key object instead of
    on the as_json result.

    Before:
    hash = {CustomKey.new(123) => "value"}
    hash.to_json # => {"{:id=>123}":"value"}

    After:
    hash.to_json # => {"custom_123":"value"}

    Dan Sharp

  • Fix inflections to better handle overlapping acronyms.

    ActiveSupport::Inflector.inflections(:en) do |inflect|
      inflect.acronym "USD"
      inflect.acronym "USDC"
    end
    
    "USDC".underscore # => "usdc"
    

    Said Kaldybaev

  • Silence Dalli 4.0+ warning when using ActiveSupport::Cache::MemCacheStore.

    zzak

Active Model

  • Fix Ruby 4.0 delegator warning when calling inspect on attributes.

    Hammad Khan

  • Fix NoMethodError when deserialising Type::Integer objects marshalled under Rails 8.0.

    The performance optimisation that replaced @range with @max/@min
    broke Marshal compatibility. Objects serialised under 8.0 (with @range)
    and deserialised under 8.1 (expecting @max/@min) would crash with
    undefined method '<=' for nil because Marshal.load restores instance
    variables without calling initialize.

    Edward Woodcock

Active Record

  • Fix insert_all and upsert_all log message when called on anonymous classes.

    Gabriel Sobrinho

  • Respect ActiveRecord::SchemaDumper.ignore_tables when dumping SQLite virtual tables.

    Hans Schnedlitz

  • Restore previous instrumenter after execute_or_skip

    FutureResult#execute_or_skip replaces the thread's instrumenter with an
    EventBuffer to collect events published during async query execution.
    If the global async executor is saturated and the caller_runs fallback
    executes the task on the calling thread, we need to make sure the previous
    instrumenter is restored or the stale EventBuffer would stay in place and
    permanently swallow all subsequent sql.active_record notifications on
    that thread.

    Rosa Gutierrez

  • Bump the minimum PostgreSQL version to 9.5, due to usage of array_position function.

    Ivan Kuchin

  • Fix Ruby 4.0 delegator warning when calling inspect on ActiveRecord::Type::Serialized.

    Hammad Khan

  • Fix support for table names containing hyphens.

    Evgeniy Demin

  • Fix column deduplication for SQLite3 and PostgreSQL virtual (generated) columns.

    Column#== and Column#hash now account for virtual? so that the
    Deduplicable registry does not treat a generated column and a regular
    column with the same name and type as identical. Previously, if a
    generated column was registered first, a regular column on a different
    table could be deduplicated to the generated instance, silently
    excluding it from INSERT/UPDATE statements.

    Jay Huber

  • Fix PostgreSQL schema dumping to handle schema-qualified table names in foreign_key references that span different schemas.

before

    add_foreign_key "hst.event_log_attributes", "hst.event_logs" # emits correctly because they're in the same schema (hst)
    add_foreign_key "hst.event_log_attributes", "hst.usr.user_profiles", column: "created_by_id" # emits hst.user.* when user.* is expected

after

    add_foreign_key "hst.event_log_attributes", "hst.event_logs"
    add_foreign_key "hst.event_log_attributes", "usr.user_profiles", column: "created_by_id"

*Chiperific*

Action View

  • Fix encoding errors for string locals containing non-ASCII characters.

    Kataoka Katsuki

  • Fix collection caching to only forward expires_in argument if explicitly set.

    Pieter Visser

Action Pack

  • No changes.

Active Job

  • No changes.

Action Mailer

  • No changes.

Action Cable

  • No changes.

Active Storage

  • Fix ActiveStorage::Blob content type predicate methods to handle nil.

    Daichi KUDO

Action Mailbox

  • No changes.

Action Text

  • No changes.

Railties

  • Add libvips to generated ci.yml

    Conditionally adds libvips to ci.yml.

    Steve Polito

Guides

  • No changes.

v8.1.2.1: 8.1.2.1

Compare Source

Active Support

  • Reject scientific notation in NumberConverter

    [CVE-2026-33176]

    Jean Boussier

  • Fix SafeBuffer#% to preserve unsafe status

    [CVE-2026-33170]

    Jean Boussier

  • Improve performance of NumberToDelimitedConverter

    [CVE-2026-33169]

    Jean Boussier

Active Model

  • No changes.

Active Record

  • No changes.

Action View

  • Skip blank attribute names in tag helpers to avoid generating invalid HTML.

    [CVE-2026-33168]

    Mike Dalessio

Action Pack

  • Fix possible XSS in DebugExceptions middleware

    [CVE-2026-33167]

    John Hawthorn

Active Job

  • No changes.

Action Mailer

  • No changes.

Action Cable

  • No changes.

Active Storage

  • Filter user supplied metadata in DirectUploadController

    [CVE-2026-33173]

    Jean Boussier

  • Configurable maxmimum streaming chunk size

    Makes sure that byte ranges for blobs don't exceed 100mb by default.
    Content ranges that are too big can result in denial of service.

    [CVE-2026-33174]

    Gannon McGibbon

  • Limit range requests to a single range

    [CVE-2026-33658]

    Jean Boussier

  • Prevent path traversal in DiskService.

    DiskService#path_for now raises an InvalidKeyError when passed keys with dot segments (".",
    ".."), or if the resolved path is outside the storage root directory.

    #path_for also now consistently raises InvalidKeyError if the key is invalid in any way, for
    example containing null bytes or having an incompatible encoding. Previously, the exception
    raised may have been ArgumentError or Encoding::CompatibilityError.

    DiskController now explicitly rescues InvalidKeyError with appropriate HTTP status codes.

    [CVE-2026-33195]

    Mike Dalessio

  • Prevent glob injection in DiskService#delete_prefixed.

    Escape glob metacharacters in the resolved path before passing to Dir.glob.

    Note that this change breaks any existing code that is relying on delete_prefixed to expand
    glob metacharacters. This change presumes that is unintended behavior (as other storage services
    do not respect these metacharacters).

    [CVE-2026-33202]

    Mike Dalessio

Action Mailbox

  • No changes.

Action Text

  • No changes.

Railties

  • No changes.

Guides

  • No changes.

v8.1.2: 8.1.2

Compare Source

Active Support

  • Make delegate and delegate_missing_to work in BasicObject subclasses.

    Rafael Mendonça França

  • Fix Inflectors when using a locale that fallbacks to :en.

    Said Kaldybaev

  • Fix ActiveSupport::TimeWithZone#as_json to consistently return UTF-8 strings.

    Previously the returned string would sometime be encoded in US-ASCII, which in
    some cases may be problematic.

    Now the method consistently always return UTF-8 strings.

    Jean Boussier

  • Fix TimeWithZone#xmlschema when wrapping a DateTime instance in local time.

    Previously it would return an invalid time.

    Dmytro Rymar

  • Implement LocalCache strategy on ActiveSupport::Cache::MemoryStore. The memory store
    needs to respond to the same interface as other cache stores (e.g. ActiveSupport::NullStore).

    Mikey Gough

  • Fix ActiveSupport::Inflector.humanize with international characters.

    ActiveSupport::Inflector.humanize("áÉÍÓÚ")  # => "Áéíóú"
    ActiveSupport::Inflector.humanize("аБВГДЕ") # => "Абвгде"
    

    Jose Luis Duran

Active Model

  • No changes.

Active Record

  • Fix counting cached queries in ActiveRecord::RuntimeRegistry.

    fatkodima

  • Fix merging relations with arel equality predicates with null relations.

    fatkodima

  • Fix SQLite3 schema dump for non-autoincrement integer primary keys.

    Previously, schema.rb should incorrectly restore that table with an auto incrementing
    primary key.

    Chris Hasiński

  • Fix PostgreSQL schema_search_path not being reapplied after reset! or reconnect!.

    The schema_search_path configured in database.yml is now correctly
    reapplied instead of falling back to PostgreSQL defaults.

    Tobias Egli

  • Restore the ability of enum to be foats.

    enum :rating, { low: 0.0, medium: 0.5, high: 1.0 },
    

    In Rails 8.1.0, enum values are eagerly validated, and floats weren't expected.

    Said Kaldybaev

  • Ensure batched preloaded associations accounts for klass when grouping to avoid issues with STI.

    zzak, Stjepan Hadjic

  • Fix ActiveRecord::SoleRecordExceeded#record to return the relation.

    This was the case until Rails 7.2, but starting from 8.0 it
    started mistakenly returning the model class.

    Jean Boussier

  • Improve PostgreSQLAdapter resilience to Timeout.timeout.

    Better handle asynchronous exceptions being thrown inside
    the reconnect! method.

    This may fixes some deep errors such as:

    undefined method `key?' for nil:NilClass (NoMethodError)
              if !type_map.key?(oid)
    

    Jean Boussier

  • Fix structured events for Active Record was not being emitted.

    Yuji Yaginuma

  • Fix eager_load when loading has_many assocations with composite primary keys.

    This would result in some records being loaded multiple times.

    Martin-Alexander

Action View

  • Fix file_field to join mime types with a comma when provided as Array

    file_field(:article, :image, accept: ['image/png', 'image/gif', 'image/jpeg'])
    

    Now behaves likes:

    file_field(:article, :image, accept: 'image/png,image/gif,image/jpeg')
    

    Bogdan Gusiev

  • Fix strict locals parsing to handle multiline definitions.

    Said Kaldybaev

  • Fix content_security_policy_nonce error in mailers when using content_security_policy_nonce_auto setting.

    The content_security_policy_nonce helper is provided by ActionController::ContentSecurityPolicy, and it relies on request.content_security_policy_nonce. Mailers lack both the module and the request object.

    Jarrett Lusso

Action Pack

  • Add config.action_controller.live_streaming_excluded_keys to control execution state sharing in ActionController::Live.

    When using ActionController::Live, actions are executed in a separate thread that shares
    state from the parent thread. This new configuration allows applications to opt-out specific
    state keys that should not be shared.

    This is useful when streaming inside a connected_to block, where you may want
    the streaming thread to use its own database connection context.

    # config/application.rb
    config.action_controller.live_streaming_excluded_keys = [:active_record_connected_to_stack]
    

    By default, all keys are shared.

    Eileen M. Uchitelle

  • Fix IpSpoofAttackError message to include Forwarded header content.

    Without it, the error message may be misleading.

    zzak

Active Job

  • Fix ActiveJob.perform_all_later to respect job_class.enqueue_after_transaction_commit.

    Previously, perform_all_later would enqueue all jobs immediately, even if
    they had enqueue_after_transaction_commit = true. Now it correctly defers
    jobs with this setting until after transaction commits, matching the behavior
    of perform_later.

    OuYangJinTing

  • Fix using custom serializers with ActiveJob::Arguments.serialize when
    ActiveJob::Base hasn't been loaded.

    Hartley McGuire

Action Mailer

  • No changes.

Action Cable

  • No changes.

Active Storage

  • Restore ADC when signing URLs with IAM for GCS

    ADC was previously used for automatic authorization when signing URLs with IAM.
    Now it is again, but the auth client is memoized so that new credentials are only
    requested when the current ones expire. Other auth methods can now be used
    instead by setting the authorization on ActiveStorage::Service::GCSService#iam_client.

    ActiveStorage::Blob.service.iam_client.authorization = Google::Auth::ImpersonatedServiceAccountCredentials.new(options)
    

    This is safer than setting Google::Apis::RequestOptions.default.authorization
    because it only applies to Active Storage and does not affect other Google API
    clients.

    Justin Malčić

Action Mailbox

  • No changes.

Action Text

  • No changes.

Railties

  • Skip all system test files on app generation.

    Eileen M. Uchitelle

  • Fix db:system:change to correctly update Dockerfile base packages.

    Josiah Smith

  • Fix devcontainer volume mount when app name differs from folder name.

    Rafael Mendonça França

  • Fixed the rails notes command to properly extract notes in CSS files.

    David White

  • Fixed the default Dockerfile to properly include the vendor/ directory during bundle install.

    Zhong Sheng

Guides

  • No changes.

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Adoption](https://docs.renovatebot.com/merge-confidence/) | [Passing](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---|---|---| | [rails](https://rubyonrails.org) ([source](https://github.com/rails/rails), [changelog](https://github.com/rails/rails/releases/tag/v8.1.3)) | `8.1.1` → `8.1.3` | ![age](https://developer.mend.io/api/mc/badges/age/rubygems/rails/8.1.3?slim=true) | ![adoption](https://developer.mend.io/api/mc/badges/adoption/rubygems/rails/8.1.3?slim=true) | ![passing](https://developer.mend.io/api/mc/badges/compatibility/rubygems/rails/8.1.1/8.1.3?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/rubygems/rails/8.1.1/8.1.3?slim=true) | --- ### Release Notes <details> <summary>rails/rails (rails)</summary> ### [`v8.1.3`](https://github.com/rails/rails/releases/tag/v8.1.3): 8.1.3 [Compare Source](https://github.com/rails/rails/compare/v8.1.2.1...v8.1.3) #### Active Support - Fix `JSONGemCoderEncoder` to correctly serialize custom object hash keys. When hash keys are custom objects whose `as_json` returns a Hash, the encoder now calls `to_s` on the original key object instead of on the `as_json` result. Before: hash = {CustomKey.new(123) => "value"} hash.to\_json # => {"{:id=>123}":"value"} After: hash.to\_json # => {"custom\_123":"value"} *Dan Sharp* - Fix inflections to better handle overlapping acronyms. ```ruby ActiveSupport::Inflector.inflections(:en) do |inflect| inflect.acronym "USD" inflect.acronym "USDC" end "USDC".underscore # => "usdc" ``` *Said Kaldybaev* - Silence Dalli 4.0+ warning when using `ActiveSupport::Cache::MemCacheStore`. *zzak* #### Active Model - Fix Ruby 4.0 delegator warning when calling inspect on attributes. *Hammad Khan* - Fix `NoMethodError` when deserialising `Type::Integer` objects marshalled under Rails 8.0. The performance optimisation that replaced `@range` with `@max`/`@min` broke Marshal compatibility. Objects serialised under 8.0 (with `@range`) and deserialised under 8.1 (expecting `@max`/`@min`) would crash with `undefined method '<=' for nil` because `Marshal.load` restores instance variables without calling `initialize`. *Edward Woodcock* #### Active Record - Fix `insert_all` and `upsert_all` log message when called on anonymous classes. *Gabriel Sobrinho* - Respect `ActiveRecord::SchemaDumper.ignore_tables` when dumping SQLite virtual tables. *Hans Schnedlitz* - Restore previous instrumenter after `execute_or_skip` `FutureResult#execute_or_skip` replaces the thread's instrumenter with an `EventBuffer` to collect events published during async query execution. If the global async executor is saturated and the `caller_runs` fallback executes the task on the calling thread, we need to make sure the previous instrumenter is restored or the stale `EventBuffer` would stay in place and permanently swallow all subsequent `sql.active_record` notifications on that thread. *Rosa Gutierrez* - Bump the minimum PostgreSQL version to 9.5, due to usage of `array_position` function. *Ivan Kuchin* - Fix Ruby 4.0 delegator warning when calling inspect on ActiveRecord::Type::Serialized. *Hammad Khan* - Fix support for table names containing hyphens. *Evgeniy Demin* - Fix column deduplication for SQLite3 and PostgreSQL virtual (generated) columns. `Column#==` and `Column#hash` now account for `virtual?` so that the `Deduplicable` registry does not treat a generated column and a regular column with the same name and type as identical. Previously, if a generated column was registered first, a regular column on a different table could be deduplicated to the generated instance, silently excluding it from INSERT/UPDATE statements. *Jay Huber* - Fix PostgreSQL schema dumping to handle schema-qualified table names in foreign\_key references that span different schemas. ### before ``` add_foreign_key "hst.event_log_attributes", "hst.event_logs" # emits correctly because they're in the same schema (hst) add_foreign_key "hst.event_log_attributes", "hst.usr.user_profiles", column: "created_by_id" # emits hst.user.* when user.* is expected ``` ### after ``` add_foreign_key "hst.event_log_attributes", "hst.event_logs" add_foreign_key "hst.event_log_attributes", "usr.user_profiles", column: "created_by_id" *Chiperific* ``` #### Action View - Fix encoding errors for string locals containing non-ASCII characters. *Kataoka Katsuki* - Fix collection caching to only forward `expires_in` argument if explicitly set. *Pieter Visser* #### Action Pack - No changes. #### Active Job - No changes. #### Action Mailer - No changes. #### Action Cable - No changes. #### Active Storage - Fix `ActiveStorage::Blob` content type predicate methods to handle `nil`. *Daichi KUDO* #### Action Mailbox - No changes. #### Action Text - No changes. #### Railties - Add `libvips` to generated `ci.yml` Conditionally adds `libvips` to `ci.yml`. *Steve Polito* #### Guides - No changes. ### [`v8.1.2.1`](https://github.com/rails/rails/releases/tag/v8.1.2.1): 8.1.2.1 [Compare Source](https://github.com/rails/rails/compare/v8.1.2...v8.1.2.1) #### Active Support - Reject scientific notation in NumberConverter \[CVE-2026-33176] *Jean Boussier* - Fix `SafeBuffer#%` to preserve unsafe status \[CVE-2026-33170] *Jean Boussier* - Improve performance of NumberToDelimitedConverter \[CVE-2026-33169] *Jean Boussier* #### Active Model - No changes. #### Active Record - No changes. #### Action View - Skip blank attribute names in tag helpers to avoid generating invalid HTML. \[CVE-2026-33168] *Mike Dalessio* #### Action Pack - Fix possible XSS in DebugExceptions middleware \[CVE-2026-33167] *John Hawthorn* #### Active Job - No changes. #### Action Mailer - No changes. #### Action Cable - No changes. #### Active Storage - Filter user supplied metadata in DirectUploadController \[CVE-2026-33173] *Jean Boussier* - Configurable maxmimum streaming chunk size Makes sure that byte ranges for blobs don't exceed 100mb by default. Content ranges that are too big can result in denial of service. \[CVE-2026-33174] *Gannon McGibbon* - Limit range requests to a single range \[CVE-2026-33658] *Jean Boussier* - Prevent path traversal in `DiskService`. `DiskService#path_for` now raises an `InvalidKeyError` when passed keys with dot segments (".", ".."), or if the resolved path is outside the storage root directory. `#path_for` also now consistently raises `InvalidKeyError` if the key is invalid in any way, for example containing null bytes or having an incompatible encoding. Previously, the exception raised may have been `ArgumentError` or `Encoding::CompatibilityError`. `DiskController` now explicitly rescues `InvalidKeyError` with appropriate HTTP status codes. \[CVE-2026-33195] *Mike Dalessio* - Prevent glob injection in `DiskService#delete_prefixed`. Escape glob metacharacters in the resolved path before passing to `Dir.glob`. Note that this change breaks any existing code that is relying on `delete_prefixed` to expand glob metacharacters. This change presumes that is unintended behavior (as other storage services do not respect these metacharacters). \[CVE-2026-33202] *Mike Dalessio* #### Action Mailbox - No changes. #### Action Text - No changes. #### Railties - No changes. #### Guides - No changes. ### [`v8.1.2`](https://github.com/rails/rails/releases/tag/v8.1.2): 8.1.2 [Compare Source](https://github.com/rails/rails/compare/v8.1.1...v8.1.2) #### Active Support - Make `delegate` and `delegate_missing_to` work in BasicObject subclasses. *Rafael Mendonça França* - Fix Inflectors when using a locale that fallbacks to `:en`. *Said Kaldybaev* - Fix `ActiveSupport::TimeWithZone#as_json` to consistently return UTF-8 strings. Previously the returned string would sometime be encoded in US-ASCII, which in some cases may be problematic. Now the method consistently always return UTF-8 strings. *Jean Boussier* - Fix `TimeWithZone#xmlschema` when wrapping a `DateTime` instance in local time. Previously it would return an invalid time. *Dmytro Rymar* - Implement LocalCache strategy on `ActiveSupport::Cache::MemoryStore`. The memory store needs to respond to the same interface as other cache stores (e.g. `ActiveSupport::NullStore`). *Mikey Gough* - Fix `ActiveSupport::Inflector.humanize` with international characters. ```ruby ActiveSupport::Inflector.humanize("áÉÍÓÚ") # => "Áéíóú" ActiveSupport::Inflector.humanize("аБВГДЕ") # => "Абвгде" ``` *Jose Luis Duran* #### Active Model - No changes. #### Active Record - Fix counting cached queries in `ActiveRecord::RuntimeRegistry`. *fatkodima* - Fix merging relations with arel equality predicates with null relations. *fatkodima* - Fix SQLite3 schema dump for non-autoincrement integer primary keys. Previously, `schema.rb` should incorrectly restore that table with an auto incrementing primary key. *Chris Hasiński* - Fix PostgreSQL `schema_search_path` not being reapplied after `reset!` or `reconnect!`. The `schema_search_path` configured in `database.yml` is now correctly reapplied instead of falling back to PostgreSQL defaults. *Tobias Egli* - Restore the ability of enum to be foats. ```ruby enum :rating, { low: 0.0, medium: 0.5, high: 1.0 }, ``` In Rails 8.1.0, enum values are eagerly validated, and floats weren't expected. *Said Kaldybaev* - Ensure batched preloaded associations accounts for klass when grouping to avoid issues with STI. *zzak*, *Stjepan Hadjic* - Fix `ActiveRecord::SoleRecordExceeded#record` to return the relation. This was the case until Rails 7.2, but starting from 8.0 it started mistakenly returning the model class. *Jean Boussier* - Improve PostgreSQLAdapter resilience to Timeout.timeout. Better handle asynchronous exceptions being thrown inside the `reconnect!` method. This may fixes some deep errors such as: ``` undefined method `key?' for nil:NilClass (NoMethodError) if !type_map.key?(oid) ``` *Jean Boussier* - Fix structured events for Active Record was not being emitted. *Yuji Yaginuma* - Fix `eager_load` when loading `has_many` assocations with composite primary keys. This would result in some records being loaded multiple times. *Martin-Alexander* #### Action View - Fix `file_field` to join mime types with a comma when provided as Array ```ruby file_field(:article, :image, accept: ['image/png', 'image/gif', 'image/jpeg']) ``` Now behaves likes: ``` file_field(:article, :image, accept: 'image/png,image/gif,image/jpeg') ``` *Bogdan Gusiev* - Fix strict locals parsing to handle multiline definitions. *Said Kaldybaev* - Fix `content_security_policy_nonce` error in mailers when using `content_security_policy_nonce_auto` setting. The `content_security_policy_nonce helper` is provided by `ActionController::ContentSecurityPolicy`, and it relies on `request.content_security_policy_nonc`e. Mailers lack both the module and the request object. *Jarrett Lusso* #### Action Pack - Add `config.action_controller.live_streaming_excluded_keys` to control execution state sharing in ActionController::Live. When using ActionController::Live, actions are executed in a separate thread that shares state from the parent thread. This new configuration allows applications to opt-out specific state keys that should not be shared. This is useful when streaming inside a `connected_to` block, where you may want the streaming thread to use its own database connection context. ```ruby # config/application.rb config.action_controller.live_streaming_excluded_keys = [:active_record_connected_to_stack] ``` By default, all keys are shared. *Eileen M. Uchitelle* - Fix `IpSpoofAttackError` message to include `Forwarded` header content. Without it, the error message may be misleading. *zzak* #### Active Job - Fix `ActiveJob.perform_all_later` to respect `job_class.enqueue_after_transaction_commit`. Previously, `perform_all_later` would enqueue all jobs immediately, even if they had `enqueue_after_transaction_commit = true`. Now it correctly defers jobs with this setting until after transaction commits, matching the behavior of `perform_later`. *OuYangJinTing* - Fix using custom serializers with `ActiveJob::Arguments.serialize` when `ActiveJob::Base` hasn't been loaded. *Hartley McGuire* #### Action Mailer - No changes. #### Action Cable - No changes. #### Active Storage - Restore ADC when signing URLs with IAM for GCS ADC was previously used for automatic authorization when signing URLs with IAM. Now it is again, but the auth client is memoized so that new credentials are only requested when the current ones expire. Other auth methods can now be used instead by setting the authorization on `ActiveStorage::Service::GCSService#iam_client`. ```ruby ActiveStorage::Blob.service.iam_client.authorization = Google::Auth::ImpersonatedServiceAccountCredentials.new(options) ``` This is safer than setting `Google::Apis::RequestOptions.default.authorization` because it only applies to Active Storage and does not affect other Google API clients. *Justin Malčić* #### Action Mailbox - No changes. #### Action Text - No changes. #### Railties - Skip all system test files on app generation. *Eileen M. Uchitelle* - Fix `db:system:change` to correctly update Dockerfile base packages. *Josiah Smith* - Fix devcontainer volume mount when app name differs from folder name. *Rafael Mendonça França* - Fixed the `rails notes` command to properly extract notes in CSS files. *David White* - Fixed the default Dockerfile to properly include the `vendor/` directory during `bundle install`. *Zhong Sheng* #### Guides - No changes. </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi43NC4xIiwidXBkYXRlZEluVmVyIjoiNDMuMTAxLjIiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=-->
Update dependency rails to v8.1.2
All checks were successful
ci/woodpecker/pr/test Pipeline was successful
76320a6a51
renovate force-pushed renovate/ruby-on-rails-packages from 76320a6a51
All checks were successful
ci/woodpecker/pr/test Pipeline was successful
to f07c3f0965
All checks were successful
ci/woodpecker/pr/test Pipeline was successful
2026-03-23 20:00:58 +00:00
Compare
renovate changed title from Update dependency rails to v8.1.2 to Update dependency rails to v8.1.2.1 2026-03-23 20:01:03 +00:00
renovate force-pushed renovate/ruby-on-rails-packages from f07c3f0965
All checks were successful
ci/woodpecker/pr/test Pipeline was successful
to 681b8a6a15
All checks were successful
ci/woodpecker/pr/test Pipeline was successful
2026-03-24 20:30:53 +00:00
Compare
renovate changed title from Update dependency rails to v8.1.2.1 to Update dependency rails to v8.1.3 2026-03-24 20:30:58 +00:00
All checks were successful
ci/woodpecker/pr/test Pipeline was successful
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin renovate/ruby-on-rails-packages:renovate/ruby-on-rails-packages
git switch renovate/ruby-on-rails-packages

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff renovate/ruby-on-rails-packages
git switch renovate/ruby-on-rails-packages
git rebase main
git switch main
git merge --ff-only renovate/ruby-on-rails-packages
git switch renovate/ruby-on-rails-packages
git rebase main
git switch main
git merge --no-ff renovate/ruby-on-rails-packages
git switch main
git merge --squash renovate/ruby-on-rails-packages
git switch main
git merge --ff-only renovate/ruby-on-rails-packages
git switch main
git merge renovate/ruby-on-rails-packages
git push origin main
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
casper/advent_leaderboard!315
No description provided.