What's new in PyWebIO 1.5
==========================

2021/11/20
-----------

Highlights
^^^^^^^^^^^
* theme support via :func:`pywebio.config()`, :demo_host:`demo </theme>`
* deprecate :func:`pywebio.output.output()`, use `pywebio.output.use_scope()` instead (``output()`` still work)

Detailed changes
^^^^^^^^^^^^^^^^^
* enable `lstrip` by default in `put_markdown() <pywebio.output.put_markdown>`,
  and the behavior of `lstrip` is more clever than previous version. Deprecate `strip_indent` since `lstrip` is sufficient.
* button disabled state support in `pywebio.output.put_buttons()` and `pywebio.output.put_button()`,
  and button value can be any type
* buttons in `pywebio.input.actions()` support color setting
* russian language support for frontend labels and messages. Thanks to `@Priler <https://github.com/pywebio/PyWebIO/pull/173>`_.
* improve default index page of `pywebio.platform.path_deploy()`: improve pywebio app detection and show app title.
* compatible with latest aiohttp(v3.8)
* enable `websocket_ping_interval` by default in tornado server to avoid idle connections being close in some
  cloud platform (like heroku)
* exception traceback will be show in page when enable debug
* `slider <pywebio.input.slider>` input add indicator to show its current value

Bug fix
^^^^^^^^^^^^^^^^^
* deep copy `options` and `buttons` parameters to avoid potential error - `81d57ba4 <https://github.com/pywebio/PyWebIO/commit/81d57ba46bec2ed2657f944f9cb594da9709d146>`_, `cb5ac8d5 <https://github.com/pywebio/PyWebIO/commit/cb5ac8d512386fc442abf6646621c3ef1e3ab26a>`_ - `e262ea43 <https://github.com/pywebio/PyWebIO/commit/e262ea43dc8a4fe3addd6c84f2fdd4f290a53f20>`_
* fix page width exceeding screen width (mostly on mobile devices) - `536d09e3 <https://github.com/pywebio/PyWebIO/commit/536d09e3c432a750b24b9633f076ebf9a1875f79>`_
* fix `put_buttons()` issue when buttons have same value - `cb5ac8d5 <https://github.com/pywebio/PyWebIO/commit/cb5ac8d512386fc442abf6646621c3ef1e3ab26a>`_
* fix layout issue when use `put_markdown()` - `364059ae <https://github.com/pywebio/PyWebIO/commit/364059ae8ac02e6d77dc031eaa1139863b09a6e3>`_
* fix style issue in `put_tabs()` widget - `f056f1ac <https://github.com/pywebio/PyWebIO/commit/f056f1aca3a10d8fe18bd49b21d52e073d08dcdc>`_
* fix sibling import issue in `path_deploy()` - `35209a7e <https://github.com/pywebio/PyWebIO/commit/35209a7e79b9ef8d0fdc2b5833576b313830bc93>`_
* fix "Address already in use" error when enable remote access in some cases - `8dd9877d <https://github.com/pywebio/PyWebIO/commit/8dd9877d81eba43eadce9c136125ffb08d8fe98a>`_

v1.5.1 (2021/12/21)
----------------------

* fix setitem error of `pin.pin` object - `3f5cf1e5 <https://github.com/pywebio/PyWebIO/commit/3f5cf1e5aff1e4d17647672df568aa66007e1b7d>`_
* fix thread-based session tot closed properly - `22fbbf86..3bc7d36b> <https://github.com/pywebio/PyWebIO/compare/22fbbf866fb1bfc7e46bf24b59b343dd92b51936..3bc7d36bf6eed205356c401624ab3ff508c7e935>`_
* fix OverflowError on 32-bit Windows - `4ac7f0e5 <https://github.com/pywebio/PyWebIO/commit/4ac7f0e52c17ba0ef9c2041d6b46ce37f736daac>`_
* fix a sample error from cookbook - `99593db4 <https://github.com/pywebio/PyWebIO/commit/99593db468726deab415a31c125d71a2dda589c0>`_
* fix spawn 2 remote access processes when enable debug in flask backed - `073f8ace <https://github.com/pywebio/PyWebIO/commit/073f8ace680b8cd6b9d891fc6c056555be9ba9ae>`_


v1.5.2 (2021/12/30)
----------------------
* fix `#243 <https://github.com/pywebio/PyWebIO/issues/243>`_: thread keep alive after session closed
* fix `#247 <https://github.com/pywebio/PyWebIO/issues/247>`_: can't use coroutine callback in `put_button()`