Shipped · Databases

What riverqueue/river shipped

The public repository of Riverqueue · github.com/riverqueue/river

Written by FoxPlug from the repository's own releases; not affiliated with Riverqueue. Paste your own repository in the box below and FoxPlug writes the same weekly update for your product. This page is an automatic summary of the releases, pull requests and commits in github.com/riverqueue/river; Riverqueue did not write it and does not use or endorse FoxPlug. Every line links to the change it describes.

Get a weekly update like this for your product, free

Or Use it as a GitHub Action

See the update FoxPlug writes for river, free

Week of November 2, 2026

What shipped

Why it matters

This week fixes a startup stop path that could fail enqueuer shutdown, and makes queue setting changes reliable when a notifier reconnects. It also adds missing parity features in Rust CLI, Ruby output updates and Java queue methods while aligning client APIs and performance.

Changelog entry

Example posts FoxPlug drafted from these changes. Not written or posted by the project.

Post for X

This week: fixed enqueuer start-stop context cancellation; polling now backs up queue setting changes when a notifier is configured. Rust CLI gains migrate-get and Go-aligned output. Ruby job_update takes output atomically. Java adds QUEUE_DEFAULT and moves job methods to client.

Post for LinkedIn

This week in River: an immediate stop during enqueuer startup could fail RunOnStart job inserts, now fixed across Go, JavaScript and Rust. Queue pause and resume changes are no longer lost while a notifier reconnects, because polling now runs as a fallback. Rust CLI adds the river migrate-get subcommand and aligns migration output with the Go reference. Ruby job_update can set output atomically, and Ruby database operations received performance optimizations. Java adds a QUEUE_DEFAULT constant and moves job methods to client.jobs(), a breaking API change, while insert and insertMany keep their API. JobListParams.Where now leaves caller arguments untouched, and a malformed batch peer no longer aborts a full Java batch.

Week of October 26, 2026

What shipped

Why it matters

This week brought a new release across most of River's language packages, plus a first non-prerelease Java release. Go users get a Where escape hatch on job deletion for cases like removing jobs by a value in their args, and fixes for notifier timeouts and nil dereferences on drivers without listener support.

Changelog entry

Example posts FoxPlug drafted from these changes. Not written or posted by the project.

Post for X

River Go v0.51.0 adds JobDeleteManyParams.Where for deleting jobs by a SQL predicate. Java v0.1.0 is out with worker lifecycle on Client and RunHandle. Ruby gained migrate-get, validate, and version subcommands, and Go and JavaScript fixes landed for notifier timeouts and listene

Post for LinkedIn

River Go v0.51.0 is out with JobDeleteManyParams.Where, an escape hatch for deleting jobs by an arbitrary SQL predicate, such as queued jobs whose args name a given customer. Java v0.1.0 is its first non-prerelease release, with worker configuration and lifecycle moved to Client and RunHandle. Ruby gained river migrate-get, validate, and version subcommands. Go also fixed the notifier hanging after a listen or unlisten timeout, and InsertManyFast and QueueUpdate no longer panic on drivers without listener support. Release prep continued across Go, Ruby, JavaScript, and Rust.

Week of October 19, 2026

What shipped

Why it matters

This week brought Ruby notifications, transactional completion in Ruby, and a batch of Java features, so several languages are closer to feature parity. Resumable job progress fixes affect anyone relying on step and cursor checkpoints across retries. Users should update for the corrected behavior and the added driver options.

Changelog entry

Example posts FoxPlug drafted from these changes. Not written or posted by the project.

Post for X

This week: Ruby gets Postgres and SQLite notifications plus poll_only, resumable job progress fixes land across runtimes, Java adds transactional checkpoints and hooks aligned with other languages, and JavaScript gains Knex and easier Prisma completeTx.

Post for LinkedIn

This week in River: Ruby now handles notifications like other languages, with a Postgres LISTEN listener, a SQLite river_notification watcher, and a poll_only mode matching Go. Resumable job progress was fixed across runtimes so retries no longer skip uncommitted work or repeat finished work. Java gained transactional checkpoints, dynamic periodic jobs, worker timeouts, and hooks that match the pattern used elsewhere. Rust extension hooks were completed, Ruby added transactional job completion, and JavaScript gained a Knex.js driver and an easier Prisma completeTx path. Rust TLS dependencies were updated to clear an advisory check, and CI token permissions were tightened.

Week of October 12, 2026

What shipped

Why it matters

