.. _version_6.0.3:

=============
Version 6.0.3
=============

Released on 2025-10-13.

.. NOTE::

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

    We recommend that you upgrade to the latest 5.10 release before moving to
    6.0.3.

    A rolling upgrade from >= 5.10.1 to 6.0.3 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://crate.io/docs/crate/reference/en/latest/admin/snapshots.html
.. _inserting the data into a new table: https://crate.io/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.0.0` release notes for a full list of changes in the 6.0
series.

Fixes
=====

- Fixed a race condition that could lead PostgreSQL clients to receive fewer
  results than available if using protocol level fetch more than once.

- Fixed a race condition that could lead to PostgreSQL wire protocol messages to
  get mixed up and cause errors like ``IllegalStateException: Received resultset
  tuples, but no field structure for them`` in clients.

- Fixed an issue that could lead to stuck jobs, memory leaks and even make a
  cluster unstable when a query with a ``LIMIT`` clause was interrupted by a
  ``CircuitBreakingException``.

- Fixed an issue that caused ``ArrayIndexOutOfBoundsExeption`` when executing
  ``COPY FROM`` on a table containing non-deterministic generated or default
  columns.

- Fixed an issue where null-valued sub-columns of objects were omitted when
  queried.

- Fixed an issue that caused ``query`` CircuitBreaker's state to not be reset
  if a sub-query failed (for example, due to a ``CircuitBreakingException``).
  If repeated, could bring CircuitBreaker to the point when each consequent
  query is tripped and make a cluster unresponsive.
