# Upgrading to v2.17

This Oban release includes an optional, but recommended migration.

> #### Prevent Duplicate Insert Notifications {: .warning}
>
> You must either [run the v12 migrations](#run-oban-migrations-for-v12-optional) or [disable
> insert triggers](#disable-insert-notifications-optional) in your Oban configuration, otherwise
> you'll receive duplicate insert notifications for each job.

## Bump Your Deps

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

```elixir
[
  {:oban, "~> 2.17"},
  {:oban_pro, "~> 1.2", repo: "oban"}
]
```

## Run Oban.Migrations for v12 (Optional)

The v12 migration removes insert triggers and relaxes the `priority` column's check constraint to
allow values in the new range of `0..9`.

To get started, create a migration to create the table:

```bash
$ mix ecto.gen.migration upgrade_oban_jobs_to_v12
```

Within the generated migration module:

```elixir
use Ecto.Migration

def up, do: Oban.Migrations.up(version: 12)

def down, do: Oban.Migrations.down(version: 12)
```

If you have multiple Oban instances, or use an alternate prefix, you'll need to run the migration
for each prefix.

## Disable Insert Notifications (Optional)

If you opt not to run the v12 migration to disable Postgres triggers, then you should disable
insert notifications in your configuration:

```diff
 config :my_app, Oban,
+  insert_trigger: false,
   ...
```

## Remove the Gossip Plugin

The Gossip plugin is no longer used by Oban Web and now useless. You can safely remove it from
your configuration:

```diff
 config :my_app, Oban,
   plugins: [
-    Oban.Plugins.Gossip,
   ]
```
