Update dependency rails to v8.1.3 #315
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "renovate/ruby-on-rails-packages"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR contains the following updates:
8.1.1→8.1.3Release Notes
rails/rails (rails)
v8.1.3: 8.1.3Compare Source
Active Support
Fix
JSONGemCoderEncoderto correctly serialize custom object hash keys.When hash keys are custom objects whose
as_jsonreturns a Hash,the encoder now calls
to_son the original key object instead ofon the
as_jsonresult.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.
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
NoMethodErrorwhen deserialisingType::Integerobjects marshalled under Rails 8.0.The performance optimisation that replaced
@rangewith@max/@minbroke Marshal compatibility. Objects serialised under 8.0 (with
@range)and deserialised under 8.1 (expecting
@max/@min) would crash withundefined method '<=' for nilbecauseMarshal.loadrestores instancevariables without calling
initialize.Edward Woodcock
Active Record
Fix
insert_allandupsert_alllog message when called on anonymous classes.Gabriel Sobrinho
Respect
ActiveRecord::SchemaDumper.ignore_tableswhen dumping SQLite virtual tables.Hans Schnedlitz
Restore previous instrumenter after
execute_or_skipFutureResult#execute_or_skipreplaces the thread's instrumenter with anEventBufferto collect events published during async query execution.If the global async executor is saturated and the
caller_runsfallbackexecutes the task on the calling thread, we need to make sure the previous
instrumenter is restored or the stale
EventBufferwould stay in place andpermanently swallow all subsequent
sql.active_recordnotifications onthat thread.
Rosa Gutierrez
Bump the minimum PostgreSQL version to 9.5, due to usage of
array_positionfunction.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#==andColumn#hashnow account forvirtual?so that theDeduplicableregistry does not treat a generated column and a regularcolumn 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
after
Action View
Fix encoding errors for string locals containing non-ASCII characters.
Kataoka Katsuki
Fix collection caching to only forward
expires_inargument if explicitly set.Pieter Visser
Action Pack
Active Job
Action Mailer
Action Cable
Active Storage
Fix
ActiveStorage::Blobcontent type predicate methods to handlenil.Daichi KUDO
Action Mailbox
Action Text
Railties
Add
libvipsto generatedci.ymlConditionally adds
libvipstoci.yml.Steve Polito
Guides
v8.1.2.1: 8.1.2.1Compare 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
Active Record
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
Action Mailer
Action Cable
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_fornow raises anInvalidKeyErrorwhen passed keys with dot segments (".",".."), or if the resolved path is outside the storage root directory.
#path_foralso now consistently raisesInvalidKeyErrorif the key is invalid in any way, forexample containing null bytes or having an incompatible encoding. Previously, the exception
raised may have been
ArgumentErrororEncoding::CompatibilityError.DiskControllernow explicitly rescuesInvalidKeyErrorwith 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_prefixedto expandglob metacharacters. This change presumes that is unintended behavior (as other storage services
do not respect these metacharacters).
[CVE-2026-33202]
Mike Dalessio
Action Mailbox
Action Text
Railties
Guides
v8.1.2: 8.1.2Compare Source
Active Support
Make
delegateanddelegate_missing_towork in BasicObject subclasses.Rafael Mendonça França
Fix Inflectors when using a locale that fallbacks to
:en.Said Kaldybaev
Fix
ActiveSupport::TimeWithZone#as_jsonto 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#xmlschemawhen wrapping aDateTimeinstance in local time.Previously it would return an invalid time.
Dmytro Rymar
Implement LocalCache strategy on
ActiveSupport::Cache::MemoryStore. The memory storeneeds to respond to the same interface as other cache stores (e.g.
ActiveSupport::NullStore).Mikey Gough
Fix
ActiveSupport::Inflector.humanizewith international characters.Jose Luis Duran
Active Model
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.rbshould incorrectly restore that table with an auto incrementingprimary key.
Chris Hasiński
Fix PostgreSQL
schema_search_pathnot being reapplied afterreset!orreconnect!.The
schema_search_pathconfigured indatabase.ymlis now correctlyreapplied instead of falling back to PostgreSQL defaults.
Tobias Egli
Restore the ability of enum to be foats.
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#recordto 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:
Jean Boussier
Fix structured events for Active Record was not being emitted.
Yuji Yaginuma
Fix
eager_loadwhen loadinghas_manyassocations with composite primary keys.This would result in some records being loaded multiple times.
Martin-Alexander
Action View
Fix
file_fieldto join mime types with a comma when provided as ArrayNow behaves likes:
Bogdan Gusiev
Fix strict locals parsing to handle multiline definitions.
Said Kaldybaev
Fix
content_security_policy_nonceerror in mailers when usingcontent_security_policy_nonce_autosetting.The
content_security_policy_nonce helperis provided byActionController::ContentSecurityPolicy, and it relies onrequest.content_security_policy_nonce. Mailers lack both the module and the request object.Jarrett Lusso
Action Pack
Add
config.action_controller.live_streaming_excluded_keysto 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_toblock, where you may wantthe streaming thread to use its own database connection context.
By default, all keys are shared.
Eileen M. Uchitelle
Fix
IpSpoofAttackErrormessage to includeForwardedheader content.Without it, the error message may be misleading.
zzak
Active Job
Fix
ActiveJob.perform_all_laterto respectjob_class.enqueue_after_transaction_commit.Previously,
perform_all_laterwould enqueue all jobs immediately, even ifthey had
enqueue_after_transaction_commit = true. Now it correctly defersjobs with this setting until after transaction commits, matching the behavior
of
perform_later.OuYangJinTing
Fix using custom serializers with
ActiveJob::Arguments.serializewhenActiveJob::Basehasn't been loaded.Hartley McGuire
Action Mailer
Action Cable
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.This is safer than setting
Google::Apis::RequestOptions.default.authorizationbecause it only applies to Active Storage and does not affect other Google API
clients.
Justin Malčić
Action Mailbox
Action Text
Railties
Skip all system test files on app generation.
Eileen M. Uchitelle
Fix
db:system:changeto 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 notescommand to properly extract notes in CSS files.David White
Fixed the default Dockerfile to properly include the
vendor/directory duringbundle install.Zhong Sheng
Guides
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.
This PR has been generated by Renovate Bot.
76320a6a51f07c3f0965Update dependency rails to v8.1.2to Update dependency rails to v8.1.2.1f07c3f0965681b8a6a15Update dependency rails to v8.1.2.1to Update dependency rails to v8.1.3View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.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.