.. _version_2.3.3:

=============
Version 2.3.3
=============

Released on 2018/02/15.

.. NOTE::

    If you are upgrading a cluster, you must be running CrateDB
    :ref:`version_1.1.3` or higher before you upgrade to 2.3.3.

    If you want to perform a `rolling upgrade`_, your current CrateDB version
    number must be at least :ref:`version_2.3.0`. Any upgrade from a version
    prior to this will require a `full restart upgrade`_.

.. WARNING::

    Before upgrading, you should `back up your data`_.

.. _rolling upgrade: https://crate.io/docs/crate/howtos/en/latest/admin/rolling-upgrade.html
.. _full restart upgrade: https://crate.io/docs/crate/howtos/en/latest/admin/full-restart-upgrade.html
.. _back up your data: https://crate.io/docs/crate/reference/en/latest/admin/snapshots.html

.. rubric:: Table of contents

.. contents::
   :local:

Changelog
=========

Fixes
-----

- Improved the handling of node disconnects to ensure there are no stale
  queries in case a node dies.

- Fixed an issue that could result in a ``Bulk operation not supported for
  RootRelationBoundary`` error when querying ``sys.checks``

- Fixed a bug in parsing the UDF meta data when read from state file during
  node start that could cause other custom meta data (such as users) to
  disappear from cluster state.

- Fixed an Admin UI issue that caused the translation strings to not be loaded
  correctly.

- Fixed an issue that only occurred in Enterprise Edition, when privileges are
  enabled. This issue would result in an exception about missing privileges
  being thrown, rather than the expected Unsupported Feature exception, when
  attempting operations on closed tables/partitions as a user.

- Fixed an issue that caused a ``NullPointerException`` if ``REFRESH TABLE``
  was executed on a table with closed partitions.

- Fixed an issue that caused ``MissingPrivilegeException`` for non-superusers
  for queries with ``UNION ALL``.

- Fixed a regression that caused assignments of arrays including parameter
  placeholders to not work correctly.

- Fixed a regression which caused ``IS NOT NULL`` predicates on columns of type
  ``array(object)`` to not match correctly.

- Fixed an issue that caused the ``percentile`` aggregation to fail if an array
  containing a single item was passed as ``fractions``.

- Fixed an issue which resulted in an exception when a :ref:`routing column
  <gloss-routing-column>` was compared against a :ref:`subquery
  <gloss-subquery>` inside a ``WHERE`` clause.

- Fixed a performance regression resulting in a table scan instead of a
  NO-MATCH if a subquery used inside a ``WHERE`` clause returns no result
  (https://github.com/crate/crate/issues/6773).
