diff --git a/js/CHANGELOG.md b/js/CHANGELOG.md index a94f7c92d..9d8e2d797 100644 --- a/js/CHANGELOG.md +++ b/js/CHANGELOG.md @@ -11,9 +11,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Support Node.js 24 across all packages. River automatically installs a `Temporal` polyfill when the runtime has no native implementation, preserving native `Temporal` on Node.js 26. +### Changed + +- Like River for Go, `insertMany` rejects an empty batch with a `ValidationError` instead of returning an empty result. [PR #1504](https://github.com/riverqueue/river/pull/1504). +- Like River for Go, the client no longer caps `maxAttempts` at 32767: SQLite stores wider attempt counts, and the Postgres and Prisma drivers clamp `maxAttempts` to their 16-bit column on insert instead of failing. [PR #1504](https://github.com/riverqueue/river/pull/1504). +- Like River for Go's `ResumableStep`, a failed resumable step records the step's own error as the attempt's error instead of wrapping it in a `LifecycleError`. [PR #1504](https://github.com/riverqueue/river/pull/1504). + ### Fixed - Worker threads respect cancellation received while loading a handler module, before invoking its handler. +- Like River for Go, a leader whose renewal finds its term gone, because it expired or another process replaced it, gives up leadership at once instead of running maintenance until its local deadline passes. [PR #1504](https://github.com/riverqueue/river/pull/1504). +- `updateQueue` raising a full queue's `maxWorkers` starts jobs at once instead of waiting for a running job to finish. [PR #1504](https://github.com/riverqueue/river/pull/1504). ## [0.2.0] - 2026-10-07 diff --git a/js/docs/README.md b/js/docs/README.md index d392f3c7e..a18ab0553 100644 --- a/js/docs/README.md +++ b/js/docs/README.md @@ -204,7 +204,7 @@ match. ### Batches `insertMany` inserts a batch atomically and returns results in input order; -an empty batch returns immediately. Items may use different definitions, and +an empty batch is rejected. Items may use different definitions, and each item's `args` is checked against its own definition: