rails 7.1.2
Active Support
-
Fix
:expires_inoption forRedisCacheStore#write_multi.fatkodima
-
Fix deserialization of non-string "purpose" field in Message serializer
Jacopo Beschi
-
Prevent global cache options being overwritten when setting dynamic options inside a
ActiveSupport::Cache::Store#fetchblock.Yasha Krasnou
-
Fix missing
requireresulting inNoMethodErrorwhen runningbin/rails secrets:showorbin/rails secrets:edit.Stephen Ierodiaconou
-
Ensure
{down,up}case_firstreturns non-frozen string.Jonathan Hefner
-
Fix
#to_fs(:human_size)to correctly work with negative numbers.Earlopain
-
Fix
BroadcastLogger#dupso that it duplicates the logger'sbroadcasts.Andrew Novoselac
-
Fix issue where
bootstrap.rboverwrites thelevelof aBroadcastLogger'sbroadcasts.Andrew Novoselac
-
Fix
ActiveSupport::Cacheto handle outdated Marshal payload from Rails 6.1 format.Active Support's Cache is supposed to treat a Marshal payload that can no longer be deserialized as a cache miss. It fail to do so for compressed payload in the Rails 6.1 legacy format.
Jean Boussier
-
Fix
OrderedOptions#digfor array indexes.fatkodima
-
Fix time travel helpers to work when nested using with separate classes.
fatkodima
-
Fix
delete_matchedfor file cache store to work with keys longer than the max filename size.fatkodima and Jonathan Hefner
-
Fix compatibility with the
semantic_loggergem.The
semantic_loggergem doesn't behave exactly like stdlib logger in thatSemanticLogger#levelreturns a Symbol while stdlibLogger#levelreturns an Integer.This caused the various
LogSubscriberclasses in Rails to break when assigned aSemanticLoggerinstance.Jean Boussier, ojab
Active Model
-
Make
==(other)method of AttributeSet safe.Dmitry Pogrebnoy
Active Record
-
Fix renaming primary key index when renaming a table with a UUID primary key in PostgreSQL.
fatkodima
-
Fix
where(field: values)queries whenfieldis a serialized attribute (for example, whenfieldusesActiveRecord::Base.serializeor is a JSON column).João Alves
-
Prevent marking broken connections as verified.
Daniel Colson
-
Don't mark Float::INFINITY as changed when reassigning it
When saving a record with a float infinite value, it shouldn't mark as changed
Maicol Bentancor
-
ActiveRecord::Base.table_namenow returnsnilinstead of raising "undefined methodabstract_class?for Object:Class".a5-stable
-
Fix upserting for custom
:on_duplicateand:unique_byconsisting of all inserts keys.fatkodima
-
Fixed an issue where saving a record could innappropriately
dupits attributes.Jonathan Hefner
-
Dump schema only for a specific db for rollback/up/down tasks for multiple dbs.
fatkodima
-
Fix
NoMethodErrorwhen casting a PostgreSQLmoneyvalue that uses a comma as its radix point and has no leading currency symbol. For example, when casting"3,50".Andreas Reischuck and Jonathan Hefner
-
Re-enable support for using
enumwith non-column-backed attributes. Non-column-backed attributes must be previously declared with an explicit type. For example:class Post < ActiveRecord::Base attribute :topic, :string enum topic: %i[science tech engineering math] endJonathan Hefner
-
Raise on
foreign_key:being passed as an array in associationsNikita Vasilevsky
-
Return back maximum allowed PostgreSQL table name to 63 characters.
fatkodima
-
Fix detecting
IDENTITYcolumns for PostgreSQL < 10.fatkodima
Action View
-
Fix the
number_to_human_sizeview helper to correctly work with negative numbers.Earlopain
-
Automatically discard the implicit locals injected by collection rendering for template that can't accept them
When rendering a collection, two implicit variables are injected, which breaks templates with strict locals.
Now they are only passed if the template will actually accept them.
Yasha Krasnou, Jean Boussier
-
Fix
@rails/ujscallingstart()an extra time when using bundlersHartley McGuire, Ryunosuke Sato
-
Fix the
captureview helper compatibility with HAML and SlimWhen a blank string was captured in HAML or Slim (and possibly other template engines) it would instead return the entire buffer.
Jean Boussier
Action Pack
-
Fix a race condition that could cause a
Text file busy - chromedrivererror with parallel system testsMatt Brictson
-
Fix
StrongParameters#extract_valueto include blank valuesOtherwise composite parameters may not be parsed correctly when one of the component is blank.
fatkodima, Yasha Krasnou, Matthias Eiglsperger
-
Add
raccas a dependency since it will become a bundled gem in Ruby 3.4.0Hartley McGuire
-
Support handling Enumerator for non-buffered responses.
Zachary Scott
Active Job
- No changes.
Action Mailer
- No changes.
Action Cable
- No changes.
Active Storage
- No changes.
Action Mailbox
- No changes.
Action Text
-
Compile ESM package that can be used directly in the browser as actiontext.esm.js
Matias Grunberg
-
Fix using actiontext.js with Sprockets
Matias Grunberg
-
Upgrade Trix to 2.0.7
Hartley McGuire
-
Fix using Trix with Sprockets
Hartley McGuire
Railties
-
Fix running
db:system:changewhen app has no Dockerfile.Hartley McGuire
-
If you accessed
config.eager_load_pathsand friends, later changes toconfig.pathswere not reflected in the expected auto/eager load paths. Now, they are.This bug has been latent since Rails 3.
Fixes #49629.
Xavier Noria