.. _version_6.1.2:

=============
Version 6.1.2
=============

Released on 2025-12-10.

.. NOTE::

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

    We recommend that you upgrade to the latest 6.0 release before moving to
    6.1.2.

    A rolling upgrade from >= 6.0.2 to 6.1.2 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.1.0` release notes for a full list of changes in the 6.1
series.

Fixes
=====

- Fixed :ref:`length <scalar-length>` function that incorrectly returned ``2`` for
  supplementary Unicode characters instead of ``1``.

- Added forward compatibility for cast function representation used in CrateDB
  6.2.0+. As a side effect this also improves the performance of implicit casts.

- Fixed an issue that caused ``SELECT COUNT(NULL) FROM tbl`` to return one
  record per row in the table instead of a single row with value ``0``.

- Fixed a hash collision issue resulting in some unmatched rows not being
  returned when using a ``LEFT JOIN`` query with an equal join condition.
  Example::

    SELECT * FROM t1 LEFT JOIN t2 ON t1.id = t2.id;

- Fixed ``EOFException`` and ``unexpected byte`` errors that could be raised
  when using the :ref:`percentile aggregation <aggregation-percentile>`.
