# bunqueue v2.4.5

Fixes 3 bugs. Backoff jitter - calculateBackoff() now applies jitter to prevent thundering herd when many jobs retry simultaneously.

Canonical: https://bunqueue.dev/blog/bunqueue-v2-4-5/

---

<!-- Generated from changelog.md by docs/scripts/generate-release-posts.ts. Edit the changelog and regenerate. -->

Fixes 3 bugs. Backoff jitter - calculateBackoff() now applies jitter to prevent thundering herd when many jobs retry simultaneously.

![](https://github.com/egeominotti.png?size=64) [egeominotti](https://github.com/egeominotti)

#### To install bunqueue v2.4.5

```bash title="bun"
bun add bunqueue@2.4.5
```

```bash title="npm"
npm install bunqueue@2.4.5
```

#### To upgrade bunqueue

```bash
bun add bunqueue@latest
```

## Bugfixes

- **Backoff jitter** - `calculateBackoff()` now applies jitter to prevent thundering herd when many jobs retry simultaneously. Exponential backoff uses ±50% jitter, fixed backoff uses ±20% jitter around the configured delay.
- **Backoff max cap** - Retry delays are now capped at 1 hour (`DEFAULT_MAX_BACKOFF = 3,600,000ms`) by default. Previously, attempt 20 with 1000ms base produced ~12 day delays. Configurable via `BackoffConfig.maxDelay`.
- **Recovery backoff bypass** - Startup recovery now uses `calculateBackoff(job)` instead of an inline exponential formula, correctly respecting `backoffConfig` (e.g., `{ type: 'fixed', delay: 5000 }` was ignored during recovery).

## Thanks to 1 contributor!

- [@egeominotti](https://github.com/egeominotti)

---

[← bunqueue v2.4.3](https://bunqueue.dev/blog/bunqueue-v2-4-3/) · [Release on GitHub](https://github.com/egeominotti/bunqueue/releases/tag/v2.4.5) · [Commits since v2.4.3](https://github.com/egeominotti/bunqueue/compare/v2.4.3...v2.4.5) · [Full changelog](https://bunqueue.dev/changelog/) · [All posts](https://bunqueue.dev/blog/)
