.. _version_2.3.5:

=============
Version 2.3.5
=============

Released on 2018/03/20.

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

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
-----

- Fixed handling of ``NULL`` values correctly in the cluster tab of the Admin
  UI.

- Updated the ``Size`` label in the table detail tab of the Admin UI to
  ``Size (Sum of primary shards)``

- Fixed an issue where ordering by a ``TIMESTAMP`` scalar would cause the query
  to get stuck.

- Fixed a potential NullPointerException when running ``SHOW CREATE TABLE``
  with plain type indices.

- Fixed an issue that would cause queries ordered by a ``STRING`` scalar with
  possible ``NULL`` values to get stuck.

- Fixed an issue that caused nodes to crash with ``OutOfMemoryException`` when
  executing queries with ``ORDER BY`` on large data sets. Instead, the query
  circuit breaker is tripped, the query is killed and the node’s health is
  unaffected.

- Improved the error handling for a race condition to make sure it doesn't
  cause queries to get stuck.

- Improved the behaviour in case the cluster drops below the number of minimum
  nodes. The root REST endpoint will no longer timeout and ``sys.checks`` can
  still be queried, similar to how ``sys.nodes`` can still be queried.
