# Upgrading to v2.14

This Oban release includes a number of configuration changes and deprecations for redundant
functionality.

## Bump Your Deps

Update Oban (and optionally Pro) to the latest versions:

```elixir
[
  {:oban, "~> 2.14"},
  {:oban_pro, "~> 0.13", repo: "oban"}
]
```

## Remove Repeater and Stager Plugins

The `Repeater` plugin is no longer necessary as the new `Stager` falls back to polling mode
automatically. Remove the `Repeater` from your plugins:

```diff
 plugins: [
   Oban.Plugins.Lifeline,
   Oban.Plugins.Pruner,
-  Oban.Plugins.Repeater
```

The `Stager` is no longer a plugin because it's essential for queue operation. If you've
overridden the staging interval:

1. Reconsider whether that's necessary, staging is optimized to be a light-weight operation.
2. If you're set on using a different interval, move it to `:stage_interval`

```diff
 plugins: [
   Oban.Plugins.Lifeline,
   Oban.Plugins.Pruner,
-  {Oban.Plugins.Stager, interval: 5_000}
 ],
+ stage_interval: 5_000
```

## Ensure Configuration for Testing

Now that `Stager` isn't a plugin, it isn't disabled by `plugins: false`. Be sure
to use the `:testing` option [introduced in v2.12][v212] to automate configuration:

```diff
# test.exs
- config :my_app, Oban, queues: false, plugins: false
+ config :my_app, Oban, testing: :manual
```

Without this change you may see a flurry of `DBConnection.OwnershipError` errors
during test runs.

[v212]: v2-12.html#modify-configuration-for-testing
