.. _version_2.3.6:

=============
Version 2.3.6
=============

Released on 2018/04/04.

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

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

Changes
-------

- Arrays can now contain mixed types if they're safely convertible. JSON
  libraries tend to encode values like ``[ 0.0, 1.2]`` as ``[ 0, 1.2 ]``, this
  caused an error because of the strict type match we enforced before.

Fixes
-----

- Do not allow renaming a table when connected to a read-only node.

- Fixed an issue that caused an error to be thrown when filtering on a
  partitioned table using a column which is a source column for a ``GENERATED``
  column which in turn is used for partitioning. E.g.::

    CREATE TABLE parted_t(
        t TIMESTAMP,
        day TIMESTAMP GENERATED ALWAYS AS date_trunc('day', t)
    ) PARTITIONED BY (day);

    SELECT * FROM parted_t WHERE t > 1522170000000;
