diff --git a/CHANGELOG.md b/CHANGELOG.md index fc62cf73..31e6c091 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] -## [0.12.0-rc.1] - 2024-09-22 +## [0.12.0] - 2024-09-23 ⚠️ Version 0.12.0 contains a new database migration, version 6. See [documentation on running River migrations](https://riverqueue.com/docs/migrations). If migrating with the CLI, make sure to update it to its latest version: @@ -85,7 +85,7 @@ river migrate-up --database-url "$DATABASE_URL" In-flight unique jobs using the previous designs will continue to be executed successfully with these changes, so there should be no need for downtime as part of the migration. However the v6 migration adds a new unique job index while also removing the old one, so users with in-flight unique jobs may also wish to avoid removing the old index until the new River release has been deployed in order to guarantee that jobs aren't duplicated by old River code once that index is removed. - **Deprecated**: The original unique jobs implementation which relied on advisory locks has been deprecated, but not yet removed. The only way to trigger this old code path is with a single insert (`Insert`/`InsertTx`) and using `UniqueOpts.ByState` with a custom list of states that omits some of the now-required states for unique jobs. Specifically, `pending`, `scheduled`, `available`, and `running` can not be removed from the `ByState` list with the new implementation. These are included in the default list so only the places which customize this attribute need to be updated to opt into the new (much faster) unique jobs. The advisory lock unique implementation will be removed in an upcoming release. + **Deprecated**: The original unique jobs implementation which relied on advisory locks has been deprecated, but not yet removed. The only way to trigger this old code path is with a single insert (`Insert`/`InsertTx`) and using `UniqueOpts.ByState` with a custom list of states that omits some of the now-required states for unique jobs. Specifically, `pending`, `scheduled`, `available`, and `running` can not be removed from the `ByState` list with the new implementation. These are included in the default list so only the places which customize this attribute need to be updated to opt into the new (much faster) unique jobs. The advisory lock unique implementation will be removed in an upcoming release, and until then emits warning level logs when it's used. [PR #590](https://github.com/riverqueue/river/pull/590). diff --git a/cmd/river/go.mod b/cmd/river/go.mod index 63d34b7a..0a615ba2 100644 --- a/cmd/river/go.mod +++ b/cmd/river/go.mod @@ -7,11 +7,11 @@ toolchain go1.23.0 require ( github.com/jackc/pgx/v5 v5.7.1 github.com/lmittmann/tint v1.0.4 - github.com/riverqueue/river v0.12.0-rc.1 - github.com/riverqueue/river/riverdriver v0.12.0-rc.1 - github.com/riverqueue/river/riverdriver/riverpgxv5 v0.12.0-rc.1 - github.com/riverqueue/river/rivershared v0.12.0-rc.1 - github.com/riverqueue/river/rivertype v0.12.0-rc.1 + github.com/riverqueue/river v0.12.0 + github.com/riverqueue/river/riverdriver v0.12.0 + github.com/riverqueue/river/riverdriver/riverpgxv5 v0.12.0 + github.com/riverqueue/river/rivershared v0.12.0 + github.com/riverqueue/river/rivertype v0.12.0 github.com/spf13/cobra v1.8.0 github.com/stretchr/testify v1.9.0 ) diff --git a/go.mod b/go.mod index 5bd3f167..b08c83ea 100644 --- a/go.mod +++ b/go.mod @@ -8,11 +8,11 @@ require ( github.com/jackc/pgerrcode v0.0.0-20220416144525-469b46aa5efa github.com/jackc/pgx/v5 v5.7.1 github.com/jackc/puddle/v2 v2.2.2 - github.com/riverqueue/river/riverdriver v0.12.0-rc.1 - github.com/riverqueue/river/riverdriver/riverdatabasesql v0.12.0-rc.1 - github.com/riverqueue/river/riverdriver/riverpgxv5 v0.12.0-rc.1 - github.com/riverqueue/river/rivershared v0.12.0-rc.1 - github.com/riverqueue/river/rivertype v0.12.0-rc.1 + github.com/riverqueue/river/riverdriver v0.12.0 + github.com/riverqueue/river/riverdriver/riverdatabasesql v0.12.0 + github.com/riverqueue/river/riverdriver/riverpgxv5 v0.12.0 + github.com/riverqueue/river/rivershared v0.12.0 + github.com/riverqueue/river/rivertype v0.12.0 github.com/robfig/cron/v3 v3.0.1 github.com/stretchr/testify v1.9.0 github.com/tidwall/gjson v1.17.3 diff --git a/riverdriver/go.mod b/riverdriver/go.mod index 925f71d4..0055f2f1 100644 --- a/riverdriver/go.mod +++ b/riverdriver/go.mod @@ -4,4 +4,4 @@ go 1.21 toolchain go1.23.0 -require github.com/riverqueue/river/rivertype v0.12.0-rc.1 +require github.com/riverqueue/river/rivertype v0.12.0 diff --git a/riverdriver/riverdatabasesql/go.mod b/riverdriver/riverdatabasesql/go.mod index b04312e5..15b91591 100644 --- a/riverdriver/riverdatabasesql/go.mod +++ b/riverdriver/riverdatabasesql/go.mod @@ -7,9 +7,9 @@ toolchain go1.23.0 require ( github.com/jackc/pgx/v5 v5.7.1 github.com/lib/pq v1.10.9 - github.com/riverqueue/river/riverdriver v0.12.0-rc.1 - github.com/riverqueue/river/rivershared v0.12.0-rc.1 - github.com/riverqueue/river/rivertype v0.12.0-rc.1 + github.com/riverqueue/river/riverdriver v0.12.0 + github.com/riverqueue/river/rivershared v0.12.0 + github.com/riverqueue/river/rivertype v0.12.0 github.com/stretchr/testify v1.9.0 ) diff --git a/riverdriver/riverpgxv5/go.mod b/riverdriver/riverpgxv5/go.mod index 7650a8a8..764bb82e 100644 --- a/riverdriver/riverpgxv5/go.mod +++ b/riverdriver/riverpgxv5/go.mod @@ -7,9 +7,9 @@ toolchain go1.23.0 require ( github.com/jackc/pgx/v5 v5.5.0 github.com/jackc/puddle/v2 v2.2.1 - github.com/riverqueue/river/riverdriver v0.12.0-rc.1 - github.com/riverqueue/river/rivershared v0.12.0-rc.1 - github.com/riverqueue/river/rivertype v0.12.0-rc.1 + github.com/riverqueue/river/riverdriver v0.12.0 + github.com/riverqueue/river/rivershared v0.12.0 + github.com/riverqueue/river/rivertype v0.12.0 github.com/stretchr/testify v1.9.0 ) diff --git a/rivershared/go.mod b/rivershared/go.mod index 0a210c33..0487f7d8 100644 --- a/rivershared/go.mod +++ b/rivershared/go.mod @@ -5,9 +5,9 @@ go 1.21 toolchain go1.23.0 require ( - github.com/riverqueue/river v0.12.0-rc.1 - github.com/riverqueue/river/riverdriver v0.12.0-rc.1 - github.com/riverqueue/river/rivertype v0.12.0-rc.1 + github.com/riverqueue/river v0.12.0 + github.com/riverqueue/river/riverdriver v0.12.0 + github.com/riverqueue/river/rivertype v0.12.0 github.com/stretchr/testify v1.9.0 go.uber.org/goleak v1.3.0 golang.org/x/mod v0.9.0