Version 5.10.15

Released on 2025-11-19.

Note

If you are upgrading a cluster, you must be running CrateDB 4.0.2 or higher before you upgrade to 5.10.15.

We recommend that you upgrade to the latest 5.9 release before moving to 5.10.15.

A rolling upgrade from 5.9.x to 5.10.15 is supported. Before upgrading, you should back up your data.

Warning

Tables that were created before CrateDB 4.x will not function with 5.x and must be recreated before moving to 5.x.x.

You can recreate tables using COPY TO and COPY FROM or by inserting the data into a new table.

Table of contents

See the Version 5.10.0 release notes for a full list of changes in the 5.10 series.

Fixes

  • Fixed a memory leak that could happen if running a query with a large result set via a PostgreSQL client and then interrupting the connection.

  • Fixed an issue that allowed inserting values into ARRAY columns that violated the array’s inner type constraints. For example it was possible to insert ['aa'] into a column of type ARRAY(VARCHAR(1)).

  • Fixed an issue that could lead to incorrect results for window functions when the window function used a PARTITION BY clause on an object subscript coming from a view or CTE and if running in a cluster with more than one node.

  • Fixed a translog recovery issue, happening when a NULL value was stored in an OBJECT with policy IGNORED on tables created before version 5.5.0. To mitigate the issue, run CrateDB with a CLI option -Des.xcontent.strict_duplicate_detection=false. Please note, that this flag has a global effect, and it’s recommended to set it back to the default value true once invalid records are processed. Issue can be considered as mitigated when translog_stats['uncommitted_size'] in the sys.shards table stops exceeding flush_threshold_size.

  • Fixed an issue causing a GROUP BY ... LIMIT 0 statement to not release it’s accounted memory on the QUERY circuit breaker.

  • Fixed an issue that caused RAM under-accounting, potentially leading to an OutOfMemoryError when a large result set was returned by the HTTP endpoint.

  • Fixed an issue where certain join queries returned incorrect results when the join condition referenced unknown object sub-columns coming from aliased CTEs in nested joins.

  • Fixed an issue causing COPY FROM statements to fail with an CircuitBreakerException when no concrete bulk_size argument was defined and the available memory is saturated on the first internal requests.