Active Support
-
Remove deprecated support to passing an array of strings to
ActiveSupport::Deprecation#warn
.Rafael Mendonça França
-
Remove deprecated support to setting
attr_internal_naming_format
with a@
prefix.Rafael Mendonça França
-
Remove deprecated
ActiveSupport::ProxyObject
.Rafael Mendonça França
-
Don't execute i18n watcher on boot. It shouldn't catch any file changes initially,
and unnecessarily slows down boot of applications with lots of translations.Gannon McGibbon, David Stosik
-
Fix
ActiveSupport::HashWithIndifferentAccess#stringify_keys
to stringify all keys not just symbols.Previously:
{ 1 => 2 }.with_indifferent_access.stringify_keys[1] # => 2
After this change:
{ 1 => 2 }.with_indifferent_access.stringify_keys["1"] # => 2
This change can be seen as a bug fix, but since it behaved like this for a very long time, we're deciding
to not backport the fix and to make the change in a major release.Jean Boussier
Active Model
-
Add
:except_on
option for validations. Grants the ability to skip validations in specified contexts.class User < ApplicationRecord #... validates :birthday, presence: { except_on: :admin } #... end user = User.new(attributes except birthday) user.save(context: :admin)
Drew Bragg
Active Record
-
Remove deprecated support to setting
ENV["SCHEMA_CACHE"]
.Rafael Mendonça França
-
Remove deprecated support to passing a database name to
cache_dump_filename
.Rafael Mendonça França
-
Remove deprecated
ActiveRecord::ConnectionAdapters::ConnectionPool#connection
.Rafael Mendonça França
-
Remove deprecated
config.active_record.sqlite3_deprecated_warning
.Rafael Mendonça França
-
Remove deprecated
config.active_record.warn_on_records_fetched_greater_than
.Rafael Mendonça França
-
Remove deprecated support for defining
enum
with keyword arguments.Rafael Mendonça França
-
Remove deprecated support to finding database adapters that aren't registered to Active Record.
Rafael Mendonça França
-
Remove deprecated
config.active_record.allow_deprecated_singular_associations_name
.Rafael Mendonça França
-
Remove deprecated
config.active_record.commit_transaction_on_non_local_return
.Rafael Mendonça França
-
Fix incorrect SQL query when passing an empty hash to
ActiveRecord::Base.insert
.David Stosik
-
Allow to save records with polymorphic join tables that have
inverse_of
specified.Markus Doits
-
Fix association scopes applying on the incorrect join when using a polymorphic
has_many through:
.Joshua Young
-
Allow
ActiveRecord::Base#pluck
to accept hash arguments with symbol and string values.Post.joins(:comments).pluck(:id, comments: :id) Post.joins(:comments).pluck("id", "comments" => "id")
Joshua Young
-
Make Float distinguish between
float4
andfloat8
in PostgreSQL.Fixes #52742
Ryota Kitazawa, Takayuki Nagatomi
Action View
-
Remove deprecated support to passing a content to void tag elements on the
tag
builder.Rafael Mendonça França
-
Remove deprecated support to passing
nil
to themodel:
argument ofform_with
.Rafael Mendonça França
Action Pack
-
Remove
Rails.application.config.action_controller.allow_deprecated_parameters_hash_equality
.Rafael Mendonça França
-
Improve
ActionController::TestCase
to expose a binary encodedrequest.body
.The rack spec clearly states:
The input stream is an IO-like object which contains the raw HTTP POST data.
When applicable, its external encoding must be “ASCII-8BIT” and it must be opened in binary mode.Until now its encoding was generally UTF-8, which doesn't accurately reflect production
behavior.Jean Boussier
-
Update
ActionController::AllowBrowser
to support passing method names to:block
class ApplicationController < ActionController::Base allow_browser versions: :modern, block: :handle_outdated_browser private def handle_outdated_browser render file: Rails.root.join("public/custom-error.html"), status: :not_acceptable end end
Sean Doyle
-
Raise an
ArgumentError
when invalid:only
or:except
options are passed into#resource
and#resources
.Joshua Young
Active Job
-
Remove deprecated
config.active_job.use_big_decimal_serializer
.Rafael Mendonça França
Action Mailer
- No changes.
Action Cable
- No changes.
Active Storage
- No changes.
Action Mailbox
- No changes.
Action Text
- No changes.
Railties
-
Remove deprecated support to extend Rails console through
Rails::ConsoleMethods
.Rafael Mendonça França
-
Remove deprecated file
rails/console/helpers
.Rafael Mendonça França
-
Remove deprecated file
rails/console/app
.Rafael Mendonça França
-
Remove deprecated
config.read_encrypted_secrets
.Rafael Mendonça França
-
Add Kamal support for devcontainers
Previously generated devcontainer could not use docker and therefore Kamal.
Joé Dupuis
Guides
- No changes.