This week brought the Rust and JavaScript clients in line with River Go on shared-schema behavior and job deletion pilot hooks, which matters for anyone running a mixed fleet. River Ruby gained fixes for job arg encoding and per-process client IDs under preforking servers. Several reliability fixes landed as well, including notifier backoff after a context deadline and the graceful shutdown example.

Changelog entry

Example posts FoxPlug drafted from these changes. Not written or posted by the project.

Post for X

Job deletion now goes through pilot hooks in Go, Rust, and JavaScript. The Rust and JavaScript clients now match River Go's behavior on the shared schema, Ruby preserves encoded job args and gets a per-process client ID, Node 24 is supported, and the notifier no longer hot loops

Post for LinkedIn

This week River's clients moved closer together. Job deletion now goes through pilot hooks in Go, Rust, and JavaScript, so a pilot can replace the deletion or write alongside it. The Rust and JavaScript clients now match River Go's behavior where they previously stored or handled the same job differently, which matters if you run a mixed fleet. River Ruby now preserves encoded job args on insert and generates its default client ID per process, so preforking servers like Puma and Unicorn no longer share one across workers. Also this week: Node 24 support, a notifier fix so it backs off instead of hot looping after its context deadline, a fix for the graceful shutdown example's flakiness, client docs that no longer describe behavior by comparison with River Go, and a rustls bump for four sec

Week of October 5, 2026

What shipped

Why it matters

This week adds two new language ports, Java and a full JavaScript and TypeScript client that can run workers, not just insert jobs, alongside Ruby and Rust. It also brings Ruby into the main repository and releases early versions of Rust and JavaScript. Runner registration, conformance fixtures and naming are converging across languages so a job inserted by one client can be worked by another in the same database.

Changelog entry

Example posts FoxPlug drafted from these changes. Not written or posted by the project.

Post for X

River now has Java and a full JavaScript/TypeScript client that can run workers, not just insert jobs. Ruby moved into the main repo, Rust shipped its first release, and conformance fixtures now come from the Go implementation.

Post for LinkedIn

River grew this week: Java joins the language ports, and JavaScript/TypeScript now has a fully functional client that can run workers, list and cancel jobs, and take part in maintenance instead of only inserting jobs. Ruby moved into the main repository, and Rust shipped its first release, a typed Tokio-based client for Postgres through SQLx and SQLite that shares River's schema and job protocol. Conformance fixtures are now generated from River's Go implementation and cover cron schedules, snooze counters, state bitmasks, retry delay bounds and notification payloads, with TypeScript brought up to the Rust suite's coverage. Registration naming and license terms are also aligning across languages.

Week of September 28, 2026

What shipped

Why it matters

V0.48.0 addresses several database correctness issues across SQLite and Postgres, fixes concurrent operation race conditions, and improves unique constraint handling. SQLite users need the migration to prevent ID collision edge cases. The release also adds Yugabyte support for users targeting that database.

Changelog entry

Example posts FoxPlug drafted from these changes. Not written or posted by the project.

Post for X

River v0.48.0 is out. SQLite migration adds AUTOINCREMENT, concurrent cancel/retry races fixed, unique constraint handling improved, and Yugabyte support added.

Post for LinkedIn

River v0.48.0 released with important correctness fixes for SQLite and Postgres. SQLite gets AUTOINCREMENT to prevent ID collisions, concurrent cancel and retry operations now return correct job state, unique constraint handling improved, and Yugabyte is now supported as a Postgres-compatible target.

Week of September 21, 2026

What shipped

Why it matters

This week addresses critical issues with job cancellation, unique job deduplication, and retention policies that could silently cause incorrect behavior. The fixes span both PostgreSQL and SQLite, with several addressing race conditions and edge cases that affect production reliability.

Changelog entry

Example posts FoxPlug drafted from these changes. Not written or posted by the project.

Post for X

River update: fixed cancellation race conditions, unique-by-args with special characters, scheduled job deduplication, keep-forever retention on SQLite, and stuck job logging accuracy.

Post for LinkedIn

New River updates improve reliability across job cancellation, deduplication, and retention. Fixed a race condition where cancellations could be dropped before workers were notified, corrected unique-by-args to handle special JSON key characters, and resolved scheduled job bucketing to prevent duplicates. Also improved SQLite's keep-forever retention handling, stuck job timeout reporting, and job list query performance.

More from riverqueue/river on GitHub

Merged pull requests

Weeks with too little public activity are left out rather than filled in. Last updated 2026-11-10.

Is this your repo? Ask us to remove this page.