.. _version_5.10.9:

==============
Version 5.10.9
==============

Released on 2025-06-16.

.. NOTE::

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

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

    A rolling upgrade from 5.9.x to 5.10.9 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`_.

.. _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_5.10.0` release notes for a full list of changes in the
5.10 series.

Fixes
=====

- Fixed an issue where length limits were not enforced during insertion.
  e.g.::

    CREATE TABLE t (o OBJECT AS (c CHAR(3)));
    INSERT INTO t VALUES ({c='abcd'});

  The insert succeeded before, but now it will cause an
  ``IllegalArgumentException``.

- Fixed ``NullPointerException`` thrown when casting an array containing
  ``NULL`` to ``GEO_POINT``.

- Fixed a regression introduced with :ref:`version_5.10.8` that caused a query
  to keep running even if a ``CircuitBreakerException`` was thrown while
  constructing the result set.

- Fixed an issue that would cause :ref:`aggregation functions <aggregation>` on
  columns used in the ``PARTITION BY()`` clause of a
  :ref:`partitioned table <partitioned-tables>` to always return ``NULL``.
