rails 6.0.1
Active Support
-
ActiveSupport::SafeBuffersupportsEnumeratormethods.Shugo Maeda
-
The Redis cache store fails gracefully when the server returns a "max number of clients reached" error.
Brandon Medenwald
-
Fixed that mutating a value returned by a memory cache store would unexpectedly change the cached value.
Jonathan Hyman
-
The default inflectors in
zeitwerkmode support overrides:# config/initializers/zeitwerk.rb Rails.autoloaders.each do |autoloader| autoloader.inflector.inflect( "html_parser" => "HTMLParser", "ssl_error" => "SSLError" ) endThat way, you can tweak how individual basenames are inflected without touching Active Support inflection rules, which are global. These inflectors fallback to
String#camelize, so existing inflection rules are still taken into account for non-overridden basenames.Please, check the autoloading guide for
zeitwerkmode if you prefer not to depend onString#camelizeat all.Xavier Noria
-
Improve
Range#===,Range#include?, andRange#cover?to work with beginless (startless) and endless range targets.Allen Hsu, Andrew Hodgkinson
-
Don't use
Process#clock_gettime(CLOCK_PROCESS_CPUTIME_ID)on SolarisIain Beeston
Active Model
- No changes.
Active Record
-
Common Table Expressions are allowed on read-only connections.
Chris Morris
-
New record instantiation respects
unscope.Ryuta Kamizono
-
Fixed a case where
find_in_batchescould halt too early.Takayuki Nakata
-
Autosaved associations always perform validations when a custom validation context is used.
Tekin Suleyman
-
sql.active_recordnotifications now include the:connectionin their payloads.Eugene Kenny
-
A rollback encountered in an
after_commitcallback does not reset previously-committed record state.Ryuta Kamizono
-
Fixed that join order was lost when eager-loading.
Ryuta Kamizono
-
DESCRIBEqueries are allowed on read-only connections.Dylan Thacker-Smith
-
Fixed that records that had been
inspected could not be marshaled.Eugene Kenny
-
The connection pool reaper thread is respawned in forked processes. This fixes that idle connections in forked processes wouldn't be reaped.
John Hawthorn
-
The memoized result of
ActiveRecord::Relation#takeis properly cleared whenActiveRecord::Relation#resetorActiveRecord::Relation#reloadis called.Anmol Arora
-
Fixed the performance regression for
primary_keysintroduced MySQL 8.0.Hiroyuki Ishii
-
insert,insert_all,upsert, andupsert_allnow clear the query cache.Eugene Kenny
-
Call
while_preventing_writesdirectly fromconnected_to.In some cases application authors want to use the database switching middleware and make explicit calls with
connected_to. It's possible for an app to turn off writes and not turn them back on by the time we callconnected_to(role: :writing).This change allows apps to fix this by assuming if a role is writing we want to allow writes, except in the case it's explicitly turned off.
Eileen M. Uchitelle
-
Improve detection of ActiveRecord::StatementTimeout with mysql2 adapter in the edge case when the query is terminated during filesort.
Kir Shatrov
Action View
-
UJS avoids
Element.closest()for IE 9 compatibility.George Claghorn
Action Pack
-
ActionDispatch::SystemTestCasenow inherits fromActiveSupport::TestCaserather thanActionDispatch::IntegrationTest. This permits running jobs in system tests.George Claghorn, Edouard Chin
-
Registered MIME types may contain extra flags:
Mime::Type.register "text/html; fragment", :html_fragmentAaron Patterson
Active Job
- No changes.
Action Mailer
- No changes.
Action Cable
- No changes.
Active Storage
-
ActiveStorage::AnalyzeJobs are discarded onActiveRecord::RecordNotFounderrors.George Claghorn
-
Blobs are recorded in the database before being uploaded to the service. This fixes that generated blob keys could silently collide, leading to data loss.
Julik Tarkhanov
Action Mailbox
- No changes.
Action Text
- No changes.
Railties
-
The
zeitwerk:checkRake task reports files outside the app's root directory, as in engines loaded from gems.Xavier Noria
-
Fixed a possible error when using the evented file update checker.
Yuji Yaginuma
-
The sqlite3 database files created by the parallel testing feature are included in the default
.gitignorefile for newly-generated apps.Yasuo Honda
-
rails newgenerates a.keepfile intmp/pids. This fixes starting a server viarackupinstead ofrails server.Rafael Mendonça França