From cd37211b4ebf3f86f3394dbf219b847d1fe32364 Mon Sep 17 00:00:00 2001 From: Parker Selbert Date: Thu, 11 Jan 2024 10:49:10 -0600 Subject: [PATCH] Release v2.17.2 --- CHANGELOG.md | 29 +++++++++++++++++++++++++++++ mix.exs | 2 +- 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9f52e769..af6f9569 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -74,6 +74,35 @@ args |> Oban.insert() ``` +## v2.17.2 — 2023-01-11 + +### Enhancements + +- [Oban] Support passing changeset streams to `insert_all`. + + Accepting streams makes `Oban.insert_all` more flexible and may, in some circumstances, make it + possible to reduce memory usage for streams of large resources. + +### Bug Fixes + +- [Config] Validate `:repo` option without checking for `Ecto.Repo` behaviour. + + Repo wrappers that don't implement all functions of the `Ecto.Repo` behaviour are still viable and + shouldn't be validated with a behaviour check. This changes repo validation back to the way it + was done in older versions, by checking that it's a valid module that exports `config/0`. + +- [Peer] Handle rollback during `Oban.Peers.Postgres` peer election + + Infrequently, the postgres peer election transaction returns `{:error, :rollback}`. Now that + return value is handled to prevent a match error. + + The peer maintains its current `leader?` status on rollback—this may cause inconsistency if the + leader encounters an error and multiple rollbacks happen in sequence. That tradeoff is + acceptable because the situation is unlikely and less of an issue than crashing the peer. + +- [Oban] Skip queue existence check for `pause_all_queues` and `resume_all_queues` when the + `local_only` option is passed. + ## v2.17.1 — 2023-12-11 ### Bug Fixes diff --git a/mix.exs b/mix.exs index 50b6f2be..4ebda5e2 100644 --- a/mix.exs +++ b/mix.exs @@ -2,7 +2,7 @@ defmodule Oban.MixProject do use Mix.Project @source_url "https://github.com/sorentwo/oban" - @version "2.17.1" + @version "2.17.2" def project do [