diff --git a/CHANGELOG.md b/CHANGELOG.md index 7493eac..dc4e51e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,10 +6,25 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). Entries for unreleased work are not written here directly. Each issue drops a -fragment in [`changelog.d/`](https://github.com/riddler/statifier_persistence/blob/v0.23.0/changelog.d/README.md); the fragments are assembled +fragment in [`changelog.d/`](https://github.com/riddler/statifier_persistence/blob/v0.23.1/changelog.d/README.md); the fragments are assembled into a version section at release. See that README for the format and for when a change warrants an entry at all. +## [0.23.1] 2026-09-29 + +Patch release: `StatifierPersistence.Testing.StorageConformance` no +longer deadlocks when two or more modules run it asynchronously against +one Postgres database. The package's own adapters answer what they +answered in 0.23.0. + +Upgrading: nothing to change. No schema migration, the `statifier` +floor stays `~> 2.9`, and no answer a host matches is added or +removed. See `docs/upgrading.md`, "0.22 to 0.23". + +### Fixed + +- `StatifierPersistence.Testing.StorageConformance` retires only chart hashes derived from the using module's name, so two or more modules running it asynchronously against one Postgres database no longer deadlock (`40P01`) in the tombstone-check case or in the cases that retire a hash after a create's or a migration's first check. + ## [0.23.0] 2026-09-28 Feature release: under the default serialization strategy, a create, diff --git a/changelog.d/sp-gbyk.md b/changelog.d/sp-gbyk.md deleted file mode 100644 index 4219c6a..0000000 --- a/changelog.d/sp-gbyk.md +++ /dev/null @@ -1,3 +0,0 @@ -### Fixed - -- `StatifierPersistence.Testing.StorageConformance` retires only chart hashes derived from the using module's name, so two or more modules running it asynchronously against one Postgres database no longer deadlock (`40P01`) in the tombstone-check case or in the cases that retire a hash after a create's or a migration's first check. diff --git a/docs/upgrading.md b/docs/upgrading.md index 6c87af0..0358e06 100644 --- a/docs/upgrading.md +++ b/docs/upgrading.md @@ -362,6 +362,8 @@ Schema: **NONE**. The `statifier` floor stays `~> 2.9`. ## 0.22 to 0.23 +### 0.23.0 + Schema: **NONE**. The `statifier` floor stays `~> 2.9`. - **If a create, migration or tree migration can run while the same @@ -403,3 +405,15 @@ Schema: **NONE**. The `statifier` floor stays `~> 2.9`. step answers the same error and the rollback, if any, is yours. A budget-exhausted step still commits its `:failed` record. A host whose position saves never fail: **NONE**. + +### 0.23.1 + +**NONE.** Schema: **NONE**, the `statifier` floor stays `~> 2.9`, and no +answer a host matches is added or removed. + +- **If you run `StatifierPersistence.Testing.StorageConformance` from two + or more async test modules against one Postgres database**, the suite + no longer deadlocks (`40P01`) in the tombstone-check case or in the + cases that retire a hash after a create's or a migration's first + check: each module that uses the suite now retires chart hashes of its + own, derived from the module's name. Nothing in your suite changes. diff --git a/mix.exs b/mix.exs index c9fcba2..a1b5f56 100644 --- a/mix.exs +++ b/mix.exs @@ -1,7 +1,7 @@ defmodule StatifierPersistence.MixProject do use Mix.Project - @version "0.23.0" + @version "0.23.1" @source_url "https://github.com/riddler/statifier_persistence" def project do