.. _version_2.3.3:

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

Released on 2018/02/15.

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: http://crate.io/docs/crate/guide/best_practices/rolling_upgrade.html
.. _full restart upgrade: http://crate.io/docs/crate/guide/best_practices/full_restart_upgrade.html
.. _back up your data: https://crate.io/a/backing-up-and-restoring-crate/

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 routing column was
  compared against a sub-query inside a ``WHERE`` clause.

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