Release Notes
NEW! Readyset is now releasing distro packages and containers for the arm64/aarch64 architecture.
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.
What's New
- 3a084fc: Eliminated confusing ERROR messages from the replicator on restart.
- eaed2b5: Added error handling when replicated data arrives before the base node is open.
- e09ff1d: Extended shallow caching support via
sqlparserASTs. - dddd9a9: Added support for the PostGIS
POLYGONdata type. - 7d2e198: Fixed "partially overlapping partial indices" error when caching window function queries that filter on both the partition column and the generated output column (e.g.,
ROW_NUMBER()). - 78986ba: Readyset now defaults to
sqlparserfor parsing, while still using the legacy parser to catch mismatches. - 92d197f: Added support for replicating tables with MySQL functional indexes. Tables with functional indexes can now be snapshotted if they have a usable
PRIMARYorUNIQUEkey without functional expressions. - 482311c: Shallow cache refresh workers are now spawned on demand to reduce unused upstream connections. Workers also shut down and close their connections after an idle period.
- 86a882d: Fixed a bug to support PostGIS
POINT EMPTY. - 3b0c72f: Added the
SHOW SHALLOW CACHE ENTRIEScommand to display metadata about cached entries, including last accessed time, refresh time, and execution duration. Supports aWHERE query_idfilter andLIMITclause. - 8c92f34: In shallow-cache-only mode, Readyset now supports changing the upstream database via the
ALTER READYSET CHANGE UPSTREAM TO '...'statement. - 1e38a2c: Optimized TLS client connections for MySQL.
- 2fa2c1b: Fixed array equality comparisons and type coercion so PostgreSQL array values are correctly compared and cast during query evaluation.
- 424dd67: Added support for PostgreSQL array operators
@>(contains),<@(contained by), and||(concatenation) in queries proxied and cached by Readyset. - b944665: Add rejection of multidimensional array literals with mismatched sub-array dimensions at query preparation time instead of failing at read time.
- 0adeae0: Added support for the string concatenation operator
||for PostgreSQL. - 14c83ae: Properly handle
AUTOCOMMIT. - a9b3733: Fixed
AUTOCOMMIThandling during transactions. - 5e96e21: Fixed the shallow cache
COALESCEsetting reverting to its default value after restart when the cache was created via a SQL hint. - 8eca556: Fixed malformed Readyset hint comments (e.g., misspelled
POLICYkeywords) that caused queries to bypass existing shallow caches and hit the upstream database instead. - b8247a1: Fixed queries with multiple optimizer hints creating duplicate shallow cache entries instead of sharing a single cache.
- 0d05da7: Added the
SHOW PROXIED SHALLOW QUERIEScommand to display proxied queries suitable for shallow caching. The query IDs shown can be used to create caches viaCREATE CACHE FROM <QUERY_ID>. - 14ec787: Fixed a bug where arrays with incompatible element types (e.g.,
INTEGERandDATE) were silently accepted instead of being rejected atCREATE CACHEtime. - 692f3e8: Fixed
ARRAY[] IN (ARRAY[])returning incorrect results due to arrays being coerced to strings during constant folding. - 9c7a6c2: Fixed a bug where aggregate functions wrapped in scalar functions (e.g.,
ROUND(MAX(col))) returned 0 rows instead of one row withNULLon empty tables.
Thank you to the following community contributors to this release:
@ahmed-kamal2004, @egoldschmidt