good_job 1.99.2 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.md CHANGED
@@ -1,2785 +1,5 @@
1
1
  # Changelog
2
2
 
3
- ## [v1.99.2](https://github.com/bensheldon/good_job/tree/v1.99.2) (2024-07-18)
4
-
5
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v4.1.0...v1.99.2)
6
-
7
- **Merged pull requests:**
8
-
9
- - Add Brakeman to linters [\#1431](https://github.com/bensheldon/good_job/pull/1431) ([bensheldon](https://github.com/bensheldon))
10
- - Remove references to and ignore `good_jobs.retried_good_job_id` column [\#1430](https://github.com/bensheldon/good_job/pull/1430) ([bensheldon](https://github.com/bensheldon))
11
- - Refactor Concurrency extension for Rails 6.1+ compatibility [\#1429](https://github.com/bensheldon/good_job/pull/1429) ([bensheldon](https://github.com/bensheldon))
12
- - Replace references to "Discrete" executions with simply Executions; deprecate `GoodJob::DiscreteExecution` [\#1427](https://github.com/bensheldon/good_job/pull/1427) ([bensheldon](https://github.com/bensheldon))
13
- - Refactor Adapter to reference jobs, not executions [\#1426](https://github.com/bensheldon/good_job/pull/1426) ([bensheldon](https://github.com/bensheldon))
14
-
15
- ## [v4.1.0](https://github.com/bensheldon/good_job/tree/v4.1.0) (2024-07-16)
16
-
17
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.99.1...v4.1.0)
18
-
19
- **Implemented enhancements:**
20
-
21
- - Add keepalive SQL query to Notifier [\#1423](https://github.com/bensheldon/good_job/pull/1423) ([bensheldon](https://github.com/bensheldon))
22
- - Latency charts and histograms for individual job classes [\#1411](https://github.com/bensheldon/good_job/pull/1411) ([Earlopain](https://github.com/Earlopain))
23
-
24
- **Fixed bugs:**
25
-
26
- - Fix nonexistant association error between DiscreteExecution and Execution [\#1425](https://github.com/bensheldon/good_job/pull/1425) ([bensheldon](https://github.com/bensheldon))
27
-
28
- **Closed issues:**
29
-
30
- - Could not find the inverse association for execution \(:discrete\_executions in GoodJob::Execution\) [\#1424](https://github.com/bensheldon/good_job/issues/1424)
31
- - 3.99.1 is marked as the latest version, not 4.0.3 [\#1422](https://github.com/bensheldon/good_job/issues/1422)
32
- - How to maximise amount of jobs executed in parallel [\#1418](https://github.com/bensheldon/good_job/issues/1418)
33
- - Performance Metrics for individual jobs [\#1397](https://github.com/bensheldon/good_job/issues/1397)
34
-
35
- **Merged pull requests:**
36
-
37
- - Remove some now unnecessary checks against `locked_by_id` existence [\#1421](https://github.com/bensheldon/good_job/pull/1421) ([Earlopain](https://github.com/Earlopain))
38
- - Use rails enum for `error_event` and `lock_type` [\#1420](https://github.com/bensheldon/good_job/pull/1420) ([Earlopain](https://github.com/Earlopain))
39
- - Add a little more wording to the v4 "ready to upgrade" instructions [\#1415](https://github.com/bensheldon/good_job/pull/1415) ([bensheldon](https://github.com/bensheldon))
40
-
41
- ## [v3.99.1](https://github.com/bensheldon/good_job/tree/v3.99.1) (2024-07-10)
42
-
43
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v4.0.3...v3.99.1)
44
-
45
- ## [v4.0.3](https://github.com/bensheldon/good_job/tree/v4.0.3) (2024-07-10)
46
-
47
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v4.0.2...v4.0.3)
48
-
49
- **Fixed bugs:**
50
-
51
- - Only set duration attribute to interval on Rails 6.1 [\#1412](https://github.com/bensheldon/good_job/pull/1412) ([bdewater-thatch](https://github.com/bdewater-thatch))
52
-
53
- **Closed issues:**
54
-
55
- - GoodJob error: TypeError: can't cast ActiveSupport::Duration \(on v4.0.0\) [\#1413](https://github.com/bensheldon/good_job/issues/1413)
56
- - Question: is it possible to clean a set of scheduled jobs \(by class name\) from console? [\#1410](https://github.com/bensheldon/good_job/issues/1410)
57
- - "Couldn't find GoodJob::BatchRecord" error [\#1387](https://github.com/bensheldon/good_job/issues/1387)
58
- - Empty alerts "\[\]"? [\#1372](https://github.com/bensheldon/good_job/issues/1372)
59
- - Release GoodJob 4.0 [\#764](https://github.com/bensheldon/good_job/issues/764)
60
-
61
- **Merged pull requests:**
62
-
63
- - Add Active Support load hooks for Job and \(Discrete\)Execution; move all outside class definition bodies [\#1414](https://github.com/bensheldon/good_job/pull/1414) ([bensheldon](https://github.com/bensheldon))
64
-
65
- ## [v4.0.2](https://github.com/bensheldon/good_job/tree/v4.0.2) (2024-07-08)
66
-
67
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v4.0.1...v4.0.2)
68
-
69
- **Fixed bugs:**
70
-
71
- - Fix a rails 6.1 deprecation warning for the duration attribute [\#1408](https://github.com/bensheldon/good_job/pull/1408) ([Earlopain](https://github.com/Earlopain))
72
- - Actually remove deprecated configuration for `cleanup_interval_seconds`, `cleanup_interval_jobs`; remove deprecated `Lockable` [\#1406](https://github.com/bensheldon/good_job/pull/1406) ([bensheldon](https://github.com/bensheldon))
73
-
74
- **Closed issues:**
75
-
76
- - PG::UndefinedColumn: ERROR: column good\_job\_processes.lock\_type does not exist [\#1405](https://github.com/bensheldon/good_job/issues/1405)
77
- - undefined method `duration=' for an instance of GoodJob::Execution [\#1404](https://github.com/bensheldon/good_job/issues/1404)
78
- - v3 deprecations are still present [\#1399](https://github.com/bensheldon/good_job/issues/1399)
79
-
80
- **Merged pull requests:**
81
-
82
- - Fix Batch integration test to not exhaust database connection thread pool [\#1409](https://github.com/bensheldon/good_job/pull/1409) ([bensheldon](https://github.com/bensheldon))
83
- - Discrete cleanup [\#1401](https://github.com/bensheldon/good_job/pull/1401) ([Earlopain](https://github.com/Earlopain))
84
-
85
- ## [v4.0.1](https://github.com/bensheldon/good_job/tree/v4.0.1) (2024-07-08)
86
-
87
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v4.0.0...v4.0.1)
88
-
89
- **Fixed bugs:**
90
-
91
- - Actually change `smaller_number_is_higher_priority` for v4 [\#1402](https://github.com/bensheldon/good_job/pull/1402) ([Earlopain](https://github.com/Earlopain))
92
-
93
- **Merged pull requests:**
94
-
95
- - Bump prism/rbi dev dependency [\#1403](https://github.com/bensheldon/good_job/pull/1403) ([Earlopain](https://github.com/Earlopain))
96
- - Use index action for the performance controller [\#1398](https://github.com/bensheldon/good_job/pull/1398) ([Earlopain](https://github.com/Earlopain))
97
-
98
- ## [v4.0.0](https://github.com/bensheldon/good_job/tree/v4.0.0) (2024-07-07)
99
-
100
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.99.0...v4.0.0)
101
-
102
- **Implemented enhancements:**
103
-
104
- - Release GoodJob v4 [\#1394](https://github.com/bensheldon/good_job/pull/1394) ([bensheldon](https://github.com/bensheldon))
105
-
106
- ## [v3.99.0](https://github.com/bensheldon/good_job/tree/v3.99.0) (2024-07-07)
107
-
108
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.30.1...v3.99.0)
109
-
110
- **Merged pull requests:**
111
-
112
- - Remove deprecation silencers for v3.99 release [\#1395](https://github.com/bensheldon/good_job/pull/1395) ([bensheldon](https://github.com/bensheldon))
113
- - Add instructions and `GoodJob.v4_ready?` for upgrading to v4 [\#1356](https://github.com/bensheldon/good_job/pull/1356) ([bensheldon](https://github.com/bensheldon))
114
-
115
- ## [v3.30.1](https://github.com/bensheldon/good_job/tree/v3.30.1) (2024-07-06)
116
-
117
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.30.0...v3.30.1)
118
-
119
- **Fixed bugs:**
120
-
121
- - Fix Performance table formatting, change url from `performances` to singular `performance` [\#1393](https://github.com/bensheldon/good_job/pull/1393) ([bensheldon](https://github.com/bensheldon))
122
- - Add a version check for Rails whether to use pg interval or calculate float [\#1389](https://github.com/bensheldon/good_job/pull/1389) ([bensheldon](https://github.com/bensheldon))
123
-
124
- **Merged pull requests:**
125
-
126
- - Add missing newline after frozen string literal for migrations [\#1392](https://github.com/bensheldon/good_job/pull/1392) ([Earlopain](https://github.com/Earlopain))
127
- - Temporarily remove JRuby builds [\#1391](https://github.com/bensheldon/good_job/pull/1391) ([bensheldon](https://github.com/bensheldon))
128
- - Add initial Performance panel to dashboard [\#1388](https://github.com/bensheldon/good_job/pull/1388) ([bensheldon](https://github.com/bensheldon))
129
- - Move job execution logic from Execution to BaseExecution to simplify v4 changes [\#1357](https://github.com/bensheldon/good_job/pull/1357) ([bensheldon](https://github.com/bensheldon))
130
-
131
- ## [v3.30.0](https://github.com/bensheldon/good_job/tree/v3.30.0) (2024-07-05)
132
-
133
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.29.5...v3.30.0)
134
-
135
- **Implemented enhancements:**
136
-
137
- - Added GoodJob::DiscreteExecution\#duration column [\#1374](https://github.com/bensheldon/good_job/pull/1374) ([SebouChu](https://github.com/SebouChu))
138
-
139
- **Closed issues:**
140
-
141
- - Job retried infinitely [\#1384](https://github.com/bensheldon/good_job/issues/1384)
142
-
143
- **Merged pull requests:**
144
-
145
- - Use newer syntax in documentation for `wait` config on `retry` [\#1380](https://github.com/bensheldon/good_job/pull/1380) ([benoittgt](https://github.com/benoittgt))
146
-
147
- ## [v3.29.5](https://github.com/bensheldon/good_job/tree/v3.29.5) (2024-06-24)
148
-
149
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.29.4...v3.29.5)
150
-
151
- **Fixed bugs:**
152
-
153
- - fix: require rack/handler for rack \>= 3.1.x [\#1383](https://github.com/bensheldon/good_job/pull/1383) ([shouichi](https://github.com/shouichi))
154
-
155
- **Closed issues:**
156
-
157
- - Unexpected behavior of calling perform\_now inside another job [\#1379](https://github.com/bensheldon/good_job/issues/1379)
158
- - \[BUG\] \[Dashboard\] count isn't following by the filter [\#1376](https://github.com/bensheldon/good_job/issues/1376)
159
-
160
- ## [v3.29.4](https://github.com/bensheldon/good_job/tree/v3.29.4) (2024-06-18)
161
-
162
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.29.3...v3.29.4)
163
-
164
- **Fixed bugs:**
165
-
166
- - Fix display of empty array in flash messages [\#1377](https://github.com/bensheldon/good_job/pull/1377) ([andynu](https://github.com/andynu))
167
- - Fix counts in tab links with filters [\#1373](https://github.com/bensheldon/good_job/pull/1373) ([SebouChu](https://github.com/SebouChu))
168
-
169
- ## [v3.29.3](https://github.com/bensheldon/good_job/tree/v3.29.3) (2024-06-06)
170
-
171
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.29.2...v3.29.3)
172
-
173
- **Fixed bugs:**
174
-
175
- - Synchronize `CapsuleTracker#renew` [\#1369](https://github.com/bensheldon/good_job/pull/1369) ([bensheldon](https://github.com/bensheldon))
176
-
177
- **Closed issues:**
178
-
179
- - docs: Basic auth route mount example improvement [\#1368](https://github.com/bensheldon/good_job/issues/1368)
180
- - Tips for debugging/optimizing slow dashboard? \(45 second response time\) [\#1366](https://github.com/bensheldon/good_job/issues/1366)
181
-
182
- ## [v3.29.2](https://github.com/bensheldon/good_job/tree/v3.29.2) (2024-05-23)
183
-
184
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.29.1...v3.29.2)
185
-
186
- **Fixed bugs:**
187
-
188
- - Fix label modifications on job instance polluting labels on job class [\#1355](https://github.com/bensheldon/good_job/pull/1355) ([bensheldon](https://github.com/bensheldon))
189
-
190
- **Closed issues:**
191
-
192
- - `#good_job_labels` retains values across job instances [\#1354](https://github.com/bensheldon/good_job/issues/1354)
193
-
194
- ## [v3.29.1](https://github.com/bensheldon/good_job/tree/v3.29.1) (2024-05-23)
195
-
196
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.29.0...v3.29.1)
197
-
198
- **Fixed bugs:**
199
-
200
- - Fix AdvisoryLockable using wrong `advisory_lockable_column` attribute when aborting `create_with_advisory_lock` [\#1360](https://github.com/bensheldon/good_job/pull/1360) ([bensheldon](https://github.com/bensheldon))
201
-
202
- **Closed issues:**
203
-
204
- - Warn on unapplied migrations [\#1361](https://github.com/bensheldon/good_job/issues/1361)
205
- - Undefined `GoodJob::Process.advisory_lockable_column` [\#1358](https://github.com/bensheldon/good_job/issues/1358)
206
-
207
- ## [v3.29.0](https://github.com/bensheldon/good_job/tree/v3.29.0) (2024-05-22)
208
-
209
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.28.3...v3.29.0)
210
-
211
- **Merged pull requests:**
212
-
213
- - Add association between Process and Jobs, and add a heartbeat to the Process record [\#999](https://github.com/bensheldon/good_job/pull/999) ([bensheldon](https://github.com/bensheldon))
214
-
215
- ## [v3.28.3](https://github.com/bensheldon/good_job/tree/v3.28.3) (2024-05-18)
216
-
217
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.28.2...v3.28.3)
218
-
219
- **Fixed bugs:**
220
-
221
- - Strip more whitespace when parsing queues string [\#1352](https://github.com/bensheldon/good_job/pull/1352) ([bensheldon](https://github.com/bensheldon))
222
- - Fix latest migration not affecting `GoodJob.migrated?` [\#1345](https://github.com/bensheldon/good_job/pull/1345) ([Earlopain](https://github.com/Earlopain))
223
-
224
- **Closed issues:**
225
-
226
- - Whitespace in `queues` configuration can cause issues. [\#1351](https://github.com/bensheldon/good_job/issues/1351)
227
- - How to properly handle interrupts [\#1343](https://github.com/bensheldon/good_job/issues/1343)
228
- - ActiveSupport::CurrentAttributes Compatibility [\#1341](https://github.com/bensheldon/good_job/issues/1341)
229
-
230
- **Merged pull requests:**
231
-
232
- - Don't abort CI jobs when a single one fails [\#1346](https://github.com/bensheldon/good_job/pull/1346) ([Earlopain](https://github.com/Earlopain))
233
- - Clarify PgBouncer Compatibility [\#1338](https://github.com/bensheldon/good_job/pull/1338) ([isaac](https://github.com/isaac))
234
-
235
- ## [v3.28.2](https://github.com/bensheldon/good_job/tree/v3.28.2) (2024-04-26)
236
-
237
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.28.1...v3.28.2)
238
-
239
- **Fixed bugs:**
240
-
241
- - Add debug warning message when a job is enqueued within a batch/bulk capture but not to the GoodJob Adapter [\#1339](https://github.com/bensheldon/good_job/pull/1339) ([bensheldon](https://github.com/bensheldon))
242
-
243
- **Closed issues:**
244
-
245
- - How do I add jobs to an existing batch? [\#1337](https://github.com/bensheldon/good_job/issues/1337)
246
- - Executing perform\_now on a good\_job with GoodJobs::ActiveJobExtensions::Concurrency can run twice [\#1335](https://github.com/bensheldon/good_job/issues/1335)
247
-
248
- ## [v3.28.1](https://github.com/bensheldon/good_job/tree/v3.28.1) (2024-04-24)
249
-
250
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.28.0...v3.28.1)
251
-
252
- **Fixed bugs:**
253
-
254
- - Ensure job context does not leak into extensions when`perform_now` is called within another job [\#1336](https://github.com/bensheldon/good_job/pull/1336) ([bensheldon](https://github.com/bensheldon))
255
-
256
- **Closed issues:**
257
-
258
- - `erb_lint` doesn't lint all files [\#1329](https://github.com/bensheldon/good_job/issues/1329)
259
- - Server hangs after \#1297 [\#1301](https://github.com/bensheldon/good_job/issues/1301)
260
- - Figure out how to use bind parameters for time queries [\#1285](https://github.com/bensheldon/good_job/issues/1285)
261
-
262
- **Merged pull requests:**
263
-
264
- - Upgrade development / demo Ruby to v3.3.1 [\#1333](https://github.com/bensheldon/good_job/pull/1333) ([bensheldon](https://github.com/bensheldon))
265
- - Exploratory testing for presence of scheduled\_at when enqueuing [\#1332](https://github.com/bensheldon/good_job/pull/1332) ([bensheldon](https://github.com/bensheldon))
266
- - Run `erb_lint` against all the views and partials [\#1331](https://github.com/bensheldon/good_job/pull/1331) ([bensheldon](https://github.com/bensheldon))
267
-
268
- ## [v3.28.0](https://github.com/bensheldon/good_job/tree/v3.28.0) (2024-04-19)
269
-
270
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.27.4...v3.28.0)
271
-
272
- **Implemented enhancements:**
273
-
274
- - Store and optionally display the full execution backtrace [\#1328](https://github.com/bensheldon/good_job/pull/1328) ([Earlopain](https://github.com/Earlopain))
275
- - Store error backtraces on discrete executions [\#1325](https://github.com/bensheldon/good_job/pull/1325) ([Intrepidd](https://github.com/Intrepidd))
276
-
277
- **Fixed bugs:**
278
-
279
- - add missing dropdown-item class [\#1327](https://github.com/bensheldon/good_job/pull/1327) ([patriciomacadden](https://github.com/patriciomacadden))
280
-
281
- **Closed issues:**
282
-
283
- - Proposal: Migrating Documentation to a Separate Website [\#1324](https://github.com/bensheldon/good_job/issues/1324)
284
- - Potential documentation error in GoodJob::ActiveJobExtensions::NotifyOptions [\#1321](https://github.com/bensheldon/good_job/issues/1321)
285
- - ActiveSupport::CurrentAttributes reset after `perform_later` [\#1320](https://github.com/bensheldon/good_job/issues/1320)
286
- - Storing backtrace in database? [\#1162](https://github.com/bensheldon/good_job/issues/1162)
287
- - Potential locking race condition when using cron scheduler across multiple processes [\#731](https://github.com/bensheldon/good_job/issues/731)
288
-
289
- **Merged pull requests:**
290
-
291
- - docs: corrected a typo regarding the use of GoodJob::ActiveJobExtensions::NotifyOptions [\#1322](https://github.com/bensheldon/good_job/pull/1322) ([pgvsalamander](https://github.com/pgvsalamander))
292
- - Add "best practices" section to Readme [\#1318](https://github.com/bensheldon/good_job/pull/1318) ([bensheldon](https://github.com/bensheldon))
293
- - Change ApplicationRecord to ApplicationJob for label documentation. [\#1317](https://github.com/bensheldon/good_job/pull/1317) ([frans-k](https://github.com/frans-k))
294
- - Run test matrix against Ruby 3.3; remove pry [\#1315](https://github.com/bensheldon/good_job/pull/1315) ([bensheldon](https://github.com/bensheldon))
295
- - Add `Rails.application.load_server` to Demo `config.ru`; quiet puma web-concurrency warnings [\#1314](https://github.com/bensheldon/good_job/pull/1314) ([bensheldon](https://github.com/bensheldon))
296
- - Fix test leakage of configuration double [\#1312](https://github.com/bensheldon/good_job/pull/1312) ([bensheldon](https://github.com/bensheldon))
297
- - Rewrite queries to all use bind parameters and prepare: true [\#1308](https://github.com/bensheldon/good_job/pull/1308) ([bensheldon](https://github.com/bensheldon))
298
-
299
- ## [v3.27.4](https://github.com/bensheldon/good_job/tree/v3.27.4) (2024-04-04)
300
-
301
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.27.3...v3.27.4)
302
-
303
- **Fixed bugs:**
304
-
305
- - Fix status tabs for Spanish translation [\#1307](https://github.com/bensheldon/good_job/pull/1307) ([bensheldon](https://github.com/bensheldon))
306
-
307
- **Closed issues:**
308
-
309
- - Adapter to implement `enqueue_after_transaction_commit` [\#1310](https://github.com/bensheldon/good_job/issues/1310)
310
- - PG::SyntaxError: ERROR from timestamp [\#1305](https://github.com/bensheldon/good_job/issues/1305)
311
- - Spanish translation while on the dashboard displays hashes instead of the job status name [\#1304](https://github.com/bensheldon/good_job/issues/1304)
312
- - Exception raised during asset precompilation when no `config/database.yml` [\#1302](https://github.com/bensheldon/good_job/issues/1302)
313
- - Good job is running with standalone action cable server [\#1299](https://github.com/bensheldon/good_job/issues/1299)
314
- - Growing memory usage [\#1276](https://github.com/bensheldon/good_job/issues/1276)
315
-
316
- **Merged pull requests:**
317
-
318
- - Implement enqueue\_after\_transaction\_commit? [\#1311](https://github.com/bensheldon/good_job/pull/1311) ([luizkowalski](https://github.com/luizkowalski))
319
- - Fix localization formatting of `confirm_force_discard` [\#1309](https://github.com/bensheldon/good_job/pull/1309) ([bensheldon](https://github.com/bensheldon))
320
-
321
- ## [v3.27.3](https://github.com/bensheldon/good_job/tree/v3.27.3) (2024-03-29)
322
-
323
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.27.2...v3.27.3)
324
-
325
- **Merged pull requests:**
326
-
327
- - Revert "Start async adapters `after_initialize` instead of once Active Job and Active Record are loaded and Rails initialized?" [\#1303](https://github.com/bensheldon/good_job/pull/1303) ([bensheldon](https://github.com/bensheldon))
328
-
329
- ## [v3.27.2](https://github.com/bensheldon/good_job/tree/v3.27.2) (2024-03-27)
330
-
331
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.27.1...v3.27.2)
332
-
333
- **Fixed bugs:**
334
-
335
- - Use scope-resolutioned constants in Notifier loop [\#1300](https://github.com/bensheldon/good_job/pull/1300) ([bensheldon](https://github.com/bensheldon))
336
- - Invoke inline Bootstrap Color Mode javascript above CSS link tag to better avoid flash of un-themed content [\#1298](https://github.com/bensheldon/good_job/pull/1298) ([bensheldon](https://github.com/bensheldon))
337
-
338
- **Closed issues:**
339
-
340
- - Buggy theme animation while switching tabs [\#1224](https://github.com/bensheldon/good_job/issues/1224)
341
-
342
- ## [v3.27.1](https://github.com/bensheldon/good_job/tree/v3.27.1) (2024-03-24)
343
-
344
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.27.0...v3.27.1)
345
-
346
- **Fixed bugs:**
347
-
348
- - Start async adapters `after_initialize` instead of once Active Job and Active Record are loaded and Rails initialized? [\#1297](https://github.com/bensheldon/good_job/pull/1297) ([bensheldon](https://github.com/bensheldon))
349
-
350
- ## [v3.27.0](https://github.com/bensheldon/good_job/tree/v3.27.0) (2024-03-24)
351
-
352
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.26.2...v3.27.0)
353
-
354
- **Implemented enhancements:**
355
-
356
- - Add `enabled_by_default: false` as option for cron configuration [\#1289](https://github.com/bensheldon/good_job/pull/1289) ([bensheldon](https://github.com/bensheldon))
357
- - Load metrics for job statuses asynchronously [\#1286](https://github.com/bensheldon/good_job/pull/1286) ([binarygit](https://github.com/binarygit))
358
- - Implement throttling options in concurrency extension [\#1270](https://github.com/bensheldon/good_job/pull/1270) ([marckohlbrugge](https://github.com/marckohlbrugge))
359
-
360
- **Fixed bugs:**
361
-
362
- - fix\(ui-dropdown\): use dropdown-end on locales dropdown [\#1296](https://github.com/bensheldon/good_job/pull/1296) ([WailanTirajoh](https://github.com/WailanTirajoh))
363
-
364
- **Closed issues:**
365
-
366
- - Disabling probe [\#1290](https://github.com/bensheldon/good_job/issues/1290)
367
- - Set an implicit order on models [\#1242](https://github.com/bensheldon/good_job/issues/1242)
368
-
369
- **Merged pull requests:**
370
-
371
- - docs\(readme\): remove double "using" [\#1295](https://github.com/bensheldon/good_job/pull/1295) ([WailanTirajoh](https://github.com/WailanTirajoh))
372
- - Set an implicit order on models [\#1293](https://github.com/bensheldon/good_job/pull/1293) ([mec](https://github.com/mec))
373
- - CI: install gems after loading cache, not before [\#1288](https://github.com/bensheldon/good_job/pull/1288) ([bensheldon](https://github.com/bensheldon))
374
- - Ensure job execution Advisory Lock query uses bind parameters [\#1287](https://github.com/bensheldon/good_job/pull/1287) ([bensheldon](https://github.com/bensheldon))
375
-
376
- ## [v3.26.2](https://github.com/bensheldon/good_job/tree/v3.26.2) (2024-03-15)
377
-
378
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.26.1...v3.26.2)
379
-
380
- **Closed issues:**
381
-
382
- - Async mode blocks ActionDispatch::Reloader [\#1274](https://github.com/bensheldon/good_job/issues/1274)
383
-
384
- **Merged pull requests:**
385
-
386
- - Update dependencies and their Sorbet / Tapioca files [\#1284](https://github.com/bensheldon/good_job/pull/1284) ([bensheldon](https://github.com/bensheldon))
387
- - Use require\_relative and do not modify $LOAD\_PATH in gemspec [\#1283](https://github.com/bensheldon/good_job/pull/1283) ([bensheldon](https://github.com/bensheldon))
388
- - Tweak rbtrace script [\#1279](https://github.com/bensheldon/good_job/pull/1279) ([bensheldon](https://github.com/bensheldon))
389
- - Fix for Rails head: Don't try to override connection on connection checkin in tests [\#1277](https://github.com/bensheldon/good_job/pull/1277) ([bensheldon](https://github.com/bensheldon))
390
- - Tiny improvements to french translation [\#1273](https://github.com/bensheldon/good_job/pull/1273) ([francois-ferrandis](https://github.com/francois-ferrandis))
391
- - Load metrics for top nav asynchronously [\#1231](https://github.com/bensheldon/good_job/pull/1231) ([binarygit](https://github.com/binarygit))
392
-
393
- ## [v3.26.1](https://github.com/bensheldon/good_job/tree/v3.26.1) (2024-03-01)
394
-
395
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.26.0...v3.26.1)
396
-
397
- **Fixed bugs:**
398
-
399
- - Ignore job deserialization errors when mass-retrying through the dashboard [\#1269](https://github.com/bensheldon/good_job/pull/1269) ([bensheldon](https://github.com/bensheldon))
400
-
401
- **Closed issues:**
402
-
403
- - Plain HTTP 500 Error when retrying a job for deleted record [\#1263](https://github.com/bensheldon/good_job/issues/1263)
404
-
405
- ## [v3.26.0](https://github.com/bensheldon/good_job/tree/v3.26.0) (2024-03-01)
406
-
407
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.25.0...v3.26.0)
408
-
409
- **Implemented enhancements:**
410
-
411
- - Add `GoodJob.current_thread_running?` and `GoodJob.current_thread_shutting_down?` for graceful shutdowns [\#1253](https://github.com/bensheldon/good_job/pull/1253) ([bensheldon](https://github.com/bensheldon))
412
-
413
- **Fixed bugs:**
414
-
415
- - Ensure "shutdown?" behavior is consistent between J Ruby and C Ruby [\#1267](https://github.com/bensheldon/good_job/pull/1267) ([bensheldon](https://github.com/bensheldon))
416
-
417
- **Closed issues:**
418
-
419
- - PG Good Job rows add up [\#1262](https://github.com/bensheldon/good_job/issues/1262)
420
- - Bulk operations do not work for Batches [\#1255](https://github.com/bensheldon/good_job/issues/1255)
421
- - What's the difference between 'reschedule' and 'retry' in the dashboard? [\#1241](https://github.com/bensheldon/good_job/issues/1241)
422
-
423
- **Merged pull requests:**
424
-
425
- - feat: add italian locale [\#1268](https://github.com/bensheldon/good_job/pull/1268) ([metalelf0](https://github.com/metalelf0))
426
-
427
- ## [v3.25.0](https://github.com/bensheldon/good_job/tree/v3.25.0) (2024-02-22)
428
-
429
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.24.0...v3.25.0)
430
-
431
- **Implemented enhancements:**
432
-
433
- - Allow disabling of Dashboard Live Polling configuration [\#1235](https://github.com/bensheldon/good_job/pull/1235) ([erick-tmr](https://github.com/erick-tmr))
434
- - Add customizable extension partials to good\_job/jobs\#show view [\#1200](https://github.com/bensheldon/good_job/pull/1200) ([grncdr](https://github.com/grncdr))
435
-
436
- **Fixed bugs:**
437
-
438
- - Fix default engine cron value [\#1258](https://github.com/bensheldon/good_job/pull/1258) ([hss-mateus](https://github.com/hss-mateus))
439
- - Print an error when daemon pidfile dir doesn't exist [\#1252](https://github.com/bensheldon/good_job/pull/1252) ([thepry](https://github.com/thepry))
440
-
441
- **Closed issues:**
442
-
443
- - Production deployment question [\#1257](https://github.com/bensheldon/good_job/issues/1257)
444
- - Daemon and App not connecting to secondary database [\#1254](https://github.com/bensheldon/good_job/issues/1254)
445
- - Logging with logger.warn in classes is suppressed by good job? \(semantic\_logger\) [\#1250](https://github.com/bensheldon/good_job/issues/1250)
446
-
447
- **Merged pull requests:**
448
-
449
- - Fix Active Record connection changes on Rails head [\#1259](https://github.com/bensheldon/good_job/pull/1259) ([bensheldon](https://github.com/bensheldon))
450
- - \[Docs\] Bulk.enqueue takes an array of jobs [\#1256](https://github.com/bensheldon/good_job/pull/1256) ([jpcamara](https://github.com/jpcamara))
451
- - Clean up icon helpers for less noisy view rendering [\#1248](https://github.com/bensheldon/good_job/pull/1248) ([bensheldon](https://github.com/bensheldon))
452
- - Use dotenv-rails instead of dotenv [\#1247](https://github.com/bensheldon/good_job/pull/1247) ([bensheldon](https://github.com/bensheldon))
453
- - Perform inline retries iteratively instead of recursively [\#1246](https://github.com/bensheldon/good_job/pull/1246) ([bensheldon](https://github.com/bensheldon))
454
-
455
- ## [v3.24.0](https://github.com/bensheldon/good_job/tree/v3.24.0) (2024-02-12)
456
-
457
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.23.0...v3.24.0)
458
-
459
- **Fixed bugs:**
460
-
461
- - Fix batches so that retried-and-successful jobs leave the batch succeeded [\#1243](https://github.com/bensheldon/good_job/pull/1243) ([bensheldon](https://github.com/bensheldon))
462
- - Use the job class as the default concurrency key if none is provided [\#1145](https://github.com/bensheldon/good_job/pull/1145) ([Earlopain](https://github.com/Earlopain))
463
-
464
- **Closed issues:**
465
-
466
- - Batch callbacks not run when job fails, then succeeds [\#1239](https://github.com/bensheldon/good_job/issues/1239)
467
- - Broken pipe @ io\_writev - \<STDERR\> \(Errno::EPIPE\) [\#1233](https://github.com/bensheldon/good_job/issues/1233)
468
- - PG::UniqueViolation unique constraint "index\_good\_jobs\_on\_cron\_key\_and\_cron\_at\_cond" [\#1230](https://github.com/bensheldon/good_job/issues/1230)
469
- - Default concurrency key [\#1110](https://github.com/bensheldon/good_job/issues/1110)
470
-
471
- **Merged pull requests:**
472
-
473
- - Use Ruby 3.3 for development; add Bootsnap; update to Rails 7.1.3 [\#1240](https://github.com/bensheldon/good_job/pull/1240) ([bensheldon](https://github.com/bensheldon))
474
- - Tweak docs for new concurrency default [\#1229](https://github.com/bensheldon/good_job/pull/1229) ([Earlopain](https://github.com/Earlopain))
475
- - Brazilian Portuguese locale [\#1226](https://github.com/bensheldon/good_job/pull/1226) ([hss-mateus](https://github.com/hss-mateus))
476
-
477
- ## [v3.23.0](https://github.com/bensheldon/good_job/tree/v3.23.0) (2024-01-23)
478
-
479
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.22.0...v3.23.0)
480
-
481
- **Implemented enhancements:**
482
-
483
- - Add environment label to navbar [\#1206](https://github.com/bensheldon/good_job/pull/1206) ([sparshalc](https://github.com/sparshalc))
484
- - Make health probe server more general purpose [\#1079](https://github.com/bensheldon/good_job/pull/1079) ([jklina](https://github.com/jklina))
485
-
486
- **Fixed bugs:**
487
-
488
- - Use Rails executor instead of reloader when wrapping inline execution [\#1225](https://github.com/bensheldon/good_job/pull/1225) ([bensheldon](https://github.com/bensheldon))
489
- - Add an index to better support `smaller_number_is_higher_priority` [\#1213](https://github.com/bensheldon/good_job/pull/1213) ([mkrfowler](https://github.com/mkrfowler))
490
- - Fix discard job with nonexistent job class [\#1211](https://github.com/bensheldon/good_job/pull/1211) ([yenshirak](https://github.com/yenshirak))
491
- - Fix: Interacting with input field should pause the live poll [\#1210](https://github.com/bensheldon/good_job/pull/1210) ([sparshalc](https://github.com/sparshalc))
492
-
493
- **Closed issues:**
494
-
495
- - can't write unknown attribute `active_job_id` [\#1216](https://github.com/bensheldon/good_job/issues/1216)
496
- - Regression: use of Rails reloader causing mixed constants during seeding [\#1215](https://github.com/bensheldon/good_job/issues/1215)
497
- - Production worker doesn't show any processes [\#1214](https://github.com/bensheldon/good_job/issues/1214)
498
- - Clarify required async mode DB pool size [\#1209](https://github.com/bensheldon/good_job/issues/1209)
499
- - Mac forking exception when using Spring [\#1115](https://github.com/bensheldon/good_job/issues/1115)
500
- - Jobs should have labels [\#1095](https://github.com/bensheldon/good_job/issues/1095)
501
- - Set up Dependabot grouped updates [\#1062](https://github.com/bensheldon/good_job/issues/1062)
502
- - Fix documentation to always include space in "Active Job", "Active Record", etc. [\#1048](https://github.com/bensheldon/good_job/issues/1048)
503
-
504
- **Merged pull requests:**
505
-
506
- - Bump actions/cache from 3 to 4 [\#1223](https://github.com/bensheldon/good_job/pull/1223) ([dependabot[bot]](https://github.com/apps/dependabot))
507
- - Update README, add poll\_interval defaults/recommendations [\#1220](https://github.com/bensheldon/good_job/pull/1220) ([andynu](https://github.com/andynu))
508
- - Update Russian translation [\#1219](https://github.com/bensheldon/good_job/pull/1219) ([alec-c4](https://github.com/alec-c4))
509
- - Add Korean translation \(ko\) [\#1212](https://github.com/bensheldon/good_job/pull/1212) ([hahwul](https://github.com/hahwul))
510
- - Fix default poll interval in documentation [\#1208](https://github.com/bensheldon/good_job/pull/1208) ([yenshirak](https://github.com/yenshirak))
511
-
512
- ## [v3.22.0](https://github.com/bensheldon/good_job/tree/v3.22.0) (2024-01-03)
513
-
514
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.21.5...v3.22.0)
515
-
516
- **Implemented enhancements:**
517
-
518
- - Add "updated at" info in secondary top navbar [\#1204](https://github.com/bensheldon/good_job/pull/1204) ([sparshalc](https://github.com/sparshalc))
519
- - Re-add footer with GoodJob version number [\#1201](https://github.com/bensheldon/good_job/pull/1201) ([Pauloparakleto](https://github.com/Pauloparakleto))
520
- - Add Active Job extension for Labels [\#1188](https://github.com/bensheldon/good_job/pull/1188) ([bensheldon](https://github.com/bensheldon))
521
-
522
- **Closed issues:**
523
-
524
- - Limiting by executed jobs count by period [\#1198](https://github.com/bensheldon/good_job/issues/1198)
525
- - Cron jobs processing in async mode [\#1196](https://github.com/bensheldon/good_job/issues/1196)
526
- - Dashboard Missing Translation? [\#1192](https://github.com/bensheldon/good_job/issues/1192)
527
- - Show last update on top nav bar [\#1183](https://github.com/bensheldon/good_job/issues/1183)
528
- - Wrong quoting of the query to spot new jobs? [\#1179](https://github.com/bensheldon/good_job/issues/1179)
529
- - \[Possible bug\] good\_job does not honour the wait parameter on retry\_on [\#1174](https://github.com/bensheldon/good_job/issues/1174)
530
- - Running GoodJob in production with systemd throws an error due to a wrong communication with WatchDog [\#1172](https://github.com/bensheldon/good_job/issues/1172)
531
-
532
- **Merged pull requests:**
533
-
534
- - Bump the bundler-dependencies group with 3 updates [\#1202](https://github.com/bensheldon/good_job/pull/1202) ([dependabot[bot]](https://github.com/apps/dependabot))
535
- - Remove duplicated intro sentence in README [\#1195](https://github.com/bensheldon/good_job/pull/1195) ([benoittgt](https://github.com/benoittgt))
536
- - Fix namespace for `InterruptError` in README [\#1193](https://github.com/bensheldon/good_job/pull/1193) ([padde](https://github.com/padde))
537
- - Bump github/codeql-action from 2 to 3 [\#1191](https://github.com/bensheldon/good_job/pull/1191) ([dependabot[bot]](https://github.com/apps/dependabot))
538
- - Bump actions/upload-artifact from 3 to 4 [\#1190](https://github.com/bensheldon/good_job/pull/1190) ([dependabot[bot]](https://github.com/apps/dependabot))
539
- - Lock RubyGems version for Ruby \< 3.0 in CI [\#1189](https://github.com/bensheldon/good_job/pull/1189) ([bensheldon](https://github.com/bensheldon))
540
- - Active Record and Active Job name formatting [\#1182](https://github.com/bensheldon/good_job/pull/1182) ([andyatkinson](https://github.com/andyatkinson))
541
- - Remove redundant `good_jobs.active_job_id` index [\#1181](https://github.com/bensheldon/good_job/pull/1181) ([andyatkinson](https://github.com/andyatkinson))
542
- - Add missing word in readme [\#1177](https://github.com/bensheldon/good_job/pull/1177) ([Earlopain](https://github.com/Earlopain))
543
-
544
- ## [v3.21.5](https://github.com/bensheldon/good_job/tree/v3.21.5) (2023-12-12)
545
-
546
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.21.4...v3.21.5)
547
-
548
- **Fixed bugs:**
549
-
550
- - Fix conditional index migration to be rollbackable [\#1176](https://github.com/bensheldon/good_job/pull/1176) ([bensheldon](https://github.com/bensheldon))
551
-
552
- ## [v3.21.4](https://github.com/bensheldon/good_job/tree/v3.21.4) (2023-12-11)
553
-
554
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.21.3...v3.21.4)
555
-
556
- **Fixed bugs:**
557
-
558
- - Fix latest migration not affecting `GoodJob.migrated?` [\#1175](https://github.com/bensheldon/good_job/pull/1175) ([Earlopain](https://github.com/Earlopain))
559
- - Fix no method error in systemd service [\#1173](https://github.com/bensheldon/good_job/pull/1173) ([tagrudev](https://github.com/tagrudev))
560
-
561
- ## [v3.21.3](https://github.com/bensheldon/good_job/tree/v3.21.3) (2023-12-10)
562
-
563
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.21.2...v3.21.3)
564
-
565
- **Implemented enhancements:**
566
-
567
- - Add `--idle-timeout` CLI option to create temporary processes that exit when inactive [\#1159](https://github.com/bensheldon/good_job/pull/1159) ([bensheldon](https://github.com/bensheldon))
568
-
569
- **Fixed bugs:**
570
-
571
- - Add correct paths to $LOAD\_PATH [\#1169](https://github.com/bensheldon/good_job/pull/1169) ([jklina](https://github.com/jklina))
572
- - Recreate cron indexes to be conditional [\#1163](https://github.com/bensheldon/good_job/pull/1163) ([defkode](https://github.com/defkode))
573
-
574
- **Closed issues:**
575
-
576
- - Use partial indices for cron\_key? [\#1161](https://github.com/bensheldon/good_job/issues/1161)
577
- - Mass Update Error [\#1157](https://github.com/bensheldon/good_job/issues/1157)
578
- - v3 roadmap plan [\#705](https://github.com/bensheldon/good_job/issues/705)
579
- - Allow customisation of the dashboard controller parent class [\#687](https://github.com/bensheldon/good_job/issues/687)
580
-
581
- **Merged pull requests:**
582
-
583
- - \[minor\] Use symbol form of index name [\#1171](https://github.com/bensheldon/good_job/pull/1171) ([andyatkinson](https://github.com/andyatkinson))
584
- - Fix development schema.rb to include conditional index name change [\#1168](https://github.com/bensheldon/good_job/pull/1168) ([bensheldon](https://github.com/bensheldon))
585
- - Create new conditional Cron indexes before dropping old indexes [\#1165](https://github.com/bensheldon/good_job/pull/1165) ([bensheldon](https://github.com/bensheldon))
586
- - Fix test that references Rails logger for Rails 7.2a change [\#1160](https://github.com/bensheldon/good_job/pull/1160) ([bensheldon](https://github.com/bensheldon))
587
-
588
- ## [v3.21.2](https://github.com/bensheldon/good_job/tree/v3.21.2) (2023-11-24)
589
-
590
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.21.1...v3.21.2)
591
-
592
- **Fixed bugs:**
593
-
594
- - Skip `RecordAlreadyAdvisoryLockedError` during mass-update action [\#1158](https://github.com/bensheldon/good_job/pull/1158) ([jmarsh24](https://github.com/jmarsh24))
595
-
596
- **Closed issues:**
597
-
598
- - Processes are created for puma workers after version v3.12.5 with execution\_mode==:external [\#1156](https://github.com/bensheldon/good_job/issues/1156)
599
-
600
- **Merged pull requests:**
601
-
602
- - Update README.md [\#1152](https://github.com/bensheldon/good_job/pull/1152) ([LucasKendi](https://github.com/LucasKendi))
603
-
604
- ## [v3.21.1](https://github.com/bensheldon/good_job/tree/v3.21.1) (2023-11-14)
605
-
606
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.21.0...v3.21.1)
607
-
608
- **Fixed bugs:**
609
-
610
- - Explicitly require `active_job/arguments` in `GoodJob::BatchRecord` [\#1150](https://github.com/bensheldon/good_job/pull/1150) ([hidenba](https://github.com/hidenba))
611
- - Bug: Polling only activates single thread, should eagerly create additional threads when jobs exist [\#1148](https://github.com/bensheldon/good_job/pull/1148) ([bensheldon](https://github.com/bensheldon))
612
-
613
- **Closed issues:**
614
-
615
- - Error when executing ActiveJob::Batch.new in Rails 7.1.x [\#1149](https://github.com/bensheldon/good_job/issues/1149)
616
- - Show whether or not cron scheduler is enable in dashboard \(UI\) [\#1117](https://github.com/bensheldon/good_job/issues/1117)
617
- - ActiveRecord::ConnectionNotEstablished For rails multi DB [\#1103](https://github.com/bensheldon/good_job/issues/1103)
618
- - Rails API dies when using latest good\_job version [\#952](https://github.com/bensheldon/good_job/issues/952)
619
- - config.good\_job.preserve\_job\_records = false not working with CRON [\#927](https://github.com/bensheldon/good_job/issues/927)
620
- - Pundit::NotDefinedError \(unable to find policy `Admin::GoodJob::JobPolicy` for \) - version 2.13.0 and above [\#618](https://github.com/bensheldon/good_job/issues/618)
621
- - Running CLI under foreman doesn't display log output until exit [\#490](https://github.com/bensheldon/good_job/issues/490)
622
-
623
- **Merged pull requests:**
624
-
625
- - Always instantiate MultiScheduler; delegate Scheduler Metrics to JobPerformer [\#1147](https://github.com/bensheldon/good_job/pull/1147) ([bensheldon](https://github.com/bensheldon))
626
- - Clarify on concurrency uniqueness constraints [\#1144](https://github.com/bensheldon/good_job/pull/1144) ([Earlopain](https://github.com/Earlopain))
627
-
628
- ## [v3.21.0](https://github.com/bensheldon/good_job/tree/v3.21.0) (2023-11-06)
629
-
630
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.20.0...v3.21.0)
631
-
632
- **Implemented enhancements:**
633
-
634
- - Add "cron enabled" column to processes index page [\#1127](https://github.com/bensheldon/good_job/pull/1127) ([bforma](https://github.com/bforma))
635
- - Add `limit:` kwarg to `GoodJob.perform_inline` [\#1126](https://github.com/bensheldon/good_job/pull/1126) ([bensheldon](https://github.com/bensheldon))
636
-
637
- **Closed issues:**
638
-
639
- - Cron scheduler and multiple processes [\#1128](https://github.com/bensheldon/good_job/issues/1128)
640
- - `GoodJob.on_thread_error` not called in tests [\#1102](https://github.com/bensheldon/good_job/issues/1102)
641
-
642
- **Merged pull requests:**
643
-
644
- - Use a Concurrent::Event for CLI signal-trapping loop [\#1141](https://github.com/bensheldon/good_job/pull/1141) ([bensheldon](https://github.com/bensheldon))
645
- - Update README's optimize queue explanation [\#1138](https://github.com/bensheldon/good_job/pull/1138) ([maestromac](https://github.com/maestromac))
646
- - Update development dependencies and light Rubocop'ing [\#1136](https://github.com/bensheldon/good_job/pull/1136) ([bensheldon](https://github.com/bensheldon))
647
- - Move the Rails app harness from `spec/test_app` to `demo` [\#1135](https://github.com/bensheldon/good_job/pull/1135) ([bensheldon](https://github.com/bensheldon))
648
- - In test, shutdown schedulers/capsules before doing assertions because of race conditions; store CI logs for Dev Env tests [\#1129](https://github.com/bensheldon/good_job/pull/1129) ([bensheldon](https://github.com/bensheldon))
649
- - Use a constant to represent `None` for default/blank memoizable values [\#1125](https://github.com/bensheldon/good_job/pull/1125) ([bensheldon](https://github.com/bensheldon))
650
-
651
- ## [v3.20.0](https://github.com/bensheldon/good_job/tree/v3.20.0) (2023-10-23)
652
-
653
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.19.4...v3.20.0)
654
-
655
- **Closed issues:**
656
-
657
- - Dashboard blocked in iframe tag [\#1111](https://github.com/bensheldon/good_job/issues/1111)
658
- - PG::ConnectionBad: PQsocket\(\) can't get socket descriptor [\#1100](https://github.com/bensheldon/good_job/issues/1100)
659
-
660
- **Merged pull requests:**
661
-
662
- - Wrap Adapter enqueue methods and Batch callbacks with Rails Reloader; verify in tests that no Advisory locks remain at database connection check-in [\#1124](https://github.com/bensheldon/good_job/pull/1124) ([bensheldon](https://github.com/bensheldon))
663
- - Run all RSpec examples within a Rails Executor [\#1122](https://github.com/bensheldon/good_job/pull/1122) ([bensheldon](https://github.com/bensheldon))
664
- - Print better debugging for retained advisory locks in test [\#1121](https://github.com/bensheldon/good_job/pull/1121) ([bensheldon](https://github.com/bensheldon))
665
- - Replace Heroku-specific Rake tasks with `db:prepare` now that Demo is upgraded to Rails 7.1 [\#1120](https://github.com/bensheldon/good_job/pull/1120) ([bensheldon](https://github.com/bensheldon))
666
- - Do not error debug logs if `pg_stat_activity` join is empty [\#1119](https://github.com/bensheldon/good_job/pull/1119) ([bensheldon](https://github.com/bensheldon))
667
- - Remove pinned psych version [\#1114](https://github.com/bensheldon/good_job/pull/1114) ([bensheldon](https://github.com/bensheldon))
668
- - Remove `pg_advisory_unlock_all()` after job is run; only verify blank `finished_at` \(and not lock presence\) before performing job [\#1113](https://github.com/bensheldon/good_job/pull/1113) ([bensheldon](https://github.com/bensheldon))
669
- - Update docs url [\#1112](https://github.com/bensheldon/good_job/pull/1112) ([ur5us](https://github.com/ur5us))
670
- - Pin psych gem 5.1.0 [\#1108](https://github.com/bensheldon/good_job/pull/1108) ([bensheldon](https://github.com/bensheldon))
671
- - Add sampling for Skylight traces on Demo [\#1107](https://github.com/bensheldon/good_job/pull/1107) ([bensheldon](https://github.com/bensheldon))
672
- - Add Rails 7.1 to test matrix [\#1105](https://github.com/bensheldon/good_job/pull/1105) ([bensheldon](https://github.com/bensheldon))
673
- - Add spec to verify unhandled thread errors are reported [\#1104](https://github.com/bensheldon/good_job/pull/1104) ([bensheldon](https://github.com/bensheldon))
674
- - Update Codespace configuration [\#1101](https://github.com/bensheldon/good_job/pull/1101) ([bensheldon](https://github.com/bensheldon))
675
-
676
- ## [v3.19.4](https://github.com/bensheldon/good_job/tree/v3.19.4) (2023-10-04)
677
-
678
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.19.3...v3.19.4)
679
-
680
- **Closed issues:**
681
-
682
- - Including GoodJob::ActiveJobExtensions::Concurrency triggers rails deprecation notice [\#1096](https://github.com/bensheldon/good_job/issues/1096)
683
- - Add retries exhaused callback [\#1080](https://github.com/bensheldon/good_job/issues/1080)
684
-
685
- **Merged pull requests:**
686
-
687
- - Address rails 7.1 deprecation when using `ActiveJobExtensions::Concurrency` [\#1097](https://github.com/bensheldon/good_job/pull/1097) ([Earlopain](https://github.com/Earlopain))
688
-
689
- ## [v3.19.3](https://github.com/bensheldon/good_job/tree/v3.19.3) (2023-09-28)
690
-
691
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.19.2...v3.19.3)
692
-
693
- **Closed issues:**
694
-
695
- - Explicitly write that jobs with higher priority jobs run first \(unlike Que or DelayedJob\) at readme. [\#991](https://github.com/bensheldon/good_job/issues/991)
696
-
697
- **Merged pull requests:**
698
-
699
- - Correct `discrete_execution#status` method [\#1092](https://github.com/bensheldon/good_job/pull/1092) ([coreyaus](https://github.com/coreyaus))
700
- - Use ActiveSupport::BroadcastLogger [\#1089](https://github.com/bensheldon/good_job/pull/1089) ([bensheldon](https://github.com/bensheldon))
701
- - Log thread name for gem development debugging [\#1085](https://github.com/bensheldon/good_job/pull/1085) ([bensheldon](https://github.com/bensheldon))
702
- - Describe ApplicationController hook in README [\#1082](https://github.com/bensheldon/good_job/pull/1082) ([maxim](https://github.com/maxim))
703
- - \[Docs\] Explain how `priority` works in GoodJob [\#1005](https://github.com/bensheldon/good_job/pull/1005) ([coreyaus](https://github.com/coreyaus))
704
-
705
- ## [v3.19.2](https://github.com/bensheldon/good_job/tree/v3.19.2) (2023-09-22)
706
-
707
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.19.1...v3.19.2)
708
-
709
- **Merged pull requests:**
710
-
711
- - Fix HttpServer to handle Errno::EPIPE [\#1083](https://github.com/bensheldon/good_job/pull/1083) ([shouichi](https://github.com/shouichi))
712
-
713
- ## [v3.19.1](https://github.com/bensheldon/good_job/tree/v3.19.1) (2023-09-20)
714
-
715
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.19.0...v3.19.1)
716
-
717
- **Implemented enhancements:**
718
-
719
- - Add `good_job_application_controller` load hook [\#1081](https://github.com/bensheldon/good_job/pull/1081) ([bensheldon](https://github.com/bensheldon))
720
-
721
- ## [v3.19.0](https://github.com/bensheldon/good_job/tree/v3.19.0) (2023-09-19)
722
-
723
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.18.3...v3.19.0)
724
-
725
- **Implemented enhancements:**
726
-
727
- - "Force" discard jobs that are already running/runaway to prevent retry [\#1073](https://github.com/bensheldon/good_job/pull/1073) ([jgrau](https://github.com/jgrau))
728
-
729
- **Closed issues:**
730
-
731
- - Possible Memory Leak [\#1074](https://github.com/bensheldon/good_job/issues/1074)
732
- - What's the best way to stop and discard a running job? [\#625](https://github.com/bensheldon/good_job/issues/625)
733
-
734
- **Merged pull requests:**
735
-
736
- - AdvisoryLockable: Abort record create if with\_advisory\_lock fails to acquire advisory lock [\#1078](https://github.com/bensheldon/good_job/pull/1078) ([bensheldon](https://github.com/bensheldon))
737
- - Wrap all test background threads in Rails executors; better test logging/debugging [\#1077](https://github.com/bensheldon/good_job/pull/1077) ([bensheldon](https://github.com/bensheldon))
738
-
739
- ## [v3.18.3](https://github.com/bensheldon/good_job/tree/v3.18.3) (2023-09-16)
740
-
741
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.18.2...v3.18.3)
742
-
743
- **Fixed bugs:**
744
-
745
- - Allow Probe Server's `/connect` to handle a certain number of reconnects before statusing [\#1075](https://github.com/bensheldon/good_job/pull/1075) ([bensheldon](https://github.com/bensheldon))
746
-
747
- **Closed issues:**
748
-
749
- - ActiveRecord::RecordNotUnique good\_jobs.id error in rspec test suite [\#1072](https://github.com/bensheldon/good_job/issues/1072)
750
- - Probe failures on heavy usage of dashboard\(?\) [\#1068](https://github.com/bensheldon/good_job/issues/1068)
751
-
752
- **Merged pull requests:**
753
-
754
- - Bump actions/checkout from 3 to 4 [\#1070](https://github.com/bensheldon/good_job/pull/1070) ([dependabot[bot]](https://github.com/apps/dependabot))
755
- - Add Skylight for demo site; create distinct development, lint, demo, production Gemfile groups; a little bit of Rubocop [\#1069](https://github.com/bensheldon/good_job/pull/1069) ([bensheldon](https://github.com/bensheldon))
756
- - Add JRuby 9.4 to testing matrix; nerf ActiveJob::TestQueueAdapter overrides [\#1067](https://github.com/bensheldon/good_job/pull/1067) ([bensheldon](https://github.com/bensheldon))
757
- - Reorganize dependencies to make booting JRuby easier [\#1066](https://github.com/bensheldon/good_job/pull/1066) ([bensheldon](https://github.com/bensheldon))
758
- - Slight refactoring to CronEntry [\#1063](https://github.com/bensheldon/good_job/pull/1063) ([bensheldon](https://github.com/bensheldon))
759
-
760
- ## [v3.18.2](https://github.com/bensheldon/good_job/tree/v3.18.2) (2023-09-02)
761
-
762
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.18.1...v3.18.2)
763
-
764
- **Fixed bugs:**
765
-
766
- - Fix compatibility with Global ID v1.2.0 [\#1064](https://github.com/bensheldon/good_job/pull/1064) ([bensheldon](https://github.com/bensheldon))
767
-
768
- **Merged pull requests:**
769
-
770
- - Bump pg from 1.5.3 to 1.5.4 [\#1061](https://github.com/bensheldon/good_job/pull/1061) ([dependabot[bot]](https://github.com/apps/dependabot))
771
-
772
- ## [v3.18.1](https://github.com/bensheldon/good_job/tree/v3.18.1) (2023-08-30)
773
-
774
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.18.0...v3.18.1)
775
-
776
- **Implemented enhancements:**
777
-
778
- - Respect the configured execution mode, even within the CLI [\#1056](https://github.com/bensheldon/good_job/pull/1056) ([bensheldon](https://github.com/bensheldon))
779
-
780
- **Closed issues:**
781
-
782
- - Bug: calling `GoodJob.restart` in Puma on\_worker\_boot starts GoodJob regardless of it being in async mode or not [\#1054](https://github.com/bensheldon/good_job/issues/1054)
783
- - \[Feature Request?\] Config Option to Inline Child-Jobs in Worker Processes [\#1052](https://github.com/bensheldon/good_job/issues/1052)
784
- - \[Feature Request\] Hook to extend cron schedules [\#1050](https://github.com/bensheldon/good_job/issues/1050)
785
-
786
- **Merged pull requests:**
787
-
788
- - `GoodJob.restart` should not start capsules \(job execution\) when in a webserver but not in async mode [\#1055](https://github.com/bensheldon/good_job/pull/1055) ([bensheldon](https://github.com/bensheldon))
789
-
790
- ## [v3.18.0](https://github.com/bensheldon/good_job/tree/v3.18.0) (2023-08-30)
791
-
792
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.17.4...v3.18.0)
793
-
794
- **Implemented enhancements:**
795
-
796
- - Support configuring cron schedule dynamically with a block [\#1051](https://github.com/bensheldon/good_job/pull/1051) ([DanielHeath](https://github.com/DanielHeath))
797
-
798
- ## [v3.17.4](https://github.com/bensheldon/good_job/tree/v3.17.4) (2023-08-24)
799
-
800
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.17.3...v3.17.4)
801
-
802
- **Fixed bugs:**
803
-
804
- - Handle edge case of logger not responding to silence [\#1049](https://github.com/bensheldon/good_job/pull/1049) ([bensheldon](https://github.com/bensheldon))
805
-
806
- **Closed issues:**
807
-
808
- - An idea for better .silence handling [\#1046](https://github.com/bensheldon/good_job/issues/1046)
809
-
810
- ## [v3.17.3](https://github.com/bensheldon/good_job/tree/v3.17.3) (2023-08-19)
811
-
812
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.17.2...v3.17.3)
813
-
814
- **Fixed bugs:**
815
-
816
- - New probe server fixes: allow accept\_nonblock to raise and IO.gets return nil [\#1043](https://github.com/bensheldon/good_job/pull/1043) ([stas](https://github.com/stas))
817
-
818
- **Closed issues:**
819
-
820
- - Dashboard as separate package? [\#965](https://github.com/bensheldon/good_job/issues/965)
821
- - Managing jobs with errors [\#929](https://github.com/bensheldon/good_job/issues/929)
822
- - Feature: dynamic options for good\_job\_control\_concurrency\_with [\#684](https://github.com/bensheldon/good_job/issues/684)
823
-
824
- **Merged pull requests:**
825
-
826
- - Attempt to overcome github\_changelog\_generator's rate limit problem [\#1045](https://github.com/bensheldon/good_job/pull/1045) ([bensheldon](https://github.com/bensheldon))
827
- - \[Doc\] for cron schedule add info about Dashboard view [\#1042](https://github.com/bensheldon/good_job/pull/1042) ([steveroot](https://github.com/steveroot))
828
- - Add description of :class to readme for cron style repeating jobs section [\#1040](https://github.com/bensheldon/good_job/pull/1040) ([steveroot](https://github.com/steveroot))
829
-
830
- ## [v3.17.2](https://github.com/bensheldon/good_job/tree/v3.17.2) (2023-08-10)
831
-
832
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.17.1...v3.17.2)
833
-
834
- **Fixed bugs:**
835
-
836
- - 3.17.0 breaks health check endpoints [\#1033](https://github.com/bensheldon/good_job/issues/1033)
837
- - Fix NoMethodError: undefined method `silence' for nil:NilClass [\#1037](https://github.com/bensheldon/good_job/pull/1037) ([afn](https://github.com/afn))
838
-
839
- **Closed issues:**
840
-
841
- - NoMethodError in ProcessHeartbeat if ActiveRecord logger is nil [\#1036](https://github.com/bensheldon/good_job/issues/1036)
842
- - JRuby deprecation policy [\#1035](https://github.com/bensheldon/good_job/issues/1035)
843
-
844
- **Merged pull requests:**
845
-
846
- - Add helpful failure output for Sorbet linter [\#1038](https://github.com/bensheldon/good_job/pull/1038) ([bensheldon](https://github.com/bensheldon))
847
-
848
- ## [v3.17.1](https://github.com/bensheldon/good_job/tree/v3.17.1) (2023-08-08)
849
-
850
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.17.0...v3.17.1)
851
-
852
- **Fixed bugs:**
853
-
854
- - Fix Probe Server by retrying IO.select instead of returning early [\#1034](https://github.com/bensheldon/good_job/pull/1034) ([bensheldon](https://github.com/bensheldon))
855
-
856
- **Closed issues:**
857
-
858
- - Add database connection pool details to Process state [\#1014](https://github.com/bensheldon/good_job/issues/1014)
859
-
860
- **Merged pull requests:**
861
-
862
- - Add YARD warnings to lint script; fix YARD warnings [\#1032](https://github.com/bensheldon/good_job/pull/1032) ([bensheldon](https://github.com/bensheldon))
863
-
864
- ## [v3.17.0](https://github.com/bensheldon/good_job/tree/v3.17.0) (2023-08-06)
865
-
866
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.16.4...v3.17.0)
867
-
868
- **Implemented enhancements:**
869
-
870
- - Add Dark Mode color theme for Dashboard [\#1031](https://github.com/bensheldon/good_job/pull/1031) ([bensheldon](https://github.com/bensheldon))
871
- - Automatically send status notifications to systemd [\#1029](https://github.com/bensheldon/good_job/pull/1029) ([Mr0grog](https://github.com/Mr0grog))
872
-
873
- **Closed issues:**
874
-
875
- - Add systemd/sd\_notify support to CLI [\#1027](https://github.com/bensheldon/good_job/issues/1027)
876
- - Cron job by default runs on the web server even when "async" execution mode is not specified [\#1026](https://github.com/bensheldon/good_job/issues/1026)
877
- - Replace webrick with a small/simple custom rack-compatible http server [\#1017](https://github.com/bensheldon/good_job/issues/1017)
878
- - Dark mode for the dashboard ? [\#974](https://github.com/bensheldon/good_job/issues/974)
879
-
880
- **Merged pull requests:**
881
-
882
- - Replace Webrick with custom simple http server [\#1030](https://github.com/bensheldon/good_job/pull/1030) ([dixpac](https://github.com/dixpac))
883
- - Bump appraisal from `b200e63` to `feb78bc` [\#1025](https://github.com/bensheldon/good_job/pull/1025) ([dependabot[bot]](https://github.com/apps/dependabot))
884
- - Bump net-imap from 0.3.6 to 0.3.7 [\#1024](https://github.com/bensheldon/good_job/pull/1024) ([dependabot[bot]](https://github.com/apps/dependabot))
885
- - Bump rack from 2.2.7 to 2.2.8 [\#1023](https://github.com/bensheldon/good_job/pull/1023) ([dependabot[bot]](https://github.com/apps/dependabot))
886
-
887
- ## [v3.16.4](https://github.com/bensheldon/good_job/tree/v3.16.4) (2023-07-30)
888
-
889
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.16.3...v3.16.4)
890
-
891
- **Implemented enhancements:**
892
-
893
- - Add database\_connection\_pool stats to `GoodJob::Process.current_state` [\#1019](https://github.com/bensheldon/good_job/pull/1019) ([dixpac](https://github.com/dixpac))
894
-
895
- **Fixed bugs:**
896
-
897
- - Move `Execution#active_job` to BaseExecution to share with Job; refactor `Batch#active_jobs` to use job directly [\#1022](https://github.com/bensheldon/good_job/pull/1022) ([bensheldon](https://github.com/bensheldon))
898
-
899
- **Closed issues:**
900
-
901
- - Notifier errored: ArgumentError: wrong number of arguments \(given 1, expected 0\) [\#1016](https://github.com/bensheldon/good_job/issues/1016)
902
- - Understanding Database Connections and Cron [\#1013](https://github.com/bensheldon/good_job/issues/1013)
903
- - Experiencing various database exceptions with Rails 7.1 [\#796](https://github.com/bensheldon/good_job/issues/796)
904
-
905
- **Merged pull requests:**
906
-
907
- - Refactor Notifier to ensure \#restart is threadsafe [\#1021](https://github.com/bensheldon/good_job/pull/1021) ([bensheldon](https://github.com/bensheldon))
908
- - Notifier and CronManager share a 2-thread executor within the capsule [\#1018](https://github.com/bensheldon/good_job/pull/1018) ([bensheldon](https://github.com/bensheldon))
909
- - Clarify database connections and recurring processes in README.md [\#1015](https://github.com/bensheldon/good_job/pull/1015) ([blumhardts](https://github.com/blumhardts))
910
- - Deprecate `GoodJob::Lockable` and rename to `GoodJob::AdvisoryLockable` [\#1012](https://github.com/bensheldon/good_job/pull/1012) ([bensheldon](https://github.com/bensheldon))
911
-
912
- ## [v3.16.3](https://github.com/bensheldon/good_job/tree/v3.16.3) (2023-07-18)
913
-
914
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.16.2...v3.16.3)
915
-
916
- **Fixed bugs:**
917
-
918
- - Fix bulk enqueue for unmigrated 'error\_event'; add `GoodJob.migrated?` check method; use custom enum implementation [\#1011](https://github.com/bensheldon/good_job/pull/1011) ([bensheldon](https://github.com/bensheldon))
919
-
920
- **Closed issues:**
921
-
922
- - GoodJob::Bulk.enqueue not handling missing migrations [\#1010](https://github.com/bensheldon/good_job/issues/1010)
923
-
924
- **Merged pull requests:**
925
-
926
- - Move shared `BaseExecution` concerns into the base class. [\#1009](https://github.com/bensheldon/good_job/pull/1009) ([dixpac](https://github.com/dixpac))
927
-
928
- ## [v3.16.2](https://github.com/bensheldon/good_job/tree/v3.16.2) (2023-07-13)
929
-
930
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.16.1...v3.16.2)
931
-
932
- **Closed issues:**
933
-
934
- - Support for customized job display name [\#956](https://github.com/bensheldon/good_job/issues/956)
935
-
936
- **Merged pull requests:**
937
-
938
- - Add `GoodJob::Job#display_name` to allow customizing dashboard job display [\#1008](https://github.com/bensheldon/good_job/pull/1008) ([paul](https://github.com/paul))
939
-
940
- ## [v3.16.1](https://github.com/bensheldon/good_job/tree/v3.16.1) (2023-07-11)
941
-
942
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.16.0...v3.16.1)
943
-
944
- **Fixed bugs:**
945
-
946
- - Wrap Notifier's `refresh_process` with Rails executor [\#1007](https://github.com/bensheldon/good_job/pull/1007) ([bensheldon](https://github.com/bensheldon))
947
-
948
- **Closed issues:**
949
-
950
- - uninitialized constant GoodJob::Process [\#1006](https://github.com/bensheldon/good_job/issues/1006)
951
-
952
- ## [v3.16.0](https://github.com/bensheldon/good_job/tree/v3.16.0) (2023-07-10)
953
-
954
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.15.14...v3.16.0)
955
-
956
- **Implemented enhancements:**
957
-
958
- - Add `GoodJob.configure_active_record` as alternative to `GoodJob.active_record_parent_class` [\#1004](https://github.com/bensheldon/good_job/pull/1004) ([bensheldon](https://github.com/bensheldon))
959
- - Configure `dashboard_default_locale` using custom subclass of `I18n::Config` to isolate I18n configuration from parent application [\#1001](https://github.com/bensheldon/good_job/pull/1001) ([bensheldon](https://github.com/bensheldon))
960
- - Create `error_event` column to track the context of an error \(discarded, retried, retry\_stopped, etc\) [\#995](https://github.com/bensheldon/good_job/pull/995) ([bensheldon](https://github.com/bensheldon))
961
- - Added metrics to Scheduler and track in Process state [\#984](https://github.com/bensheldon/good_job/pull/984) ([AndersGM](https://github.com/AndersGM))
962
-
963
- **Fixed bugs:**
964
-
965
- - Use Concurrent::Array for class `instances` to avoid JRuby synchronization errors [\#1002](https://github.com/bensheldon/good_job/pull/1002) ([bensheldon](https://github.com/bensheldon))
966
- - Add test to assert enqueuing behavior within transactions [\#998](https://github.com/bensheldon/good_job/pull/998) ([bensheldon](https://github.com/bensheldon))
967
- - Fix Ukrainian language code [\#996](https://github.com/bensheldon/good_job/pull/996) ([bensheldon](https://github.com/bensheldon))
968
-
969
- **Closed issues:**
970
-
971
- - Is `pgcrypto` necessary? [\#805](https://github.com/bensheldon/good_job/issues/805)
972
- - Integrate Sorbet type checking [\#404](https://github.com/bensheldon/good_job/issues/404)
973
-
974
- **Merged pull requests:**
975
-
976
- - Unify `frozen_string_literal` comment style [\#1003](https://github.com/bensheldon/good_job/pull/1003) ([dixpac](https://github.com/dixpac))
977
- - Add more execution mode details and caveats to Readme Set Up section [\#997](https://github.com/bensheldon/good_job/pull/997) ([bensheldon](https://github.com/bensheldon))
978
- - Add note in migrations that `pgcrypto` extension isn't necessary in PG 13+ [\#837](https://github.com/bensheldon/good_job/pull/837) ([bensheldon](https://github.com/bensheldon))
979
- - Add Sorbet to linter [\#760](https://github.com/bensheldon/good_job/pull/760) ([sam1el](https://github.com/sam1el))
980
-
981
- ## [v3.15.14](https://github.com/bensheldon/good_job/tree/v3.15.14) (2023-07-03)
982
-
983
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.15.13...v3.15.14)
984
-
985
- **Implemented enhancements:**
986
-
987
- - Add Process heartbeat that is updated inside of Notifier [\#977](https://github.com/bensheldon/good_job/pull/977) ([bensheldon](https://github.com/bensheldon))
988
-
989
- **Fixed bugs:**
990
-
991
- - Dashboard error when trying to display 0 running/queued/retried jobs due to missing 'zero' translation [\#990](https://github.com/bensheldon/good_job/issues/990)
992
- - Add explicit namespace back to `GoodJob::DiscreteExecution` [\#983](https://github.com/bensheldon/good_job/pull/983) ([bensheldon](https://github.com/bensheldon))
993
-
994
- **Closed issues:**
995
-
996
- - Persisting ActiveSupport::CurrentAttributes [\#981](https://github.com/bensheldon/good_job/issues/981)
997
- - uninitialized constant DiscreteExecution [\#962](https://github.com/bensheldon/good_job/issues/962)
998
- - Hard kill resilience with execution counts [\#922](https://github.com/bensheldon/good_job/issues/922)
999
-
1000
- **Merged pull requests:**
1001
-
1002
- - Bump rubocop from 1.53.0 to 1.54.0 [\#994](https://github.com/bensheldon/good_job/pull/994) ([dependabot[bot]](https://github.com/apps/dependabot))
1003
- - Bump rails from 7.0.5 to 7.0.6 [\#993](https://github.com/bensheldon/good_job/pull/993) ([dependabot[bot]](https://github.com/apps/dependabot))
1004
- - Fix CI: Lock traces version for Ruby 2.6 compatible version [\#987](https://github.com/bensheldon/good_job/pull/987) ([bensheldon](https://github.com/bensheldon))
1005
- - Turkish Language support [\#986](https://github.com/bensheldon/good_job/pull/986) ([SemihCag](https://github.com/SemihCag))
1006
- - Use generic error reporter in Readme examples [\#964](https://github.com/bensheldon/good_job/pull/964) ([shouichi](https://github.com/shouichi))
1007
-
1008
- ## [v3.15.13](https://github.com/bensheldon/good_job/tree/v3.15.13) (2023-06-14)
1009
-
1010
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.15.12...v3.15.13)
1011
-
1012
- **Fixed bugs:**
1013
-
1014
- - Replace uncached table\_exists? with cached table\_exists? [\#979](https://github.com/bensheldon/good_job/pull/979) ([cmcinnes-mdsol](https://github.com/cmcinnes-mdsol))
1015
-
1016
- ## [v3.15.12](https://github.com/bensheldon/good_job/tree/v3.15.12) (2023-06-11)
1017
-
1018
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.15.11...v3.15.12)
1019
-
1020
- **Fixed bugs:**
1021
-
1022
- - Do not allow GoodJob to automatically start after Rails initialization if previously shutdown [\#976](https://github.com/bensheldon/good_job/pull/976) ([bensheldon](https://github.com/bensheldon))
1023
-
1024
- **Merged pull requests:**
1025
-
1026
- - Fix Rubocop linting [\#975](https://github.com/bensheldon/good_job/pull/975) ([bensheldon](https://github.com/bensheldon))
1027
- - Bump capybara from 3.38.0 to 3.39.1 [\#970](https://github.com/bensheldon/good_job/pull/970) ([dependabot[bot]](https://github.com/apps/dependabot))
1028
- - Bump thor from 1.2.1 to 1.2.2 [\#967](https://github.com/bensheldon/good_job/pull/967) ([dependabot[bot]](https://github.com/apps/dependabot))
1029
-
1030
- ## [v3.15.11](https://github.com/bensheldon/good_job/tree/v3.15.11) (2023-06-06)
1031
-
1032
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.15.10...v3.15.11)
1033
-
1034
- **Fixed bugs:**
1035
-
1036
- - Fix `discrete_executions` job re-enqueueing when `retry_job` is called directly [\#973](https://github.com/bensheldon/good_job/pull/973) ([bensheldon](https://github.com/bensheldon))
1037
-
1038
- **Closed issues:**
1039
-
1040
- - Unclear how discrete executions should work with reenqueued jobs \(leads to broken job-iteration\) [\#972](https://github.com/bensheldon/good_job/issues/972)
1041
- - `build_for_enqueue` discards `scheduled_at` values for bulk-enqueued jobs [\#966](https://github.com/bensheldon/good_job/issues/966)
1042
-
1043
- ## [v3.15.10](https://github.com/bensheldon/good_job/tree/v3.15.10) (2023-05-22)
1044
-
1045
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.15.9...v3.15.10)
1046
-
1047
- **Fixed bugs:**
1048
-
1049
- - Ensure migration warning for `DiscreteExecution` constant is in explicit `GoodJob::` namespace [\#963](https://github.com/bensheldon/good_job/pull/963) ([bensheldon](https://github.com/bensheldon))
1050
-
1051
- ## [v3.15.9](https://github.com/bensheldon/good_job/tree/v3.15.9) (2023-05-21)
1052
-
1053
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.15.8...v3.15.9)
1054
-
1055
- **Fixed bugs:**
1056
-
1057
- - Fix wait and wait\_until ignored in bulk enqueue [\#960](https://github.com/bensheldon/good_job/pull/960) ([bensheldon](https://github.com/bensheldon))
1058
-
1059
- **Closed issues:**
1060
-
1061
- - Does Bulk enqueue respect wait? [\#959](https://github.com/bensheldon/good_job/issues/959)
1062
- - BaseExecution::discrete\_support? hardcodes the DiscreteExecution table\_name [\#957](https://github.com/bensheldon/good_job/issues/957)
1063
-
1064
- **Merged pull requests:**
1065
-
1066
- - Fix flaky jruby test to widen time-based range [\#961](https://github.com/bensheldon/good_job/pull/961) ([bensheldon](https://github.com/bensheldon))
1067
- - Update README.md [\#953](https://github.com/bensheldon/good_job/pull/953) ([namiwang](https://github.com/namiwang))
1068
-
1069
- ## [v3.15.8](https://github.com/bensheldon/good_job/tree/v3.15.8) (2023-05-19)
1070
-
1071
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.15.7...v3.15.8)
1072
-
1073
- **Fixed bugs:**
1074
-
1075
- - Fix hard-coded and duplicated table\_name [\#958](https://github.com/bensheldon/good_job/pull/958) ([gap777](https://github.com/gap777))
1076
-
1077
- **Closed issues:**
1078
-
1079
- - `active_job.enqueue` Performance Issue [\#939](https://github.com/bensheldon/good_job/issues/939)
1080
-
1081
- **Merged pull requests:**
1082
-
1083
- - Bump rubocop from 1.46.0 to 1.50.2 [\#949](https://github.com/bensheldon/good_job/pull/949) ([dependabot[bot]](https://github.com/apps/dependabot))
1084
- - Bump rubocop-rails from 2.18.0 to 2.19.1 [\#947](https://github.com/bensheldon/good_job/pull/947) ([dependabot[bot]](https://github.com/apps/dependabot))
1085
-
1086
- ## [v3.15.7](https://github.com/bensheldon/good_job/tree/v3.15.7) (2023-04-30)
1087
-
1088
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.15.6...v3.15.7)
1089
-
1090
- **Fixed bugs:**
1091
-
1092
- - Fix Lockable's `SELECT 1 AS one` queries missing `LIMIT 1` [\#946](https://github.com/bensheldon/good_job/pull/946) ([bensheldon](https://github.com/bensheldon))
1093
-
1094
- **Closed issues:**
1095
-
1096
- - Issue with performing jobs that use ActionMailer::Parameterized [\#944](https://github.com/bensheldon/good_job/issues/944)
1097
- - Deprecation warning on the deprecation warning [\#943](https://github.com/bensheldon/good_job/issues/943)
1098
-
1099
- **Merged pull requests:**
1100
-
1101
- - Replace class usage of ActiveSupport::Deprecator with gem-specific instance [\#945](https://github.com/bensheldon/good_job/pull/945) ([bensheldon](https://github.com/bensheldon))
1102
-
1103
- ## [v3.15.6](https://github.com/bensheldon/good_job/tree/v3.15.6) (2023-04-24)
1104
-
1105
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.15.5...v3.15.6)
1106
-
1107
- **Merged pull requests:**
1108
-
1109
- - Refine french translations [\#936](https://github.com/bensheldon/good_job/pull/936) ([francois-ferrandis](https://github.com/francois-ferrandis))
1110
- - feat: locales for ja [\#935](https://github.com/bensheldon/good_job/pull/935) ([aki77](https://github.com/aki77))
1111
-
1112
- ## [v3.15.5](https://github.com/bensheldon/good_job/tree/v3.15.5) (2023-04-24)
1113
-
1114
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.15.4...v3.15.5)
1115
-
1116
- **Fixed bugs:**
1117
-
1118
- - Fix `GoodJob.cleanup_preserved_jobs` to add missing guard for unmigrated discrete executions [\#938](https://github.com/bensheldon/good_job/pull/938) ([bensheldon](https://github.com/bensheldon))
1119
-
1120
- **Closed issues:**
1121
-
1122
- - Update to 3.15.4 breaks cleanup\_preserved\_jobs [\#937](https://github.com/bensheldon/good_job/issues/937)
1123
-
1124
- ## [v3.15.4](https://github.com/bensheldon/good_job/tree/v3.15.4) (2023-04-22)
1125
-
1126
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.15.3...v3.15.4)
1127
-
1128
- **Merged pull requests:**
1129
-
1130
- - Create "discrete" `good_job_executions` table to separate Job records from Execution records and have a 1-to-1 correspondence between `good_jobs` records and Active Job jobs [\#928](https://github.com/bensheldon/good_job/pull/928) ([bensheldon](https://github.com/bensheldon))
1131
-
1132
- ## [v3.15.3](https://github.com/bensheldon/good_job/tree/v3.15.3) (2023-04-22)
1133
-
1134
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.15.2...v3.15.3)
1135
-
1136
- **Merged pull requests:**
1137
-
1138
- - Eagerly autoload `ActiveJob::Base`; clean up framework deferred-loading logic to use nested `on_load` blocks [\#931](https://github.com/bensheldon/good_job/pull/931) ([bensheldon](https://github.com/bensheldon))
1139
-
1140
- ## [v3.15.2](https://github.com/bensheldon/good_job/tree/v3.15.2) (2023-04-19)
1141
-
1142
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.15.1...v3.15.2)
1143
-
1144
- **Closed issues:**
1145
-
1146
- - Cleaning up preserved jobs giving me timeout [\#933](https://github.com/bensheldon/good_job/issues/933)
1147
- - uninitialized constant GoodJob::ActiveJobJob \(NameError\) [\#932](https://github.com/bensheldon/good_job/issues/932)
1148
-
1149
- **Merged pull requests:**
1150
-
1151
- - Use batched queries in `GoodJob::self.cleanup_preserved_jobs` [\#934](https://github.com/bensheldon/good_job/pull/934) ([bensheldon](https://github.com/bensheldon))
1152
- - Bump nokogiri from 1.14.2 to 1.14.3 [\#926](https://github.com/bensheldon/good_job/pull/926) ([dependabot[bot]](https://github.com/apps/dependabot))
1153
-
1154
- ## [v3.15.1](https://github.com/bensheldon/good_job/tree/v3.15.1) (2023-04-17)
1155
-
1156
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.15.0...v3.15.1)
1157
-
1158
- **Implemented enhancements:**
1159
-
1160
- - Support for Batches? [\#417](https://github.com/bensheldon/good_job/issues/417)
1161
-
1162
- **Fixed bugs:**
1163
-
1164
- - Fix setting of locale via routes `mount ... defaults: { locale: :en }` [\#923](https://github.com/bensheldon/good_job/pull/923) ([bensheldon](https://github.com/bensheldon))
1165
- - Set `successfully_enqueued?` when using `perform_all_later` [\#917](https://github.com/bensheldon/good_job/pull/917) ([bensheldon](https://github.com/bensheldon))
1166
-
1167
- **Closed issues:**
1168
-
1169
- - GoodJob has pending database migrations after v2 -\> v3 [\#920](https://github.com/bensheldon/good_job/issues/920)
1170
- - Batch docs in README suggest `Batch#add` is a class method, but it's not [\#912](https://github.com/bensheldon/good_job/issues/912)
1171
- - How do I clear queue during tests? [\#887](https://github.com/bensheldon/good_job/issues/887)
1172
- - Implement batch functionality [\#691](https://github.com/bensheldon/good_job/issues/691)
1173
-
1174
- **Merged pull requests:**
1175
-
1176
- - In tests, directly use `connection.truncate_tables` instead of `ActiveRecord::Tasks::DatabaseTasks.truncate_all` [\#918](https://github.com/bensheldon/good_job/pull/918) ([bensheldon](https://github.com/bensheldon))
1177
- - Use `GoodJob.capsule` in CLI instead of creating a new Capsule [\#916](https://github.com/bensheldon/good_job/pull/916) ([bensheldon](https://github.com/bensheldon))
1178
- - Fix lint: missing fr and nl translations; readme whitespace [\#914](https://github.com/bensheldon/good_job/pull/914) ([bensheldon](https://github.com/bensheldon))
1179
- - Switches from Chrome to Chromium to support Apple M1/Arm CPUs [\#910](https://github.com/bensheldon/good_job/pull/910) ([ckdake](https://github.com/ckdake))
1180
- - Bump erb\_lint from 0.3.1 to 0.4.0 [\#906](https://github.com/bensheldon/good_job/pull/906) ([dependabot[bot]](https://github.com/apps/dependabot))
1181
-
1182
- ## [v3.15.0](https://github.com/bensheldon/good_job/tree/v3.15.0) (2023-04-02)
1183
-
1184
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.14.2...v3.15.0)
1185
-
1186
- **Implemented enhancements:**
1187
-
1188
- - Extract more Dashboard strings into localization strings [\#899](https://github.com/bensheldon/good_job/pull/899) ([patriciomacadden](https://github.com/patriciomacadden))
1189
-
1190
- **Closed issues:**
1191
-
1192
- - ActionView::Template::Error - undefined method `symbolize\_keys' [\#889](https://github.com/bensheldon/good_job/issues/889)
1193
-
1194
- **Merged pull requests:**
1195
-
1196
- - Bump benchmark-ips from 2.11.0 to 2.12.0 [\#907](https://github.com/bensheldon/good_job/pull/907) ([dependabot[bot]](https://github.com/apps/dependabot))
1197
- - Bump selenium-webdriver from 4.8.1 to 4.8.6 [\#905](https://github.com/bensheldon/good_job/pull/905) ([dependabot[bot]](https://github.com/apps/dependabot))
1198
- - Bump rails from 7.0.4.2 to 7.0.4.3 [\#904](https://github.com/bensheldon/good_job/pull/904) ([dependabot[bot]](https://github.com/apps/dependabot))
1199
- - feat: locales for de [\#903](https://github.com/bensheldon/good_job/pull/903) ([eric-christian](https://github.com/eric-christian))
1200
- - Update README.md [\#902](https://github.com/bensheldon/good_job/pull/902) ([ain2108](https://github.com/ain2108))
1201
- - Extract shared methods/scopes into a BaseExecution to share between Execution and Job models [\#894](https://github.com/bensheldon/good_job/pull/894) ([bensheldon](https://github.com/bensheldon))
1202
- - Add translate\_hash to handle missing translation keys that return hashes; only show translatable/available locales in dropdown [\#891](https://github.com/bensheldon/good_job/pull/891) ([bensheldon](https://github.com/bensheldon))
1203
-
1204
- ## [v3.14.2](https://github.com/bensheldon/good_job/tree/v3.14.2) (2023-03-16)
1205
-
1206
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.14.1...v3.14.2)
1207
-
1208
- **Merged pull requests:**
1209
-
1210
- - Bump rack from 2.2.6.3 to 2.2.6.4 [\#893](https://github.com/bensheldon/good_job/pull/893) ([dependabot[bot]](https://github.com/apps/dependabot))
1211
- - Remove non-ActiveRecord::Base backed association [\#892](https://github.com/bensheldon/good_job/pull/892) ([rrunyon](https://github.com/rrunyon))
1212
-
1213
- ## [v3.14.1](https://github.com/bensheldon/good_job/tree/v3.14.1) (2023-03-14)
1214
-
1215
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.14.0...v3.14.1)
1216
-
1217
- **Merged pull requests:**
1218
-
1219
- - Allow joining executions to jobs scoped by state [\#886](https://github.com/bensheldon/good_job/pull/886) ([segiddins](https://github.com/segiddins))
1220
- - Add execution\_result to event payload for perform\_job.good\_job [\#885](https://github.com/bensheldon/good_job/pull/885) ([segiddins](https://github.com/segiddins))
1221
- - Bump rack from 2.2.6.2 to 2.2.6.3 [\#884](https://github.com/bensheldon/good_job/pull/884) ([dependabot[bot]](https://github.com/apps/dependabot))
1222
-
1223
- ## [v3.14.0](https://github.com/bensheldon/good_job/tree/v3.14.0) (2023-03-09)
1224
-
1225
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.13.0...v3.14.0)
1226
-
1227
- **Implemented enhancements:**
1228
-
1229
- - Deprecate definition of job priority, change to "smaller number is higher priority" to align with Active Job definition [\#883](https://github.com/bensheldon/good_job/pull/883) ([bensheldon](https://github.com/bensheldon))
1230
-
1231
- ## [v3.13.0](https://github.com/bensheldon/good_job/tree/v3.13.0) (2023-03-08)
1232
-
1233
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.12.8...v3.13.0)
1234
-
1235
- **Implemented enhancements:**
1236
-
1237
- - If logging to STDOUT in CLI set $stdout.sync = true [\#882](https://github.com/bensheldon/good_job/pull/882) ([blafri](https://github.com/blafri))
1238
-
1239
- **Fixed bugs:**
1240
-
1241
- - Don't load all Executions on Jobs Dashboard [\#878](https://github.com/bensheldon/good_job/pull/878) ([bensheldon](https://github.com/bensheldon))
1242
-
1243
- **Closed issues:**
1244
-
1245
- - No route matches \[POST\] "/scheduler-dashboard/jobs/\<id\>/retry" [\#880](https://github.com/bensheldon/good_job/issues/880)
1246
- - What is `concurrency_key` used for? [\#877](https://github.com/bensheldon/good_job/issues/877)
1247
- - ArgumentError in GoodJob::Jobs\#index [\#875](https://github.com/bensheldon/good_job/issues/875)
1248
- - Nonworking dashboard for job with many retries [\#809](https://github.com/bensheldon/good_job/issues/809)
1249
-
1250
- **Merged pull requests:**
1251
-
1252
- - Add aggressive test for async Batches [\#833](https://github.com/bensheldon/good_job/pull/833) ([bensheldon](https://github.com/bensheldon))
1253
-
1254
- ## [v3.12.8](https://github.com/bensheldon/good_job/tree/v3.12.8) (2023-03-06)
1255
-
1256
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.12.7...v3.12.8)
1257
-
1258
- **Fixed bugs:**
1259
-
1260
- - Add `raise: false` to FrontendsController after action skip [\#881](https://github.com/bensheldon/good_job/pull/881) ([simi](https://github.com/simi))
1261
-
1262
- **Closed issues:**
1263
-
1264
- - GoodJob's JavaScript takes precedence over application's JavaScript in GoodJob 3.12.6, Rails 7 [\#873](https://github.com/bensheldon/good_job/issues/873)
1265
-
1266
- **Merged pull requests:**
1267
-
1268
- - Rewrite flaky tests: don't allow nil timeout for restart [\#872](https://github.com/bensheldon/good_job/pull/872) ([bensheldon](https://github.com/bensheldon))
1269
-
1270
- ## [v3.12.7](https://github.com/bensheldon/good_job/tree/v3.12.7) (2023-03-01)
1271
-
1272
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.12.6...v3.12.7)
1273
-
1274
- **Fixed bugs:**
1275
-
1276
- - Rename "assets" to "frontends" to avoid Asset Pipeline collisions [\#874](https://github.com/bensheldon/good_job/pull/874) ([bensheldon](https://github.com/bensheldon))
1277
-
1278
- ## [v3.12.6](https://github.com/bensheldon/good_job/tree/v3.12.6) (2023-03-01)
1279
-
1280
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.12.5...v3.12.6)
1281
-
1282
- **Merged pull requests:**
1283
-
1284
- - Update and cleanup js and css assets; add Stimulus [\#870](https://github.com/bensheldon/good_job/pull/870) ([bensheldon](https://github.com/bensheldon))
1285
- - Bump actions/add-to-project from 0.4.0 to 0.4.1 [\#869](https://github.com/bensheldon/good_job/pull/869) ([dependabot[bot]](https://github.com/apps/dependabot))
1286
- - Bump actions/checkout from 2 to 3 [\#868](https://github.com/bensheldon/good_job/pull/868) ([dependabot[bot]](https://github.com/apps/dependabot))
1287
- - Bump rubocop-rails from 2.17.4 to 2.18.0 [\#867](https://github.com/bensheldon/good_job/pull/867) ([dependabot[bot]](https://github.com/apps/dependabot))
1288
- - Bump pg from 1.4.5 to 1.4.6 [\#866](https://github.com/bensheldon/good_job/pull/866) ([dependabot[bot]](https://github.com/apps/dependabot))
1289
- - Extract GoodJob::Capsule [\#861](https://github.com/bensheldon/good_job/pull/861) ([bensheldon](https://github.com/bensheldon))
1290
-
1291
- ## [v3.12.5](https://github.com/bensheldon/good_job/tree/v3.12.5) (2023-02-24)
1292
-
1293
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.12.4...v3.12.5)
1294
-
1295
- **Fixed bugs:**
1296
-
1297
- - Fix I18n number formatting; other Dashboard development tweaks [\#862](https://github.com/bensheldon/good_job/pull/862) ([bensheldon](https://github.com/bensheldon))
1298
-
1299
- **Merged pull requests:**
1300
-
1301
- - Update Development Dependencies. Use Ruby 3.2 and Rails 7.0 [\#865](https://github.com/bensheldon/good_job/pull/865) ([bensheldon](https://github.com/bensheldon))
1302
-
1303
- ## [v3.12.4](https://github.com/bensheldon/good_job/tree/v3.12.4) (2023-02-24)
1304
-
1305
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.12.3...v3.12.4)
1306
-
1307
- **Fixed bugs:**
1308
-
1309
- - Add serialize coder kwarg for Rails 7.1-alpha [\#864](https://github.com/bensheldon/good_job/pull/864) ([bensheldon](https://github.com/bensheldon))
1310
-
1311
- **Closed issues:**
1312
-
1313
- - Rails 7.1 - Serialized columns like a store now needs a `coder: JSON` [\#863](https://github.com/bensheldon/good_job/issues/863)
1314
- - Does good\_job automatically retry on ActiveRecord::LockWaitTimeout? [\#860](https://github.com/bensheldon/good_job/issues/860)
1315
- - race condition for batches callback [\#832](https://github.com/bensheldon/good_job/issues/832)
1316
-
1317
- ## [v3.12.3](https://github.com/bensheldon/good_job/tree/v3.12.3) (2023-02-21)
1318
-
1319
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.12.2...v3.12.3)
1320
-
1321
- **Fixed bugs:**
1322
-
1323
- - Fix bug where notification check does not use configuration [\#857](https://github.com/bensheldon/good_job/pull/857) ([mitchellhenke](https://github.com/mitchellhenke))
1324
- - Fix template for the update migrations 03 index \(\#851\) [\#852](https://github.com/bensheldon/good_job/pull/852) ([julienanne](https://github.com/julienanne))
1325
-
1326
- **Closed issues:**
1327
-
1328
- - \[Not Critical\] Too much space \(One\) in db/migrate/XXXXXX\_create\_index\_good\_jobs\_jobs\_on\_priority\_created\_at\_when\_unfinished.rb [\#851](https://github.com/bensheldon/good_job/issues/851)
1329
- - Use timestamps with timezone when set as the default for postgresql. [\#668](https://github.com/bensheldon/good_job/issues/668)
1330
-
1331
- ## [v3.12.2](https://github.com/bensheldon/good_job/tree/v3.12.2) (2023-02-16)
1332
-
1333
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.12.1...v3.12.2)
1334
-
1335
- **Fixed bugs:**
1336
-
1337
- - Ensure all i18n locale keys are under `good_job` namespace [\#850](https://github.com/bensheldon/good_job/pull/850) ([bensheldon](https://github.com/bensheldon))
1338
-
1339
- **Closed issues:**
1340
-
1341
- - Override locales and conflict with rails-i18n [\#847](https://github.com/bensheldon/good_job/issues/847)
1342
-
1343
- **Merged pull requests:**
1344
-
1345
- - Add rack-mini-profiler to development [\#848](https://github.com/bensheldon/good_job/pull/848) ([bensheldon](https://github.com/bensheldon))
1346
- - Fix typo of "class" in README [\#845](https://github.com/bensheldon/good_job/pull/845) ([mthadley](https://github.com/mthadley))
1347
- - spelling: add n to 'not' [\#841](https://github.com/bensheldon/good_job/pull/841) ([michaelglass](https://github.com/michaelglass))
1348
-
1349
- ## [v3.12.1](https://github.com/bensheldon/good_job/tree/v3.12.1) (2023-02-09)
1350
-
1351
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.12.0...v3.12.1)
1352
-
1353
- **Fixed bugs:**
1354
-
1355
- - Fix "NoMethodError: private method `\_good\_job\_concurrency\_key' if key is nil" [\#836](https://github.com/bensheldon/good_job/pull/836) ([bensheldon](https://github.com/bensheldon))
1356
-
1357
- **Closed issues:**
1358
-
1359
- - NoMethodError: private method `\_good\_job\_concurrency\_key' if key is nil [\#835](https://github.com/bensheldon/good_job/issues/835)
1360
- - Jobs go back into the queued state when a worker is killed [\#821](https://github.com/bensheldon/good_job/issues/821)
1361
-
1362
- **Merged pull requests:**
1363
-
1364
- - Dashboard's tables update [\#834](https://github.com/bensheldon/good_job/pull/834) ([Ajmal](https://github.com/Ajmal))
1365
-
1366
- ## [v3.12.0](https://github.com/bensheldon/good_job/tree/v3.12.0) (2023-02-07)
1367
-
1368
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.11.1...v3.12.0)
1369
-
1370
- **Implemented enhancements:**
1371
-
1372
- - Create `InterruptErrors` extension to raise an exception when an interrupted job is retried [\#830](https://github.com/bensheldon/good_job/pull/830) ([bensheldon](https://github.com/bensheldon))
1373
-
1374
- ## [v3.11.1](https://github.com/bensheldon/good_job/tree/v3.11.1) (2023-02-06)
1375
-
1376
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.11.0...v3.11.1)
1377
-
1378
- **Merged pull requests:**
1379
-
1380
- - UI improvement [\#829](https://github.com/bensheldon/good_job/pull/829) ([Ajmal](https://github.com/Ajmal))
1381
-
1382
- ## [v3.11.0](https://github.com/bensheldon/good_job/tree/v3.11.0) (2023-02-06)
1383
-
1384
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.10.1...v3.11.0)
1385
-
1386
- **Implemented enhancements:**
1387
-
1388
- - Create ActiveJob extension to disable sending a NOTIFY on enqueue and retry [\#814](https://github.com/bensheldon/good_job/pull/814) ([bensheldon](https://github.com/bensheldon))
1389
- - Add global enable\_listen\_notify configuration to disable both notify and listen [\#810](https://github.com/bensheldon/good_job/pull/810) ([mitchellhenke](https://github.com/mitchellhenke))
1390
-
1391
- **Merged pull requests:**
1392
-
1393
- - Test Matrix: Use Ruby 3.2 to test against all Postgres versions; add PG 15, remove PG 10 [\#828](https://github.com/bensheldon/good_job/pull/828) ([bensheldon](https://github.com/bensheldon))
1394
- - Bump nokogiri from 1.14.0 to 1.14.1 [\#827](https://github.com/bensheldon/good_job/pull/827) ([dependabot[bot]](https://github.com/apps/dependabot))
1395
- - Bump rubocop-performance from 1.15.2 to 1.16.0 [\#826](https://github.com/bensheldon/good_job/pull/826) ([dependabot[bot]](https://github.com/apps/dependabot))
1396
-
1397
- ## [v3.10.1](https://github.com/bensheldon/good_job/tree/v3.10.1) (2023-02-06)
1398
-
1399
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.10.0...v3.10.1)
1400
-
1401
- **Fixed bugs:**
1402
-
1403
- - Ensure batch is reloaded before updating on multiple enqueues [\#824](https://github.com/bensheldon/good_job/pull/824) ([bensheldon](https://github.com/bensheldon))
1404
-
1405
- **Closed issues:**
1406
-
1407
- - Can't batch.enqueue the callback after retrying a job within the batch [\#822](https://github.com/bensheldon/good_job/issues/822)
1408
-
1409
- **Merged pull requests:**
1410
-
1411
- - In tests, retry when connecting to Puma returns Net::ReadTimeout [\#825](https://github.com/bensheldon/good_job/pull/825) ([bensheldon](https://github.com/bensheldon))
1412
- - Add Batch enqueue example to Demo's cron configuration [\#823](https://github.com/bensheldon/good_job/pull/823) ([bensheldon](https://github.com/bensheldon))
1413
-
1414
- ## [v3.10.0](https://github.com/bensheldon/good_job/tree/v3.10.0) (2023-02-04)
1415
-
1416
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.9.0...v3.10.0)
1417
-
1418
- **Implemented enhancements:**
1419
-
1420
- - Implement `GoodJob::Batch` [\#712](https://github.com/bensheldon/good_job/pull/712) ([bensheldon](https://github.com/bensheldon))
1421
-
1422
- **Closed issues:**
1423
-
1424
- - Support for Rails 6.1 / Ruby 3.2 [\#785](https://github.com/bensheldon/good_job/issues/785)
1425
- - Custom table names [\#748](https://github.com/bensheldon/good_job/issues/748)
1426
- - Health check issue with cron scheduler job [\#741](https://github.com/bensheldon/good_job/issues/741)
1427
-
1428
- ## [v3.9.0](https://github.com/bensheldon/good_job/tree/v3.9.0) (2023-01-31)
1429
-
1430
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.8.0...v3.9.0)
1431
-
1432
- **Implemented enhancements:**
1433
-
1434
- - Abort enqueue when the concurrency limit is reached [\#820](https://github.com/bensheldon/good_job/pull/820) ([TAGraves](https://github.com/TAGraves))
1435
- - Add bulk enqueue functionality [\#790](https://github.com/bensheldon/good_job/pull/790) ([julik](https://github.com/julik))
1436
-
1437
- **Merged pull requests:**
1438
-
1439
- - Bump alex-page/github-project-automation-plus from 0.8.2 to 0.8.3 [\#819](https://github.com/bensheldon/good_job/pull/819) ([dependabot[bot]](https://github.com/apps/dependabot))
1440
- - Bump concurrent-ruby from 1.1.10 to 1.2.0 [\#818](https://github.com/bensheldon/good_job/pull/818) ([dependabot[bot]](https://github.com/apps/dependabot))
1441
- - Bump rails from 6.1.7 to 6.1.7.2 [\#817](https://github.com/bensheldon/good_job/pull/817) ([dependabot[bot]](https://github.com/apps/dependabot))
1442
- - Bump selenium-webdriver from 4.7.1 to 4.8.0 [\#816](https://github.com/bensheldon/good_job/pull/816) ([dependabot[bot]](https://github.com/apps/dependabot))
1443
- - Bump rubocop from 1.43.0 to 1.44.1 [\#815](https://github.com/bensheldon/good_job/pull/815) ([dependabot[bot]](https://github.com/apps/dependabot))
1444
- - Ensure that anytime the Notifier uses autoloaded constants \(ActiveRecord\), they are wrapped with a Rails Executor [\#797](https://github.com/bensheldon/good_job/pull/797) ([bensheldon](https://github.com/bensheldon))
1445
- - Remove support for Ruby 2.5 and JRuby 9.2; reactivate appraisal tests for Rails HEAD [\#756](https://github.com/bensheldon/good_job/pull/756) ([bensheldon](https://github.com/bensheldon))
1446
-
1447
- ## [v3.8.0](https://github.com/bensheldon/good_job/tree/v3.8.0) (2023-01-27)
1448
-
1449
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.7.4...v3.8.0)
1450
-
1451
- **Implemented enhancements:**
1452
-
1453
- - Capture and log ActiveJob IDs that are interrupted when Scheduler is forced to shutdown [\#794](https://github.com/bensheldon/good_job/pull/794) ([bensheldon](https://github.com/bensheldon))
1454
-
1455
- **Fixed bugs:**
1456
-
1457
- - Ensure Concurrency Keys are string-like and return a better error when they cannot be cast to a string [\#791](https://github.com/bensheldon/good_job/pull/791) ([Earlopain](https://github.com/Earlopain))
1458
-
1459
- **Closed issues:**
1460
-
1461
- - Work is not being picked up at the expected rate [\#802](https://github.com/bensheldon/good_job/issues/802)
1462
- - Cleaning up preserved jobs only removes a subset of the jobs [\#801](https://github.com/bensheldon/good_job/issues/801)
1463
- - Dashboard fails to execute JS on latest Firefox 108 [\#792](https://github.com/bensheldon/good_job/issues/792)
1464
- - Concurrency key doesn't handle Hash: TypeError \(can't cast Hash\) [\#784](https://github.com/bensheldon/good_job/issues/784)
1465
-
1466
- **Merged pull requests:**
1467
-
1468
- - Bump fugit from 1.8.0 to 1.8.1 [\#808](https://github.com/bensheldon/good_job/pull/808) ([dependabot[bot]](https://github.com/apps/dependabot))
1469
- - Bump rubocop-rspec from 2.17.1 to 2.18.1 [\#807](https://github.com/bensheldon/good_job/pull/807) ([dependabot[bot]](https://github.com/apps/dependabot))
1470
- - Bump globalid from 1.0.0 to 1.0.1 [\#804](https://github.com/bensheldon/good_job/pull/804) ([dependabot[bot]](https://github.com/apps/dependabot))
1471
- - Bump rack from 2.2.4 to 2.2.6.2 [\#803](https://github.com/bensheldon/good_job/pull/803) ([dependabot[bot]](https://github.com/apps/dependabot))
1472
- - Bump nokogiri from 1.13.10 to 1.14.0 [\#800](https://github.com/bensheldon/good_job/pull/800) ([dependabot[bot]](https://github.com/apps/dependabot))
1473
- - Bump rubocop from 1.42.0 to 1.43.0 [\#799](https://github.com/bensheldon/good_job/pull/799) ([dependabot[bot]](https://github.com/apps/dependabot))
1474
- - Bump rubocop-rspec from 2.16.0 to 2.17.1 [\#798](https://github.com/bensheldon/good_job/pull/798) ([dependabot[bot]](https://github.com/apps/dependabot))
1475
- - Add French translation [\#795](https://github.com/bensheldon/good_job/pull/795) ([francois-ferrandis](https://github.com/francois-ferrandis))
1476
- - Bump rubocop-rails from 2.17.3 to 2.17.4 [\#780](https://github.com/bensheldon/good_job/pull/780) ([dependabot[bot]](https://github.com/apps/dependabot))
1477
-
1478
- ## [v3.7.4](https://github.com/bensheldon/good_job/tree/v3.7.4) (2023-01-10)
1479
-
1480
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.7.3...v3.7.4)
1481
-
1482
- **Fixed bugs:**
1483
-
1484
- - Update to es-module-shims v1.6.3 and use an inline script entry-point; remove script.js entrypoint; remove sourcemap references [\#793](https://github.com/bensheldon/good_job/pull/793) ([bensheldon](https://github.com/bensheldon))
1485
-
1486
- ## [v3.7.3](https://github.com/bensheldon/good_job/tree/v3.7.3) (2023-01-09)
1487
-
1488
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.7.2...v3.7.3)
1489
-
1490
- **Implemented enhancements:**
1491
-
1492
- - Provide clearer values/deprecation notices for `cleanup_interval_jobs` and `cleanup_interval_seconds`; setting `0` disables, `-1` always [\#776](https://github.com/bensheldon/good_job/pull/776) ([zarqman](https://github.com/zarqman))
1493
-
1494
- **Closed issues:**
1495
-
1496
- - Demo page shows Application Error [\#787](https://github.com/bensheldon/good_job/issues/787)
1497
- - Configuration for PG Schema Other Than Public [\#774](https://github.com/bensheldon/good_job/issues/774)
1498
-
1499
- **Merged pull requests:**
1500
-
1501
- - Avoid including unnecessary pg\_locks references when counting jobs [\#789](https://github.com/bensheldon/good_job/pull/789) ([mkrfowler](https://github.com/mkrfowler))
1502
- - Add net-\* gems to Gemfile for Heroku [\#788](https://github.com/bensheldon/good_job/pull/788) ([bensheldon](https://github.com/bensheldon))
1503
- - Add Ruby 3.2 to test matrix [\#786](https://github.com/bensheldon/good_job/pull/786) ([bensheldon](https://github.com/bensheldon))
1504
- - Bump rubocop from 1.41.1 to 1.42.0 [\#781](https://github.com/bensheldon/good_job/pull/781) ([dependabot[bot]](https://github.com/apps/dependabot))
1505
- - Bump rubocop from 1.40.0 to 1.41.1 [\#779](https://github.com/bensheldon/good_job/pull/779) ([dependabot[bot]](https://github.com/apps/dependabot))
1506
- - Bump rubocop-performance from 1.15.1 to 1.15.2 [\#777](https://github.com/bensheldon/good_job/pull/777) ([dependabot[bot]](https://github.com/apps/dependabot))
1507
- - Bump rubocop-rspec from 2.15.0 to 2.16.0 [\#775](https://github.com/bensheldon/good_job/pull/775) ([dependabot[bot]](https://github.com/apps/dependabot))
1508
- - Bump rails-html-sanitizer from 1.4.3 to 1.4.4 [\#773](https://github.com/bensheldon/good_job/pull/773) ([dependabot[bot]](https://github.com/apps/dependabot))
1509
- - Bump loofah from 2.19.0 to 2.19.1 [\#772](https://github.com/bensheldon/good_job/pull/772) ([dependabot[bot]](https://github.com/apps/dependabot))
1510
-
1511
- ## [v3.7.2](https://github.com/bensheldon/good_job/tree/v3.7.2) (2022-12-12)
1512
-
1513
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.7.1...v3.7.2)
1514
-
1515
- **Fixed bugs:**
1516
-
1517
- - Ignore ActiveJob::DeserializationError when discarding jobs [\#771](https://github.com/bensheldon/good_job/pull/771) ([nickcampbell18](https://github.com/nickcampbell18))
1518
-
1519
- **Closed issues:**
1520
-
1521
- - Unable to discard failed jobs which crashed with `ActiveJob::DeserializationError` [\#770](https://github.com/bensheldon/good_job/issues/770)
1522
-
1523
- **Merged pull requests:**
1524
-
1525
- - Bump rubocop from 1.39.0 to 1.40.0 [\#769](https://github.com/bensheldon/good_job/pull/769) ([dependabot[bot]](https://github.com/apps/dependabot))
1526
-
1527
- ## [v3.7.1](https://github.com/bensheldon/good_job/tree/v3.7.1) (2022-12-12)
1528
-
1529
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.7.0...v3.7.1)
1530
-
1531
- **Fixed bugs:**
1532
-
1533
- - Fix disabling of interval cleanups [\#768](https://github.com/bensheldon/good_job/pull/768) ([zarqman](https://github.com/zarqman))
1534
-
1535
- ## [v3.7.0](https://github.com/bensheldon/good_job/tree/v3.7.0) (2022-12-10)
1536
-
1537
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.6.2...v3.7.0)
1538
-
1539
- **Implemented enhancements:**
1540
-
1541
- - Add GoodJob version to start banner [\#766](https://github.com/bensheldon/good_job/pull/766) ([zarqman](https://github.com/zarqman))
1542
-
1543
- **Fixed bugs:**
1544
-
1545
- - Always preserve job records created by cron [\#767](https://github.com/bensheldon/good_job/pull/767) ([bensheldon](https://github.com/bensheldon))
1546
-
1547
- **Merged pull requests:**
1548
-
1549
- - Bump nokogiri from 1.13.9 to 1.13.10 [\#765](https://github.com/bensheldon/good_job/pull/765) ([dependabot[bot]](https://github.com/apps/dependabot))
1550
- - Remove JRuby 9.2 from testing matrix [\#763](https://github.com/bensheldon/good_job/pull/763) ([bensheldon](https://github.com/bensheldon))
1551
- - Bump actions/cache from 1 to 3 [\#762](https://github.com/bensheldon/good_job/pull/762) ([dependabot[bot]](https://github.com/apps/dependabot))
1552
- - Bump actions/upload-artifact from 2 to 3 [\#761](https://github.com/bensheldon/good_job/pull/761) ([dependabot[bot]](https://github.com/apps/dependabot))
1553
- - Bump actions/add-to-project from 0.3.0 to 0.4.0 [\#759](https://github.com/bensheldon/good_job/pull/759) ([dependabot[bot]](https://github.com/apps/dependabot))
1554
- - Bump alex-page/github-project-automation-plus from 9a05133789dbc96bd560ec84223a0ad49253d342 to 1f8873e97e3c8f58161a323b7c568c1f623a1c4d [\#758](https://github.com/bensheldon/good_job/pull/758) ([dependabot[bot]](https://github.com/apps/dependabot))
1555
- - Bump selenium-webdriver from 4.6.1 to 4.7.1 [\#757](https://github.com/bensheldon/good_job/pull/757) ([dependabot[bot]](https://github.com/apps/dependabot))
1556
- - Add explicit ruby version in Gemfile for Heroku demo [\#755](https://github.com/bensheldon/good_job/pull/755) ([bensheldon](https://github.com/bensheldon))
1557
-
1558
- ## [v3.6.2](https://github.com/bensheldon/good_job/tree/v3.6.2) (2022-12-04)
1559
-
1560
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.6.1...v3.6.2)
1561
-
1562
- **Fixed bugs:**
1563
-
1564
- - Redirect to Jobs path after destroy [\#754](https://github.com/bensheldon/good_job/pull/754) ([BilalBudhani](https://github.com/BilalBudhani))
1565
-
1566
- **Merged pull requests:**
1567
-
1568
- - Bump pg from 1.4.4 to 1.4.5 [\#751](https://github.com/bensheldon/good_job/pull/751) ([dependabot[bot]](https://github.com/apps/dependabot))
1569
-
1570
- ## [v3.6.1](https://github.com/bensheldon/good_job/tree/v3.6.1) (2022-11-30)
1571
-
1572
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.6.0...v3.6.1)
1573
-
1574
- **Implemented enhancements:**
1575
-
1576
- - add UA to i18n [\#747](https://github.com/bensheldon/good_job/pull/747) ([yshmarov](https://github.com/yshmarov))
1577
-
1578
- **Closed issues:**
1579
-
1580
- - Minor Cron Concurrency Clarification [\#743](https://github.com/bensheldon/good_job/issues/743)
1581
- - Materialized CTE performance bottleneck [\#720](https://github.com/bensheldon/good_job/issues/720)
1582
- - Calculating database connections [\#669](https://github.com/bensheldon/good_job/issues/669)
1583
-
1584
- **Merged pull requests:**
1585
-
1586
- - Update gems, rubocop, and development ruby \(v2.7.7\) [\#752](https://github.com/bensheldon/good_job/pull/752) ([bensheldon](https://github.com/bensheldon))
1587
- - Add chrome/chromdriver to Codespace configuration [\#746](https://github.com/bensheldon/good_job/pull/746) ([bensheldon](https://github.com/bensheldon))
1588
- - Add GitHub Codespaces / devcontainer configuration [\#745](https://github.com/bensheldon/good_job/pull/745) ([bensheldon](https://github.com/bensheldon))
1589
- - Bump fugit from 1.7.1 to 1.7.2 [\#742](https://github.com/bensheldon/good_job/pull/742) ([dependabot[bot]](https://github.com/apps/dependabot))
1590
- - Bundle update and Rubocop lints [\#740](https://github.com/bensheldon/good_job/pull/740) ([bensheldon](https://github.com/bensheldon))
1591
- - Add dependabot to update development dependencies [\#734](https://github.com/bensheldon/good_job/pull/734) ([bensheldon](https://github.com/bensheldon))
1592
- - Fix misspellings and grammar in README [\#732](https://github.com/bensheldon/good_job/pull/732) ([aisayo](https://github.com/aisayo))
1593
-
1594
- ## [v3.6.0](https://github.com/bensheldon/good_job/tree/v3.6.0) (2022-10-22)
1595
-
1596
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.5.1...v3.6.0)
1597
-
1598
- **Implemented enhancements:**
1599
-
1600
- - Add configurable limit \(`queue_select_limit`\) when querying candidate jobs [\#727](https://github.com/bensheldon/good_job/pull/727) ([mitchellhenke](https://github.com/mitchellhenke))
1601
- - Add index to `good_jobs` to improve querying candidate jobs [\#726](https://github.com/bensheldon/good_job/pull/726) ([mitchellhenke](https://github.com/mitchellhenke))
1602
-
1603
- **Fixed bugs:**
1604
-
1605
- - 3.4.8 release breaks job retrying [\#728](https://github.com/bensheldon/good_job/issues/728)
1606
- - Redo: When not preserving job records, ensure all prior executions are deleted after successful retry [\#730](https://github.com/bensheldon/good_job/pull/730) ([bensheldon](https://github.com/bensheldon))
1607
-
1608
- ## [v3.5.1](https://github.com/bensheldon/good_job/tree/v3.5.1) (2022-10-20)
1609
-
1610
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.5.0...v3.5.1)
1611
-
1612
- **Fixed bugs:**
1613
-
1614
- - Revert "When not preserving job records, ensure all prior executions are deleted after successful retry" because some retry patterns stopped working [\#729](https://github.com/bensheldon/good_job/pull/729) ([bensheldon](https://github.com/bensheldon))
1615
-
1616
- **Closed issues:**
1617
-
1618
- - Assert cancelled jobs [\#724](https://github.com/bensheldon/good_job/issues/724)
1619
-
1620
- ## [v3.5.0](https://github.com/bensheldon/good_job/tree/v3.5.0) (2022-10-18)
1621
-
1622
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.4.8...v3.5.0)
1623
-
1624
- **Merged pull requests:**
1625
-
1626
- - Fix flaky test for `Scheduler#cleanup_interval_jobs` [\#723](https://github.com/bensheldon/good_job/pull/723) ([bensheldon](https://github.com/bensheldon))
1627
- - Pin development Puma version until Capybara is compatible [\#722](https://github.com/bensheldon/good_job/pull/722) ([bensheldon](https://github.com/bensheldon))
1628
- - Rename Job status of `finished` to `succeeded`; `finished` now means either `succeeded` or `discarded` [\#721](https://github.com/bensheldon/good_job/pull/721) ([bensheldon](https://github.com/bensheldon))
1629
-
1630
- ## [v3.4.8](https://github.com/bensheldon/good_job/tree/v3.4.8) (2022-10-11)
1631
-
1632
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.4.7...v3.4.8)
1633
-
1634
- **Fixed bugs:**
1635
-
1636
- - When not preserving job records, ensure all prior executions are deleted after successful retry [\#719](https://github.com/bensheldon/good_job/pull/719) ([ylansegal](https://github.com/ylansegal))
1637
-
1638
- ## [v3.4.7](https://github.com/bensheldon/good_job/tree/v3.4.7) (2022-10-06)
1639
-
1640
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.4.6...v3.4.7)
1641
-
1642
- **Closed issues:**
1643
-
1644
- - Changing assets path? [\#717](https://github.com/bensheldon/good_job/issues/717)
1645
- - Support Sequel [\#713](https://github.com/bensheldon/good_job/issues/713)
1646
-
1647
- **Merged pull requests:**
1648
-
1649
- - Update bootstrap to latest 5.2.2 [\#718](https://github.com/bensheldon/good_job/pull/718) ([morgoth](https://github.com/morgoth))
1650
-
1651
- ## [v3.4.6](https://github.com/bensheldon/good_job/tree/v3.4.6) (2022-09-26)
1652
-
1653
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.4.5...v3.4.6)
1654
-
1655
- **Fixed bugs:**
1656
-
1657
- - Support SemanticLogger logging with improve stdout logic and tagged logs [\#715](https://github.com/bensheldon/good_job/pull/715) ([bensheldon](https://github.com/bensheldon))
1658
-
1659
- **Closed issues:**
1660
-
1661
- - Unable to Replace GoodJob's Logger [\#667](https://github.com/bensheldon/good_job/issues/667)
1662
- - Jobs never get run... [\#516](https://github.com/bensheldon/good_job/issues/516)
1663
-
1664
- ## [v3.4.5](https://github.com/bensheldon/good_job/tree/v3.4.5) (2022-09-12)
1665
-
1666
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.4.4...v3.4.5)
1667
-
1668
- **Fixed bugs:**
1669
-
1670
- - Dashboard: Remove translation\_missing red highlighting; remove number\_to\_human.hundreds; add form labels [\#708](https://github.com/bensheldon/good_job/pull/708) ([bensheldon](https://github.com/bensheldon))
1671
-
1672
- **Closed issues:**
1673
-
1674
- - pg\_xact No Such File error in logs [\#709](https://github.com/bensheldon/good_job/issues/709)
1675
- - Broken upgrade to v3. [\#703](https://github.com/bensheldon/good_job/issues/703)
1676
-
1677
- **Merged pull requests:**
1678
-
1679
- - Sentry integration Docs [\#711](https://github.com/bensheldon/good_job/pull/711) ([remy727](https://github.com/remy727))
1680
- - Add an `Execution` `after_perform_unlocked` callback [\#706](https://github.com/bensheldon/good_job/pull/706) ([bensheldon](https://github.com/bensheldon))
1681
-
1682
- ## [v3.4.4](https://github.com/bensheldon/good_job/tree/v3.4.4) (2022-08-20)
1683
-
1684
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.4.3...v3.4.4)
1685
-
1686
- **Fixed bugs:**
1687
-
1688
- - Keep locale param when submitting dashboard filter [\#707](https://github.com/bensheldon/good_job/pull/707) ([aki77](https://github.com/aki77))
1689
-
1690
- **Merged pull requests:**
1691
-
1692
- - Fix document [\#704](https://github.com/bensheldon/good_job/pull/704) ([aki77](https://github.com/aki77))
1693
- - Describe pessimistic usecases [\#702](https://github.com/bensheldon/good_job/pull/702) ([shouichi](https://github.com/shouichi))
1694
-
1695
- ## [v3.4.3](https://github.com/bensheldon/good_job/tree/v3.4.3) (2022-08-15)
1696
-
1697
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.4.2...v3.4.3)
1698
-
1699
- **Closed issues:**
1700
-
1701
- - How to run multiple workers? [\#699](https://github.com/bensheldon/good_job/issues/699)
1702
- - Getting Postgres Errors on killing development server after setting up Goodjob [\#692](https://github.com/bensheldon/good_job/issues/692)
1703
-
1704
- **Merged pull requests:**
1705
-
1706
- - Fix Project v2 GitHub Actions [\#701](https://github.com/bensheldon/good_job/pull/701) ([bensheldon](https://github.com/bensheldon))
1707
- - Remove development dependencies: memory\_profiler, rbtrace, sigdump [\#700](https://github.com/bensheldon/good_job/pull/700) ([bensheldon](https://github.com/bensheldon))
1708
- - Allow concurrency limits to be configured dynamically with lambda/proc [\#696](https://github.com/bensheldon/good_job/pull/696) ([baka-san](https://github.com/baka-san))
1709
- - Add additional details to Concurrency Control explanation [\#695](https://github.com/bensheldon/good_job/pull/695) ([bensheldon](https://github.com/bensheldon))
1710
-
1711
- ## [v3.4.2](https://github.com/bensheldon/good_job/tree/v3.4.2) (2022-08-13)
1712
-
1713
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.4.1...v3.4.2)
1714
-
1715
- **Fixed bugs:**
1716
-
1717
- - Jobs enqueued via dashboard ignores app default\_locale [\#697](https://github.com/bensheldon/good_job/issues/697)
1718
- - Enqueues Cron jobs with I18n default locale [\#698](https://github.com/bensheldon/good_job/pull/698) ([esasse](https://github.com/esasse))
1719
- - Include better exception log messages, including class and backtrace [\#693](https://github.com/bensheldon/good_job/pull/693) ([bensheldon](https://github.com/bensheldon))
1720
-
1721
- **Closed issues:**
1722
-
1723
- - Do we need to implement concurrency with scheduled cron jobs? [\#690](https://github.com/bensheldon/good_job/issues/690)
1724
- - Uninitialized constant GoodJob::JobsController [\#674](https://github.com/bensheldon/good_job/issues/674)
1725
- - ActiveRecord::StatementInvalid: PG::ConnectionBad: PQsocket\(\) can't get socket descriptor every 30 minutes aprox. [\#579](https://github.com/bensheldon/good_job/issues/579)
1726
- - Handle assets in dashboard when rails app is behind proxy path [\#424](https://github.com/bensheldon/good_job/issues/424)
1727
-
1728
- ## [v3.4.1](https://github.com/bensheldon/good_job/tree/v3.4.1) (2022-08-06)
1729
-
1730
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.4.0...v3.4.1)
1731
-
1732
- **Closed issues:**
1733
-
1734
- - Add `cron_enabled` to Process state [\#673](https://github.com/bensheldon/good_job/issues/673)
1735
- - Good job is using a lot of memory / ram [\#613](https://github.com/bensheldon/good_job/issues/613)
1736
-
1737
- **Merged pull requests:**
1738
-
1739
- - Only report Notifier connection errors once after they happen 3 consecutive times [\#689](https://github.com/bensheldon/good_job/pull/689) ([bensheldon](https://github.com/bensheldon))
1740
-
1741
- ## [v3.4.0](https://github.com/bensheldon/good_job/tree/v3.4.0) (2022-08-05)
1742
-
1743
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.3.3...v3.4.0)
1744
-
1745
- **Implemented enhancements:**
1746
-
1747
- - Add cron\_enabled attribute to good\_job and pass it to process current state [\#675](https://github.com/bensheldon/good_job/pull/675) ([saksham-jain](https://github.com/saksham-jain))
1748
- - Reverse Dashboard Filter Hierarchy to be: queues+jobs then state [\#666](https://github.com/bensheldon/good_job/pull/666) ([bensheldon](https://github.com/bensheldon))
1749
- - Allow cron entries to be temporarily disabled and re-enabled through the Dashboard [\#649](https://github.com/bensheldon/good_job/pull/649) ([sasha-id](https://github.com/sasha-id))
1750
- - Add Configuration.total\_estimated\_threads to report number of threads consumed by GoodJob [\#645](https://github.com/bensheldon/good_job/pull/645) ([bensheldon](https://github.com/bensheldon))
1751
-
1752
- **Closed issues:**
1753
-
1754
- - Cron Schedule jobs add disable action [\#540](https://github.com/bensheldon/good_job/issues/540)
1755
-
1756
- **Merged pull requests:**
1757
-
1758
- - Removed text that implied an existing feature had not been finished [\#688](https://github.com/bensheldon/good_job/pull/688) ([pgvsalamander](https://github.com/pgvsalamander))
1759
-
1760
- ## [v3.3.3](https://github.com/bensheldon/good_job/tree/v3.3.3) (2022-08-02)
1761
-
1762
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.3.2...v3.3.3)
1763
-
1764
- **Fixed bugs:**
1765
-
1766
- - Detect usage of `puma` CLI for async mode [\#686](https://github.com/bensheldon/good_job/pull/686) ([bensheldon](https://github.com/bensheldon))
1767
-
1768
- **Closed issues:**
1769
-
1770
- - Async not working Rails 7 with puma CLI [\#685](https://github.com/bensheldon/good_job/issues/685)
1771
-
1772
- ## [v3.3.2](https://github.com/bensheldon/good_job/tree/v3.3.2) (2022-07-27)
1773
-
1774
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.3.1...v3.3.2)
1775
-
1776
- **Fixed bugs:**
1777
-
1778
- - Defer setting Adapter's execution mode until Rails initializes [\#683](https://github.com/bensheldon/good_job/pull/683) ([bensheldon](https://github.com/bensheldon))
1779
-
1780
- ## [v3.3.1](https://github.com/bensheldon/good_job/tree/v3.3.1) (2022-07-26)
1781
-
1782
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.3.0...v3.3.1)
1783
-
1784
- **Implemented enhancements:**
1785
-
1786
- - Show basename of proctitle [\#679](https://github.com/bensheldon/good_job/pull/679) ([bkeepers](https://github.com/bkeepers))
1787
-
1788
- **Fixed bugs:**
1789
-
1790
- - Only count \_active\_ processes in the Navbar [\#680](https://github.com/bensheldon/good_job/pull/680) ([bensheldon](https://github.com/bensheldon))
1791
- - Remove Zeitwerk and use explicit requires to be more like an engine [\#677](https://github.com/bensheldon/good_job/pull/677) ([bensheldon](https://github.com/bensheldon))
1792
-
1793
- **Closed issues:**
1794
-
1795
- - Dashboard UI Invalid count of running process [\#678](https://github.com/bensheldon/good_job/issues/678)
1796
-
1797
- **Merged pull requests:**
1798
-
1799
- - Lock to dotenv 2.7.x for Ruby 2.5 compatibility [\#682](https://github.com/bensheldon/good_job/pull/682) ([bensheldon](https://github.com/bensheldon))
1800
- - Create global GoodJob.configuration object [\#681](https://github.com/bensheldon/good_job/pull/681) ([bensheldon](https://github.com/bensheldon))
1801
-
1802
- ## [v3.3.0](https://github.com/bensheldon/good_job/tree/v3.3.0) (2022-07-24)
1803
-
1804
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.2.0...v3.3.0)
1805
-
1806
- **Implemented enhancements:**
1807
-
1808
- - Dashboard: Update cron and processes to match jobs listing [\#676](https://github.com/bensheldon/good_job/pull/676) ([bkeepers](https://github.com/bkeepers))
1809
- - Dashboard: improvements to jobs index and show pages [\#672](https://github.com/bensheldon/good_job/pull/672) ([bkeepers](https://github.com/bkeepers))
1810
-
1811
- **Fixed bugs:**
1812
-
1813
- - Replace "timestamp" column-type in migrations with "datetime" [\#671](https://github.com/bensheldon/good_job/pull/671) ([bensheldon](https://github.com/bensheldon))
1814
-
1815
- **Closed issues:**
1816
-
1817
- - Readme should consistently encourage usage of `config.good_job....` instead of `GoodJob.` configuration [\#628](https://github.com/bensheldon/good_job/issues/628)
1818
- - Improve the "Gem development" section of README? [\#551](https://github.com/bensheldon/good_job/issues/551)
1819
- - Simplify Rails initialization to only be a mountable Engine [\#543](https://github.com/bensheldon/good_job/issues/543)
1820
-
1821
- **Merged pull requests:**
1822
-
1823
- - Improve Readme description of v3 job preservation defaults [\#670](https://github.com/bensheldon/good_job/pull/670) ([bensheldon](https://github.com/bensheldon))
1824
- - update Gemfile.lock to latest dependencies [\#647](https://github.com/bensheldon/good_job/pull/647) ([jrochkind](https://github.com/jrochkind))
1825
-
1826
- ## [v3.2.0](https://github.com/bensheldon/good_job/tree/v3.2.0) (2022-07-12)
1827
-
1828
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.1.0...v3.2.0)
1829
-
1830
- **Implemented enhancements:**
1831
-
1832
- - Ordered queue handling by workers [\#665](https://github.com/bensheldon/good_job/pull/665) ([jrochkind](https://github.com/jrochkind))
1833
-
1834
- ## [v3.1.0](https://github.com/bensheldon/good_job/tree/v3.1.0) (2022-07-11)
1835
-
1836
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.0.2...v3.1.0)
1837
-
1838
- **Implemented enhancements:**
1839
-
1840
- - Show job/cron/process counts in the Navbar [\#663](https://github.com/bensheldon/good_job/pull/663) ([bensheldon](https://github.com/bensheldon))
1841
- - Improve Dashboard display of parameters \(CronEntry kwargs; Process configuration; Job and Execution database values\) [\#662](https://github.com/bensheldon/good_job/pull/662) ([bensheldon](https://github.com/bensheldon))
1842
- - Dequeing should be first-in first-out [\#651](https://github.com/bensheldon/good_job/pull/651) ([jrochkind](https://github.com/jrochkind))
1843
-
1844
- **Fixed bugs:**
1845
-
1846
- - Don't delegate `GoodJob::Job#status` to executions to avoid race condition [\#661](https://github.com/bensheldon/good_job/pull/661) ([bensheldon](https://github.com/bensheldon))
1847
-
1848
- **Closed issues:**
1849
-
1850
- - How to suppress repetitive logs in development? [\#658](https://github.com/bensheldon/good_job/issues/658)
1851
- - 500 Internal Server Error Exception in web interface trying to view running jobs [\#656](https://github.com/bensheldon/good_job/issues/656)
1852
- - Cron schedule page in dashboard not showing kwargs [\#608](https://github.com/bensheldon/good_job/issues/608)
1853
- - Paralelism x database connections [\#569](https://github.com/bensheldon/good_job/issues/569)
1854
-
1855
- ## [v3.0.2](https://github.com/bensheldon/good_job/tree/v3.0.2) (2022-07-10)
1856
-
1857
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.0.1...v3.0.2)
1858
-
1859
- **Fixed bugs:**
1860
-
1861
- - Copy forward concurrency key value when retrying a job, rather than regenerating it [\#622](https://github.com/bensheldon/good_job/issues/622)
1862
- - All concurrency controlled jobs throw exceptions and are rescheduled if they are called using perform\_now [\#591](https://github.com/bensheldon/good_job/issues/591)
1863
-
1864
- **Closed issues:**
1865
-
1866
- - Queue config not respecting limits [\#659](https://github.com/bensheldon/good_job/issues/659)
1867
- - UI engine does not work without explicit require [\#646](https://github.com/bensheldon/good_job/issues/646)
1868
- - Should `:inline` adapter mode retry jobs? [\#611](https://github.com/bensheldon/good_job/issues/611)
1869
- - Error Job Not Preserved [\#594](https://github.com/bensheldon/good_job/issues/594)
1870
- - Release GoodJob 3.0 [\#507](https://github.com/bensheldon/good_job/issues/507)
1871
- - Improve security of Gem releases [\#422](https://github.com/bensheldon/good_job/issues/422)
1872
-
1873
- **Merged pull requests:**
1874
-
1875
- - Preserve initial concurrency key when retrying jobs [\#657](https://github.com/bensheldon/good_job/pull/657) ([bensheldon](https://github.com/bensheldon))
1876
- - Add Dashboard troubleshooting note to explicitly require the engine [\#654](https://github.com/bensheldon/good_job/pull/654) ([bensheldon](https://github.com/bensheldon))
1877
- - Removes wrong parentheses [\#653](https://github.com/bensheldon/good_job/pull/653) ([esasse](https://github.com/esasse))
1878
-
1879
- ## [v3.0.1](https://github.com/bensheldon/good_job/tree/v3.0.1) (2022-07-02)
1880
-
1881
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v3.0.0...v3.0.1)
1882
-
1883
- **Fixed bugs:**
1884
-
1885
- - Fix `GoodJob.cleanup_preserved_jobs` to use `delete_all` instead of `destroy_all` [\#652](https://github.com/bensheldon/good_job/pull/652) ([bensheldon](https://github.com/bensheldon))
1886
-
1887
- **Closed issues:**
1888
-
1889
- - ERROR: relation "good\_jobs" does not exist at character 454 [\#308](https://github.com/bensheldon/good_job/issues/308)
1890
-
1891
- **Merged pull requests:**
1892
-
1893
- - Create codeql-analysis.yml [\#648](https://github.com/bensheldon/good_job/pull/648) ([bensheldon](https://github.com/bensheldon))
1894
-
1895
- ## [v3.0.0](https://github.com/bensheldon/good_job/tree/v3.0.0) (2022-06-26)
1896
-
1897
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.99.0...v3.0.0)
1898
-
1899
- **Implemented enhancements:**
1900
-
1901
- - By default, preserve job records and automatically them clean up [\#545](https://github.com/bensheldon/good_job/pull/545) ([bensheldon](https://github.com/bensheldon))
1902
-
1903
- **Merged pull requests:**
1904
-
1905
- - Update tests to reflect default of `GoodJob.preserve_job_records = true`; update appraisal Gemfiles too [\#643](https://github.com/bensheldon/good_job/pull/643) ([bensheldon](https://github.com/bensheldon))
1906
- - Remove database migration shims and old migrations [\#642](https://github.com/bensheldon/good_job/pull/642) ([bensheldon](https://github.com/bensheldon))
1907
- - Remove support for EOL Rails 5.2 [\#637](https://github.com/bensheldon/good_job/pull/637) ([bensheldon](https://github.com/bensheldon))
1908
- - Remove/rename deprecated behavior and constants for GoodJob v3 [\#633](https://github.com/bensheldon/good_job/pull/633) ([bensheldon](https://github.com/bensheldon))
1909
-
1910
- ## [v2.99.0](https://github.com/bensheldon/good_job/tree/v2.99.0) (2022-06-26)
1911
-
1912
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.17.1...v2.99.0)
1913
-
1914
- **Closed issues:**
1915
-
1916
- - How to accomplish user controlled recurring jobs? [\#640](https://github.com/bensheldon/good_job/issues/640)
1917
- - "uninitialized constant GoodJob::Execution" in development env [\#634](https://github.com/bensheldon/good_job/issues/634)
1918
-
1919
- **Merged pull requests:**
1920
-
1921
- - Create upgrade instructions for v2.99 -\> v3.0.0 [\#641](https://github.com/bensheldon/good_job/pull/641) ([bensheldon](https://github.com/bensheldon))
1922
- - Update development dependencies; delete Gemfile.lock in CI to avoid Ruby version dependency mismatches [\#639](https://github.com/bensheldon/good_job/pull/639) ([bensheldon](https://github.com/bensheldon))
1923
- - Put more model files in `lib/models` and align specs too [\#638](https://github.com/bensheldon/good_job/pull/638) ([bensheldon](https://github.com/bensheldon))
1924
- - Generate sha256 checksums on gem release too [\#636](https://github.com/bensheldon/good_job/pull/636) ([bensheldon](https://github.com/bensheldon))
1925
-
1926
- ## [v2.17.1](https://github.com/bensheldon/good_job/tree/v2.17.1) (2022-06-24)
1927
-
1928
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.17.0...v2.17.1)
1929
-
1930
- **Fixed bugs:**
1931
-
1932
- - Move models out of `app` into `lib/models` [\#635](https://github.com/bensheldon/good_job/pull/635) ([bensheldon](https://github.com/bensheldon))
1933
-
1934
- **Closed issues:**
1935
-
1936
- - dashboard "delete all" does not work [\#630](https://github.com/bensheldon/good_job/issues/630)
1937
- - Concurrency controlled jobs cause infinite loops when perform\_limit is exceeded in test environments [\#609](https://github.com/bensheldon/good_job/issues/609)
1938
-
1939
- **Merged pull requests:**
1940
-
1941
- - Better isolate test environment: run server integration tests on port 3009 with custom pidfile; scope advisory lock counts to test database [\#632](https://github.com/bensheldon/good_job/pull/632) ([bensheldon](https://github.com/bensheldon))
1942
-
1943
- ## [v2.17.0](https://github.com/bensheldon/good_job/tree/v2.17.0) (2022-06-23)
1944
-
1945
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.16.1...v2.17.0)
1946
-
1947
- **Merged pull requests:**
1948
-
1949
- - Remove nonexistant `engine/lib` from $LOAD\_PATH [\#629](https://github.com/bensheldon/good_job/pull/629) ([bensheldon](https://github.com/bensheldon))
1950
- - Mention in README that dashboard can't see completed jobs unless they are preserved [\#627](https://github.com/bensheldon/good_job/pull/627) ([jrochkind](https://github.com/jrochkind))
1951
- - Clarify README on default in development [\#623](https://github.com/bensheldon/good_job/pull/623) ([jrochkind](https://github.com/jrochkind))
1952
- - Convert GoodJob into a single mountable engine \(instead of a plugin plus optional engine\) [\#554](https://github.com/bensheldon/good_job/pull/554) ([bensheldon](https://github.com/bensheldon))
1953
-
1954
- ## [v2.16.1](https://github.com/bensheldon/good_job/tree/v2.16.1) (2022-06-18)
1955
-
1956
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.16.0...v2.16.1)
1957
-
1958
- **Fixed bugs:**
1959
-
1960
- - Fix `:inline` mode with future behavior to run unscheduled jobs immediately [\#620](https://github.com/bensheldon/good_job/pull/620) ([bensheldon](https://github.com/bensheldon))
1961
-
1962
- **Merged pull requests:**
1963
-
1964
- - Version check `Zeitwerk::Loader.new(warn_on_extra_files: false)` flag [\#619](https://github.com/bensheldon/good_job/pull/619) ([bensheldon](https://github.com/bensheldon))
1965
-
1966
- ## [v2.16.0](https://github.com/bensheldon/good_job/tree/v2.16.0) (2022-06-17)
1967
-
1968
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.15.2...v2.16.0)
1969
-
1970
- **Implemented enhancements:**
1971
-
1972
- - Allow inline executor to respect scheduled jobs; deprecate old behavior. Add `GoodJob.perform_inline` [\#615](https://github.com/bensheldon/good_job/pull/615) ([bensheldon](https://github.com/bensheldon))
1973
-
1974
- **Closed issues:**
1975
-
1976
- - Upgrading zeitwerk to 2.6.0 causes a warning related to good\_job [\#616](https://github.com/bensheldon/good_job/issues/616)
1977
-
1978
- ## [v2.15.2](https://github.com/bensheldon/good_job/tree/v2.15.2) (2022-06-17)
1979
-
1980
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.15.1...v2.15.2)
1981
-
1982
- **Closed issues:**
1983
-
1984
- - ActiveRecord::StatementInvalid PG::ProgramLimitExceeded: ERROR: index row size 3296 exceeds btree version 4 maximum 2704 for index [\#612](https://github.com/bensheldon/good_job/issues/612)
1985
-
1986
- **Merged pull requests:**
1987
-
1988
- - Zeitwerk ignore `lib/active_job` [\#617](https://github.com/bensheldon/good_job/pull/617) ([bensheldon](https://github.com/bensheldon))
1989
-
1990
- ## [v2.15.1](https://github.com/bensheldon/good_job/tree/v2.15.1) (2022-05-24)
1991
-
1992
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.15.0...v2.15.1)
1993
-
1994
- **Closed issues:**
1995
-
1996
- - dashboard/engine – i18n: Wrong translation scope [\#605](https://github.com/bensheldon/good_job/issues/605)
1997
- - Concurrency not properly putting jobs in the queue [\#603](https://github.com/bensheldon/good_job/issues/603)
1998
- - Some dashboard actions have a routing error [\#602](https://github.com/bensheldon/good_job/issues/602)
1999
-
2000
- **Merged pull requests:**
2001
-
2002
- - Fix/i18n status scopes [\#607](https://github.com/bensheldon/good_job/pull/607) ([Jay-Schneider](https://github.com/Jay-Schneider))
2003
- - Make "Live Polling" ToC entry clickable [\#606](https://github.com/bensheldon/good_job/pull/606) ([aried3r](https://github.com/aried3r))
2004
- - Update readme explaining Concurrency implementation and how to integrate Dashboard with API-only Rails apps [\#604](https://github.com/bensheldon/good_job/pull/604) ([bensheldon](https://github.com/bensheldon))
2005
-
2006
- ## [v2.15.0](https://github.com/bensheldon/good_job/tree/v2.15.0) (2022-05-18)
2007
-
2008
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.14.4...v2.15.0)
2009
-
2010
- **Implemented enhancements:**
2011
-
2012
- - Remove ability to destroy individual Executions from Dashboard; rename "Toggle" to "Inspect" everywhere [\#601](https://github.com/bensheldon/good_job/pull/601) ([bensheldon](https://github.com/bensheldon))
2013
- - Adds the ability to delete jobs on the dashboard; add `cleanup_discarded_jobs` option to retain discarded jobs during cleanup [\#597](https://github.com/bensheldon/good_job/pull/597) ([TAGraves](https://github.com/TAGraves))
2014
- - Dashboard: show more details about jobs [\#575](https://github.com/bensheldon/good_job/pull/575) ([bkeepers](https://github.com/bkeepers))
2015
-
2016
- **Closed issues:**
2017
-
2018
- - Show status on jobs\#show page [\#547](https://github.com/bensheldon/good_job/issues/547)
2019
-
2020
- **Merged pull requests:**
2021
-
2022
- - Disable ActiveRecord Connection Reaper in test [\#600](https://github.com/bensheldon/good_job/pull/600) ([bensheldon](https://github.com/bensheldon))
2023
- - Update README dashboard screenshot [\#599](https://github.com/bensheldon/good_job/pull/599) ([aried3r](https://github.com/aried3r))
2024
-
2025
- ## [v2.14.4](https://github.com/bensheldon/good_job/tree/v2.14.4) (2022-05-15)
2026
-
2027
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.14.3...v2.14.4)
2028
-
2029
- **Fixed bugs:**
2030
-
2031
- - Fix Concurrency extension to not break `perform_now` [\#593](https://github.com/bensheldon/good_job/pull/593) ([bensheldon](https://github.com/bensheldon))
2032
-
2033
- ## [v2.14.3](https://github.com/bensheldon/good_job/tree/v2.14.3) (2022-05-13)
2034
-
2035
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.14.2...v2.14.3)
2036
-
2037
- **Fixed bugs:**
2038
-
2039
- - Bind probe server to all interfaces [\#598](https://github.com/bensheldon/good_job/pull/598) ([Timmitry](https://github.com/Timmitry))
2040
-
2041
- **Closed issues:**
2042
-
2043
- - NoMethodError: undefined method `current\_tags' for nil:NilClass [\#596](https://github.com/bensheldon/good_job/issues/596)
2044
- - When running rspec, I get: current transaction is aborted, commands ignored until end of transaction block [\#595](https://github.com/bensheldon/good_job/issues/595)
2045
- - CLI healtheck only listening on localhost, not reachable for Kubernetes [\#592](https://github.com/bensheldon/good_job/issues/592)
2046
-
2047
- **Merged pull requests:**
2048
-
2049
- - Improve development instructions and tooling \(rename bin/rails, add bin/appraisal\) [\#590](https://github.com/bensheldon/good_job/pull/590) ([bensheldon](https://github.com/bensheldon))
2050
- - Replace test Instrumentation mocking with temporary subscriptions [\#589](https://github.com/bensheldon/good_job/pull/589) ([bensheldon](https://github.com/bensheldon))
2051
- - Update to development to Ruby 3.0.4, include `matrix` gem in development Gemfile [\#588](https://github.com/bensheldon/good_job/pull/588) ([bensheldon](https://github.com/bensheldon))
2052
-
2053
- ## [v2.14.2](https://github.com/bensheldon/good_job/tree/v2.14.2) (2022-05-01)
2054
-
2055
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.14.1...v2.14.2)
2056
-
2057
- **Fixed bugs:**
2058
-
2059
- - Reintroduce fixed "Apply to all" mass action [\#586](https://github.com/bensheldon/good_job/pull/586) ([bensheldon](https://github.com/bensheldon))
2060
-
2061
- **Closed issues:**
2062
-
2063
- - how to get the number of tasks in the queue and the size of the queue? [\#564](https://github.com/bensheldon/good_job/issues/564)
2064
- - GoodJob tells me to upgrade but migrations fail [\#544](https://github.com/bensheldon/good_job/issues/544)
2065
-
2066
- **Merged pull requests:**
2067
-
2068
- - Update development dependencies [\#584](https://github.com/bensheldon/good_job/pull/584) ([bensheldon](https://github.com/bensheldon))
2069
- - Refactor Dashboard Live Poll javascript [\#582](https://github.com/bensheldon/good_job/pull/582) ([bensheldon](https://github.com/bensheldon))
2070
-
2071
- ## [v2.14.1](https://github.com/bensheldon/good_job/tree/v2.14.1) (2022-04-26)
2072
-
2073
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.14.0...v2.14.1)
2074
-
2075
- **Fixed bugs:**
2076
-
2077
- - Temporarily disable Mass Action "Apply to all" because the action is badly scoped [\#583](https://github.com/bensheldon/good_job/pull/583) ([bensheldon](https://github.com/bensheldon))
2078
-
2079
- ## [v2.14.0](https://github.com/bensheldon/good_job/tree/v2.14.0) (2022-04-26)
2080
-
2081
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.13.2...v2.14.0)
2082
-
2083
- **Implemented enhancements:**
2084
-
2085
- - Add mass update operations for jobs to Dashboard [\#578](https://github.com/bensheldon/good_job/pull/578) ([bensheldon](https://github.com/bensheldon))
2086
-
2087
- **Closed issues:**
2088
-
2089
- - Allow "mass"-actions through Dashboard \(e.g. retry all\) [\#446](https://github.com/bensheldon/good_job/issues/446)
2090
-
2091
- **Merged pull requests:**
2092
-
2093
- - Track down incompatibility/race condition between JRuby and RSpec mocks in tests [\#581](https://github.com/bensheldon/good_job/pull/581) ([bensheldon](https://github.com/bensheldon))
2094
-
2095
- ## [v2.13.2](https://github.com/bensheldon/good_job/tree/v2.13.2) (2022-04-25)
2096
-
2097
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.13.1...v2.13.2)
2098
-
2099
- **Fixed bugs:**
2100
-
2101
- - Namespaces assets per Rails docs [\#580](https://github.com/bensheldon/good_job/pull/580) ([kylekthompson](https://github.com/kylekthompson))
2102
-
2103
- ## [v2.13.1](https://github.com/bensheldon/good_job/tree/v2.13.1) (2022-04-22)
2104
-
2105
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.13.0...v2.13.1)
2106
-
2107
- **Implemented enhancements:**
2108
-
2109
- - Dashboard: Use toasts to show notices and alerts [\#577](https://github.com/bensheldon/good_job/pull/577) ([bkeepers](https://github.com/bkeepers))
2110
- - Remove executions from the dashboard [\#576](https://github.com/bensheldon/good_job/pull/576) ([bkeepers](https://github.com/bkeepers))
2111
-
2112
- **Fixed bugs:**
2113
-
2114
- - `ActionMailer::MailDeliveryJob` executing twice [\#329](https://github.com/bensheldon/good_job/issues/329)
2115
-
2116
- **Closed issues:**
2117
-
2118
- - Possible encryption feature? [\#561](https://github.com/bensheldon/good_job/issues/561)
2119
- - Inconsistencies in configuration settings [\#380](https://github.com/bensheldon/good_job/issues/380)
2120
- - Lockable should accept an explicit keys on class methods too [\#341](https://github.com/bensheldon/good_job/issues/341)
2121
- - Run Scheduler\#cache\_warm on global thread pool instead of Scheduler's thread pool [\#286](https://github.com/bensheldon/good_job/issues/286)
2122
-
2123
- **Merged pull requests:**
2124
-
2125
- - Use javascript importmaps for Dashboard [\#574](https://github.com/bensheldon/good_job/pull/574) ([bensheldon](https://github.com/bensheldon))
2126
-
2127
- ## [v2.13.0](https://github.com/bensheldon/good_job/tree/v2.13.0) (2022-04-19)
2128
-
2129
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.12.2...v2.13.0)
2130
-
2131
- **Implemented enhancements:**
2132
-
2133
- - Dashboard UI updates: sticky navbar, statuses as tabs [\#572](https://github.com/bensheldon/good_job/pull/572) ([bkeepers](https://github.com/bkeepers))
2134
-
2135
- **Closed issues:**
2136
-
2137
- - Internationalize/I18n the Dashboard Engine [\#408](https://github.com/bensheldon/good_job/issues/408)
2138
-
2139
- **Merged pull requests:**
2140
-
2141
- - Fix Russian translation linting [\#573](https://github.com/bensheldon/good_job/pull/573) ([bensheldon](https://github.com/bensheldon))
2142
-
2143
- ## [v2.12.2](https://github.com/bensheldon/good_job/tree/v2.12.2) (2022-04-18)
2144
-
2145
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.12.1...v2.12.2)
2146
-
2147
- **Fixed bugs:**
2148
-
2149
- - Un-deprecate Adapter's `execution_mode` argument [\#567](https://github.com/bensheldon/good_job/pull/567) ([bensheldon](https://github.com/bensheldon))
2150
-
2151
- **Merged pull requests:**
2152
-
2153
- - Dashboard: added NL translations [\#568](https://github.com/bensheldon/good_job/pull/568) ([eelcoj](https://github.com/eelcoj))
2154
-
2155
- ## [v2.12.1](https://github.com/bensheldon/good_job/tree/v2.12.1) (2022-04-18)
2156
-
2157
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.12.0...v2.12.1)
2158
-
2159
- **Implemented enhancements:**
2160
-
2161
- - Dashboard: adding Russian translation [\#565](https://github.com/bensheldon/good_job/pull/565) ([skatkov](https://github.com/skatkov))
2162
-
2163
- **Fixed bugs:**
2164
-
2165
- - I18n::InvalidLocale \(:en is not a valid locale\): [\#549](https://github.com/bensheldon/good_job/issues/549)
2166
- - FIX: make 'default\_url\_options' method private [\#562](https://github.com/bensheldon/good_job/pull/562) ([friendlyantz](https://github.com/friendlyantz))
2167
-
2168
- **Closed issues:**
2169
-
2170
- - Exponential backoff by default? [\#563](https://github.com/bensheldon/good_job/issues/563)
2171
- - Finished without Error [\#552](https://github.com/bensheldon/good_job/issues/552)
2172
- - Track processes in the database [\#421](https://github.com/bensheldon/good_job/issues/421)
2173
-
2174
- **Merged pull requests:**
2175
-
2176
- - Remove WIP comments from dashboard [\#566](https://github.com/bensheldon/good_job/pull/566) ([bkeepers](https://github.com/bkeepers))
2177
- - Add i18n-tasks to linter, add binstub and move config to project root [\#559](https://github.com/bensheldon/good_job/pull/559) ([bensheldon](https://github.com/bensheldon))
2178
-
2179
- ## [v2.12.0](https://github.com/bensheldon/good_job/tree/v2.12.0) (2022-04-05)
2180
-
2181
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.11.3...v2.12.0)
2182
-
2183
- **Closed issues:**
2184
-
2185
- - TimeTask timeouts are now ignored as these were not able to be implemented correctly [\#555](https://github.com/bensheldon/good_job/issues/555)
2186
- - undefined method `relative\_time' when include\_all\_helpers is false [\#550](https://github.com/bensheldon/good_job/issues/550)
2187
- - ArgumentError: wrong number of arguments \(given 1, expected 0; required keyword: schedule\) - cron [\#546](https://github.com/bensheldon/good_job/issues/546)
2188
-
2189
- **Merged pull requests:**
2190
-
2191
- - Deprecate Adapter configuration of job execution/cron [\#558](https://github.com/bensheldon/good_job/pull/558) ([bensheldon](https://github.com/bensheldon))
2192
- - Remove usage of Concurrent::TimerTask's timeout\_interval [\#557](https://github.com/bensheldon/good_job/pull/557) ([bensheldon](https://github.com/bensheldon))
2193
- - Include locale in html lang attribute [\#556](https://github.com/bensheldon/good_job/pull/556) ([bensheldon](https://github.com/bensheldon))
2194
- - Rename `GoodJob::BaseController` to `GoodJob::ApplicationController` [\#553](https://github.com/bensheldon/good_job/pull/553) ([shouichi](https://github.com/shouichi))
2195
- - Internationalize/I18n the Dashboard Engine [\#497](https://github.com/bensheldon/good_job/pull/497) ([JuanVqz](https://github.com/JuanVqz))
2196
-
2197
- ## [v2.11.3](https://github.com/bensheldon/good_job/tree/v2.11.3) (2022-03-30)
2198
-
2199
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.11.2...v2.11.3)
2200
-
2201
- **Fixed bugs:**
2202
-
2203
- - Add explicit `kwargs:` key to cron configuration [\#548](https://github.com/bensheldon/good_job/pull/548) ([bensheldon](https://github.com/bensheldon))
2204
-
2205
- **Closed issues:**
2206
-
2207
- - How to run clean up preserved jobs in cron? [\#541](https://github.com/bensheldon/good_job/issues/541)
2208
- - Erroring with "Too many open files" when good\_job tries reconnecting to database [\#530](https://github.com/bensheldon/good_job/issues/530)
2209
- - Can't cast Array [\#529](https://github.com/bensheldon/good_job/issues/529)
2210
-
2211
- **Merged pull requests:**
2212
-
2213
- - Use bundle add instead [\#542](https://github.com/bensheldon/good_job/pull/542) ([glaucocustodio](https://github.com/glaucocustodio))
2214
- - Update Readme to better explain queues, pools, threads, and database connections; update CLI to frontload queue option [\#539](https://github.com/bensheldon/good_job/pull/539) ([bensheldon](https://github.com/bensheldon))
2215
-
2216
- ## [v2.11.2](https://github.com/bensheldon/good_job/tree/v2.11.2) (2022-03-03)
2217
-
2218
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.11.1...v2.11.2)
2219
-
2220
- **Closed issues:**
2221
-
2222
- - Best practices in deploying and monitoring a queue [\#523](https://github.com/bensheldon/good_job/issues/523)
2223
-
2224
- **Merged pull requests:**
2225
-
2226
- - Wrap Rspec before and example blocks with a mutex for JRuby [\#537](https://github.com/bensheldon/good_job/pull/537) ([bensheldon](https://github.com/bensheldon))
2227
- - Delegate `ActiveJobJob.table_name` to `Execution` and prevent it from being directly assignable [\#536](https://github.com/bensheldon/good_job/pull/536) ([bensheldon](https://github.com/bensheldon))
2228
- - Enable DB table names customization [\#535](https://github.com/bensheldon/good_job/pull/535) ([dimvic](https://github.com/dimvic))
2229
- - Added a chapter on how to prepare for production. [\#525](https://github.com/bensheldon/good_job/pull/525) ([stas](https://github.com/stas))
2230
-
2231
- ## [v2.11.1](https://github.com/bensheldon/good_job/tree/v2.11.1) (2022-03-01)
2232
-
2233
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.11.0...v2.11.1)
2234
-
2235
- **Fixed bugs:**
2236
-
2237
- - Ensure sticky footer doesn't overlap paginater; fix polling interval to 30 seconds, not ms [\#534](https://github.com/bensheldon/good_job/pull/534) ([bensheldon](https://github.com/bensheldon))
2238
-
2239
- **Closed issues:**
2240
-
2241
- - Pagination buttons hidden behind footer [\#533](https://github.com/bensheldon/good_job/issues/533)
2242
-
2243
- ## [v2.11.0](https://github.com/bensheldon/good_job/tree/v2.11.0) (2022-02-27)
2244
-
2245
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.10.0...v2.11.0)
2246
-
2247
- **Implemented enhancements:**
2248
-
2249
- - Add support for live polling the dashboard [\#528](https://github.com/bensheldon/good_job/pull/528) ([danielwestendorf](https://github.com/danielwestendorf))
2250
-
2251
- **Closed issues:**
2252
-
2253
- - How do I ensure that a the same job can't run twice? \(unique job / avoid duplicates\) [\#531](https://github.com/bensheldon/good_job/issues/531)
2254
- - Bulk reschedule and discard jobs via dashboard [\#527](https://github.com/bensheldon/good_job/issues/527)
2255
- - "Live Poll" dashboard [\#526](https://github.com/bensheldon/good_job/issues/526)
2256
-
2257
- ## [v2.10.0](https://github.com/bensheldon/good_job/tree/v2.10.0) (2022-02-18)
2258
-
2259
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.9.6...v2.10.0)
2260
-
2261
- **Implemented enhancements:**
2262
-
2263
- - Dashboard: update search filters and some small UI updates [\#518](https://github.com/bensheldon/good_job/pull/518) ([multiplegeorges](https://github.com/multiplegeorges))
2264
-
2265
- **Closed issues:**
2266
-
2267
- - Cron jobs not getting run [\#519](https://github.com/bensheldon/good_job/issues/519)
2268
- - Slow queries with many finished entries and concurrency control [\#514](https://github.com/bensheldon/good_job/issues/514)
2269
- - Make default retry behaviour safer [\#505](https://github.com/bensheldon/good_job/issues/505)
2270
-
2271
- **Merged pull requests:**
2272
-
2273
- - Fix Benchmark job throughput script [\#522](https://github.com/bensheldon/good_job/pull/522) ([douglara](https://github.com/douglara))
2274
- - Update development Gemfile.lock [\#521](https://github.com/bensheldon/good_job/pull/521) ([bensheldon](https://github.com/bensheldon))
2275
- - Ensure Rails 6.0 is tested against Ruby 3.0; use Ruby 3.0 in demo environment [\#520](https://github.com/bensheldon/good_job/pull/520) ([bensheldon](https://github.com/bensheldon))
2276
- - Document safer setting for retry\_on\_unhandled\_error [\#517](https://github.com/bensheldon/good_job/pull/517) ([tamaloa](https://github.com/tamaloa))
2277
-
2278
- ## [v2.9.6](https://github.com/bensheldon/good_job/tree/v2.9.6) (2022-02-07)
2279
-
2280
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.9.5...v2.9.6)
2281
-
2282
- **Merged pull requests:**
2283
-
2284
- - Limit query for allowed concurrent jobs to unfinished [\#515](https://github.com/bensheldon/good_job/pull/515) ([til](https://github.com/til))
2285
-
2286
- ## [v2.9.5](https://github.com/bensheldon/good_job/tree/v2.9.5) (2022-02-07)
2287
-
2288
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.9.4...v2.9.5)
2289
-
2290
- **Fixed bugs:**
2291
-
2292
- - Transactions in "aborting" threads do not commit; causes GoodJob::Process record not destroyed on exit [\#489](https://github.com/bensheldon/good_job/issues/489)
2293
- - Deserialize ActiveJob arguments when manually retrying a job [\#513](https://github.com/bensheldon/good_job/pull/513) ([bensheldon](https://github.com/bensheldon))
2294
-
2295
- **Closed issues:**
2296
-
2297
- - Concurrency key proc is missing `arguments` when retrying a discarded job. [\#512](https://github.com/bensheldon/good_job/issues/512)
2298
- - Cron Schedule not visible in dashboard [\#496](https://github.com/bensheldon/good_job/issues/496)
2299
-
2300
- **Merged pull requests:**
2301
-
2302
- - Rename methods to `advisory_lock_key` and allow it to take a block instead of `with_advisory_lock` [\#511](https://github.com/bensheldon/good_job/pull/511) ([bensheldon](https://github.com/bensheldon))
2303
- - README: Limiting concurrency - fetch symbol instead of string [\#510](https://github.com/bensheldon/good_job/pull/510) ([BenSto](https://github.com/BenSto))
2304
- - Add arbitrary lock on class level too [\#499](https://github.com/bensheldon/good_job/pull/499) ([pandwoter](https://github.com/pandwoter))
2305
-
2306
- ## [v2.9.4](https://github.com/bensheldon/good_job/tree/v2.9.4) (2022-01-31)
2307
-
2308
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.9.3...v2.9.4)
2309
-
2310
- **Fixed bugs:**
2311
-
2312
- - Fix navbar toggler [\#506](https://github.com/bensheldon/good_job/pull/506) ([JuanVqz](https://github.com/JuanVqz))
2313
- - Guard LogSubscriber against tagged logger without a formatter [\#504](https://github.com/bensheldon/good_job/pull/504) ([bensheldon](https://github.com/bensheldon))
2314
- - Markdown lint fixes + Added missing responsive meta tag [\#492](https://github.com/bensheldon/good_job/pull/492) ([zeevy](https://github.com/zeevy))
2315
-
2316
- **Closed issues:**
2317
-
2318
- - The navbar icon doesn't show the navbar menu when clicking it [\#503](https://github.com/bensheldon/good_job/issues/503)
2319
- - Not all loggers have a formatter [\#502](https://github.com/bensheldon/good_job/issues/502)
2320
- - Error logs from failed jobs used all storage space [\#495](https://github.com/bensheldon/good_job/issues/495)
2321
-
2322
- **Merged pull requests:**
2323
-
2324
- - Update Code of Conduct to Contributor Covenant 2.1 [\#501](https://github.com/bensheldon/good_job/pull/501) ([bensheldon](https://github.com/bensheldon))
2325
- - Test with Ruby 3.1 [\#498](https://github.com/bensheldon/good_job/pull/498) ([aried3r](https://github.com/aried3r))
2326
-
2327
- ## [v2.9.3](https://github.com/bensheldon/good_job/tree/v2.9.3) (2022-01-23)
2328
-
2329
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.9.2...v2.9.3)
2330
-
2331
- **Fixed bugs:**
2332
-
2333
- - Use `*_url` route helpers for Dashboard assets to avoid being overridden by `config.asset_host` [\#493](https://github.com/bensheldon/good_job/pull/493) ([bensheldon](https://github.com/bensheldon))
2334
-
2335
- **Closed issues:**
2336
-
2337
- - Assets not loaded when Rails is configured with a different hostname for assets [\#491](https://github.com/bensheldon/good_job/issues/491)
2338
-
2339
- ## [v2.9.2](https://github.com/bensheldon/good_job/tree/v2.9.2) (2022-01-19)
2340
-
2341
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.9.1...v2.9.2)
2342
-
2343
- **Fixed bugs:**
2344
-
2345
- - Error on GJ admin UI search form [\#487](https://github.com/bensheldon/good_job/issues/487)
2346
- - Use `websearch_to_tsquery` or \(`plainto_tsquery` for Postgres \< v11\) for Dashboard search filter [\#488](https://github.com/bensheldon/good_job/pull/488) ([bensheldon](https://github.com/bensheldon))
2347
-
2348
- **Merged pull requests:**
2349
-
2350
- - Update README to illustrate using named arguments for the unique key. [\#486](https://github.com/bensheldon/good_job/pull/486) ([phallstrom](https://github.com/phallstrom))
2351
- - Add details about exactly where to require the engine. [\#485](https://github.com/bensheldon/good_job/pull/485) ([phallstrom](https://github.com/phallstrom))
2352
- - $ symbol gets copied when clicking on the copy button [\#484](https://github.com/bensheldon/good_job/pull/484) ([zeevy](https://github.com/zeevy))
2353
-
2354
- ## [v2.9.1](https://github.com/bensheldon/good_job/tree/v2.9.1) (2022-01-13)
2355
-
2356
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.9.0...v2.9.1)
2357
-
2358
- **Fixed bugs:**
2359
-
2360
- - Start async adapters once `ActiveRecord` and `ActiveJob` have loaded, potentially before `Rails.application.initialized?` [\#483](https://github.com/bensheldon/good_job/pull/483) ([bensheldon](https://github.com/bensheldon))
2361
-
2362
- **Closed issues:**
2363
-
2364
- - Graceful fallback to polling when LISTEN/NOTIFY isn't available [\#482](https://github.com/bensheldon/good_job/issues/482)
2365
- - Long running locks on latest good job [\#480](https://github.com/bensheldon/good_job/issues/480)
2366
-
2367
- ## [v2.9.0](https://github.com/bensheldon/good_job/tree/v2.9.0) (2022-01-09)
2368
-
2369
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.8.1...v2.9.0)
2370
-
2371
- **Implemented enhancements:**
2372
-
2373
- - Add JRuby / JDBC support for LISTEN [\#479](https://github.com/bensheldon/good_job/pull/479) ([bensheldon](https://github.com/bensheldon))
2374
-
2375
- **Merged pull requests:**
2376
-
2377
- - Remove demo CleanupJob in favor of using built-in cleanup intervals [\#478](https://github.com/bensheldon/good_job/pull/478) ([bensheldon](https://github.com/bensheldon))
2378
-
2379
- ## [v2.8.1](https://github.com/bensheldon/good_job/tree/v2.8.1) (2022-01-03)
2380
-
2381
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.8.0...v2.8.1)
2382
-
2383
- **Implemented enhancements:**
2384
-
2385
- - Add indexes to `good_jobs.finished_at` and have `GoodJob.cleanup_preserved_jobs` delete all executions for a given job [\#477](https://github.com/bensheldon/good_job/pull/477) ([bensheldon](https://github.com/bensheldon))
2386
-
2387
- **Closed issues:**
2388
-
2389
- - finished\_at should be indexed and clean up should clean up all of a job's executions [\#476](https://github.com/bensheldon/good_job/issues/476)
2390
-
2391
- **Merged pull requests:**
2392
-
2393
- - Update development Ruby \(2.7.5\) and Rails \(6.1.4.4\) versions [\#475](https://github.com/bensheldon/good_job/pull/475) ([bensheldon](https://github.com/bensheldon))
2394
- - Clean up server integration tests [\#474](https://github.com/bensheldon/good_job/pull/474) ([bensheldon](https://github.com/bensheldon))
2395
-
2396
- ## [v2.8.0](https://github.com/bensheldon/good_job/tree/v2.8.0) (2021-12-31)
2397
-
2398
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.7.4...v2.8.0)
2399
-
2400
- **Implemented enhancements:**
2401
-
2402
- - GoodJob should automatically clean up after itself and delete old job records [\#412](https://github.com/bensheldon/good_job/issues/412)
2403
- - Track processes in the database and on the Dashboard [\#472](https://github.com/bensheldon/good_job/pull/472) ([bensheldon](https://github.com/bensheldon))
2404
- - Allow Scheduler to automatically clean up preserved jobs every N jobs or seconds [\#465](https://github.com/bensheldon/good_job/pull/465) ([bensheldon](https://github.com/bensheldon))
2405
-
2406
- **Closed issues:**
2407
-
2408
- - Is there a way to show how many worker/process is running currently [\#471](https://github.com/bensheldon/good_job/issues/471)
2409
- - Jobs stuck in the unfinished state [\#448](https://github.com/bensheldon/good_job/issues/448)
2410
-
2411
- **Merged pull requests:**
2412
-
2413
- - Doublequote Ruby 3.0 in testing matrix [\#473](https://github.com/bensheldon/good_job/pull/473) ([bensheldon](https://github.com/bensheldon))
2414
- - Have demo CleanupJob use GoodJob.cleanup\_preserved\_jobs [\#470](https://github.com/bensheldon/good_job/pull/470) ([bensheldon](https://github.com/bensheldon))
2415
- - Test with Rails 7.0.0 [\#469](https://github.com/bensheldon/good_job/pull/469) ([aried3r](https://github.com/aried3r))
2416
-
2417
- ## [v2.7.4](https://github.com/bensheldon/good_job/tree/v2.7.4) (2021-12-16)
2418
-
2419
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.7.3...v2.7.4)
2420
-
2421
- **Fixed bugs:**
2422
-
2423
- - Add nonce: true to javascript\_include\_tag in dashboard [\#468](https://github.com/bensheldon/good_job/pull/468) ([bouk](https://github.com/bouk))
2424
-
2425
- **Closed issues:**
2426
-
2427
- - Add nonce: true to engine views [\#467](https://github.com/bensheldon/good_job/issues/467)
2428
- - Updating good\_job breaks my Rails 7 alpha 2 local development [\#462](https://github.com/bensheldon/good_job/issues/462)
2429
-
2430
- **Merged pull requests:**
2431
-
2432
- - Update appraisal for Rails 7.0.0.rc1 [\#466](https://github.com/bensheldon/good_job/pull/466) ([bensheldon](https://github.com/bensheldon))
2433
-
2434
- ## [v2.7.3](https://github.com/bensheldon/good_job/tree/v2.7.3) (2021-11-30)
2435
-
2436
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.7.2...v2.7.3)
2437
-
2438
- **Fixed bugs:**
2439
-
2440
- - Logger error on 2.7.2 [\#463](https://github.com/bensheldon/good_job/issues/463)
2441
- - Fix Railtie configuration assignment when Rails configuration is a Hash, not an OrderedOptions [\#464](https://github.com/bensheldon/good_job/pull/464) ([bensheldon](https://github.com/bensheldon))
2442
-
2443
- ## [v2.7.2](https://github.com/bensheldon/good_job/tree/v2.7.2) (2021-11-29)
2444
-
2445
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.7.1...v2.7.2)
2446
-
2447
- **Implemented enhancements:**
2448
-
2449
- - Allow GoodJob global configuration accessors to also be set via Rails config hash [\#460](https://github.com/bensheldon/good_job/pull/460) ([bensheldon](https://github.com/bensheldon))
2450
-
2451
- **Merged pull requests:**
2452
-
2453
- - Use `ActiveRecord::Relation::QueryAttribute` when setting up bindings for `exec_query` [\#461](https://github.com/bensheldon/good_job/pull/461) ([bensheldon](https://github.com/bensheldon))
2454
- - Configure RSpec `config.example_status_persistence_file_path` [\#459](https://github.com/bensheldon/good_job/pull/459) ([bensheldon](https://github.com/bensheldon))
2455
- - Defer async initialization until Rails fully initialized [\#454](https://github.com/bensheldon/good_job/pull/454) ([bensheldon](https://github.com/bensheldon))
2456
-
2457
- ## [v2.7.1](https://github.com/bensheldon/good_job/tree/v2.7.1) (2021-11-26)
2458
-
2459
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.7.0...v2.7.1)
2460
-
2461
- **Fixed bugs:**
2462
-
2463
- - Unclear error when database can't be reached [\#457](https://github.com/bensheldon/good_job/issues/457)
2464
- - Remove Concurrent::Delay wrapping of database-loading methods [\#458](https://github.com/bensheldon/good_job/pull/458) ([bensheldon](https://github.com/bensheldon))
2465
- - Do not delete csp policies when checking csp policies [\#456](https://github.com/bensheldon/good_job/pull/456) ([JonathanFrias](https://github.com/JonathanFrias))
2466
-
2467
- **Closed issues:**
2468
-
2469
- - How to suppress job scheduler logs? [\#455](https://github.com/bensheldon/good_job/issues/455)
2470
- - Configuration in environments/\*.rb overrides application.rb [\#453](https://github.com/bensheldon/good_job/issues/453)
2471
- - Testing jobs synchronously [\#435](https://github.com/bensheldon/good_job/issues/435)
2472
- - HTTP health check endpoint [\#403](https://github.com/bensheldon/good_job/issues/403)
2473
-
2474
- ## [v2.7.0](https://github.com/bensheldon/good_job/tree/v2.7.0) (2021-11-10)
2475
-
2476
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.6.2...v2.7.0)
2477
-
2478
- **Implemented enhancements:**
2479
-
2480
- - Add http probe for CLI healthcheck/readiness/liveliness [\#452](https://github.com/bensheldon/good_job/pull/452) ([bensheldon](https://github.com/bensheldon))
2481
- - Add explicit Content Security Policy \(CSP\) for Dashboard [\#449](https://github.com/bensheldon/good_job/pull/449) ([bensheldon](https://github.com/bensheldon))
2482
-
2483
- **Closed issues:**
2484
-
2485
- - Add a default Content-Security-Policy for the Dashboard [\#420](https://github.com/bensheldon/good_job/issues/420)
2486
-
2487
- ## [v2.6.2](https://github.com/bensheldon/good_job/tree/v2.6.2) (2021-11-05)
2488
-
2489
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.6.1...v2.6.2)
2490
-
2491
- **Fixed bugs:**
2492
-
2493
- - Rename Filterable\#search to Filterable\#search\_text to avoid name collision [\#451](https://github.com/bensheldon/good_job/pull/451) ([bensheldon](https://github.com/bensheldon))
2494
-
2495
- **Closed issues:**
2496
-
2497
- - v2.6.1 is incompatible with gem thinking-sphinx [\#450](https://github.com/bensheldon/good_job/issues/450)
2498
-
2499
- ## [v2.6.1](https://github.com/bensheldon/good_job/tree/v2.6.1) (2021-11-05)
2500
-
2501
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.6.0...v2.6.1)
2502
-
2503
- **Implemented enhancements:**
2504
-
2505
- - Allow job management \(retry, destroy\) through the Web UI [\#256](https://github.com/bensheldon/good_job/issues/256)
2506
- - Add fulltext search filter [\#440](https://github.com/bensheldon/good_job/pull/440) ([bensheldon](https://github.com/bensheldon))
2507
-
2508
- **Fixed bugs:**
2509
-
2510
- - Unsubscribed LISTEN forever after database connection lost [\#303](https://github.com/bensheldon/good_job/issues/303)
2511
- - Add `PG::UnableToSend` and `PG::Error` as a Notifier connection error [\#445](https://github.com/bensheldon/good_job/pull/445) ([bensheldon](https://github.com/bensheldon))
2512
-
2513
- **Closed issues:**
2514
-
2515
- - Question: what's the correct way to handle database connection pool size when using cron [\#443](https://github.com/bensheldon/good_job/issues/443)
2516
- - Add a search bar to Dashboard [\#432](https://github.com/bensheldon/good_job/issues/432)
2517
- - Hacktoberfest 2021 [\#393](https://github.com/bensheldon/good_job/issues/393)
2518
- - Ideas for improvements to Cron [\#392](https://github.com/bensheldon/good_job/issues/392)
2519
- - Fix flakey test that times out [\#382](https://github.com/bensheldon/good_job/issues/382)
2520
-
2521
- **Merged pull requests:**
2522
-
2523
- - Update development dependencies [\#447](https://github.com/bensheldon/good_job/pull/447) ([bensheldon](https://github.com/bensheldon))
2524
- - Replace Chartist.js with Chart.js [\#444](https://github.com/bensheldon/good_job/pull/444) ([bensheldon](https://github.com/bensheldon))
2525
- - Fix JRuby flake: "Scheduler\#create\_thread returns false if there are no threads available" [\#442](https://github.com/bensheldon/good_job/pull/442) ([bensheldon](https://github.com/bensheldon))
2526
-
2527
- ## [v2.6.0](https://github.com/bensheldon/good_job/tree/v2.6.0) (2021-10-30)
2528
-
2529
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.5.0...v2.6.0)
2530
-
2531
- **Implemented enhancements:**
2532
-
2533
- - Allow for cron schedules to be expressed using fugit natural language parsing [\#441](https://github.com/bensheldon/good_job/pull/441) ([jgrau](https://github.com/jgrau))
2534
- - Add Rails UJS javascript to Dashboard along with confirmations [\#437](https://github.com/bensheldon/good_job/pull/437) ([bensheldon](https://github.com/bensheldon))
2535
- - Reorganize Cron dashboard screen; add jobs drill-drown and enqueue-now action [\#436](https://github.com/bensheldon/good_job/pull/436) ([bensheldon](https://github.com/bensheldon))
2536
-
2537
- **Closed issues:**
2538
-
2539
- - Ability to express cron schedule using fugit natural language parser [\#439](https://github.com/bensheldon/good_job/issues/439)
2540
- - Best way to ensure ordering of a queue. [\#402](https://github.com/bensheldon/good_job/issues/402)
2541
- - ActiveJob concurrency raises FrozenError [\#386](https://github.com/bensheldon/good_job/issues/386)
2542
-
2543
- ## [v2.5.0](https://github.com/bensheldon/good_job/tree/v2.5.0) (2021-10-25)
2544
-
2545
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.4.2...v2.5.0)
2546
-
2547
- **Implemented enhancements:**
2548
-
2549
- - Add Reschedule, Discard, Retry Job buttons to Dashboard [\#425](https://github.com/bensheldon/good_job/pull/425) ([bensheldon](https://github.com/bensheldon))
2550
- - Use unique index on \[cron\_key, cron\_at\] columns to prevent duplicate cron jobs from being enqueued [\#423](https://github.com/bensheldon/good_job/pull/423) ([bensheldon](https://github.com/bensheldon))
2551
-
2552
- **Fixed bugs:**
2553
-
2554
- - Dashboard fix preservation of `limit` and `queue_name` filter params; add pager to jobs [\#434](https://github.com/bensheldon/good_job/pull/434) ([bensheldon](https://github.com/bensheldon))
2555
-
2556
- **Closed issues:**
2557
-
2558
- - PgLock state inspection is not isolated to current database [\#431](https://github.com/bensheldon/good_job/issues/431)
2559
- - Race condition with concurency control [\#378](https://github.com/bensheldon/good_job/issues/378)
2560
-
2561
- **Merged pull requests:**
2562
-
2563
- - Add Readme note about race conditions in Concurrency's `enqueue\_limit` and `perform\_limit [\#433](https://github.com/bensheldon/good_job/pull/433) ([bensheldon](https://github.com/bensheldon))
2564
- - Test harness should only force-unlock db connections for the current database [\#430](https://github.com/bensheldon/good_job/pull/430) ([bensheldon](https://github.com/bensheldon))
2565
-
2566
- ## [v2.4.2](https://github.com/bensheldon/good_job/tree/v2.4.2) (2021-10-19)
2567
-
2568
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.4.1...v2.4.2)
2569
-
2570
- **Implemented enhancements:**
2571
-
2572
- - Add migration version to install/update generator templates [\#426](https://github.com/bensheldon/good_job/pull/426) ([bensheldon](https://github.com/bensheldon))
2573
-
2574
- **Fixed bugs:**
2575
-
2576
- - Explicitly unscope queries within block yielded to Lockable.within\_advisory\_lock [\#429](https://github.com/bensheldon/good_job/pull/429) ([bensheldon](https://github.com/bensheldon))
2577
- - Fix Demo CleanupJob args [\#427](https://github.com/bensheldon/good_job/pull/427) ([bensheldon](https://github.com/bensheldon))
2578
-
2579
- **Merged pull requests:**
2580
-
2581
- - Remove v1.99/v2 transitional extra advisory lock [\#428](https://github.com/bensheldon/good_job/pull/428) ([bensheldon](https://github.com/bensheldon))
2582
-
2583
- ## [v2.4.1](https://github.com/bensheldon/good_job/tree/v2.4.1) (2021-10-11)
2584
-
2585
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.4.0...v2.4.1)
2586
-
2587
- **Implemented enhancements:**
2588
-
2589
- - Support Datadog APM / `dd-trace-rb` [\#323](https://github.com/bensheldon/good_job/issues/323)
2590
- - Display info about used timezone. [\#398](https://github.com/bensheldon/good_job/pull/398) ([morgoth](https://github.com/morgoth))
2591
- - Display cron schedules args in dashboard [\#396](https://github.com/bensheldon/good_job/pull/396) ([aried3r](https://github.com/aried3r))
2592
-
2593
- **Fixed bugs:**
2594
-
2595
- - Inline adapter should raise unhandled exceptions during execution [\#416](https://github.com/bensheldon/good_job/pull/416) ([bensheldon](https://github.com/bensheldon))
2596
- - Enforce english locale in UI [\#407](https://github.com/bensheldon/good_job/pull/407) ([morgoth](https://github.com/morgoth))
2597
-
2598
- **Closed issues:**
2599
-
2600
- - Finished jobs don't show up as finished [\#415](https://github.com/bensheldon/good_job/issues/415)
2601
- - Inline adapter should raise unhandled exceptions during execution [\#410](https://github.com/bensheldon/good_job/issues/410)
2602
- - Rewrite Scheduler "worker" thread name to be `thread` [\#406](https://github.com/bensheldon/good_job/issues/406)
2603
- - "WARNING: you don't own a lock of type ExclusiveLock" in Development [\#388](https://github.com/bensheldon/good_job/issues/388)
2604
- - Improve Readme's "Optimize queues, threads, processes" section [\#132](https://github.com/bensheldon/good_job/issues/132)
2605
-
2606
- **Merged pull requests:**
2607
-
2608
- - Ignore Rails HEAD Appraisal until `rails new` fixed [\#419](https://github.com/bensheldon/good_job/pull/419) ([bensheldon](https://github.com/bensheldon))
2609
- - Warn in Readme that configuration should not go into `config/initializers/*.rb` [\#418](https://github.com/bensheldon/good_job/pull/418) ([bensheldon](https://github.com/bensheldon))
2610
- - Replace worker wording [\#409](https://github.com/bensheldon/good_job/pull/409) ([Hugo-Hache](https://github.com/Hugo-Hache))
2611
- - Improve Readme's "Optimize queues, threads, processes" section [\#405](https://github.com/bensheldon/good_job/pull/405) ([Hugo-Hache](https://github.com/Hugo-Hache))
2612
- - Update GH Test Matrix with more PG versions [\#401](https://github.com/bensheldon/good_job/pull/401) ([tedt10e](https://github.com/tedt10e))
2613
- - Extract cron configuration hash into CronEntry ActiveModel objects [\#400](https://github.com/bensheldon/good_job/pull/400) ([bensheldon](https://github.com/bensheldon))
2614
- - Remove errant copy-paste from app.json [\#397](https://github.com/bensheldon/good_job/pull/397) ([morgoth](https://github.com/morgoth))
2615
-
2616
- ## [v2.4.0](https://github.com/bensheldon/good_job/tree/v2.4.0) (2021-10-02)
2617
-
2618
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.3.1...v2.4.0)
2619
-
2620
- **Implemented enhancements:**
2621
-
2622
- - Display schedule time relative to now. [\#394](https://github.com/bensheldon/good_job/pull/394) ([morgoth](https://github.com/morgoth))
2623
- - Display cron schedules properties in dashboard [\#391](https://github.com/bensheldon/good_job/pull/391) ([aried3r](https://github.com/aried3r))
2624
-
2625
- **Fixed bugs:**
2626
-
2627
- - Correct icon for alert flash [\#395](https://github.com/bensheldon/good_job/pull/395) ([morgoth](https://github.com/morgoth))
2628
-
2629
- ## [v2.3.1](https://github.com/bensheldon/good_job/tree/v2.3.1) (2021-09-30)
2630
-
2631
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.3.0...v2.3.1)
2632
-
2633
- **Fixed bugs:**
2634
-
2635
- - Wrap Scheduler task execution with Rails `reloader` instead of `executor` to avoid database connection changing during code reload [\#389](https://github.com/bensheldon/good_job/pull/389) ([bensheldon](https://github.com/bensheldon))
2636
-
2637
- **Merged pull requests:**
2638
-
2639
- - Log Cleanup thread tests, introduce "Slow" ExampleJob type, refactor ExampleJob types, run cron and log Postgres warnings in GoodJob Development harness [\#390](https://github.com/bensheldon/good_job/pull/390) ([bensheldon](https://github.com/bensheldon))
2640
-
2641
- ## [v2.3.0](https://github.com/bensheldon/good_job/tree/v2.3.0) (2021-09-25)
2642
-
2643
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.2.0...v2.3.0)
2644
-
2645
- **Implemented enhancements:**
2646
-
2647
- - Create an ActiveJobJob model and Dashboard [\#383](https://github.com/bensheldon/good_job/pull/383) ([bensheldon](https://github.com/bensheldon))
2648
- - Preserve page filter when deleting execution [\#381](https://github.com/bensheldon/good_job/pull/381) ([morgoth](https://github.com/morgoth))
2649
-
2650
- **Merged pull requests:**
2651
-
2652
- - Update GH Test Matrix with latest JRuby 9.3.0.0 [\#387](https://github.com/bensheldon/good_job/pull/387) ([tedt10e](https://github.com/tedt10e))
2653
- - Improve test support's ShellOut command's process termination and add test logs [\#385](https://github.com/bensheldon/good_job/pull/385) ([bensheldon](https://github.com/bensheldon))
2654
- - @bensheldon Add Rails 7 alpha to Appraisal; update development dependencies [\#384](https://github.com/bensheldon/good_job/pull/384) ([bensheldon](https://github.com/bensheldon))
2655
-
2656
- ## [v2.2.0](https://github.com/bensheldon/good_job/tree/v2.2.0) (2021-09-15)
2657
-
2658
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.1.0...v2.2.0)
2659
-
2660
- **Implemented enhancements:**
2661
-
2662
- - Add dashboard for cron-style jobs [\#367](https://github.com/bensheldon/good_job/pull/367) ([aried3r](https://github.com/aried3r))
2663
-
2664
- **Fixed bugs:**
2665
-
2666
- - Fix Dashboard navigation active class for Scheduled Jobs [\#375](https://github.com/bensheldon/good_job/pull/375) ([bensheldon](https://github.com/bensheldon))
2667
-
2668
- **Closed issues:**
2669
-
2670
- - Rename `GoodJob::Job` to be `GoodJob::Execution` [\#376](https://github.com/bensheldon/good_job/issues/376)
2671
- - More recognition in Rails community [\#370](https://github.com/bensheldon/good_job/issues/370)
2672
- - Concurrency control for all queued jobs [\#366](https://github.com/bensheldon/good_job/issues/366)
2673
-
2674
- **Merged pull requests:**
2675
-
2676
- - Rename `GoodJob::Job` to `GoodJob::Execution` [\#377](https://github.com/bensheldon/good_job/pull/377) ([bensheldon](https://github.com/bensheldon))
2677
- - Add example execution behavior \(errored, retried, dead\) to demo ExampleJob [\#374](https://github.com/bensheldon/good_job/pull/374) ([bensheldon](https://github.com/bensheldon))
2678
- - Add Passenger info for running in async mode [\#373](https://github.com/bensheldon/good_job/pull/373) ([aried3r](https://github.com/aried3r))
2679
- - Update bootstrap to latest 5.1.1 [\#372](https://github.com/bensheldon/good_job/pull/372) ([morgoth](https://github.com/morgoth))
2680
-
2681
- ## [v2.1.0](https://github.com/bensheldon/good_job/tree/v2.1.0) (2021-09-09)
2682
-
2683
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.0.5...v2.1.0)
2684
-
2685
- **Implemented enhancements:**
2686
-
2687
- - Add `total_limit:` option to GoodJob::Concurrency to be inclusive of counting both enqueued and performing jobs [\#369](https://github.com/bensheldon/good_job/pull/369) ([bensheldon](https://github.com/bensheldon))
2688
- - Add button to toggle all job params in Dashboard [\#365](https://github.com/bensheldon/good_job/pull/365) ([bensheldon](https://github.com/bensheldon))
2689
-
2690
- **Fixed bugs:**
2691
-
2692
- - Fix unlock key for Lockable\#with\_advisory\_lock [\#368](https://github.com/bensheldon/good_job/pull/368) ([bensheldon](https://github.com/bensheldon))
2693
-
2694
- **Closed issues:**
2695
-
2696
- - Cron-like jobs not always executed, possible reasons? [\#359](https://github.com/bensheldon/good_job/issues/359)
2697
-
2698
- **Merged pull requests:**
2699
-
2700
- - When shelling out in tests, send SIGKILL if process does not exit [\#371](https://github.com/bensheldon/good_job/pull/371) ([bensheldon](https://github.com/bensheldon))
2701
- - Have all tests use stubbed TestJob [\#364](https://github.com/bensheldon/good_job/pull/364) ([bensheldon](https://github.com/bensheldon))
2702
-
2703
- ## [v2.0.5](https://github.com/bensheldon/good_job/tree/v2.0.5) (2021-09-06)
2704
-
2705
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.0.4...v2.0.5)
2706
-
2707
- **Closed issues:**
2708
-
2709
- - Serialized Params and ActiveJob extensions [\#362](https://github.com/bensheldon/good_job/issues/362)
2710
-
2711
- **Merged pull requests:**
2712
-
2713
- - `deep_dup` serialized job data instead of`attr_readonly` to prevent overwriting [\#363](https://github.com/bensheldon/good_job/pull/363) ([bensheldon](https://github.com/bensheldon))
2714
-
2715
- ## [v2.0.4](https://github.com/bensheldon/good_job/tree/v2.0.4) (2021-08-31)
2716
-
2717
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.0.3...v2.0.4)
2718
-
2719
- **Fixed bugs:**
2720
-
2721
- - Remove `NOW()` from Dashboard SQL; fix chart x-axis order left-to-right, old-to-new [\#355](https://github.com/bensheldon/good_job/pull/355) ([bensheldon](https://github.com/bensheldon))
2722
-
2723
- **Closed issues:**
2724
-
2725
- - Content security policy for dashboard; nest shared view partials; problematic NOW\(\) SQL in Dashboard query [\#304](https://github.com/bensheldon/good_job/issues/304)
2726
-
2727
- **Merged pull requests:**
2728
-
2729
- - Update development dependencies and ruby to 2.7.4 [\#358](https://github.com/bensheldon/good_job/pull/358) ([bensheldon](https://github.com/bensheldon))
2730
- - Add info about how to disable polling to README [\#357](https://github.com/bensheldon/good_job/pull/357) ([aried3r](https://github.com/aried3r))
2731
-
2732
- ## [v2.0.3](https://github.com/bensheldon/good_job/tree/v2.0.3) (2021-08-31)
2733
-
2734
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.0.2...v2.0.3)
2735
-
2736
- **Implemented enhancements:**
2737
-
2738
- - Implement `GoodJob.cleanup_preserved_jobs`, fixes \#351 [\#356](https://github.com/bensheldon/good_job/pull/356) ([aried3r](https://github.com/aried3r))
2739
-
2740
- **Closed issues:**
2741
-
2742
- - Expose CLI `cleanup_preserved_jobs` functionality via `GoodJob`? [\#351](https://github.com/bensheldon/good_job/issues/351)
2743
-
2744
- ## [v2.0.2](https://github.com/bensheldon/good_job/tree/v2.0.2) (2021-08-27)
2745
-
2746
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v1.99.1...v2.0.2)
2747
-
2748
- **Fixed bugs:**
2749
-
2750
- - v2.0: Generators support multiple databases: `--database` option, `migrations_paths`, custom `GoodJob.active_record_parent_class` [\#354](https://github.com/bensheldon/good_job/pull/354) ([bensheldon](https://github.com/bensheldon))
2751
-
2752
- **Closed issues:**
2753
-
2754
- - Migrations generator assumes migrations are in db/migrate [\#352](https://github.com/bensheldon/good_job/issues/352)
2755
-
2756
- **Merged pull requests:**
2757
-
2758
- - README style/typo fixes: "web server" and possessive "Rails'" [\#350](https://github.com/bensheldon/good_job/pull/350) ([aried3r](https://github.com/aried3r))
2759
- - Add examples of setting config.good\_job.queues [\#349](https://github.com/bensheldon/good_job/pull/349) ([zachmargolis](https://github.com/zachmargolis))
2760
-
2761
- ## [v1.99.1](https://github.com/bensheldon/good_job/tree/v1.99.1) (2021-08-27)
2762
-
2763
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.0.1...v1.99.1)
2764
-
2765
- **Closed issues:**
2766
-
2767
- - Does Good job support delay method? [\#344](https://github.com/bensheldon/good_job/issues/344)
2768
-
2769
- ## [v2.0.1](https://github.com/bensheldon/good_job/tree/v2.0.1) (2021-08-24)
2770
-
2771
- [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.0.0...v2.0.1)
2772
-
2773
- **Implemented enhancements:**
2774
-
2775
- - Suppress backtrace of ConcurrencyExceededError [\#348](https://github.com/bensheldon/good_job/pull/348) ([reczy](https://github.com/reczy))
2776
-
2777
- **Closed issues:**
2778
-
2779
- - Is there any value in seeing a backtrace for ConcurrencyExceededError? [\#347](https://github.com/bensheldon/good_job/issues/347)
2780
- - Release GoodJob 2.0 [\#307](https://github.com/bensheldon/good_job/issues/307)
2781
- - Unhandled ActiveJob errors should trigger GoodJob.on\_thread\_error [\#247](https://github.com/bensheldon/good_job/issues/247)
2782
-
2783
3
  ## [v2.0.0](https://github.com/bensheldon/good_job/tree/v2.0.0) (2021-08-24)
2784
4
 
2785
5
  [Full Changelog](https://github.com/bensheldon/good_job/compare/v1.99.0...v2.0.0)
@@ -2876,6 +96,7 @@
2876
96
  - PgBouncer and prepared statements [\#269](https://github.com/bensheldon/good_job/issues/269)
2877
97
  - Question about locking internals [\#212](https://github.com/bensheldon/good_job/issues/212)
2878
98
  - Encoding::UndefinedConversionError \("\xE2" from ASCII-8BIT to UTF-8\) [\#198](https://github.com/bensheldon/good_job/issues/198)
99
+ - tools for managing a 'fleet' of processes [\#150](https://github.com/bensheldon/good_job/issues/150)
2879
100
 
2880
101
  **Merged pull requests:**
2881
102
 
@@ -2901,6 +122,7 @@
2901
122
 
2902
123
  **Closed issues:**
2903
124
 
125
+ - ERROR: relation "good\_jobs" does not exist at character 454 [\#308](https://github.com/bensheldon/good_job/issues/308)
2904
126
  - Add Frozen String Literal to all files [\#298](https://github.com/bensheldon/good_job/issues/298)
2905
127
  - Support for good\_job without Rails? [\#295](https://github.com/bensheldon/good_job/issues/295)
2906
128
 
@@ -2908,7 +130,7 @@
2908
130
 
2909
131
  - Have prettier Dashboard asset urls e.g. `bootstrap.css` instead of `bootstrap_css.css` [\#306](https://github.com/bensheldon/good_job/pull/306) ([bensheldon](https://github.com/bensheldon))
2910
132
  - Create dashboard demo app on Heroku [\#305](https://github.com/bensheldon/good_job/pull/305) ([bensheldon](https://github.com/bensheldon))
2911
- - Add Frozen String Literal to all files [\#302](https://github.com/bensheldon/good_job/pull/302) ([tedt10e](https://github.com/tedt10e))
133
+ - Add Frozen String Literal to all files [\#302](https://github.com/bensheldon/good_job/pull/302) ([tedhexaflow](https://github.com/tedhexaflow))
2912
134
 
2913
135
  ## [v1.11.2](https://github.com/bensheldon/good_job/tree/v1.11.2) (2021-07-20)
2914
136
 
@@ -2966,7 +188,7 @@
2966
188
 
2967
189
  **Merged pull requests:**
2968
190
 
2969
- - Update GH Test Matrix with latest JRuby 9.2.19.0 [\#283](https://github.com/bensheldon/good_job/pull/283) ([tedt10e](https://github.com/tedt10e))
191
+ - Update GH Test Matrix with latest JRuby 9.2.19.0 [\#283](https://github.com/bensheldon/good_job/pull/283) ([tedhexaflow](https://github.com/tedhexaflow))
2970
192
 
2971
193
  ## [v1.10.0](https://github.com/bensheldon/good_job/tree/v1.10.0) (2021-06-29)
2972
194
 
@@ -3116,11 +338,11 @@
3116
338
  - Move executable flags from constants to accessors on GoodJob::CLI [\#234](https://github.com/bensheldon/good_job/pull/234) ([bensheldon](https://github.com/bensheldon))
3117
339
  - Add custom Scheduler::TimerSet [\#232](https://github.com/bensheldon/good_job/pull/232) ([bensheldon](https://github.com/bensheldon))
3118
340
  - Fix assorted constant references in YARD documentation [\#231](https://github.com/bensheldon/good_job/pull/231) ([bensheldon](https://github.com/bensheldon))
3119
- - Update GH Test Matrix with latest JRuby 9.2.17.0 [\#228](https://github.com/bensheldon/good_job/pull/228) ([tedt10e](https://github.com/tedt10e))
341
+ - Update GH Test Matrix with latest JRuby 9.2.17.0 [\#228](https://github.com/bensheldon/good_job/pull/228) ([tedhexaflow](https://github.com/tedhexaflow))
3120
342
  - Update gem dependencies [\#227](https://github.com/bensheldon/good_job/pull/227) ([bensheldon](https://github.com/bensheldon))
3121
343
  - Remove leftover text from Readme [\#226](https://github.com/bensheldon/good_job/pull/226) ([weh](https://github.com/weh))
3122
344
  - Fix appraisal and bundler version CI conflicts [\#224](https://github.com/bensheldon/good_job/pull/224) ([bensheldon](https://github.com/bensheldon))
3123
- - Update GH Test Matrix with latest JRuby [\#223](https://github.com/bensheldon/good_job/pull/223) ([tedt10e](https://github.com/tedt10e))
345
+ - Update GH Test Matrix with latest JRuby [\#223](https://github.com/bensheldon/good_job/pull/223) ([tedhexaflow](https://github.com/tedhexaflow))
3124
346
 
3125
347
  ## [v1.8.0](https://github.com/bensheldon/good_job/tree/v1.8.0) (2021-03-04)
3126
348
 
@@ -3203,8 +425,8 @@
3203
425
  **Merged pull requests:**
3204
426
 
3205
427
  - Update bundler version to 2.2.5 [\#200](https://github.com/bensheldon/good_job/pull/200) ([bensheldon](https://github.com/bensheldon))
3206
- - Update GH Test Matrix with minimum & latest JRuby version [\#197](https://github.com/bensheldon/good_job/pull/197) ([tedt10e](https://github.com/tedt10e))
3207
- - Fix JRuby version number [\#193](https://github.com/bensheldon/good_job/pull/193) ([tedt10e](https://github.com/tedt10e))
428
+ - Update GH Test Matrix with minimum & latest JRuby version [\#197](https://github.com/bensheldon/good_job/pull/197) ([tedhexaflow](https://github.com/tedhexaflow))
429
+ - Fix JRuby version number [\#193](https://github.com/bensheldon/good_job/pull/193) ([tedhexaflow](https://github.com/tedhexaflow))
3208
430
 
3209
431
  ## [v1.4.1](https://github.com/bensheldon/good_job/tree/v1.4.1) (2021-01-09)
3210
432