.. _version_6.3.5:

=============
Version 6.3.5
=============

Released on 2026-07-06.

.. NOTE::

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

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

    A rolling upgrade from >= 6.2.0 to 6.3.5 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`_.

.. _back up your data: https://cratedb.com/docs/crate/reference/en/latest/admin/snapshots.html
.. _inserting the data into a new table: https://cratedb.com/docs/crate/reference/en/latest/admin/system-information.html#tables-need-to-be-recreated

.. rubric:: Table of contents

.. contents::
   :local:


See the :ref:`version_6.3.0` release notes for a full list of changes in the 6.3
series.

Fixes
=====

- Fixed an issue causing ``IllegalStateException`` errors on inserts into a
  table with primary keys.

- Fixed an issue with the JWT authentication method that caused authentication
  failures if the key resources endpoint included the optional ``alg`` field.

- Fixed a regression introduced in 6.3.0 that caused a ``region is missing``
  error when using a ``COPY <tbl> FROM 's3://...'`` statement where the endpoint
  wasn't part of the URI.

- Fixed an issue that caused authentication to fail when requiring the `pg`
  protocol in the :ref:`HBA <admin_hba>` configuration section while connecting
  via the postgres protocol.

- Fixed an issue that would throw a misleading ``NullPointerException`` when
  ``CREATE REPOSITORY`` failed during repository verification, by returning a
  user friendly error message.

- Fixed an issue causing ``KILL`` statement or
  :ref:`statement_timeout <conf-session-statement-timeout>` to not properly
  kill a query and leading to resources leak.

- Fixed an issue that led to an error being thrown when using ``distinct`` with
  the ``mean`` alias of the :ref:`avg() function <aggregation-avg>`. e.g.::

      SELECT mean(DISTINCT <columnName>) FROM tbl
