Skip to content

Update rails 8.1.1 → 8.1.2 (patch)#407

Merged
depfu[bot] merged 2 commits intomasterfrom
depfu/update/group/rails-8.1.2
Jan 12, 2026
Merged

Update rails 8.1.1 → 8.1.2 (patch)#407
depfu[bot] merged 2 commits intomasterfrom
depfu/update/group/rails-8.1.2

Conversation

@depfu
Copy link
Contributor

@depfu depfu bot commented Jan 9, 2026

Here is everything you need to know about this update. Please take a good look at what changed and the test results before merging this pull request.

What changed?

✳️ rails (8.1.1 → 8.1.2) · Repo

Release Notes

8.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.

    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.

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ actioncable (indirect, 8.1.1 → 8.1.2) · Repo · Changelog

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ actionmailbox (indirect, 8.1.1 → 8.1.2) · Repo · Changelog

↗️ actionmailer (indirect, 8.1.1 → 8.1.2) · Repo · Changelog

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ actionpack (indirect, 8.1.1 → 8.1.2) · Repo · Changelog

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ actiontext (indirect, 8.1.1 → 8.1.2) · Repo · Changelog

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ actionview (indirect, 8.1.1 → 8.1.2) · Repo · Changelog

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ activejob (indirect, 8.1.1 → 8.1.2) · Repo · Changelog

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ activemodel (indirect, 8.1.1 → 8.1.2) · Repo · Changelog

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ activerecord (indirect, 8.1.1 → 8.1.2) · Repo · Changelog

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ activestorage (indirect, 8.1.1 → 8.1.2) · Repo · Changelog

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ activesupport (indirect, 8.1.1 → 8.1.2) · Repo · Changelog

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ net-imap (indirect, 0.5.12 → 0.6.2) · Repo

Release Notes

0.6.2

What's Changed

Fixed

Full Changelog: v0.6.1...v0.6.2

0.6.1

What's Changed

Fixed

  • 🐛 Fix SequenceSet#max(n) when cardinality < n <= size by @nevans in #580

Miscellaneous

  • ⬆️ Bump step-security/harden-runner from 2.13.3 to 2.14.0 by @dependabot[bot] in #579

Full Changelog: v0.6.0...v0.6.1

0.6.0

What's Changed

Breaking Changes

  • 🔧 Update default config for v0.6 by @nevans in #539
    • responses_without_block changed from :warn to :frozen_dup
    • parser_use_deprecated_uidplus_data changed from :up_to_max_size to false (and is deprecated)
    • parser_max_deprecated_uidplus_data_size changed from 100 to 0 (and is deprecated)
  • 🔥 Use psych (>= 5.2.5) for encoding Data objects by @nevans in #543
    This changes the YAML tag for Data subclasses from ruby/object:Net::IMAP::DataSubclass to ruby/data:Net::IMAP::DataSubclass. YAML dumped by earlier net-imap versions may not load correctly. Psych >= 5.2.5 is required to dump these objects correctly.
  • 💥 Require ruby >= 3.2 (drop support for 3.1) by @nevans in #538
  • 💥✨ Change SequenceSet#size to count * and repeated numbers by @nevans in #564
    SequenceSet is used to represent both sorted sets and ordered lists (which may contain duplicates). Members are non-zero UInt32 numbers, but "*" has special meaning as "the number corresponding to the last mailbox entry". So there are four different ways to count the members of a SequenceSet.
    Previously, #size was an alias for #count. Now it differs in both relevant aspects.
    * is a unique member * is treated like 2³² - 1
    distinct set members #cardinality #count
    ordered list, including duplicates #size #count_with_duplicates
  • 🔥 Remove deprecated UIDPlusData class by @nevans in #540
    UIDPlusData was deprecated by v0.5.6. AppendUIDData or CopyUIDData will always be returned instead.
  • 🔥 Delete deprecated MessageSet by @nevans in #573
    MessageSet was deprecated by v0.5.0. Use SequenceSet instead.
  • 💥 Do not include OpenSSL and OpenSSL::SSL modules into Net::IMAP by @nevans in #533
    This only affects the ability to use OpenSSL constants from the Net::IMAP namespace.
  • 💥 Don't set verify_callback to VerifyCallbackProc by @nevans in #534
    This functionality was never documented and is redundant with the verify_callback option.

Deprecated

  • Deprecated config options for UIDPlusData in #540
    The parser_use_deprecated_uidplus_data and parser_max_deprecated_uidplus_data_size config options will be removed in v0.7.0. They are kept for backward compatibility, but they do not affect response parser results. When parser_use_deprecated_uidplus_data is changed from the default value (false), deprecation warnings are printed when parsing APPENDUID or COPYUID response codes.

Added

  • 🔒 Add when_capabilities_cached option for Config#sasl_ir by @nevans in #561
  • Net::IMAP::Config improvements
    • 🔍 Improve Config#inspect output by @nevans in #546
    • 🔍 Improve Config#pretty_print (for Kernel::pp) by @nevans in #547
    • 🔧 Update Config#inherited? for any number of args by @nevans in #552
  • Net::IMAP::SequenceSet improvements
    • ✨ Add SequenceSet#intersect! for in-place set AND by @nevans in #549
    • ✨ Add SequenceSet#xor! for in-place set XOR by @nevans in #550
    • ♻️ Coalesce entries in SequenceSet#append by @nevans in #553
    • ✨ Add SequenceSet#normalized? by @nevans in #558
    • ✨ Add SequenceSet#cardinality method by @nevans in #563
    • 💥✨ Change SequenceSet#size to count * and repeated numbers by @nevans in #564
  • Net::IMAP::NumValidator improvements
    • 🏷️ Support mod-sequence-valzer (RFC4551) in NumValidator by @nevans in #570
    • 🏷️ Add NumValidator.coerce_{type} methods by @nevans in #571

