Release Notes
Readyset is currently released as a docker container and Linux distro binary packages. For installation with docker, see the Install with Docker documentation. Available Linux distribution binary packages for x86_64/amd64 and arm64/aarch64 include deb package for Ubuntu 22.04, Debian 12 and later, and rpm packages for Amazon Linux 2023 and RedHat 9. See package installation instructions.
We also provide binaries of an MCP server for use with Readyset.
What's New
- 2896676: Fixed a bug where bare empty arrays (
ARRAY[]) were silently accepted instead of being rejected during query lowering. Cached queries that previously succeeded with bare empty arrays will now returncannot determine type of empty array. Empty arrays with an explicit array cast (ARRAY[]::INT[]) remain valid and are treated as PostgreSQL-compatible, dimensionless empty arrays. - 0cf174a: Top K query support is now enabled by default (
--feature-topk/FEATURE_TOPK). Set it tofalseon each Readyset process to opt out. - 9a780d7: Fixed a bug where queries blocked on shallow cache coalescence would continue waiting until the coalesce duration elapsed, even after the upstream query they were waiting on had failed. Also decoupled the coalesce timeout from the initial upstream query start time, so queries that run much longer than the coalesce duration can still benefit from coalescence. Each subsequent request now waits for the full coalesce duration.
- c18638b: Fixed a rare dropped write in PostgreSQL replication under load when group commit coalesces transactions.
- 962d4ae: Fixed a bug where dropped shallow cache refreshes prevented subsequent refreshes until that entry was evicted.
- 50038be: Added the
json_build_arrayandjsonb_build_arraybuilt-in functions for building JSON and JSONB arrays from variadic arguments. - 17bebdd: Fixed an issue where
SELECT DISTINCTwithAVGand parameterized range orINpredicates returned duplicate values. - dc55588: Fixed a race condition in which a row committed while a cache's first
SELECTmigrated its reader could be dropped from the cached result even though it was still present in the base table.