Version 6.3.7

Released on 2026-08-04.

Note

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

We recommend that you upgrade to the latest 6.2 release before moving to 6.3.7.

A rolling upgrade from >= 6.2.0 to 6.3.7 is supported. Before upgrading, you should back up your data.

Warning

Tables that were created before CrateDB 5.x will not function with 6.x and must be recreated before moving to 6.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 6.3.0 release notes for a full list of changes in the 6.3 series.

Fixes

  • Fixed a rare issue where INSERT statements running concurrently with SWAP TABLE could insert data into the wrong table.

  • Fixed an issue that could cause a CREATE ANALYZER statement to not preserve the order of TOKEN_FILTERS and CHAR_FILTERS. As the filters are applied as an ordered chain, this could silently change analysis results.

  • Fixed an issue that could cause SUM over DOUBLE PRECISION or FLOAT values to return NaN instead of Infinity for a grouped result, when a different group in the same query overflowed the floating point range. The result of SUM no longer depends on the order in which groups are processed.

  • Fixed a rare issue that causes queries involving foreign tables to throw UnsupportedOperationException.

  • Fixed an issue that caused casts of tables created before 6.3 to REGCLASS to incorrectly return 0.

  • Bumped the PostgreSQL JDBC driver used by the JDBC foreign data wrapper to 42.7.13 because of CVE-2026-54291, a SCRAM channel-binding downgrade in the driver. CrateDB isn’t affected by default, since a foreign server only uses channel binding if a user explicitly sets channelBinding=require on its JDBC URL.

  • Fixed an issue that caused pg_table_is_visible and has_table_privilege to return incorrect results for OID 0 and for OIDs of tables created before Version 6.3.0.

  • Dhruv Patel fixed an issue that caused stddev_pop(), stddev_samp(), stddev() and variance() to return NULL (or, for variance, a negative number) instead of 0 when aggregating large-magnitude values with little or no spread, such as a constant DATE or TIMESTAMP.

  • Fixed an issue that led to NullPointerException being thrown when creating an S3 repository on Linux ARM64. Special thanks to Robert Palmer for fixing the issue on the upstream project.

  • Fixed an optimizer bug that could drop filters on aliased bare boolean columns in join queries.

  • Fixed an issue that caused a SELECT with LIMIT and ORDER BY on a view column that aliases a column of a joined relation to contain duplicate entries of the column (plain & aliased) in the fetch list, or fail with `Must have an orderByPosition for each symbol.