All Versions
10
Latest Version
Avg Release Cycle
66 days
Latest Release
167 days ago

Changelog History

  • v6.0.2

    December 13, 2019

    πŸ‘ Active Support

    🌐 Eager load translations during initialization.

    Diego Plentz

    πŸ‘‰ Use per-thread CPU time clock on ActiveSupport::Notifications.

    George Claghorn

    Active Model

    • No changes.

    Active Record

    Share the same connection pool for primary and replica databases in the
    βœ… transactional tests for the same database.

    Edouard Chin

    πŸ›  Fix the preloader when one record is fetched using after_initialize
    but not the entire collection.

    Bradley Price

    πŸ›  Fix collection callbacks not terminating when :abort is thrown.

    Edouard Chin, Ryuta Kamizono

    πŸ—„ Correctly deprecate where.not working as NOR for relations.

    πŸ—„ 12a9664 deprecated where.not working as NOR, however
    doing a relation query like where.not(relation: { ... })
    πŸ—„ wouldn't be properly deprecated and where.not would work as
    NAND instead.

    Edouard Chin

    πŸ›  Fix db:migrate task with multiple databases to restore the connection
    to the previous database.

    The migrate task iterates and establish a connection over each db
    resulting in the last one to be used by subsequent rake tasks.
    We should reestablish a connection to the connection that was
    established before the migrate tasks was run

    Edouard Chin

    πŸ›  Fix multi-threaded issue for AcceptanceValidator.

    Ryuta Kamizono

    Action View

    • No changes.

    Action Pack

    πŸ‘ Allow using mountable engine route helpers in System Tests.

    Chalo Fernandez

    πŸ‘· Active Job

    πŸ‘ Allow Sidekiq access to the underlying job class.

    πŸ‘· By having access to the Active Job class, Sidekiq can get access to any sidekiq_options which
    πŸ‘· have been set on that Active Job type and serialize those options into Redis.

    https://github.com/mperham/sidekiq/blob/master/Changes.md#60

    Mike Perham

    Action Mailer

    πŸ›  Fix ActionMailer assertions don't work for parameterized mail with legacy delivery job.

    bogdanvlviv

    Action Cable

    • No changes.

    Active Storage

    • No changes.

    Action Mailbox

    • No changes.

    Action Text

    • No changes.

    Railties

    πŸ›  Fix the collision check for the scaffold generator.

    Ryan Robeson

  • v6.0.2.rc2

    December 09, 2019

    πŸ‘ Active Support

    🌐 Eager load translations during initialization.

    Diego Plentz

    πŸ‘‰ Use per-thread CPU time clock on ActiveSupport::Notifications.

    George Claghorn

    Active Model

    • No changes.

    Active Record

    Share the same connection pool for primary and replica databases in the
    βœ… transactional tests for the same database.

    Edouard Chin

    πŸ›  Fix the preloader when one record is fetched using after_initialize
    but not the entire collection.

    Bradley Price

    πŸ›  Fix collection callbacks not terminating when :abort is thrown.

    Edouard Chin, Ryuta Kamizono

    πŸ—„ Correctly deprecate where.not working as NOR for relations.

    πŸ—„ 12a9664 deprecated where.not working as NOR, however
    doing a relation query like where.not(relation: { ... })
    πŸ—„ wouldn't be properly deprecated and where.not would work as
    NAND instead.

    Edouard Chin

    πŸ›  Fix db:migrate task with multiple databases to restore the connection
    to the previous database.

    The migrate task iterates and establish a connection over each db
    resulting in the last one to be used by subsequent rake tasks.
    We should reestablish a connection to the connection that was
    established before the migrate tasks was run

    Edouard Chin

    πŸ›  Fix multi-threaded issue for AcceptanceValidator.

    Ryuta Kamizono

    Action View

    • No changes.

    Action Pack

    πŸ‘ Allow using mountable engine route helpers in System Tests.

    Chalo Fernandez

    πŸ‘· Active Job

    πŸ‘ Allow Sidekiq access to the underlying job class.

    πŸ‘· By having access to the Active Job class, Sidekiq can get access to any sidekiq_options which
    πŸ‘· have been set on that Active Job type and serialize those options into Redis.

    https://github.com/mperham/sidekiq/blob/master/Changes.md#60

    Mike Perham

    Action Mailer

    πŸ›  Fix ActionMailer assertions don't work for parameterized mail with legacy delivery job.

    bogdanvlviv

    Action Cable

    • No changes.

    Active Storage

    • No changes.

    Action Mailbox

    • No changes.

    Action Text

    • No changes.

    Railties

    πŸ›  Fix the collision check for the scaffold generator.

    Ryan Robeson

  • v6.0.2.rc1

    November 27, 2019

    πŸ‘ Active Support

    🌐 Eager load translations during initialization.

    Diego Plentz

    πŸ‘‰ Use per-thread CPU time clock on ActiveSupport::Notifications.

    George Claghorn

    Active Model

    • No changes.

    Active Record

    Share the same connection pool for primary and replica databases in the
    βœ… transactional tests for the same database.

    Edouard Chin

    πŸ›  Fix the preloader when one record is fetched using after_initialize
    but not the entire colection.

    Bradley Price

    πŸ›  Fix collection callbacks not terminating when :abort is thrown.

    Edouard Chin, Ryuta Kamizono

    πŸ—„ Correctly deprecate where.not working as NOR for relations.

    πŸ—„ 12a9664 deprecated where.not working as NOR, however
    doing a relation query like where.not(relation: { ... })
    πŸ—„ wouldn't be properly deprecated and where.not would work as
    NAND instead.

    Edouard Chin

    πŸ›  Fix db:migrate task with multiple databases to restore the connection
    to the previous database.

    The migrate task iterates and establish a connection over each db
    resulting in the last one to be used by subsequent rake tasks.
    We should reestablish a connection to the connection that was
    established before the migrate tasks was run

    Edouard Chin

    πŸ›  Fix multi-threaded issue for AcceptanceValidator.

    Ryuta Kamizono

    Action View

    • No changes.

    Action Pack

    πŸ‘ Allow using mountable engine route helpers in System Tests.

    Chalo Fernandez

    πŸ‘· Active Job

    πŸ‘ Allow Sidekiq access to the underlying job class.

    πŸ‘· By having access to the Active Job class, Sidekiq can get access to any sidekiq_options which
    πŸ‘· have been set on that Active Job type and serialize those options into Redis.

    https://github.com/mperham/sidekiq/blob/master/Changes.md#60

    Mike Perham

    Action Mailer

    πŸ›  Fix ActionMailer assertions don't work for parameterized mail with legacy delivery job.

    bogdanvlviv

    Action Cable

    • No changes.

    Active Storage

    • No changes.

    Action Mailbox

    • No changes.

    Action Text

    • No changes.

    Railties

    πŸ›  Fix the collision check for the scaffold generator.

    Ryan Robeson

    πŸ”§ Configuration files for environments (config/environments/*.rb) are
    now able to modify autoload_paths, autoload_once_paths, and
    eager_load_paths.

    Allen Hsu & Xavier Noria

  • v6.0.2.2

    March 24, 2020

    πŸ‘ Active Support

    • No changes.

    Active Model

    • No changes.

    Active Record

    • No changes.

    Action View

    πŸ›  Fix possible XSS vector in escape_javascript helper

    CVE-2020-5267

    Aaron Patterson

    Action Pack

    • No changes.

    πŸ‘· Active Job

    • No changes.

    Action Mailer

    • No changes.

    Action Cable

    • No changes.

    Active Storage

    • No changes.

    Action Mailbox

    • No changes.

    Action Text

    • No changes.

    Railties

    • No changes.
  • v6.0.2.1

    December 18, 2019

    πŸ‘ Active Support

    • No changes.

    Active Model

    • No changes.

    Active Record

    • No changes.

    Action View

    • No changes.

    Action Pack

    πŸ›  Fix possible information leak / session hijacking vulnerability.

    The ActionDispatch::Session::MemcacheStore is still vulnerable given it requires the
    ⚑️ gem dalli to be updated as well.

    CVE-2019-16782.

    πŸ‘· Active Job

    • No changes.

    Action Mailer

    • No changes.

    Action Cable

    • No changes.

    Active Storage

    • No changes.

    Action Mailbox

    • No changes.

    Action Text

    • No changes.

    Railties

    • No changes.
  • v6.0.1

    November 05, 2019

    πŸ‘ Active Support

    πŸ‘ ActiveSupport::SafeBuffer supports Enumerator methods.

    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

    0️⃣ The default inflectors in zeitwerk mode support overrides:

    # config/initializers/zeitwerk.rbRails.autoloaders.each do |autoloader| autoloader.inflector.inflect( "html\_parser" =\> "HTMLParser", "ssl\_error" =\> "SSLError" )end
    

    πŸ‘ That 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 zeitwerk mode if you prefer not to depend on String#camelize at all.

    Xavier Noria

    πŸ‘Œ Improve Range#===, Range#include?, and Range#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 Solaris

    Iain 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_batches could halt too early.

    Takayuki Nakata

    Autosaved associations always perform validations when a custom validation context is used.

    Tekin Suleyman

    πŸ›° sql.active_record notifications now include the :connection in their payloads.

    Eugene Kenny

    βͺ A rollback encountered in an after_commit callback does not reset previously-committed record state.

    Ryuta Kamizono

    πŸ›  Fixed that join order was lost when eager-loading.

    Ryuta Kamizono

    DESCRIBE queries 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#take is properly cleared when ActiveRecord::Relation#reset or ActiveRecord::Relation#reload is called.

    Anmol Arora

    πŸ›  Fixed the performance regression for primary_keys introduced MySQL 8.0.

    Hiroyuki Ishii

    insert, insert_all, upsert, and upsert_all now clear the query cache.

    Eugene Kenny

    Call while_preventing_writes directly from connected_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 call connected_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::SystemTestCase now inherits from ActiveSupport::TestCase rather than ActionDispatch::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\_fragment
    

    Aaron Patterson

    πŸ‘· Active Job

    • No changes.

    Action Mailer

    • No changes.

    Action Cable

    • No changes.

    Active Storage

    πŸ‘· ActiveStorage::AnalyzeJobs are discarded on ActiveRecord::RecordNotFound errors.

    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:check Rake 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 .gitignore file for newly-generated apps.

    Yasuo Honda

    πŸš… rails new generates a .keep file in tmp/pids. This fixes starting a server via rackup instead of rails server.

    Rafael Mendonça França

  • v5.2.4

    November 27, 2019

    πŸ‘ Active Support

    πŸš… Make ActiveSupport::Logger Fiber-safe. Fixes #36752.

    Use Fiber.current. __id__ in ActiveSupport::Logger#local_level= in order
    πŸ’Ž to make log level local to Ruby Fibers in addition to Threads.

    Example:

    logger = ActiveSupport::Logger.new(STDOUT)
    logger.level = 1
    p "Main is debug? #{logger.debug?}"
    
    Fiber.new {
      logger.local_level = 0
      p "Thread is debug? #{logger.debug?}"
    }.resume
    
    p "Main is debug? #{logger.debug?}"
    

    Before:

    Main is debug? false
    Thread is debug? true
    Main is debug? true
    

    After:

    Main is debug? false
    Thread is debug? true
    Main is debug? false
    

    Alexander Varnin

    Active Model

    Type cast falsy boolean symbols on boolean attribute as false.

    πŸ›  Fixes #35676.

    Ryuta Kamizono

    Active Record

    πŸ›  Fix circular autosave: true causes invalid records to be saved.

    Prior to the fix, when there was a circular series of autosave: true
    associations, the callback for a has_many association was run while
    another instance of the same callback on the same association hadn't
    finished running. When control returned to the first instance of the
    callback, the instance variable had changed, and subsequent associated
    records weren't saved correctly. Specifically, the ID field for the
    belongs_to corresponding to the has_many was nil.

    πŸ›  Fixes #28080.

    Larry Reid

    PostgreSQL: Fix GROUP BY with ORDER BY virtual count attribute.

    πŸ›  Fixes #36022.

    Ryuta Kamizono

    πŸ›  Fix sqlite3 collation parsing when using decimal columns.

    Martin R. Schuster

    πŸ‘‰ Make ActiveRecord ConnectionPool.connections method thread-safe.

    πŸ›  Fixes #36465.

    Jeff Doering

    πŸ— Assign all attributes before calling build to ensure the child record is visible in
    βž• before_add and after_add callbacks for has_many :through associations.

    πŸ›  Fixes #33249.

    Ryan H. Kerr

    Action View

    πŸ‘ Allow programmatic click events to trigger Rails UJS click handlers.
    πŸš… Programmatic click events (eg. ones generated by Rails.fire(link, "click")) don't specify a button. These events were being incorrectly stopped by code meant to ignore scroll wheel and right clicks introduced in #34573.

    Sudara Williams

    Action Pack

    • No changes.

    πŸ‘· Active Job

    • No changes.

    Action Mailer

    • No changes.

    Action Cable

    • No changes.

    Active Storage

    • No changes.

    Railties

    πŸš… Use original bundler environment variables during the process of generating a new rails project.

    Marco Costa

    πŸ‘ Allow loading seeds without ActiveJob.

    πŸ›  Fixes #35782

    Jeremy Weathers

    πŸ‘€ Only force :async ActiveJob adapter to :inline during seeding.

    BatedUrGonnaDie

  • v5.2.4.rc1

    November 23, 2019

    πŸ‘ Active Support

    πŸš… Make ActiveSupport::Logger Fiber-safe. Fixes #36752.

    Use Fiber.current. __id__ in ActiveSupport::Logger#local_level= in order
    πŸ’Ž to make log level local to Ruby Fibers in addition to Threads.

    Example:

    logger = ActiveSupport::Logger.new(STDOUT)
    logger.level = 1
    p "Main is debug? #{logger.debug?}"
    
    Fiber.new {
      logger.local_level = 0
      p "Thread is debug? #{logger.debug?}"
    }.resume
    
    p "Main is debug? #{logger.debug?}"
    

    Before:

    Main is debug? false
    Thread is debug? true
    Main is debug? true
    

    After:

    Main is debug? false
    Thread is debug? true
    Main is debug? false
    

    Alexander Varnin

    Active Model

    Type cast falsy boolean symbols on boolean attribute as false.

    πŸ›  Fixes #35676.

    Ryuta Kamizono

    Active Record

    πŸ›  Fix circular autosave: true causes invalid records to be saved.

    Prior to the fix, when there was a circular series of autosave: true
    associations, the callback for a has_many association was run while
    another instance of the same callback on the same association hadn't
    finished running. When control returned to the first instance of the
    callback, the instance variable had changed, and subsequent associated
    records weren't saved correctly. Specifically, the ID field for the
    belongs_to corresponding to the has_many was nil.

    πŸ›  Fixes #28080.

    Larry Reid

    PostgreSQL: Fix GROUP BY with ORDER BY virtual count attribute.

    πŸ›  Fixes #36022.

    Ryuta Kamizono

    πŸ›  Fix sqlite3 collation parsing when using decimal columns.

    Martin R. Schuster

    πŸ‘‰ Make ActiveRecord ConnectionPool.connections method thread-safe.

    πŸ›  Fixes #36465.

    Jeff Doering

    πŸ— Assign all attributes before calling build to ensure the child record is visible in
    βž• before_add and after_add callbacks for has_many :through associations.

    πŸ›  Fixes #33249.

    Ryan H. Kerr

    Action View

    πŸ‘ Allow programmatic click events to trigger Rails UJS click handlers.
    πŸš… Programmatic click events (eg. ones generated by Rails.fire(link, "click")) don't specify a button. These events were being incorrectly stopped by code meant to ignore scroll wheel and right clicks introduced in #34573.

    Sudara Williams

    Action Pack

    • No changes.

    πŸ‘· Active Job

    • No changes.

    Action Mailer

    • No changes.

    Action Cable

    • No changes.

    Active Storage

    • No changes.

    Railties

    πŸš… Use original bundler environment variables during the process of generating a new rails project.

    Marco Costa

    πŸ‘ Allow loading seeds without ActiveJob.

    πŸ›  Fixes #35782

    Jeremy Weathers

    πŸ‘€ Only force :async ActiveJob adapter to :inline during seeding.

    BatedUrGonnaDie

  • v5.2.4.2

    March 24, 2020

    πŸ‘ Active Support

    • No changes.

    Active Model

    • No changes.

    Active Record

    • No changes.

    Action View

    πŸ›  Fix possible XSS vector in escape_javascript helper

    CVE-2020-5267

    Aaron Patterson

    Action Pack

    • No changes.

    πŸ‘· Active Job

    • No changes.

    Action Mailer

    • No changes.

    Action Cable

    • No changes.

    Active Storage

    • No changes.

    Railties

    • No changes.
  • v5.2.4.1

    December 18, 2019

    πŸ‘ Active Support

    • No changes.

    Active Model

    • No changes.

    Active Record

    • No changes.

    Action View

    • No changes.

    Action Pack

    πŸ›  Fix possible information leak / session hijacking vulnerability.

    The ActionDispatch::Session::MemcacheStore is still vulnerable given it requires the
    ⚑️ gem dalli to be updated as well.

    CVE-2019-16782.

    πŸ‘· Active Job

    • No changes.

    Action Mailer

    • No changes.

    Action Cable

    • No changes.

    Active Storage

    • No changes.

    Railties

    • No changes.