.. _version_2.3.6:

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

Released on 2018/04/04.

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

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 as :ref:`partition column
  <gloss-partition-column>`. 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;
