aboutsummaryrefslogtreecommitdiffstats
path: root/activejob/CHANGELOG.md
blob: 0ed937f4cc489a6a6ce6ba1998644e0dad3ed2a7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
## Rails 6.0.0.beta1 (January 18, 2019) ##

*   Return false instead of the job instance when `enqueue` is aborted.

    This will be the behavior in Rails 6.1 but it can be controlled now with
    `config.active_job.return_false_on_aborted_enqueue`.

    *Kir Shatrov*

*   Keep executions for each specific declaration

    Each `retry_on` declaration has now its own specific executions counter. Before it was
    shared between all executions of a job.

    *Alberto Almagro*

*   Allow all assertion helpers that have a `only` and `except` keyword to accept
    Procs.

    *Edouard Chin*

*   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*

*   Allow `assert_enqueued_with`/`assert_performed_with` methods to accept
    a proc for the `args` argument. This is useful to check if only a subset of arguments
    matches your expectations.

    *Edouard Chin*

*   `ActionDispatch::IntegrationTest` includes `ActiveJob::TestHelper` module by default.

    *Ricardo Díaz*

*   Added `enqueue_retry.active_job`, `retry_stopped.active_job`, and `discard.active_job` hooks.

    *steves*

*   Allow `assert_performed_with` to be called without a block.

    *bogdanvlviv*

*   Execution of `assert_performed_jobs`, and `assert_no_performed_jobs`
    without a block should respect passed `:except`, `:only`, and `:queue` options.

    *bogdanvlviv*

*   Allow `:queue` option to job assertions and helpers.

    *bogdanvlviv*

*   Allow `perform_enqueued_jobs` to be called without a block.

    Performs all of the jobs that have been enqueued up to this point in the test.

    *Kevin Deisz*

*   Move `enqueue`/`enqueue_at` notifications to an around callback.

    Improves timing accuracy over the old after callback by including
    time spent writing to the adapter's IO implementation.

    *Zach Kemp*

*   Allow call `assert_enqueued_with` with no block.

    Example:
    ```
    def test_assert_enqueued_with
      MyJob.perform_later(1,2,3)
      assert_enqueued_with(job: MyJob, args: [1,2,3], queue: 'low')

      MyJob.set(wait_until: Date.tomorrow.noon).perform_later
      assert_enqueued_with(job: MyJob, at: Date.tomorrow.noon)
    end
    ```

    *bogdanvlviv*

*   Allow passing multiple exceptions to `retry_on`, and `discard_on`.

    *George Claghorn*

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

    Fixes #32853.

    *Yuji Yaginuma*

*   Remove support for Qu gem.

    Reasons are that the Qu gem wasn't compatible since Rails 5.1,
    gem development was stopped in 2014 and maintainers have
    confirmed its demise. See issue #32273

    *Alberto Almagro*

*   Add support for timezones to Active Job.

    Record what was the current timezone in effect when the job was
    enqueued and then restore when the job is executed in same way
    that the current locale is recorded and restored.

    *Andrew White*

*   Rails 6 requires Ruby 2.5.0 or newer.

    *Jeremy Daer*, *Kasper Timm Hansen*

*   Add support to define custom argument serializers.

    *Evgenii Pecherkin*, *Rafael Mendonça França*


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