Documentation

  • 📚 Improve rdoc example for #uid_fetch with partial by @nevans in #532
  • 📚 Document SearchResult/ESearchResult compatibility by @nevans in #559
  • 📚 Minor rdoc formatting fixes by @nevans in #560

Other Changes

  • 🔥 Drop Data polyfill by @nevans in #541
    This was only used for ruby 3.1, which is no longer supported. So this is not considered a breaking change.
  • ♻️ Refactor Config.versioned_defaults to reduce merge conflcts by @nevans in #544
  • Improved Net::IMAP::SequenceSet performance
    • ⚡️ Don't memoize SequenceSet#string on normalized sets by @nevans in #554
    • ⚡ Faster SequenceSet#normalize when frozen by @nevans in #556
    • ⚡️ Faster SequenceSet#full? by @nevans in #565
    • ⚡️ Slightly faster SequenceSet#xor by @nevans in #567
    • ⚡ Avoid allocating arrays for SequenceSet bsearch (♻️ extract abstract strategy methods) by @nevans in #569
    • ♻️ Rename SequenceSet internals by @nevans in #562
    • ♻️ Reorganize SequenceSet internals by @nevans in #568

Miscellaneous

  • ✅ Stop using deprecated UIDPlusData in tests by @nevans in #542
  • ⬆️ Bump step-security/harden-runner from 2.13.1 to 2.13.2 by @dependabot[bot] in #548
  • 🐛 Fix workflow to deploy RDoc to GitHub pages by @nevans in #551
  • ⬆️ Bump actions/checkout from 5 to 6 by @dependabot[bot] in #555
  • 📦 Update release.yml for github_actions label by @nevans in #557
  • ⬆️ Bump step-security/harden-runner from 2.13.2 to 2.13.3 by @dependabot[bot] in #566
  • 🔖 Release 0.6 by @nevans in #574
  • Workarounds for "Publishing gem fails with digest gem activation failure" issue #576
    • 📦 Use latest rubygems/bundler to release gem by @nevans in #575
    • 📦 Drop digest from Gemfile by @nevans in #577

Full Changelog: v0.5.12...v0.6.0

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ nio4r (indirect, 2.7.4 → 2.7.5) · Repo · Changelog

Commits

See the full diff on Github. The new version differs by 4 commits:

↗️ railties (indirect, 8.1.1 → 8.1.2) · Repo · Changelog

Commits

See the full diff on Github. The new version differs by more commits than we can show here.

↗️ thor (indirect, 1.4.0 → 1.5.0) · Repo · Changelog

Release Notes

1.5.0

What's Changed

New Contributors

Full Changelog: v1.4.0...v1.5.0

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by 25 commits:

↗️ timeout (indirect, 0.4.4 → 0.6.0) · Repo

Release Notes

0.6.0

What's Changed

  • Suppress warnings in two tests by @olleolleolle in #71
  • Revert "Suppress warnings in two tests" by @nobu in #74
  • Only the timeout method should be public on the Timeout module by @eregon in #76
  • support Ractor by @ko1 in #75
  • Test that Timeout does not expose extra constants by @eregon in #77
  • Revert "Exclude constantly-failing test on x86_64-darwin" by @ko1 in #79
  • Reset the interrupt mask when creating the Timeout thread by @eregon in #80
  • Make Timeout.timeout work in a trap handler on CRuby by @eregon in #81
  • Skip signal test on windows by @byroot in #82
  • Add windows to CI matrix by @byroot in #83
  • Fix failing timeout test by @luke-gruber in #85
  • Restore original signal handler in test_timeout_in_trap_handler by @eregon in #87
  • Run on Windows for all versions and remove old excludes by @eregon in #84

New Contributors

Full Changelog: v0.4.4...v0.6.0

0.5.0

What's Changed

  • Suppress warnings in two tests by @olleolleolle in #71
  • Revert "Suppress warnings in two tests" by @nobu in #74
  • Only the timeout method should be public on the Timeout module by @eregon in #76
  • support Ractor by @ko1 in #75
  • Test that Timeout does not expose extra constants by @eregon in #77

New Contributors

  • @ko1 made their first contribution in #75

Full Changelog: v0.4.4...v0.5.0

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by 32 commits:


Depfu Status

Depfu will automatically keep this PR conflict-free, as long as you don't add any commits to this branch yourself. You can also trigger a rebase manually by commenting with @depfu rebase.

All Depfu comment commands
@​depfu rebase
Rebases against your default branch and redoes this update
@​depfu recreate
Recreates this PR, overwriting any edits that you've made to it
@​depfu merge
Merges this PR once your tests are passing and conflicts are resolved
@​depfu cancel merge
Cancels automatic merging of this PR
@​depfu close
Closes this PR and deletes the branch
@​depfu reopen
Restores the branch and reopens this PR (if it's closed)
@​depfu pause
Ignores all future updates for this dependency and closes this PR
@​depfu pause [minor|major]
Ignores all future minor/major updates for this dependency and closes this PR
@​depfu resume
Future versions of this dependency will create PRs again (leaves this PR as is)

@depfu depfu bot added the depfu label Jan 9, 2026
@klausmeyer
Copy link
Owner

@depfu merge

@depfu depfu bot merged commit ae0f38e into master Jan 12, 2026
5 checks passed
@depfu depfu bot deleted the depfu/update/group/rails-8.1.2 branch January 12, 2026 17:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant