More at rubyonrails.org:
More Ruby on Rails
●Blog
●Guides
●API
●Forum
●Contribute on GitHub
Guides
Version:
●Home
●
Models
Active Record Basics
Active Record Migrations
Active Record Validations
Active Record Callbacks
Active Record Associations
Active Record Query Interface
Active Model Basics
Views
Action View Overview
Layouts and Rendering in Rails
Action View Helpers
Action View Form Helpers
Controllers
Action Controller Overview
Rails Routing from the Outside In
Other Components
Active Support Core Extensions
Action Mailer Basics
Action Mailbox Basics
Action Text Overview
Active Job Basics
Active Storage Overview
Action Cable Overview
Digging Deeper
Rails Internationalization (I18n) API
Testing Rails Applications
Securing Rails Applications
Error Reporting in Rails Applications
Debugging Rails Applications
Configuring Rails Applications
The Rails Command Line
The Asset Pipeline
Working with JavaScript in Rails
Autoloading and Reloading
Caching with Rails: An Overview
Using Rails for API-only Applications
Tuning Performance for Deployment
Advanced Active Record
Multiple Databases
Composite Primary Keys
Extending Rails
Rails on Rack
Creating and Customizing Rails Generators & Templates
Contributing
Contributing to Ruby on Rails
API Documentation Guidelines
Guides Guidelines
Installing Rails Core Development Dependencies
Policies
Maintenance Policy
Release Notes
Upgrading Ruby on Rails
Version 7.2 - ?
Version 7.1 - October 2023
Version 7.0 - December 2021
Version 6.1 - December 2020
Version 6.0 - August 2019
Version 5.2 - April 2018
Version 5.1 - April 2017
Version 5.0 - June 2016
Version 4.2 - December 2014
Version 4.1 - April 2014
Version 4.0 - June 2013
Version 3.2 - January 2012
Version 3.1 - August 2011
Version 3.0 - August 2010
Version 2.3 - March 2009
Version 2.2 - November 2008
●Contribute
●
Ruby on Rails 6.0 Release Notes
Highlights in Rails 6.0:
●Action Mailbox
●Action Text
●Parallel Testing
●Action Cable Testing
These release notes cover only the major changes. To learn about various bug
fixes and changes, please refer to the changelogs or check out the list of
commits in the main Rails
repository on GitHub.
Chapters
(一)Upgrading to Rails 6.0
(二)Major Features
●Action Mailbox
●Action Text
●Parallel Testing
●Action Cable Testing
(三)Railties
●Removals
●Deprecations
●Notable changes
(四)Action Cable
●Removals
●Deprecations
●Notable changes
(五)Action Pack
●Removals
●Deprecations
●Notable changes
(六)Action View
●Removals
●Deprecations
●Notable changes
(七)Action Mailer
●Removals
●Deprecations
●Notable changes
(八)Active Record
●Removals
●Deprecations
●Notable changes
(九)Active Storage
●Removals
●Deprecations
●Notable changes
(十)Active Model
●Removals
●Deprecations
●Notable changes
(11)Active Support
●Removals
●Deprecations
●Notable changes
(12)Active Job
●Removals
●Deprecations
●Notable changes
(13)Ruby on Rails Guides
●Notable changes
(14)Credits
If you're upgrading an existing application, it's a great idea to have good test
coverage before going in. You should also first upgrade to Rails 5.2 in case you
haven't and make sure your application still runs as expected before attempting
an update to Rails 6.0. A list of things to watch out for when upgrading is
available in the
Upgrading Ruby on Rails
guide.
Pull Request
Action Mailbox allows you
to route incoming emails to controller-like mailboxes.
You can read more about Action Mailbox in the Action Mailbox Basics guide.
Pull Request
Action Text
brings rich text content and editing to Rails. It includes
the Trix editor that handles everything from formatting
to links to quotes to lists to embedded images and galleries.
The rich text content generated by the Trix editor is saved in its own
RichText model that's associated with any existing Active Record model in the application.
Any embedded images (or other attachments) are automatically stored using
Active Storage and associated with the included RichText model.
You can read more about Action Text in the Action Text Overview guide.
Pull Request
Parallel Testing allows you to parallelize your
test suite. While forking processes is the default method, threading is
supported as well. Running tests in parallel reduces the time it takes
your entire test suite to run.
Pull Request
Action Cable testing tools allow you to test your
Action Cable functionality at any level: connections, channels, broadcasts.
Please refer to the Changelog for detailed changes.
Remove deprecated after_bundle
helper inside plugins templates.
(Commit)
Remove deprecated support to c
onfig.ru
that uses the application
class as argument of run
.
(Commit)
Remove deprecated environment
argument from the rails commands.
(Commit)
Remove deprecated capify!
method in generators and templates.
(Commit)
Remove deprecated config.secre
t_token
.
(Commit)
Deprecate passing Rack server name as a regular argument to r
ails server
.
(Pull Request)
Deprecate support for using HO
ST
environment to specify server IP.
(Pull Request)
Deprecate accessing hashes returned by config_for
by non-symbol keys.
(Pull Request)
Add an explicit option --using
or-u
for specifying the server for the
rails server
command.
(Pull Request)
Add ability to see the output of rails routes
in expanded format.
(Pull Request)
Run the seed database task using inline Active Job adapter.
(Pull Request)
Add a command rails db:system:
change
to change the database of the application.
(Pull Request)
Add rails test:channels
command to test only Action Cable channels.
(Pull Request)
Introduce guard against DNS rebinding attacks.
(Pull Request)
Add ability to abort on failure while running generator commands.
(Pull Request)
Make Webpacker the default JavaScript compiler for Rails 6.
(Pull Request)
Add multiple database support for rails db:migrate:status
command.
(Pull Request)
Add ability to use different migration paths from multiple databases in
the generators.
(Pull Request)
Add support for multi environment credentials.
(Pull Request)
Make null_store
as default cache store in test environment.
(Pull Request)
Please refer to the Changelog for detailed changes.
● Replace ActionCable.startDebug
ging()
and ActionCable.stopDebu
gging()
with ActionCable.logger.
enabled
.
(Pull Request)
● There are no deprecations for Action Cable in Rails 6.0.
Add support for the channel_pr
efix
option for PostgreSQL subscription adapters
in cable.yml
.
(Pull Request)
Allow passing a custom configuration to ActionCable::Server::
Base
.
(Pull Request)
Add :action_cable_connection
and :action_cable_channel
load hooks.
(Pull Request)
Add Channel::Base#broadcast_to
and Channel::Base.broadcasting
_for
.
(Pull Request)
Close a connection when calling reject_unauthorized_connectio
n
from an
ActionCable::Connectio
n
.
(Pull Request)
Convert the Action Cable JavaScript package from CoffeeScript to ES2015 and
publish the source code in the npm distribution.
(Pull Request)
Move the configuration of the WebSocket adapter and logger adapter
from properties of ActionC
able
toActionCable.adapters
.
(Pull Request)
Add an id
option to the Redis adapter to distinguish Action Cable's Redis
connections.
(Pull Request)
Please refer to the Changelog for detailed changes.
Remove deprecated fragment_cac
he_key
helper in favor of combi
ned_fragment_cache_key
.
(Commit)
Remove deprecated methods in A
ctionDispatch::TestResponse
:
#su
ccess?
in favor of #successful?
, #missing?
in favor of #not_fou
nd?
,
#error?
in favor of #server
_error?
.
(Commit)
Deprecate ActionDispatch::Http
::ParameterFilter
in favor of A
ctiveSupport::ParameterFilter
.
(Pull Request)
Deprecate controller level for
ce_ssl
in favor of config.force
_ssl
.
(Pull Request)
Change ActionDispatch::Respons
e#content_type
returning Content-Type
header as it is.
(Pull Request)
Raise an ArgumentError
if a resource param contains a colon.
(Pull Request)
Allow ActionDispatch::SystemTe
stCase.driven_by
to be called with a block
to define specific browser capabilities.
(Pull Request)
Add ActionDispatch::HostAuthor
ization
middleware that guards against DNS rebinding
attacks.
(Pull Request)
Allow the use of parsed_body
inA
ctionController::TestCase
.
(Pull Request)
Raise an ArgumentError
when multiple root routes exist in the same context
without as:
naming specifications.
(Pull Request)
Allow the use of #rescue_from
for handling parameter parsing errors.
(Pull Request)
Add ActionController::Paramete
rs#each_value
for iterating through parameters.
(Pull Request)
Encode Content-Disposition filenames on send_data
and send_fi
le
.
(Pull Request)
Expose ActionController::Param
eters#each_key
.
(Pull Request)
Add purpose and expiry metadata inside signed/encrypted cookies to prevent copying the value of
cookies into one another.
(Pull Request)
Raise ActionController::Respon
dToMismatchError
for conflicting respond_to
invocations.
(Pull Request)
Add an explicit error page for when a template is missing for a request format.
(Pull Request)
Introduce ActionDispatch::Debu
gExceptions.register_intercepto
r
, a way to hook into
DebugExceptions and process the exception, before being rendered.
(Pull Request)
Output only one Content-Security-Policy nonce header value per request.
(Pull Request)
Add a module specifically for the Rails default headers configuration
that can be explicitly included in controllers.
(Pull Request)
Add #dig
toActionDispatch::Reque
st::Session
.
(Pull Request)
Please refer to the Changelog for detailed changes.
Remove deprecated image_alt
helper.
(Commit)
Remove an empty RecordTagHelpe
r
module from which the functionality
was already moved to the record_tag_helper
gem.
(Commit)
Deprecate ActionView::Template.
finalize_compiled_template_meth
ods
with
no replacement.
(Pull Request)
Deprecate config.action_view.f
inalize_compiled_template_metho
ds
with
no replacement.
(Pull Request)
Deprecate calling private model methods from the options_from
_collection_for_select
view helper.
(Pull Request)
Clear Action View cache in development only on file changes, speeding up
development mode.
(Pull Request)
Move all of the Rails npm packages into a @rails
scope.
(Pull Request)
Only accept formats from registered MIME types.
(Pull Request, Pull Request)
Add allocations to the template and partial rendering server output.
(Pull Request)
Add a year_format
option to da
te_select
tag, making it possible to
customize year names.
(Pull Request)
Add a nonce: true
option for j
avascript_include_tag
helper to
support automatic nonce generation for a Content Security Policy.
(Pull Request)
Add a action_view.finalize_com
piled_template_methods
configuration to disable or
enable Actio
nView::Template
finalizers.
(Pull Request)
Extract the JavaScript confirm
call to its own, overridable method in rails_ujs
.
(Pull Request)
Add a action_controller.defaul
t_enforce_utf8
configuration option to handle
enforcing UTF-8 encoding. This defaults to false
.
(Pull Request)
Add I18n key style support for locale keys to submit tags.
(Pull Request)
Please refer to the Changelog for detailed changes.
Deprecate ActionMailer::Base.r
eceive
in favor of Action Mailbox.
(Commit)
Deprecate DeliveryJob
and Para
meterized::DeliveryJob
in favor of
MailDeliveryJob
.
(Pull Request)
Add MailDeliveryJob
for delivering both regular and parameterized mail.
(Pull Request)
Allow custom email delivery jobs to work with the Action Mailer test assertions.
(Pull Request)
Allow specifying a template name for multipart emails with blocks instead of
using just the action name.
(Pull Request)
Add perform_deliveries
to payload of deliver.action_mailer
notification.
(Pull Request)
Improve the logging message when perform_deliveries
is false to indicate
that sending of emails was skipped.
(Pull Request)
Allow calling assert_enqueued_
email_with
without block.
(Pull Request)
Perform the enqueued mail delivery jobs in the assert_emails
block.
(Pull Request)
Allow ActionMailer::Base
to unregister observers and interceptors.
(Pull Request)
Please refer to the Changelog for detailed changes.
Remove deprecated #set_state
from the transaction object.
(Commit)
Remove deprecated #supports_st
atement_cache?
from the database adapters.
(Commit)
Remove deprecated #insert_fixt
ures
from the database adapters.
(Commit)
Remove deprecated ActiveRecord
::ConnectionAdapters::SQLite3Ad
apter#valid_alter_table_type?
.
(Commit)
Remove support for passing the column name to sum
when a block is passed.
(Commit)
Remove support for passing the column name to count
when a block is passed.
(Commit)
Remove support for delegation of missing methods in a relation to Arel.
(Commit)
Remove support for delegating missing methods in a relation to private methods of the class.
(Commit)
Remove support for specifying a timestamp name for #cache_key
.
(Commit)
Remove deprecated ActiveRecord
::Migrator.migrations_path=
.
(Commit)
Remove deprecated expand_hash_
conditions_for_aggregates
.
(Commit)
Deprecate mismatched case-sensitivity collation comparisons for uniqueness validator.
(Commit)
Deprecate using class level querying methods if the receiver scope has leaked.
(Pull Request)
Deprecate config.active_record.
sqlite3.represent_boolean_as_in
teger
.
(Commit)
Deprecate passing migrations_p
aths
toconnection.assume_migrated
_upto_version
.
(Commit)
Deprecate ActiveRecord::Result
#to_hash
in favor of ActiveReco
rd::Result#to_a
.
(Commit)
Deprecate methods in DatabaseL
imits
: column_name_length
, tabl
e_name_length
,
columns_per_table
, indexes_per_table
, columns_per
_multicolumn_index
,
sql_query_le
ngth
, and joins_per_query
.
(Commit)
Deprecate update_attributes
/!
in favor of update
/!
.
(Commit)
Bump the minimum version of the sqlite3
gem to 1.4.
(Pull Request)
Add rails db:prepare
to create a database if it doesn't exist, and run its migrations.
(Pull Request)
Add after_save_commit
callback as shortcut for after_commit :
hook, on: [ :create, :update ]
.
(Pull Request)
Add ActiveRecord::Relation#ext
ract_associated
for extracting associated records from a relation.
(Pull Request)
Add ActiveRecord::Relation#ann
otate
for adding SQL comments to ActiveRecord::Relation queries.
(Pull Request)
Add support for setting Optimizer Hints on databases.
(Pull Request)
Add insert_all
/insert_all!
/ups
ert_all
methods for doing bulk inserts.
(Pull Request)
Add rails db:seed:replant
that truncates tables of each database
for the current environment and loads the seeds.
(Pull Request)
Add reselect
method, which is a short-hand for unscope(:selec
t).select(fields)
.
(Pull Request)
Add negative scopes for all enum values.
(Pull Request)
Add #destroy_by
and #delete_by
for conditional removals.
(Pull Request)
Add the ability to automatically switch database connections.
(Pull Request)
Add the ability to prevent writes to a database for the duration of a block.
(Pull Request)
Add an API for switching connections to support multiple databases.
(Pull Request)
Make timestamps with precision the default for migrations.
(Pull Request)
Support :size
option to change text and blob size in MySQL.
(Pull Request)
Set both the foreign key and the foreign type columns to NULL for
polymorphic associations on dependent: :nullify
strategy.
(Pull Request)
Allow a permitted instance of ActionController::Parameters
to be passed as an
argument to Act
iveRecord::Relation#exists?
.
(Pull Request)
Add support in #where
for endless ranges introduced in Ruby 2.6.
(Pull Request)
Make ROW_FORMAT=DYNAMIC
a default create table option for MySQL.
(Pull Request)
Add the ability to disable scopes generated by ActiveRecord.e
num
.
(Pull Request)
Make implicit ordering configurable for a column.
(Pull Request)
Bump the minimum PostgreSQL version to 9.3, dropping support for 9.1 and 9.2.
(Pull Request)
Make the values of an enum frozen, raising an error when attempting to modify them.
(Pull Request)
Make the SQL of ActiveRecord::
StatementInvalid
errors its own error property
and include SQL binds as a separate error property.
(Pull Request)
Add an :if_not_exists
option to create_table
.
(Pull Request)
Add support for multiple databases to rails db:schema:cache:d
ump
and rails db:schema:cache:cl
ear
.
(Pull Request)
Add support for hash and url configs in database hash of Acti
veRecord::Base.connected_to
.
(Pull Request)
Add support for default expressions and expression indexes for MySQL.
(Pull Request)
Add an index
option for change
_table
migration helpers.
(Pull Request)
Fix transaction
reverting for migrations. Previously, commands inside of a transaction
in a reverted migration ran uninverted. This change fixes that.
(Pull Request)
Allow ActiveRecord::Base.confi
gurations=
to be set with a symbolized hash.
(Pull Request)
Fix the counter cache to only update if the record is actually saved.
(Pull Request)
Add expression indexes support for the SQLite adapter.
(Pull Request)
Allow subclasses to redefine autosave callbacks for associated records.
(Pull Request)
Bump the minimum MySQL version to 5.5.8.
(Pull Request)
Use the utf8mb4 character set by default in MySQL.
(Pull Request)
Add the ability to filter out sensitive data in #inspect
(Pull Request, Pull Request)
Change ActiveRecord::Base.conf
igurations
to return an object instead of a hash.
(Pull Request)
Add database configuration to disable advisory locks.
(Pull Request)
Update SQLite3 adapter alter_t
able
method to restore foreign keys.
(Pull Request)
Allow the :to_table
option of remove_foreign_key
to be invertible.
(Pull Request)
Fix default value for MySQL time types with specified precision.
(Pull Request)
Fix the touch
option to behave consistently with Persistence#
touch
method.
(Pull Request)
Raise an exception for duplicate column definitions in Migrations.
(Pull Request)
Bump the minimum SQLite version to 3.8.
(Pull Request)
Fix parent records to not get saved with duplicate children records.
(Pull Request)
Ensure Associations::Collectio
nAssociation#size
and Associati
ons::CollectionAssociation#empt
y?
use loaded association ids if present.
(Pull Request)
Add support to preload associations of polymorphic associations when not all the records have the requested associations.
(Commit)
Add touch_all
method to Active
Record::Relation
.
(Pull Request)
Add ActiveRecord::Base.base_cl
ass?
predicate.
(Pull Request)
Add custom prefix/suffix options to ActiveRecord::Store.store
_accessor
.
(Pull Request)
Add ActiveRecord::Base.create_
or_find_by
/!
to deal with the SELECT/INSERT race condition in
A
ctiveRecord::Base.find_or_creat
e_by
/!
by leaning on unique constraints in the database.
(Pull Request)
Add Relation#pick
as short-hand for single-value plucks.
(Pull Request)
Please refer to the Changelog for detailed changes.
Deprecate config.active_storag
e.queue
in favor of config.acti
ve_storage.queues.analysis
and c
onfig.active_storage.queues.pur
ge
.
(Pull Request)
Deprecate ActiveStorage::Downl
oading
in favor of ActiveStorag
e::Blob#open
.
(Commit)
Deprecate using mini_magick
directly for generating image variants in favor of
image_processi
ng
.
(Commit)
Deprecate :combine_options
in Active Storage's ImageProcessing transformer
without replacement.
(Commit)
Add support for generating BMP image variants.
(Pull Request)
Add support for generating TIFF image variants.
(Pull Request)
Add support for generating progressive JPEG image variants.
(Pull Request)
Add ActiveStorage.routes_prefi
x
for configuring the Active Storage generated routes.
(Pull Request)
Generate a 404 Not Found response on ActiveStorage::DiskContr
oller#show
when
the requested file is missing from the disk service.
(Pull Request)
Raise ActiveStorage::FileNotFo
undError
when the requested file is missing for
ActiveStorage::
Blob#download
and ActiveStorage
::Blob#open
.
(Pull Request)
Add a generic ActiveStorage::E
rror
class that Active Storage exceptions inherit from.
(Commit)
Persist uploaded files assigned to a record to storage when the record
is saved instead of immediately.
(Pull Request)
Optionally replace existing files instead of adding to them when assigning to
a collection of attachments (as in @user.updat
e!(images: [ … ])
). Use
config.a
ctive_storage.replace_on_assign
_to_many
to control this behavior.
(Pull Request,
Pull Request)
Add the ability to reflect on defined attachments using the existing
Active Record reflection mechanism.
(Pull Request)
Add ActiveStorage::Blob#open
, which downloads a blob to a tempfile on disk
and yields the tempfile.
(Commit)
Support streaming downloads from Google Cloud Storage. Require version 1.11+
of the google-cl
oud-storage
gem.
(Pull Request)
Use the image_processing
gem for Active Storage variants. This replaces using
mini_magick
directly.
(Pull Request)
Please refer to the Changelog for detailed changes.
Add a configuration option to customize format of the ActiveM
odel::Errors#full_message
.
(Pull Request)
Add support for configuring attribute name for has_secure_pas
sword
.
(Pull Request)
Add #slice!
method to ActiveMo
del::Errors
.
(Pull Request)
Add ActiveModel::Errors#of_kin
d?
to check presence of a specific error.
(Pull Request)
Fix ActiveModel::Serializers::
JSON#as_json
method for timestamps.
(Pull Request)
Fix numericality validator to still use value before type cast except Active Record.
(Pull Request)
Fix numericality equality validation of BigDecimal
and Float
by casting to BigDecimal
on both ends of the validation.
(Pull Request)
Fix year value when casting a multiparameter time hash.
(Pull Request)
Type cast falsy boolean symbols on boolean attribute as false.
(Pull Request)
Return correct date while converting parameters in value_from
_multiparameter_assignment
for A
ctiveModel::Type::Date
.
(Pull Request)
Fall back to parent locale before falling back to the :errors
namespace while fetching
error translations.
(Pull Request)
Please refer to the Changelog for detailed changes.
Remove deprecated #acronym_reg
ex
method from Inflections
.
(Commit)
Remove deprecated Module#reach
able?
method.
(Commit)
Remove Kernel#`
without any replacement.
(Pull Request)
Deprecate using negative integer arguments for String#first
and
String#last
.
(Pull Request)
Deprecate ActiveSupport::Multi
byte::Unicode#downcase/upcase/s
wapcase
in favor of String#downc
ase/upcase/swapcase
.
(Pull Request)
Deprecate ActiveSupport::Multi
byte::Unicode#normalize
and Acti
veSupport::Multibyte::Chars#nor
malize
in favor of
String#unicod
e_normalize
.
(Pull Request)
Deprecate ActiveSupport::Multi
byte::Chars.consumes?
in favor of
String#is_utf8?
.
(Pull Request)
Deprecate ActiveSupport::Multi
byte::Unicode#pack_graphemes(ar
ray)
and ActiveSupport::Multibyt
e::Unicode#unpack_graphemes(str
ing)
in favor of array.flatten.p
ack("U*")
and string.scan(/\X/).
map(&:codepoints)
,
respectively.
(Pull Request)
Add support for parallel testing.
(Pull Request)
Make sure that String#strip_he
redoc
preserves frozen-ness of strings.
(Pull Request)
Add String#truncate_bytes
to truncate a string to a maximum bytesize
without breaking multibyte characters or grapheme clusters.
(Pull Request)
Add private
option to delegate
method in order to delegate to
private methods. This option accepts true/false
as the value.
(Pull Request)
Add support for translations through I18n for ActiveSupport::
Inflector#ordinal
and ActiveSupp
ort::Inflector#ordinalize
.
(Pull Request)
Add before?
and after?
methods to Date
, DateTime
,
Time
, and Ti
meWithZone
.
(Pull Request)
Fix bug where URI.unescape
would fail with mixed Unicode/escaped character
input.
(Pull Request)
Fix bug where ActiveSupport::C
ache
would massively inflate the storage
size when compression was enabled.
(Pull Request)
Redis cache store: delete_matc
hed
no longer blocks the Redis server.
(Pull Request)
Fix bug where ActiveSupport::T
imeZone.all
would fail when tzinfo data for
any timezone defined in ActiveSupport::TimeZone::M
APPING
was missing.
(Pull Request)
Add Enumerable#index_with
which allows creating a hash from an enumerable
with the value from a passed block or a default argument.
(Pull Request)
Allow Range#===
and Range#cove
r?
methods to work with Range
argument.
(Pull Request)
Support key expiry in incremen
t/decrement
operations of RedisCacheStore.
(Pull Request)
Add cpu time, idle time, and allocations features to log subscriber events.
(Pull Request)
Add support for event object to the Active Support notification system.
(Pull Request)
Add support for not caching ni
l
entries by introducing new option skip_nil
for ActiveSupport:
:Cache#fetch
.
(Pull Request)
Add Array#extract!
method which removes and returns the elements for which
block returns a true value.
(Pull Request)
Keep an HTML-safe string HTML-safe after slicing.
(Pull Request)
Add support for tracing constant autoloads via logging.
(Commit)
Define unfreeze_time
as an alias of travel_back
.
(Pull Request)
Change ActiveSupport::TaggedLo
gging.new
to return a new logger instance
instead of mutating the one received as argument.
(Pull Request)
Treat #delete_prefix
, #delete_
suffix
and #unicode_normalize
methods
as non HTML-safe methods.
(Pull Request)
Fix bug where #without
for Act
iveSupport::HashWithIndifferent
Access
would fail with symbol arguments.
(Pull Request)
Rename Module#parent
, Module#p
arents
, and Module#parent_name
tomodule_parent
, module_parents
, and module_parent_name
.
(Pull Request)
Add ActiveSupport::ParameterFi
lter
.
(Pull Request)
Fix issue where duration was being rounded to a full second when a float
was added to the duration.
(Pull Request)
Make #to_options
an alias for #symbolize_keys
inActiveSupport::
HashWithIndifferentAccess
.
(Pull Request)
Don't raise an exception anymore if the same block is included multiple times
for a Concern.
(Pull Request)
Preserve key order passed to A
ctiveSupport::CacheStore#fetch_
multi
.
(Pull Request)
Fix String#safe_constantize
to not throw a LoadError
for incorrectly
cased constant references.
(Pull Request)
Add Hash#deep_transform_values
and Hash#deep_transform_values
!
.
(Commit)
Add ActiveSupport::HashWithInd
ifferentAccess#assoc
.
(Pull Request)
Add before_reset
callback to C
urrentAttributes
and define
afte
r_reset
as an alias of resets
for symmetry.
(Pull Request)
Revise ActiveSupport::Notifica
tions.unsubscribe
to correctly
handle Regex or other multiple-pattern subscribers.
(Pull Request)
Add new autoloading mechanism using Zeitwerk.
(Commit)
Add Array#including
and Enumer
able#including
to conveniently enlarge
a collection.
(Commit)
Rename Array#without
and Enume
rable#without
toArray#excluding
and Enumerable#excluding
. Old method names are retained as aliases.
(Commit)
Add support for supplying loca
le
totransliterate
and parameteri
ze
.
(Pull Request)
Fix Time#advance
to work with dates before 1001-03-07.
(Pull Request)
Update ActiveSupport::Notifica
tions::Instrumenter#instrument
to allow
not passing block.
(Pull Request)
Use weak references in descendants tracker to allow anonymous subclasses to
be garbage collected.
(Pull Request)
Calling test methods with with
_info_handler
method to allow minitest-hooks
plugin to work.
(Commit)
Preserve html_safe?
status on ActiveSupport::SafeBuffer#*
.
(Pull Request)
Please refer to the Changelog for detailed changes.
● Remove support for Qu gem.
(Pull Request)
Add support for custom serializers for Active Job arguments.
(Pull Request)
Add support for executing Active Jobs in the timezone in which
they were enqueued.
(Pull Request)
Allow passing multiple exceptions to retry_on
/discard_on
.
(Commit)
Allow calling assert_enqueued_
with
and assert_enqueued_email_
with
without a block.
(Pull Request)
Wrap the notifications for enq
ueue
and enqueue_at
in the arou
nd_enqueue
callback instead of a
fter_enqueue
callback.
(Pull Request)
Allow calling perform_enqueued
_jobs
without a block.
(Pull Request)
Allow calling assert_performed
_with
without a block.
(Pull Request)
Add :queue
option to job assertions and helpers.
(Pull Request)
Add hooks to Active Job around retries and discards.
(Pull Request)
Add a way to test for subset of arguments when performing jobs.
(Pull Request)
Include deserialized arguments in jobs returned by Active Job
test helpers.
(Pull Request)
Allow Active Job assertion helpers to accept Proc for only
keyword.
(Pull Request)
Drop microseconds and nanoseconds from the job arguments in assertion helpers.
(Pull Request)
Please refer to the Changelog for detailed changes.
Add Multiple Databases with Active Record guide.
(Pull Request)
Add a section about troubleshooting of autoloading constants.
(Commit)
Add Action Mailbox Basics guide.
(Pull Request)
Add Action Text Overview guide.
(Pull Request)
See the
full list of contributors to Rails
for the many people who spent many hours making Rails, the stable and robust
framework it is. Kudos to all of them.
Feedback
You're encouraged to help improve the quality of this guide.
Please contribute if you see any typos or factual errors.
To get started, you can read our documentation contributions section.
You may also find incomplete content or stuff that is not up to date.
Please do add any missing documentation for main. Make sure to check
Edge Guides first to verify
if the issues are already fixed or not on the main branch.
Check the Ruby on Rails Guides Guidelines
for style and conventions.
If for whatever reason you spot something to fix but cannot patch it yourself, please
open an issue.
And last but not least, any kind of discussion regarding Ruby on Rails
documentation is very welcome on the official Ruby on Rails Forum.
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License
"Rails", "Ruby on Rails", and the Rails logo are trademarks of David Heinemeier Hansson. All rights reserved.