.. _changelog-1.9:

==============================
 Change history for Faust 1.9
==============================

This document contain change notes for bugfix releases in
the Faust 1.9.x series. If you're looking for changes in the latest
series, please visit the latest :ref:`changelog`.

For even older releases you can visit the :ref:`history` section.

.. _version-1.9.0:

1.9.0
=====
:release-date: 2019-10-29 2:35 A.M PST
:release-by: Ask Solem (:github_user:`ask`)

- **Requirements**

    + Now depends on :pypi:`robinhood-aiokafka` 1.1.3

        Several issues fixed by Vikram Patki (:github_user:`patkivikram`):

        - https://github.com/robinhood/aiokafka/pull/14
        - https://github.com/robinhood/aiokafka/pull/12
        - https://github.com/robinhood/aiokafka/pull/11
        - https://github.com/robinhood/aiokafka/pull/10

    + Now depends on :ref:`Mode 4.1.3 <mode:version-4.1.3>`.

- **Stream**: ``group_by`` no longer repeats prefix in autogenerated
  repartition topic name.

    This change is backwards incompatible as the name of repartition
    topics will change.

- **Consumer**: Fixed livelock offset not advancing message (Issue #450).

    Contributed by Dhruva Patil (:github_user:`DhruvaPatil98`).

- **Consumer**: Fixed Out of Memory error when gaps in topic offsets
  are very large.

    Fix contributed by Vikram Patki (:github_user:`patkivikram`).

- **Table**: Windowed tables now supports an ``on_window_close``
  callback that is called whenever a window expires (Issue #446).

    For an example see :file:`examples/windowed_aggregation.py` in
    the Faust source distribution.

    Contributed by Leandro Vonwerra (:github_user:`lvwerra`).

- **Table**: Fixed issue with worker startup crash when global
  tables are used.

- **Web**: Views now support the ``SEARCH`` HTTP method (Issue #460).

    Contributed by Ignacio Peluffo (:github_user:`ipeluffo`).

- **Table**: Global table changes are now instantly reflected
  on other nodes (Issue #451).

    The default ``standby_buffer_size`` setting for tables
    was set to 1000 also for global tables, which means changes
    will only be seen in batches of thousands.  We now set this
    to 1 for global tables, so changes are applied immediately as they arrive.

- **Opentracing**: Trace category now includes application name.

    This means that where before the categories were ``_aiokafka`` and
    ``_faust`` these are now ``{app_name}-_aiokafka`` and
    ``{app_name}-_faust``.

- **Opentracing**: Traces for :pypi:`aiokafka` Kafka rebalances
  are now consolidated so traces for the same generation are grouped
  together.

    This change also adds a lot more context for spans in the rebalancing
    trace.

- **Documentation** fixes by:

  + Archit Dwivedi (:github_user:`archit0`).


