## Rails 5.2.3 (March 27, 2019) ##

*   No changes.


## Rails 5.2.2.1 (March 11, 2019) ##

*   No changes.


## Rails 5.2.2 (December 04, 2018) ##

*   Make sure `assert_enqueued_with()` & `assert_performed_with()` work reliably with hash arguments.

    *Sharang Dashputre*

*   Restore `ActionController::Parameters` support to `ActiveJob::Arguments.serialize`.

    *Bernie Chiu*

*   Restore `HashWithIndifferentAccess` support to `ActiveJob::Arguments.deserialize`.

    *Gannon McGibbon*

*   Include deserialized arguments in job instances returned from
    `assert_enqueued_with` and `assert_performed_with`

    *Alan Wu*

*   Increment execution count before deserialize arguments.

    Currently, the execution count increments after deserializes arguments.
    Therefore, if an error occurs with deserialize, it retries indefinitely.

    *Yuji Yaginuma*


## Rails 5.2.1.1 (November 27, 2018) ##

*   Do not deserialize GlobalID objects that were not generated by Active Job.

    Trusting any GlobaID object when deserializing jobs can allow attackers to access
    information that should not be accessible to them.

    Fix CVE-2018-16476.

    *Rafael Mendonça França*


## Rails 5.2.1 (August 07, 2018) ##

*   Pass the error instance as the second parameter of block executed by `discard_on`.

    Fixes #32853.

    *Yuji Yaginuma*

## Rails 5.2.0 (April 09, 2018) ##

*   Allow block to be passed to `ActiveJob::Base.discard_on` to allow custom handling of discard jobs.

    Example:

        class RemoteServiceJob < ActiveJob::Base
          discard_on(CustomAppException) do |job, exception|
            ExceptionNotifier.caught(exception)
          end

          def perform(*args)
            # Might raise CustomAppException for something domain specific
          end
        end

    *Aidan Haran*

*   Support redis-rb 4.0.

    *Jeremy Daer*

Please check [5-1-stable](https://github.com/rails/rails/blob/5-1-stable/activejob/CHANGELOG.md) for previous changes.
