.. _version_1.0.3:

=============
Version 1.0.3
=============

Released on 2017/02/10.

.. NOTE::

    If you are upgrading a cluster, you must be running CrateDB 0.57.0 or
    higher before you upgrade to 1.0.3.

    If you want to perform a `rolling upgrade`_, your current CrateDB version
    number must be :ref:`version_1.0.0` or higher. If you want to upgrade from
    a version prior to this, the upgrade will introduce all of the breaking
    changes listed for :ref:`version_1.0.0`, and 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
=========


Deprecations
------------

- Multicast discovery has been deprecated in this release, and will be removed
  in the 1.1 release. Multicast discovery is disabled by default.


Changes
-------

- Return correct affected row count instead of throwing an exception when
  trying to bulk insert values that don't match the column type(s).

- Removed ``OVER`` support from SQL parser because the clause was completely
  ignored when executing the query which led to misleading results.

- Queries with ``_doc`` reference comparison (e.g. ``_doc['name'] = 'foo'``) in
  the ``WHERE`` clause return the correct results instead of empty result.

- Dynamically added string columns now have exactly the same characteristics as
  string columns created via ``CREATE TABLE`` or ``ALTER TABLE ADD COLUMN``

- Updated crate-admin to ``1.0.4`` which includes the following change:

  - Fixed getting started display issue on very wide screens.


Fixes
-----

- Scalar :ref:`functions <gloss-function>` are now allowed on the ``HAVING``
  clause if the :ref:`scalar function <scalar-functions>` is used as a ``GROUP
  BY`` symbol.

- Fixed an issue in the PostgreSQL protocol that could cause a
  ``StackOverflow`` exception due to connection errors or malfunctioning
  clients.

- Closing a connection via the PostgreSQL Wire Protocol now correctly closes
  the internal resources.

- Fixed issue that led to casting exception when comparing an object column
  with an object literal that contains a string value.

- Fixed and issue that caused ``UPDATE`` statement on an empty partitioned
  table to throw ``UnsupportedOperationException``.

- Fixed an issue that caused fulltext search with ``fuzziness='AUTO'`` to throw
  ``NumberFormatException``.

- Fixed an issue in the ``LIKE`` predicate which prevented from using escaped
  backslash before the wildcard.

- Fixed an issue that caused ``ORDER BY`` clause to be ignored if used in
  combination with ``GROUP BY`` in :ref:`subselects <gloss-subquery>`. e.g.::

       SELECT x from (SELECT * from t1) as tt GROUP BY x ORDER BY x
