.. _version_2.3.7:

=============
Version 2.3.7
=============

Released on 2018/05/03.

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

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

- Table functions no longer require any permissions to be used. (Enterprise
  only)

Fixes
-----

- Fixed an issue in binary encoding/decoding of array types in Postgres wire
  protocol affecting the ``npgsql`` driver.

- As Windows does not support sending signals, stop attempting to handle the
  ``USR2`` signal on Windows platforms as it just pollutes the log with an
  unnecessary stacktrace.

- Fixed a performance regression which occurred in queries where a literal was
  compared against an array column of a different type. For example: ``SELECT *
  FROM t1 WHERE 1 = ANY(int_arr_column)`` <- array column would be converted to
  long although 1 could have been converted to integer.

- Fixed an issue where the order of the relations in ``FROM`` would expose
  fields between the relations. An error was thrown during execution of the
  statements.

- Fixed incorrect HTTP responses on the BLOB API of subsequent requests after
  an error response occurred, e.g. 404 Not Found.

- Fixed an issue that caused ``ANY`` to not work correctly on nested arrays.

- Fixed an issue that would cause a NullPointerException to be thrown when
  executing an ``EXPLAIN`` statement for a ``CROSS JOIN``.
