.. _pytango-history-changes:

==================
History of changes
==================

:Contributers: PyTango Team - see `source repo history <https://gitlab.com/tango-controls/pytango/-/graphs/develop?ref_type=heads>`_ for full details.

:Last Update: |today|

.. _pytango-revisions:

Document revisions
-------------------

+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+
| Date     | Revision                                                                         | Description                                         | Author                            |
+==========+==================================================================================+=====================================================+===================================+
| 18/07/03 | 1.0                                                                              | Initial Version                                     | M\. Ounsy                         |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+
| 06/10/03 | 2.0                                                                              | Extension of the "Getting Started" paragraph        | A\. Buteau/M\. Ounsy              |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+
| 14/10/03 | 3.0                                                                              | Added Exception Handling paragraph                  | M\. Ounsy                         |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+
| 13/06/05 | 4.0                                                                              | Ported to Latex, added events, AttributeProxy       | V\. Forchì                        |
|          |                                                                                  | and ApiUtil                                         |                                   |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+
|          |                                                                                  | fixed bug with python 2.5 and and state events      |                                   |
| 13/06/05 | 4.1                                                                              | new Database constructor                            | V\. Forchì                        |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+
| 15/01/06 | 5.0                                                                              | Added Device Server classes                         | E\.Taurel                         |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+
| 15/03/07 | 6.0                                                                              | Added AttrInfoEx, AttributeConfig events, 64bits,   | T\. Coutinho                      |
|          |                                                                                  | write_attribute                                     |                                   |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+
| 21/03/07 | 6.1                                                                              | Added groups                                        | T\. Coutinho                      |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+
| 15/06/07 | `6.2 <http://www.tango-controls.org/Documents/bindings/PyTango-3.0.3.pdf>`_      | Added dynamic attributes doc                        | E\. Taurel                        |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+
| 06/05/08 | `7.0 <http://www.tango-controls.org/Documents/bindings/PyTango-3.0.4.pdf>`_      | Update to Tango 6.1. Added DB methods, version info | T\. Coutinho                      |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+
| 10/07/09 | `8.0 <http://www.tango-controls.org/static/PyTango/v7/doc/html/index.html>`_     | Update to Tango 7. Major refactoring. Migrated doc  | T\. Coutinho/R\. Suñe             |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+
| 24/07/09 | `8.1 <http://www.tango-controls.org/static/PyTango/v7/doc/html/index.html>`_     | Added migration info, added missing API doc         | T\. Coutinho/R\. Suñe             |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+
| 21/09/09 | `8.2 <http://www.tango-controls.org/static/PyTango/v7/doc/html/index.html>`_     | Added migration info, release of 7.0.0beta2         | T\. Coutinho/R\. Suñe             |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+
| 12/11/09 | `8.3 <http://www.tango-controls.org/static/PyTango/v71/doc/html/index.html>`_    | Update to Tango 7.1.                                | T\. Coutinho/R\. Suñe             |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+
| ??/12/09 | `8.4 <http://www.tango-controls.org/static/PyTango/v71rc1/doc/html/index.html>`_ | Update to PyTango 7.1.0 rc1                         | T\. Coutinho/R\. Suñe             |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+
| 19/02/10 | `8.5 <http://www.tango-controls.org/static/PyTango/v711/doc/html/index.html>`_   | Update to PyTango 7.1.1                             | T\. Coutinho/R\. Suñe             |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+
| 06/08/10 | `8.6 <http://www.tango-controls.org/static/PyTango/v712/doc/html/index.html>`_   | Update to PyTango 7.1.2                             | T\. Coutinho                      |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+
| 05/11/10 | `8.7 <http://www.tango-controls.org/static/PyTango/v713/doc/html/index.html>`_   | Update to PyTango 7.1.3                             | T\. Coutinho                      |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+
| 08/04/11 | `8.8 <http://www.tango-controls.org/static/PyTango/v714/doc/html/index.html>`_   | Update to PyTango 7.1.4                             | T\. Coutinho                      |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+
| 13/04/11 | `8.9 <http://www.tango-controls.org/static/PyTango/v715/doc/html/index.html>`_   | Update to PyTango 7.1.5                             | T\. Coutinho                      |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+
| 14/04/11 | `8.10 <http://www.tango-controls.org/static/PyTango/v716/doc/html/index.html>`_  | Update to PyTango 7.1.6                             | T\. Coutinho                      |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+
| 15/04/11 | `8.11 <http://www.tango-controls.org/static/PyTango/v720/doc/html/index.html>`_  | Update to PyTango 7.2.0                             | T\. Coutinho                      |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+
| 12/12/11 | `8.12 <http://www.tango-controls.org/static/PyTango/v722/doc/html/index.html>`_  | Update to PyTango 7.2.2                             | T\. Coutinho                      |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+
| 24/04/12 | `8.13 <http://www.tango-controls.org/static/PyTango/v723/doc/html/index.html>`_  | Update to PyTango 7.2.3                             | T\. Coutinho                      |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+
| 21/09/12 | `8.14 <http://www.tango-controls.org/static/PyTango/v800/doc/html/index.html>`_  | Update to PyTango 8.0.0                             | T\. Coutinho                      |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+
| 10/10/12 | `8.15 <http://www.tango-controls.org/static/PyTango/v802/doc/html/index.html>`_  | Update to PyTango 8.0.2                             | T\. Coutinho                      |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+
| 20/05/13 | `8.16 <http://www.tango-controls.org/static/PyTango/v803/doc/html/index.html>`_  | Update to PyTango 8.0.3                             | T\. Coutinho                      |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+
| 28/08/13 | `8.13 <http://www.tango-controls.org/static/PyTango/v723/doc/html/index.html>`_  | Update to PyTango 7.2.4                             | T\. Coutinho                      |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+
| 27/11/13 | `8.18 <http://www.tango-controls.org/static/PyTango/v811/doc/html/index.html>`_  | Update to PyTango 8.1.1                             | T\. Coutinho                      |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+
| 16/05/14 | `8.19 <http://www.tango-controls.org/static/PyTango/v812/doc/html/index.html>`_  | Update to PyTango 8.1.2                             | T\. Coutinho                      |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+
| 30/09/14 | `8.20 <http://www.tango-controls.org/static/PyTango/v814/doc/html/index.html>`_  | Update to PyTango 8.1.4                             | T\. Coutinho                      |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+
| 01/10/14 | `8.21 <http://www.tango-controls.org/static/PyTango/v815/doc/html/index.html>`_  | Update to PyTango 8.1.5                             | T\. Coutinho                      |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+
| 05/02/15 | `8.22 <http://www.esrf.fr/computing/cs/tango/pytango/v816/index.html>`_          | Update to PyTango 8.1.6                             | T\. Coutinho                      |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+
| 03/02/16 | `8.23 <http://www.esrf.fr/computing/cs/tango/pytango/v818/index.html>`_          | Update to PyTango 8.1.8                             | T\. Coutinho                      |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+
| 12/08/16 |  8.24                                                                            | Update to PyTango 8.1.9                             | V\. Michel                        |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+
| 26/02/16 | `9.2.0a <http://www.esrf.fr/computing/cs/tango/pytango/v920>`_                   | Update to PyTango 9.2.0a                            | T\. Coutinho                      |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+
| 15/08/16 | `9.2.0 <http://pytango.readthedocs.io/en/v9.2.0>`_                               | 9.2.0 Release                                       | V\. Michel                        |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+
| 23/01/17 | `9.2.1 <http://pytango.readthedocs.io/en/v9.2.1>`_                               | 9.2.1 Release                                       | V\. Michel                        |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+
| 27/09/17 | `9.2.2 <http://pytango.readthedocs.io/en/v9.2.2>`_                               | 9.2.2 Release                                       | G\. Cuni/V\. Michel/J\. Moldes    |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+
| 30/05/18 | `9.2.3 <http://pytango.readthedocs.io/en/v9.2.3>`_                               | 9.2.3 Release                                       | V\. Michel                        |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+
| 30/07/18 | `9.2.4 <http://pytango.readthedocs.io/en/v9.2.4>`_                               | 9.2.4 Release                                       | V\. Michel                        |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+
| 28/11/18 | `9.2.5 <http://pytango.readthedocs.io/en/v9.2.5>`_                               | 9.2.5 Release                                       | A\. Joubert                       |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+
| 13/03/19 | `9.3.0 <http://pytango.readthedocs.io/en/v9.3.0>`_                               | 9.3.0 Release                                       | T\. Coutinho                      |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+
| 08/08/19 | `9.3.1 <http://pytango.readthedocs.io/en/v9.3.1>`_                               | 9.3.1 Release                                       | A\. Joubert                       |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+
| 30/04/20 | `9.3.2 <http://pytango.readthedocs.io/en/v9.3.2>`_                               | 9.3.2 Release                                       | A\. Joubert                       |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+
| 24/12/20 | `9.3.3 <http://pytango.readthedocs.io/en/v9.3.3>`_                               | 9.3.3 Release                                       | A\. Joubert                       |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+
| 14/06/22 | `9.3.4 <http://pytango.readthedocs.io/en/v9.3.4>`_                               | 9.3.4 Release                                       | A\. Joubert                       |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+
| 07/09/22 | `9.3.5 <http://pytango.readthedocs.io/en/v9.3.5>`_                               | 9.3.5 Release                                       | Y\. Matveev                       |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+
| 28/09/22 | `9.3.6 <http://pytango.readthedocs.io/en/v9.3.6>`_                               | 9.3.6 Release                                       | Y\. Matveev                       |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+
| 15/02/23 | `9.4.0 <http://pytango.readthedocs.io/en/v9.4.0>`_                               | 9.4.0 Release                                       | A\. Joubert                       |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+
| 15/03/23 | `9.4.1 <http://pytango.readthedocs.io/en/v9.4.1>`_                               | 9.4.1 Release                                       | A\. Joubert                       |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+
| 27/07/23 | `9.4.2 <http://pytango.readthedocs.io/en/v9.4.2>`_                               | 9.4.2 Release                                       | Y\. Matveev                       |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+
| 23/11/23 | `9.5.0 <http://pytango.readthedocs.io/en/v9.5.0>`_                               | 9.5.0 Release                                       | A\. Joubert                       |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------------------+

.. _pytango-version-history:

Version history
---------------

+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Version  | Changes                                                                                                                                                                             |
+==========+=====================================================================================================================================================================================+
| 9.5.0    | 9.5.0                                                                                                                                                                               |
|          |                                                                                                                                                                                     |
|          | Changed:                                                                                                                                                                            |
|          |     - `!558: Check if user's class methods are coroutines in Async mode <https://gitlab.com/tango-controls/pytango/-/merge_requests/558>`_                                          |
|          |     - `!614: Require cppTango 9.5.0, bump to 9.5.0.dev0, doc fixes <https://gitlab.com/tango-controls/pytango/-/merge_requests/614>`_                                               |
|          |     - `!617: Use 127.0.0.1 as default TestContext host instead of external IP <https://gitlab.com/tango-controls/pytango/-/merge_requests/617>`_                                    |
|          |                                                                                                                                                                                     |
|          | Added:                                                                                                                                                                              |
|          |     - `!388: Enable short-name access to TestContext devices <https://gitlab.com/tango-controls/pytango/-/merge_requests/388>`_                                                     |
|          |     - `!568: Declaration of properties, attributes and command type with typing hints <https://gitlab.com/tango-controls/pytango/-/merge_requests/568>`_                            |
|          |     - `!580: IMAGEs support added to set_write_value <https://gitlab.com/tango-controls/pytango/-/merge_requests/580>`_                                                             |
|          |     - `!581: Support forwarded attributes in TestContext <https://gitlab.com/tango-controls/pytango/-/merge_requests/581>`_                                                         |
|          |     - `!582: Add support for EncodedAttribute in high-level API device <https://gitlab.com/tango-controls/pytango/-/merge_requests/582>`_                                           |
|          |     - `!592: Expose complete API of DeviceImpl.remove_attribute() <https://gitlab.com/tango-controls/pytango/-/merge_requests/592>`_                                                |
|          |     - `!616: Support server debugging with PyCharm and VS Code (pydevd) <https://gitlab.com/tango-controls/pytango/-/merge_requests/616>`_                                          |
|          |     - `!618: Resolve "Python 3.12 support" <https://gitlab.com/tango-controls/pytango/-/merge_requests/618>`_                                                                       |
|          |                                                                                                                                                                                     |
|          | Fixed:                                                                                                                                                                              |
|          |     - `!591: Handle spaces in Python path in winsetup (Windows only) <https://gitlab.com/tango-controls/pytango/-/merge_requests/591>`_                                             |
|          |     - `!600: Fix green_mode bug in TestContext <https://gitlab.com/tango-controls/pytango/-/merge_requests/600>`_                                                                   |
|          |     - `!612: Close socket in get_host_ip() (as used by DeviceTestContext) <https://gitlab.com/tango-controls/pytango/-/merge_requests/612>`_                                        |
|          |     - `!625: Ignore gevent when using TestContext if not installed <https://gitlab.com/tango-controls/pytango/-/merge_requests/625>`_                                               |
|          |     - `!627: Fix problem if self has a type hint <https://gitlab.com/tango-controls/pytango/-/merge_requests/627>`_                                                                 |
|          |     - `!634: Fix SegFault if set_value was called with None <https://gitlab.com/tango-controls/pytango/-/merge_requests/634>`_                                                      |
|          |                                                                                                                                                                                     |
|          | Removed:                                                                                                                                                                            |
|          |     - `!602: Remove CmdArgType.DevInt (cppTango DEV_INT) <https://gitlab.com/tango-controls/pytango/-/merge_requests/602>`_                                                         |
|          |     - `!604: Deprecated signature for WAttribute.get_write_value() removed <https://gitlab.com/tango-controls/pytango/-/merge_requests/604>`_                                       |
|          |                                                                                                                                                                                     |
|          | Documentation:                                                                                                                                                                      |
|          |     - `!615: Update docs and migration guide for 9.5.0-rc1 <https://gitlab.com/tango-controls/pytango/-/merge_requests/615>`_                                                       |
|          |     - `!628: Update docs and bump for 9.5.0rc2 <https://gitlab.com/tango-controls/pytango/-/merge_requests/628>`_                                                                   |
|          |     - `!636: Update docs and bump for 9.5.0rc3 <https://gitlab.com/tango-controls/pytango/-/merge_requests/636>`_                                                                   |
|          |     - `!638: Update docs and bump for 9.5.0 <https://gitlab.com/tango-controls/pytango/-/merge_requests/638>`_                                                                      |
|          |                                                                                                                                                                                     |
|          | DevOps and code maintenance changes:                                                                                                                                                |
|          |     - `!569: New build system using cmake <https://gitlab.com/tango-controls/pytango/-/merge_requests/569>`_                                                                        |
|          |     - `!590: Test all wheels as part of default branch CI <https://gitlab.com/tango-controls/pytango/-/merge_requests/590>`_                                                        |
|          |     - `!596: Bump 9.4.3 dev version <https://gitlab.com/tango-controls/pytango/-/merge_requests/596>`_                                                                              |
|          |     - `!598: Compile TangoTest so test-main-cpptango uses latest cpptango <https://gitlab.com/tango-controls/pytango/-/merge_requests/598>`_                                        |
|          |     - `!599: Fix micromamba installation <https://gitlab.com/tango-controls/pytango/-/merge_requests/599>`_                                                                         |
|          |     - `!601: Update triage message <https://gitlab.com/tango-controls/pytango/-/merge_requests/601>`_                                                                               |
|          |     - `!603: Test against cpptango 9.5.0rc2 <https://gitlab.com/tango-controls/pytango/-/merge_requests/603>`_                                                                      |
|          |     - `!605: Solve init hook test error on windows <https://gitlab.com/tango-controls/pytango/-/merge_requests/605>`_                                                               |
|          |     - `!606: Test against cpptango 9.5.0rc3 <https://gitlab.com/tango-controls/pytango/-/merge_requests/606>`_                                                                      |
|          |     - `!607: CI: Allow numpy without blas when testing Linux i686 wheels <https://gitlab.com/tango-controls/pytango/-/merge_requests/607>`_                                         |
|          |     - `!608: Cleanup outdated code <https://gitlab.com/tango-controls/pytango/-/merge_requests/608>`_                                                                               |
|          |     - `!609: Skip more tests on AppVeyor <https://gitlab.com/tango-controls/pytango/-/merge_requests/609>`_                                                                         |
|          |     - `!610: Update cpptango to 9.5.0rc4 <https://gitlab.com/tango-controls/pytango/-/merge_requests/610>`_                                                                         |
|          |     - `!611: Mark test_server_init_hook_subscribe_event_multiple_devices xfail <https://gitlab.com/tango-controls/pytango/-/merge_requests/611>`_                                   |
|          |     - `!613: Build against cpptango 9.5.0 <https://gitlab.com/tango-controls/pytango/-/merge_requests/613>`_                                                                        |
|          |     - `!619: Bump pytango-builder image (libzmq-4.3.5 for Linux wheels) <https://gitlab.com/tango-controls/pytango/-/merge_requests/619>`_                                          |
|          |     - `!620: Reduce compiler warnings and pin scikit-build-core <https://gitlab.com/tango-controls/pytango/-/merge_requests/620>`_                                                  |
|          |     - `!621: Change relative imports to absolute and unpin scikit-build-core <https://gitlab.com/tango-controls/pytango/-/merge_requests/621>`_                                     |
|          |     - `!622: Update Boost to 1.83.0 for Windows builds <https://gitlab.com/tango-controls/pytango/-/merge_requests/622>`_                                                           |
|          |     - `!623: CI: Allow numpy without blas when building Linux i686 Py 3.12 wheels <https://gitlab.com/tango-controls/pytango/-/merge_requests/623>`_                                |
|          |     - `!624: Force C++ standard to 14 <https://gitlab.com/tango-controls/pytango/-/merge_requests/624>`_                                                                            |
|          |     - `!629: CI: Add support for zmq 4.3.5 in Windows builds <https://gitlab.com/tango-controls/pytango/-/merge_requests/629>`_                                                     |
|          |     - `!630: CI: Enable DESY Windows Runner <https://gitlab.com/tango-controls/pytango/-/merge_requests/630>`_                                                                      |
|          |     - `!632: CI: Use latest TangoTest for linux:test-main-cpptango job <https://gitlab.com/tango-controls/pytango/-/merge_requests/632>`_                                           |
|          |     - `!635: CI: Update macOS image used <https://gitlab.com/tango-controls/pytango/-/merge_requests/635>`_                                                                         |
|          |                                                                                                                                                                                     |
|          | More details in the `full changelog 9.4.2...9.5.0 <https://gitlab.com/tango-controls/pytango/-/compare/v9.4.2...v9.5.0>`_                                                           |
|          |                                                                                                                                                                                     |
+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 9.4.2    | 9.4.2 release.                                                                                                                                                                      |
|          |                                                                                                                                                                                     |
|          | Features:                                                                                                                                                                           |
|          |     - `!578: Add server init hook to high-level and low-level devices <https://gitlab.com/tango-controls/pytango/-/merge_requests/578>`_                                            |
|          |     - `!562: Check code coverage <https://gitlab.com/tango-controls/pytango/-/merge_requests/562>`_                                                                                 |
|          |     - `!577: Implement new python and NumPy version policy <https://gitlab.com/tango-controls/pytango/-/merge_requests/577>`_                                                       |
|          |                                                                                                                                                                                     |
|          | Bug fixes and changes:                                                                                                                                                              |
|          |     - `!551: Handle unsupported DeviceTestContext properties gracefully <https://gitlab.com/tango-controls/pytango/-/merge_requests/551>`_                                          |
|          |     - `!556: Fix source location recorded by logging decorators <https://gitlab.com/tango-controls/pytango/-/merge_requests/556>`_                                                  |
|          |     - `!564: Asyncio server doesn't change state to ALARM with AttrQuality <https://gitlab.com/tango-controls/pytango/-/merge_requests/564>`                                        |
|          |     - `!557: Fix DevEncoded attributes and commands <https://gitlab.com/tango-controls/pytango/-/merge_requests/557>`_                                                              |
|          |     - `!565: Raise UnicodeError instead of segfaulting when Latin-1 encoding fails <https://gitlab.com/tango-controls/pytango/-/merge_requests/565>`_                               |
|          |     - `!570: Fix linter problem in winsetup.py <https://gitlab.com/tango-controls/pytango/-/merge_requests/570>`_                                                                   |
|          |     - `!579: Extend "empty string workaround" to sequences for DeviceTestContext properties <https://gitlab.com/tango-controls/pytango/-/merge_requests/579>`_                      |
|          |                                                                                                                                                                                     |
|          | Doc fixes:                                                                                                                                                                          |
|          |     - `!571: Update new build system doc <https://gitlab.com/tango-controls/pytango/-/merge_requests/571>`_                                                                         |
|          |     - `!572: Improve docs for push_data_ready_event and EnsureOmniThread <https://gitlab.com/tango-controls/pytango/-/merge_requests/572>`_                                         |
|          |     - `!587: Update docs and bump version for 9.4.2rc1 <https://gitlab.com/tango-controls/pytango/-/merge_requests/587>`_                                                           |
|          |     - `!595: Fixed history of changes <https://gitlab.com/tango-controls/pytango/-/merge_requests/595>`_                                                                            |
|          |                                                                                                                                                                                     |
|          | DevOps changes:                                                                                                                                                                     |
|          |     - `!563: Skip log location tests in AppVeyor CI <https://gitlab.com/tango-controls/pytango/-/merge_requests/563>`_                                                              |
|          |     - `!566: Add AppVeyor Windows builds for Python 3.9 to 3.11, Boost 1.82.0 <https://gitlab.com/tango-controls/pytango/-/merge_requests/566>`_                                    |
|          |     - `!575: Add job to test main cpptango branch <https://gitlab.com/tango-controls/pytango/-/merge_requests/575>`_                                                                |
|          |     - `!574: Added test for checking default and non-default units <https://gitlab.com/tango-controls/pytango/-/merge_requests/574>`_                                               |
|          |     - `!576: Add macOS wheels + gitlab-ci cleaning <https://gitlab.com/tango-controls/pytango/-/merge_requests/576>`_                                                               |
|          |     - `!585: Move to cppTango 9.4.2, drop Python<3.9 on Win, update wheel deps <https://gitlab.com/tango-controls/pytango/-/merge_requests/585>`_                                   |
|          |     - `!588: Skip failing test in Winodws <https://gitlab.com/tango-controls/pytango/-/merge_requests/588>`_                                                                        |
|          |     - `!593: Test_server_init_hook_subscribe_event_multiple_devices skipped <https://gitlab.com/tango-controls/pytango/-/merge_requests/593>`_                                      |
|          |                                                                                                                                                                                     |
|          | More details in the `full changelog 9.4.1...9.4.2 <https://gitlab.com/tango-controls/pytango/-/compare/v9.4.1...v9.4.2>`_                                                           |
|          |                                                                                                                                                                                     |
+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 9.4.1    | 9.4.1 release.                                                                                                                                                                      |
|          |                                                                                                                                                                                     |
|          | Bug fixes and changes:                                                                                                                                                              |
|          |     - `!547: Fix attributes with device inheritance and repeated method wrapping regression in 9.4.0 <https://gitlab.com/tango-controls/pytango/-/merge_requests/547>`_             |
|          |     - `!548: Fix decorated attribute methods regression in 9.4.0 <https://gitlab.com/tango-controls/pytango/-/merge_requests/548>`_                                                 |
|          |                                                                                                                                                                                     |
|          | Doc fixes:                                                                                                                                                                          |
|          |     - `!546: Add note about pip version for binary packages <https://gitlab.com/tango-controls/pytango/-/merge_requests/546>`_                                                      |
|          |     - `!544: Bump version to 9.4.1dev0 <https://gitlab.com/tango-controls/pytango/-/merge_requests/544>`_                                                                           |
|          |     - `!555: Update docs and bump version for 9.4.0rc1 <https://gitlab.com/tango-controls/pytango/-/merge_requests/555>`_                                                           |
|          |     - `!559: Groom docstrings <https://gitlab.com/tango-controls/pytango/-/merge_requests/559>`_                                                                                    |
|          |     - `!560: Bump for 9.4.1 <https://gitlab.com/tango-controls/pytango/-/merge_requests/560>`_                                                                                      |
|          |                                                                                                                                                                                     |
|          | Deprecation fixes:                                                                                                                                                                  |
|          |     - `!553: Remove compiler version check from setup.py <https://gitlab.com/tango-controls/pytango/-/merge_requests/553>`_                                                         |
|          |                                                                                                                                                                                     |
|          | DevOps changes:                                                                                                                                                                     |
|          |     - `!545: Run black on repo and add to pre-commit-config <https://gitlab.com/tango-controls/pytango/-/merge_requests/545>`_                                                      |
|          |     - `!554: Update to omniorb 4.2.5 for Linux wheels <https://gitlab.com/tango-controls/pytango/-/merge_requests/554>`_                                                            |
|          |     - `!549: Use new tango-controls group runners <https://gitlab.com/tango-controls/pytango/-/merge_requests/549>`_                                                                |
|          |     - `!550: Update mambaforge image and use conda instead of apt packages in CI <https://gitlab.com/tango-controls/pytango/-/merge_requests/550>`_                                 |
|          |     - `!552: Run gitlab-triage to update old issues/MRs <https://gitlab.com/tango-controls/pytango/-/merge_requests/552>`_                                                          |
|          |                                                                                                                                                                                     |
|          | More details in the `full changelog 9.4.0...9.4.1 <https://gitlab.com/tango-controls/pytango/-/compare/v9.4.0...v9.4.1>`_                                                           |
|          |                                                                                                                                                                                     |
+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 9.4.0    | 9.4.0 release (not recommended due to significant regressions).                                                                                                                     |
|          |                                                                                                                                                                                     |
|          | Features:                                                                                                                                                                           |
|          |     - `!522: Support of non-bound methods for attributes <https://gitlab.com/tango-controls/pytango/-/merge_requests/522>`_                                                         |
|          |     - `!535: Allow developer to optionally add attributes to a DeviceProxy instance <https://gitlab.com/tango-controls/pytango/-/merge_requests/535>`_                              |
|          |     - `!515: DevEnum spectrum and image attributes support added <https://gitlab.com/tango-controls/pytango/-/merge_requests/515>`_                                                 |
|          |     - `!502: Provide binary wheels on PyPI using pytango-builder images <https://gitlab.com/tango-controls/pytango/-/merge_requests/502>`_                                          |
|          |     - `!510: Added high level API for dynamic attributes <https://gitlab.com/tango-controls/pytango/-/merge_requests/510>`_                                                         |
|          |     - `!511: Added fisallowed kwarg for static/dynamic commands and is_allowed method for dynamic commands <https://gitlab.com/tango-controls/pytango/-/merge_requests/511>`_       |
|          |     - `!528: Added getter, read and is_allowed attribute decorators <https://gitlab.com/tango-controls/pytango/-/merge_requests/528>`_                                              |
|          |     - `!542: Improve device types autocompletion in IDEs <https://gitlab.com/tango-controls/pytango/-/merge_requests/542>`_                                                         |
|          |                                                                                                                                                                                     |
|          | Changes:                                                                                                                                                                            |
|          |     - `!490: Drop Python 2.7 and 3.5 support <https://gitlab.com/tango-controls/pytango/-/merge_requests/490>`_                                                                     |
|          |     - `!486: Switch support from cppTango 9.3 to 9.4 <https://gitlab.com/tango-controls/pytango/-/merge_requests/486>`_                                                             |
|          |     - `!536: Require cppTango>=9.4.1 to import the library <https://gitlab.com/tango-controls/pytango/-/merge_requests/536>`_                                                       |
|          |     - `!489: Make numpy a hard requirement <https://gitlab.com/tango-controls/pytango/-/merge_requests/489>`_                                                                       |
|          |     - `!493: Improve spectrum and image attribute behaviour with empty lists (breaking change to API!) <https://gitlab.com/tango-controls/pytango/-/merge_requests/493>`_           |
|          |     - `!492: Change DServer inheritance from Device_4Impl to Device_5Impl <https://gitlab.com/tango-controls/pytango/-/merge_requests/492>`_                                        |
|          |     - `!514: Remove Python 2 compatibility code <https://gitlab.com/tango-controls/pytango/-/merge_requests/514>`_                                                                  |
|          |     - `!539: Update CI to cppTango 9.4.1, change default ORBendpoint host to 0.0.0.0, fix tests <https://gitlab.com/tango-controls/pytango/-/merge_requests/539>`_                  |
|          |     - `!541: Workaround cppTango#1055 for DatabaseDS startup <https://gitlab.com/tango-controls/pytango/-/merge_requests/541>`_                                                     |
|          |                                                                                                                                                                                     |
|          | Bug fixes:                                                                                                                                                                          |
|          |     - `!495: Fix log streams with % and no args <https://gitlab.com/tango-controls/pytango/-/merge_requests/495>`_                                                                  |
|          |     - `!516: Resolve "Crash when writing numpy.array to DeviceProxy string array attributes" <https://gitlab.com/tango-controls/pytango/-/merge_requests/516>`_                     |
|          |     - `!533: Fix high-level enum read exception when quality is ATTR_INVALID <https://gitlab.com/tango-controls/pytango/-/merge_requests/533>`_                                     |
|          |                                                                                                                                                                                     |
|          | Doc fixes:                                                                                                                                                                          |
|          |     - `!505: Fix some docs related to Tango.Util <https://gitlab.com/tango-controls/pytango/-/merge_requests/505>`_                                                                 |
|          |     - `!523: Document set_write_value WAttribute method <https://gitlab.com/tango-controls/pytango/-/merge_requests/523>`_                                                          |
|          |     - `!524: Fixed documentation for DeviceProxy.get_attribute_config_ex <https://gitlab.com/tango-controls/pytango/-/merge_requests/524>`_                                         |
|          |     - `!526: Clarify gevent dependency <https://gitlab.com/tango-controls/pytango/-/merge_requests/526>`_                                                                           |
|          |     - `!487: Bump for 9.4.0 <https://gitlab.com/tango-controls/pytango/-/merge_requests/487>`_                                                                                      |
|          |     - `!500: Update docs for 9.3 to 9.4 changes <https://gitlab.com/tango-controls/pytango/-/merge_requests/500>`_                                                                  |
|          |     - `!501: Update version for 9.4.0rc1 <https://gitlab.com/tango-controls/pytango/-/merge_requests/501>`_                                                                         |
|          |     - `!507: Update version for 9.4.0rc2 <https://gitlab.com/tango-controls/pytango/-/merge_requests/507>`_                                                                         |
|          |     - `!538: Update version for 9.4.0rc3 <https://gitlab.com/tango-controls/pytango/-/merge_requests/538>`_                                                                         |
|          |     - `!512: Add some more training examples <https://gitlab.com/tango-controls/pytango/-/merge_requests/512>`_                                                                     |
|          |     - `!540: Update docs and bump version for 9.4.0 release <https://gitlab.com/tango-controls/pytango/-/merge_requests/540>`_                                                      |
|          |                                                                                                                                                                                     |
|          | Deprecation fixes:                                                                                                                                                                  |
|          |     - `!491: Remove unused method CppDeviceClassWrap::delete_class <https://gitlab.com/tango-controls/pytango/-/merge_requests/491>`_                                               |
|          |     - `!494: Remove unnecessary constants TANGO_LONG32 and TANGO_LONG64 <https://gitlab.com/tango-controls/pytango/-/merge_requests/494>`_                                          |
|          |     - `!497: Replace pytest-xdist with pytest-forked for testing <https://gitlab.com/tango-controls/pytango/-/merge_requests/497>`_                                                 |
|          |     - `!498: Fix Python 3.11 compatibility <https://gitlab.com/tango-controls/pytango/-/merge_requests/498>`_                                                                       |
|          |     - `!513: Replace deprecated distutils.version <https://gitlab.com/tango-controls/pytango/-/merge_requests/513>`_                                                                |
|          |     - `!534: Replace deprecated numpy.bool8 alias <https://gitlab.com/tango-controls/pytango/-/merge_requests/534>`_                                                                |
|          |                                                                                                                                                                                     |
|          | DevOps changes:                                                                                                                                                                     |
|          |     - `!531: Configure unit tests report in gitlab-ci <https://gitlab.com/tango-controls/pytango/-/merge_requests/531>`_                                                            |
|          |     - `!532: Run ruff via pre-commit <https://gitlab.com/tango-controls/pytango/-/merge_requests/532>`_                                                                             |
|          |     - `!519: Testing: improve error message for event test failures <https://gitlab.com/tango-controls/pytango/-/merge_requests/519>`_                                              |
|          |     - `!530: Unnecessary tests removed <https://gitlab.com/tango-controls/pytango/-/merge_requests/530>`_                                                                           |
|          |     - `!496: Force numpy installation with help of pyproject.toml (PEP 518) before build <https://gitlab.com/tango-controls/pytango/-/merge_requests/496>`_                         |
|          |     - `!509: Prefer binary dependencies for test-wheel <https://gitlab.com/tango-controls/pytango/-/merge_requests/509>`_                                                           |
|          |     - `!508: Allow failure for aarch64 test <https://gitlab.com/tango-controls/pytango/-/merge_requests/508>`_                                                                      |
|          |     - `!488: Add cpptango_rc to the Dockerfile <https://gitlab.com/tango-controls/pytango/-/merge_requests/488>`_                                                                   |
|          |     - `!520: Devcontainer fix for Mac M1 host <https://gitlab.com/tango-controls/pytango/-/merge_requests/520>`_                                                                    |
|          |     - `!525: Git ignore code-workspace and .DS_Store files <https://gitlab.com/tango-controls/pytango/-/merge_requests/525>`_                                                       |
|          |     - `!499: Disable AppVeyor but keep the config file <https://gitlab.com/tango-controls/pytango/-/merge_requests/499>`_                                                           |
|          |     - `!503: Disable AppVeyor builds temporarily <https://gitlab.com/tango-controls/pytango/-/merge_requests/503>`_                                                                 |
|          |     - `!504: Update AppVeyor CI for cppTango 9.4.0 <https://gitlab.com/tango-controls/pytango/-/merge_requests/504>`_                                                               |
|          |     - `!506: Update AppVeyor cppTango 9.4.0.windows1 package <https://gitlab.com/tango-controls/pytango/-/merge_requests/506>`_                                                     |
|          |     - `!543: Fix readme syntax and add twine check <https://gitlab.com/tango-controls/pytango/-/merge_requests/543>`_                                                               |
|          |                                                                                                                                                                                     |
|          | More details in the `full changelog 9.3.6...9.4.0 <https://gitlab.com/tango-controls/pytango/-/compare/v9.3.6...v9.4.0>`_                                                           |
|          |                                                                                                                                                                                     |
+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 9.3.6    | 9.3.6 release.                                                                                                                                                                      |
|          |                                                                                                                                                                                     |
|          | Changes:                                                                                                                                                                            |
|          |     - `Pull Request #482: Use cpptango 9.3.5 for Widows wheels (except Py27 x64) <https://gitlab.com/tango-controls/pytango/-/merge_requests/482>`_                                 |
|          |                                                                                                                                                                                     |
|          | Bug fixes:                                                                                                                                                                          |
|          |     - `Pull Request #477: Resolve "Dynamic attribute in 9.3.5 fails" <https://gitlab.com/tango-controls/pytango/-/merge_requests/477>`_                                             |
|          |     - `Pull Request #479: Fix green mode usage from run method kwarg <https://gitlab.com/tango-controls/pytango/-/merge_requests/479>`_                                             |
|          |     - `Pull Request #480: Resolve "read-only dynamic attribute with dummy write function fails in 9.3.5" <https://gitlab.com/tango-controls/pytango/-/merge_requests/480>`_         |
|          |                                                                                                                                                                                     |
+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 9.3.5    | 9.3.5 release.                                                                                                                                                                      |
|          |                                                                                                                                                                                     |
|          | Features:                                                                                                                                                                           |
|          |     - `Pull Request #470: Add set_data_ready_event method to Device <https://gitlab.com/tango-controls/pytango/-/merge_requests/470>`_                                              |
|          |                                                                                                                                                                                     |
|          | Changes:                                                                                                                                                                            |
|          |     - `Pull Request #471: Fail if mixed green modes used in device server <https://gitlab.com/tango-controls/pytango/-/merge_requests/471>`_                                        |
|          |                                                                                                                                                                                     |
|          | Bug fixes:                                                                                                                                                                          |
|          |     - `Pull Request #461: Fix handling of -ORBEndPointX command line options <https://gitlab.com/tango-controls/pytango/-/merge_requests/461>`_                                     |
|          |     - `Pull Request #462: Ensure PYTANGO_NUMPY_VERSION is stringized to support newer C++ compilers <https://gitlab.com/tango-controls/pytango/-/merge_requests/462>`_              |
|          |     - `Pull Request #465: Restore dynamic attribute functionality with unbound methods <https://gitlab.com/tango-controls/pytango/-/merge_requests/465>`_                           |
|          |     - `Pull Request #466: Explicit boost::python::optional template usage to fix compilation with gcc>10 <https://gitlab.com/tango-controls/pytango/-/merge_requests/466>`_         |
|          |                                                                                                                                                                                     |
|          | Doc fixes:                                                                                                                                                                          |
|          |     - `Pull Request #467: Better MultiDeviceTestContext workaround <https://gitlab.com/tango-controls/pytango/-/merge_requests/467>`_                                               |
|          |     - `Pull Request #474: Update documentation for tango.Database <https://gitlab.com/tango-controls/pytango/-/merge_requests/474>`_                                                |
|          |                                                                                                                                                                                     |
|          | DevOps features:                                                                                                                                                                    |
|          |     - `Pull Request #473: Make universal dockerfile <https://gitlab.com/tango-controls/pytango/-/merge_requests/473>`_                                                              |
|          |                                                                                                                                                                                     |
+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 9.3.4    | 9.3.4 release.                                                                                                                                                                      |
|          |                                                                                                                                                                                     |
|          | Changes:                                                                                                                                                                            |
|          |     - `Pull Request #430: Raise when setting non-existent DeviceProxy attr <https://gitlab.com/tango-controls/pytango/-/merge_requests/430>`_                                       |
|          |     - `Pull Request #444: Add "friendly" argparser for device server arguments (#132, #354) <https://gitlab.com/tango-controls/pytango/-/merge_requests/444>`_                      |
|          |                                                                                                                                                                                     |
|          | Bug fixes:                                                                                                                                                                          |
|          |     - `Pull Request #401: Fix read/write/is_allowed not called for dynamic attribute in async mode server (#173) <https://gitlab.com/tango-controls/pytango/-/merge_requests/401>`_ |
|          |     - `Pull Request #417: Fix DeviceProxy constructor reference cycle (#412) <https://gitlab.com/tango-controls/pytango/-/merge_requests/417>`_                                     |
|          |     - `Pull Request #418: Release GIL in DeviceProxy and AttributeProxy dtor <https://gitlab.com/tango-controls/pytango/-/merge_requests/418>`_                                     |
|          |     - `Pull Request #434: Fix Device green_mode usage in MultiDeviceTestContext <https://gitlab.com/tango-controls/pytango/-/merge_requests/434>`_                                  |
|          |     - `Pull Request #436: Fix MSVC 9 syntax issue with shared pointer deletion <https://gitlab.com/tango-controls/pytango/-/merge_requests/436>`_                                   |
|          |     - `Pull Request #438: Add unit tests for device server logging <https://gitlab.com/tango-controls/pytango/-/merge_requests/438>`_                                               |
|          |     - `Pull Request #446: Allow pipes to be inherited by Device subclasses (#439) <https://gitlab.com/tango-controls/pytango/-/merge_requests/446>`_                                |
|          |                                                                                                                                                                                     |
|          | Deprecation fixes:                                                                                                                                                                  |
|          |     - `Pull Request #414: Fix deprecated warning with numpy 1.20 <https://gitlab.com/tango-controls/pytango/-/merge_requests/414>`_                                                 |
|          |     - `Pull Request #424: tango/pytango_pprint.py: Use correct syntax for comparing object contents <https://gitlab.com/tango-controls/pytango/-/merge_requests/424>`_              |
|          |     - `Pull Request #425: Fix some and silence some C++ compiler warnings <https://gitlab.com/tango-controls/pytango/-/merge_requests/425>`_                                        |
|          |     - `Pull Request #439: Fix asyncio Python 3.10 compatibility (#429) <https://gitlab.com/tango-controls/pytango/-/merge_requests/439>`_                                           |
|          |     - `Pull Request #449: Use Py_ssize_t for all CPython indexing <https://gitlab.com/tango-controls/pytango/-/merge_requests/449>`_                                                |
|          |                                                                                                                                                                                     |
|          | Doc fixes:                                                                                                                                                                          |
|          |     - `Pull Request #404: Typo on Sphinx documentation (#173) <https://gitlab.com/tango-controls/pytango/-/merge_requests/404>`_                                                    |
|          |     - `Pull Request #406: Fix docs - missing DbDevExportInfos and DbDevImportInfos <https://gitlab.com/tango-controls/pytango/-/merge_requests/406>`_                               |
|          |     - `Pull Request #420: Fix broken link: no s in gevent <https://gitlab.com/tango-controls/pytango/-/merge_requests/420>`_                                                        |
|          |     - `Pull Request #422: Uncomment docs of tango.Util.instance() and build docs for other static methods <https://gitlab.com/tango-controls/pytango/-/merge_requests/422>`_        |
|          |     - `Pull Request #426: [docs] Fixed arguments name when calling command decorator <https://gitlab.com/tango-controls/pytango/-/merge_requests/426>`_                             |
|          |     - `Pull Request #427: [docs] Fixed variables name in a tango.Database.add_server method example <https://gitlab.com/tango-controls/pytango/-/merge_requests/427>`_              |
|          |     - `Pull Request #429: Add training material examples <https://gitlab.com/tango-controls/pytango/-/merge_requests/429>`_                                                         |
|          |     - `Pull Request #433: Fix server method in DevEnum example in doc/data_types.rst <https://gitlab.com/tango-controls/pytango/-/merge_requests/433>`_                             |
|          |     - `Pull Request #440: Resolve "Missing methods in Documentation" (#217) <https://gitlab.com/tango-controls/pytango/-/merge_requests/440>`_                                      |
|          |     - `Pull Request #442: Invalid escape fix <https://gitlab.com/tango-controls/pytango/-/merge_requests/442>`_                                                                     |
|          |     - `Pull Request #453: Remove docs generation from build <https://gitlab.com/tango-controls/pytango/-/merge_requests/453>`_                                                      |
|          |     - `Pull Request #454: Debian/Ubuntu installation docs updated <https://gitlab.com/tango-controls/pytango/-/merge_requests/454>`_                                                |
|          |     - `Pull Request #455: Update contribution guidelines, drop stable branch <https://gitlab.com/tango-controls/pytango/-/merge_requests/455>`_                                     |
|          |                                                                                                                                                                                     |
|          | DevOps fixes:                                                                                                                                                                       |
|          |     - `Pull Request #409: Enable CI/CD in Gitlab (#399) <https://gitlab.com/tango-controls/pytango/-/merge_requests/409>`_                                                          |
|          |     - `Pull Request #410: Replace github links <https://gitlab.com/tango-controls/pytango/-/merge_requests/410>`_                                                                   |
|          |     - `Pull Request #411: Build and upload source distribution to pypi <https://gitlab.com/tango-controls/pytango/-/merge_requests/411>`_                                           |
|          |     - `Pull Request #423: Use numpy parallel compilation if available (#416) <https://gitlab.com/tango-controls/pytango/-/merge_requests/423>`_                                     |
|          |     - `Pull Request #428: Gitlab CI image build + push <https://gitlab.com/tango-controls/pytango/-/merge_requests/428>`_                                                           |
|          |     - `Pull Request #445: Split Gitlab CI caches per job <https://gitlab.com/tango-controls/pytango/-/merge_requests/445>`_                                                         |
|          |     - `Pull Request #448: Add missing cmake files to sdist <https://gitlab.com/tango-controls/pytango/-/merge_requests/448>`_                                                       |
|          |                                                                                                                                                                                     |
+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 9.3.3    | 9.3.3 release.                                                                                                                                                                      |
|          |                                                                                                                                                                                     |
|          | Features:                                                                                                                                                                           |
|          |     - `Pull Request #378: Add string support for MultiDeviceTestContext devices_info class field <https://gitlab.com/tango-controls/pytango/-/merge_requests/378>`_                 |
|          |     - `Pull Request #384: Add test context support for memorized attributes <https://gitlab.com/tango-controls/pytango/-/merge_requests/384>`_                                      |
|          |     - `Pull Request #395: Fix Windows build and add CI test suite (#355, #368, #369) <https://gitlab.com/tango-controls/pytango/-/merge_requests/395>`_                             |
|          |                                                                                                                                                                                     |
|          | Changes:                                                                                                                                                                            |
|          |     - `Pull Request #365: Preserve cause of exception when getting/setting attribute in DeviceProxy (#364) <https://gitlab.com/tango-controls/pytango/-/merge_requests/365>`_       |
|          |     - `Pull Request #385: Improve mandatory + default device property error message (#380) <https://gitlab.com/tango-controls/pytango/-/merge_requests/385>`_                       |
|          |     - `Pull Request #397: Add std namespace prefix in C++ code <https://gitlab.com/tango-controls/pytango/-/merge_requests/397>`_                                                   |
|          |                                                                                                                                                                                     |
|          | Bug/doc fixes:                                                                                                                                                                      |
|          |     - `Pull Request #360: Fix convert2array for Unicode to DevVarStringArray (Py3) (#361) <https://gitlab.com/tango-controls/pytango/-/merge_requests/360>`_                        |
|          |     - `Pull Request #386: Fix DeviceProxy repr/str memory leak (#298) <https://gitlab.com/tango-controls/pytango/-/merge_requests/386>`_                                            |
|          |     - `Pull Request #352: Fix sphinx v3 warning <https://gitlab.com/tango-controls/pytango/-/merge_requests/352>`_                                                                  |
|          |     - `Pull Request #359: MultiDeviceTestContext example <https://gitlab.com/tango-controls/pytango/-/merge_requests/359>`_                                                         |
|          |     - `Pull Request #363: Change old doc links from ESRF to RTD <https://gitlab.com/tango-controls/pytango/-/merge_requests/363>`_                                                  |
|          |     - `Pull Request #370: Update CI to use cppTango 9.3.4rc6 <https://gitlab.com/tango-controls/pytango/-/merge_requests/370>`_                                                     |
|          |     - `Pull Request #389: Update CI and dev Docker to cpptango 9.3.4 <https://gitlab.com/tango-controls/pytango/-/merge_requests/389>`_                                             |
|          |     - `Pull Request #376: Update Windows CI and dev containers to boost 1.73.0 <https://gitlab.com/tango-controls/pytango/-/merge_requests/376>`_                                   |
|          |     - `Pull Request #377: VScode remote development container support <https://gitlab.com/tango-controls/pytango/-/merge_requests/377>`_                                            |
|          |     - `Pull Request #391: Add documentation about testing <https://gitlab.com/tango-controls/pytango/-/merge_requests/391>`_                                                        |
|          |     - `Pull Request #393: Fix a typo in get_server_info documentation (#392) <https://gitlab.com/tango-controls/pytango/-/merge_requests/393>`_                                     |
|          |                                                                                                                                                                                     |
+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 9.3.2    | 9.3.2 release.                                                                                                                                                                      |
|          |                                                                                                                                                                                     |
|          | Features:                                                                                                                                                                           |
|          |     - `Pull Request #314: Add MultiDeviceTestContext for testing more than one Device <https://gitlab.com/tango-controls/pytango/-/merge_requests/314>`_                            |
|          |     - `Pull Request #317: Add get_device_attribute_list and missing pipe methods to Database interface (#313) <https://gitlab.com/tango-controls/pytango/-/merge_requests/317>`_    |
|          |     - `Pull Request #327: Add EnsureOmniThread and is_omni_thread (#307, #292) <https://gitlab.com/tango-controls/pytango/-/merge_requests/327>`_                                   |
|          |                                                                                                                                                                                     |
|          | Changes:                                                                                                                                                                            |
|          |     - `Pull Request #316: Reduce six requirement from 1.12 to 1.10 (#296) <https://gitlab.com/tango-controls/pytango/-/merge_requests/316>`_                                        |
|          |     - `Pull Request #326: Add Docker development container  <https://gitlab.com/tango-controls/pytango/-/merge_requests/326>`_                                                      |
|          |     - `Pull Request #330: Add enum34 to Python 2.7 docker images <https://gitlab.com/tango-controls/pytango/-/merge_requests/330>`_                                                 |
|          |     - `Pull Request #329: Add test to verify get_device_properties called on init <https://gitlab.com/tango-controls/pytango/-/merge_requests/329>`_                                |
|          |     - `Pull Request #341: Build DevFailed origin from format_exception (#340) <https://gitlab.com/tango-controls/pytango/-/merge_requests/341>`_                                    |
|          |                                                                                                                                                                                     |
|          | Bug/doc fixes:                                                                                                                                                                      |
|          |     - `Pull Request #301: Fix documentation error <https://gitlab.com/tango-controls/pytango/-/merge_requests/301>`_                                                                |
|          |     - `Pull Request #334: Update green mode docs and asyncio example (#333) <https://gitlab.com/tango-controls/pytango/-/merge_requests/334>`_                                      |
|          |     - `Pull Request #335: Generalise search for libboost_python on POSIX (#300, #310) <https://gitlab.com/tango-controls/pytango/-/merge_requests/335>`_                            |
|          |     - `Pull Request #343: Extend the info on dependencies in README <https://gitlab.com/tango-controls/pytango/-/merge_requests/343>`_                                              |
|          |     - `Pull Request #345: Fix power_supply client example PowerOn -> TurnOn <https://gitlab.com/tango-controls/pytango/-/merge_requests/345>`_                                      |
|          |     - `Pull Request #347: Fix memory leak for DevEncoded attributes <https://gitlab.com/tango-controls/pytango/-/merge_requests/347>`_                                              |
|          |     - `Pull Request #348: Fix dynamic enum attributes created without labels (#56) <https://gitlab.com/tango-controls/pytango/-/merge_requests/348>`_                               |
|          |                                                                                                                                                                                     |
+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 9.3.1    | 9.3.1 release.                                                                                                                                                                      |
|          |                                                                                                                                                                                     |
|          | Changes:                                                                                                                                                                            |
|          |     - `Pull Request #277: Windows builds using AppVeyor (#176) <https://gitlab.com/tango-controls/pytango/-/merge_requests/277>`_                                                   |
|          |     - `Pull Request #290: Update docs: int types maps to DevLong64 (#282) <https://gitlab.com/tango-controls/pytango/-/merge_requests/290>`_                                        |
|          |     - `Pull Request #293: Update exception types in proxy docstrings <https://gitlab.com/tango-controls/pytango/-/merge_requests/293>`_                                             |
|          |                                                                                                                                                                                     |
|          | Bug fixes:                                                                                                                                                                          |
|          |     - `Pull Request #270: Add six >= 1.12 requirement (#269) <https://gitlab.com/tango-controls/pytango/-/merge_requests/270>`_                                                     |
|          |     - `Pull Request #273: DeviceAttribute.is_empty not working correctly with latest cpp tango version (#271) <https://gitlab.com/tango-controls/pytango/-/merge_requests/273>`_    |
|          |     - `Pull Request #274: Add unit tests for spectrum attributes, including empty (#271) <https://gitlab.com/tango-controls/pytango/-/merge_requests/274>`_                         |
|          |     - `Pull Request #281: Fix DevEncoded commands on Python 3 (#280) <https://gitlab.com/tango-controls/pytango/-/merge_requests/281>`_                                             |
|          |     - `Pull Request #288: Make sure we only convert to string python unicode/str/bytes objects (#285) <https://gitlab.com/tango-controls/pytango/-/merge_requests/288>`_            |
|          |     - `Pull Request #289: Fix compilation warnings and conda build (#286) <https://gitlab.com/tango-controls/pytango/-/merge_requests/289>`_                                        |
|          |                                                                                                                                                                                     |
+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 9.3.0    | 9.3.0 release.                                                                                                                                                                      |
|          |                                                                                                                                                                                     |
|          | Changes:                                                                                                                                                                            |
|          |     - `Pull Request #242: Improve Python version check for enum34 install <https://gitlab.com/tango-controls/pytango/-/merge_requests/242>`_                                        |
|          |     - `Pull Request #250: Develop 9.3.0 <https://gitlab.com/tango-controls/pytango/-/merge_requests/250>`_                                                                          |
|          |     - `Pull Request #258: Change Travis CI builds to xenial <https://gitlab.com/tango-controls/pytango/-/merge_requests/258>`_                                                      |
|          |                                                                                                                                                                                     |
|          | Bug fixes:                                                                                                                                                                          |
|          |     - `Pull Request #245: Change for collections abstract base class <https://gitlab.com/tango-controls/pytango/-/merge_requests/245>`_                                             |
|          |     - `Pull Request #247: Use IP address instead of hostname (fix #246) <https://gitlab.com/tango-controls/pytango/-/merge_requests/247>`_                                          |
|          |     - `Pull Request #252: Fix wrong link to tango dependency (#235) <https://gitlab.com/tango-controls/pytango/-/merge_requests/252>`_                                              |
|          |     - `Pull Request #254: Fix mapping of AttrWriteType WT_UNKNOWN <https://gitlab.com/tango-controls/pytango/-/merge_requests/254>`_                                                |
|          |     - `Pull Request #257: Fix some docs and docstrings <https://gitlab.com/tango-controls/pytango/-/merge_requests/257>`_                                                           |
|          |     - `Pull Request #260: add ApiUtil.cleanup() <https://gitlab.com/tango-controls/pytango/-/merge_requests/260>`_                                                                  |
|          |     - `Pull Request #262: Fix compile error under Linux <https://gitlab.com/tango-controls/pytango/-/merge_requests/262>`_                                                          |
|          |     - `Pull Request #263: Fix #251: Python 2 vs Python 3: DevString with bytes <https://gitlab.com/tango-controls/pytango/-/merge_requests/263>`_                                   |
|          |                                                                                                                                                                                     |
+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 9.2.5    | 9.2.5 release.                                                                                                                                                                      |
|          |                                                                                                                                                                                     |
|          | Changes:                                                                                                                                                                            |
|          |     - `Pull Request #212: Skip databaseds backends in PyTango compatibility module  <https://gitlab.com/tango-controls/pytango/-/merge_requests/212>`_                              |
|          |     - `Pull Request #221: DevEnum attributes can now be directly assigned labels <https://gitlab.com/tango-controls/pytango/-/merge_requests/221>`_                                 |
|          |     - `Pull Request #236: Cleanup db_access module  <https://gitlab.com/tango-controls/pytango/-/merge_requests/236>`_                                                              |
|          |     - `Pull Request #237: Add info about how to release a new version  <https://gitlab.com/tango-controls/pytango/-/merge_requests/237>`_                                           |
|          |                                                                                                                                                                                     |
|          | Bug fixes:                                                                                                                                                                          |
|          |     - `Pull Request #209 (issue #207): Fix documentation warnings  <https://gitlab.com/tango-controls/pytango/-/merge_requests/209>`_                                               |
|          |     - `Pull Request #211: Yet another fix to the gevent threadpool error wrapping  <https://gitlab.com/tango-controls/pytango/-/merge_requests/211>`_                               |
|          |     - `Pull Request #214 (issue #213): DevEncoded attribute should produce a bytes object in python 3  <https://gitlab.com/tango-controls/pytango/-/merge_requests/214>`_           |
|          |     - `Pull Request #219: Fixing icons in documentation  <https://gitlab.com/tango-controls/pytango/-/merge_requests/219>`_                                                         |
|          |     - `Pull Request #220: Fix 'DevFailed' object does not support indexing <https://gitlab.com/tango-controls/pytango/-/merge_requests/220>`_                                       |
|          |     - `Pull Request #225 (issue #215): Fix exception propagation in python 3  <https://gitlab.com/tango-controls/pytango/-/merge_requests/225>`_                                    |
|          |     - `Pull Request #226 (issue #216): Add missing converter from python bytes to char*  <https://gitlab.com/tango-controls/pytango/-/merge_requests/226>`_                         |
|          |     - `Pull Request #227: Gevent issue #1260 should be fixed by now  <https://gitlab.com/tango-controls/pytango/-/merge_requests/227>`_                                             |
|          |     - `Pull Request #232: use special case-insensitive weak values dictionary for Tango nodes <https://gitlab.com/tango-controls/pytango/-/merge_requests/232>`_                    |
|          |                                                                                                                                                                                     |
+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 9.2.4    | 9.2.4 release.                                                                                                                                                                      |
|          |                                                                                                                                                                                     |
|          | Changes:                                                                                                                                                                            |
|          |     - `Pull Request #194 (issue #188): Easier access to DevEnum attribute using python enum <https://gitlab.com/tango-controls/pytango/-/merge_requests/194>`_                      |
|          |     - `Pull Request #199 (issue #195): Support python enum as dtype argument for attributes <https://gitlab.com/tango-controls/pytango/-/merge_requests/199>`_                      |
|          |     - `Pull Request #205 (issue #202): Python 3.7 compatibility <https://gitlab.com/tango-controls/pytango/-/merge_requests/205>`_                                                  |
|          |                                                                                                                                                                                     |
|          | Bug fixes:                                                                                                                                                                          |
|          |     - `Pull Request #193 (issue #192): Fix a gevent green mode memory leak introduced in v9.2.3 <https://gitlab.com/tango-controls/pytango/-/merge_requests/193>`_                  |
|          |                                                                                                                                                                                     |
+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 9.2.3    | 9.2.3 release.                                                                                                                                                                      |
|          |                                                                                                                                                                                     |
|          | Changes:                                                                                                                                                                            |
|          |     - `Pull Request #169: Use tango-controls theme for the documentation <https://gitlab.com/tango-controls/pytango/-/merge_requests/169>`_                                         |
|          |     - `Pull Request #170 (issue #171): Use a private gevent ThreadPool <https://gitlab.com/tango-controls/pytango/-/merge_requests/170>`_                                           |
|          |     - `Pull Request #180: Use same default encoding for python2 and python3 (utf-8) <https://gitlab.com/tango-controls/pytango/-/merge_requests/180>`_                              |
|          |                                                                                                                                                                                     |
|          | Bug fixes:                                                                                                                                                                          |
|          |     - `Pull Request #178 (issue #177): Make CmdDoneEvent.argout writable <https://gitlab.com/tango-controls/pytango/-/merge_requests/178>`_                                         |
|          |     - `Pull Request #178: Add GIL control for ApiUtil.get_asynch_replies <https://gitlab.com/tango-controls/pytango/-/merge_requests/178>`_                                         |
|          |     - `Pull Request #187 (issue #186): Fix and extend client green mode <https://gitlab.com/tango-controls/pytango/-/merge_requests/187>`_                                          |
|          |                                                                                                                                                                                     |
+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 9.2.2    | 9.2.2 release.                                                                                                                                                                      |
|          |                                                                                                                                                                                     |
|          | Features:                                                                                                                                                                           |
|          |     - `Pull Request #104: Pipe Events <https://gitlab.com/tango-controls/pytango/-/merge_requests/104>`_                                                                            |
|          |     - `Pull Request #106: Implement pipe write (client and server, issue #9) <https://gitlab.com/tango-controls/pytango/-/merge_requests/106>`_                                     |
|          |     - `Pull Request #122: Dynamic commands <https://gitlab.com/tango-controls/pytango/-/merge_requests/122>`_                                                                       |
|          |     - `Pull Request #124: Add forward attribute <https://gitlab.com/tango-controls/pytango/-/merge_requests/124>`_                                                                  |
|          |     - `Pull Request #129: Implement mandatory property (issue #30) <https://gitlab.com/tango-controls/pytango/-/merge_requests/129>`_                                               |
|          |                                                                                                                                                                                     |
|          | Changes:                                                                                                                                                                            |
|          |     - `Pull Request #109: Device Interface Change Events <https://gitlab.com/tango-controls/pytango/-/merge_requests/109>`_                                                         |
|          |     - `Pull Request #113: Adding asyncio green mode documentation and a how-to on contributing <https://gitlab.com/tango-controls/pytango/-/merge_requests/113>`_                   |
|          |     - `Pull Request #114: Added PEP8-ified files in tango module. <https://gitlab.com/tango-controls/pytango/-/merge_requests/114>`_                                                |
|          |     - `Pull Request #115: Commands polling tests (client and server) <https://gitlab.com/tango-controls/pytango/-/merge_requests/115>`_                                             |
|          |     - `Pull Request #116: Attribute polling tests (client and server) <https://gitlab.com/tango-controls/pytango/-/merge_requests/116>`_                                            |
|          |     - `Pull Request #117: Use official tango-controls conda channel <https://gitlab.com/tango-controls/pytango/-/merge_requests/117>`_                                              |
|          |     - `Pull Request #125: Forward attribute example <https://gitlab.com/tango-controls/pytango/-/merge_requests/125>`_                                                              |
|          |     - `Pull Request #134: Linting pytango (with pylint + flake8) <https://gitlab.com/tango-controls/pytango/-/merge_requests/134>`_                                                 |
|          |     - `Pull Request #137: Codacy badge in README and code quality policy in How to Contribute <https://gitlab.com/tango-controls/pytango/-/merge_requests/137>`_                    |
|          |     - `Pull Request #143: Added missing PipeEventData & DevIntrChangeEventData <https://gitlab.com/tango-controls/pytango/-/merge_requests/143>`_                                   |
|          |                                                                                                                                                                                     |
|          | Bug fixes:                                                                                                                                                                          |
|          |     - `Pull Request #85 (issue #84): Fix Gevent ThreadPool exceptions <https://gitlab.com/tango-controls/pytango/-/merge_requests/85>`_                                             |
|          |     - `Pull Request #94 (issue #93): Fix issues in setup file (GCC-7 build) <https://gitlab.com/tango-controls/pytango/-/merge_requests/94>`_                                       |
|          |     - `Pull Request #96: Filter badges from the long description <https://gitlab.com/tango-controls/pytango/-/merge_requests/96>`_                                                  |
|          |     - `Pull Request #97: Fix/linker options <https://gitlab.com/tango-controls/pytango/-/merge_requests/97>`_                                                                       |
|          |     - `Pull Request #98: Refactor green mode for client and server APIs <https://gitlab.com/tango-controls/pytango/-/merge_requests/98>`_                                           |
|          |     - `Pull Request #101 (issue #100) check for None and return null string <https://gitlab.com/tango-controls/pytango/-/merge_requests/101>`_                                      |
|          |     - `Pull Request #102: Update server tests <https://gitlab.com/tango-controls/pytango/-/merge_requests/102>`_                                                                    |
|          |     - `Pull Request #103: Cache build objects to optimize travis builds <https://gitlab.com/tango-controls/pytango/-/merge_requests/103>`_                                          |
|          |     - `Pull Request #112 (issue #111): Use _DeviceClass as tango device class constructor <https://gitlab.com/tango-controls/pytango/-/merge_requests/112>`_                        |
|          |     - `Pull Request #128 (issue #127): Set default worker in server.py <https://gitlab.com/tango-controls/pytango/-/merge_requests/128>`_                                           |
|          |     - `Pull Request #135: Better exception handling in server.run and test context (issue #131) <https://gitlab.com/tango-controls/pytango/-/merge_requests/135>`_                  |
|          |     - `Pull Request #142 (issue #142): Added missing PipeEventData & DevIntrChangeEventData <https://gitlab.com/tango-controls/pytango/-/merge_requests/143>`_                      |
|          |     - `Pull Request #148 (issue #144): Expose utils helpers <https://gitlab.com/tango-controls/pytango/-/merge_requests/148>`_                                                      |
|          |     - `Pull Request #149: Fix return value of proxy.subscribe_event <https://gitlab.com/tango-controls/pytango/-/merge_requests/149>`_                                              |
|          |     - `Pull Request #158 (issue #155): Fix timestamp and casing in utils.EventCallback <https://gitlab.com/tango-controls/pytango/-/merge_requests/158>`_                           |
|          |                                                                                                                                                                                     |
+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 9.2.1    | 9.2.1 release.                                                                                                                                                                      |
|          |                                                                                                                                                                                     |
|          | Features:                                                                                                                                                                           |
|          |     - `Pull Requests #70: Add test_context and test_utils modules, used for pytango unit-testing <https://gitlab.com/tango-controls/pytango/-/issues/70>`_                          |
|          |                                                                                                                                                                                     |
|          | Changes:                                                                                                                                                                            |
|          |     - `Issue #51: Refactor platform specific code in setup file <https://gitlab.com/tango-controls/pytango/-/issues/51>`_                                                           |
|          |     - `Issue #67: Comply with PEP 440 for pre-releases <https://gitlab.com/tango-controls/pytango/-/issues/67>`_                                                                    |
|          |     - `Pull Request #70: Add unit-testing for the server API <https://gitlab.com/tango-controls/pytango/-/issues/70>`_                                                              |
|          |     - `Pull Request #70: Configure Travis CI for continuous integration <https://gitlab.com/tango-controls/pytango/-/issues/70>`_                                                   |
|          |     - `Pull Request #76: Add unit-testing for the client API <https://gitlab.com/tango-controls/pytango/-/issues/76>`_                                                              |
|          |     - `Pull Request #78: Update the python version classifiers <https://gitlab.com/tango-controls/pytango/-/issues/78>`_                                                            |
|          |     - `Pull Request #80: Move tango object server to its own module <https://gitlab.com/tango-controls/pytango/-/issues/80>`_                                                       |
|          |     - `Pull Request #90: The metaclass definition for tango devices is no longer mandatory <https://gitlab.com/tango-controls/pytango/-/issues/90>`_                                |
|          |                                                                                                                                                                                     |
|          | Bug fixes:                                                                                                                                                                          |
|          |     - `Issue #24: Fix dev_status dangling pointer bug <https://gitlab.com/tango-controls/pytango/-/issues/24>`_                                                                     |
|          |     - `Issue #57: Fix dev_state/status to be gevent safe <https://gitlab.com/tango-controls/pytango/-/issues/57>`_                                                                  |
|          |     - `Issue #58: Server gevent mode internal call hangs <https://gitlab.com/tango-controls/pytango/-/issues/58>`_                                                                  |
|          |     - `Pull Request #62: Several fixes in tango.databaseds <https://gitlab.com/tango-controls/pytango/-/issues/62>`_                                                                |
|          |     - `Pull Request #63: Follow up on issue #21 (Fix Group.get_device method) <https://gitlab.com/tango-controls/pytango/-/issues/63>`_                                             |
|          |     - `Issue #64: Fix AttributeProxy.__dev_proxy to be initialized with python internals <https://gitlab.com/tango-controls/pytango/-/issues/64>`_                                  |
|          |     - `Issue #74: Fix hanging with an asynchronous tango server fails to start <https://gitlab.com/tango-controls/pytango/-/issues/74>`_                                            |
|          |     - `Pull Request #81: Fix DeviceImpl documentation <https://gitlab.com/tango-controls/pytango/-/issues/81>`_                                                                     |
|          |     - `Issue #82: Fix attribute completion for device proxies with IPython >= 4 <https://gitlab.com/tango-controls/pytango/-/issues/82>`_                                           |
|          |     - `Issue #84: Fix gevent threadpool exceptions <https://gitlab.com/tango-controls/pytango/-/issues/84>`_                                                                        |
|          |                                                                                                                                                                                     |
+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 9.2.0    | 9.2.0 release.                                                                                                                                                                      |
|          |                                                                                                                                                                                     |
|          | Features:                                                                                                                                                                           |
|          |                                                                                                                                                                                     |
|          |     - `Issue #37: Add display_level and polling_period as optional arguments to command decorator <https://gitlab.com/tango-controls/pytango/-/issues/37>`_                         |
|          |                                                                                                                                                                                     |
|          | Bug fixes:                                                                                                                                                                          |
|          |                                                                                                                                                                                     |
|          |     - Fix cache problem when using `DeviceProxy` through an `AttributeProxy`                                                                                                        |
|          |     - Fix compilation on several platforms                                                                                                                                          |
|          |     - `Issue #19: Defining new members in DeviceProxy has side effects <https://gitlab.com/tango-controls/pytango/-/issues/19>`_                                                    |
|          |     - Fixed bug in `beacon.add_device`                                                                                                                                              |
|          |     - Fix for `get_device_list` if server_name is '*'                                                                                                                               |
|          |     - Fix `get_device_attribute_property2` if `prop_attr` is not `None`                                                                                                             |
|          |     - Accept `StdStringVector` in `put_device_property`                                                                                                                             |
|          |     - Map 'int' to DevLong64 and 'uint' to DevULong64                                                                                                                               |
|          |     - `Issue #22: Fix push_data_ready_event() deadlock <https://gitlab.com/tango-controls/pytango/-/issues/22>`_                                                                    |
|          |     - `Issue #28: Fix compilation error for constants.cpp <https://gitlab.com/tango-controls/pytango/-/issues/28>`_                                                                 |
|          |     - `Issue #21: Fix Group.get_device method <https://gitlab.com/tango-controls/pytango/-/issues/21>`_                                                                             |
|          |     - `Issue #33: Fix internal server documentation <https://gitlab.com/tango-controls/pytango/-/issues/33>`_                                                                       |
|          |                                                                                                                                                                                     |
|          | Changes:                                                                                                                                                                            |
|          |     - Move ITango to another project                                                                                                                                                |
|          |     - Use `setuptools` instead of `distutils`                                                                                                                                       |
|          |     - Add `six` as a requirement                                                                                                                                                    |
|          |     - Refactor directory structure                                                                                                                                                  |
|          |     - Rename `PyTango` module to `tango` (`import PyTango` still works for backward compatibility)                                                                                  |
|          |     - Add a ReST readme for GitHub and PyPI                                                                                                                                         |
|          |                                                                                                                                                                                     |
|          | ITango changes (moved to another project):                                                                                                                                          |
|          |     - Fix itango event logger for python 3                                                                                                                                          |
|          |     - Avoid deprecation warning with IPython 4.x                                                                                                                                    |
|          |     - Use entry points instead of scripts                                                                                                                                           |
|          |                                                                                                                                                                                     |
+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 9.2.0a   | 9.2 alpha release. Missing:                                                                                                                                                         |
|          |                                                                                                                                                                                     |
|          |     - writtable pipes (client and server)                                                                                                                                           |
|          |     - dynamic commands (server)                                                                                                                                                     |
|          |     - device interface change event (client and server)                                                                                                                             |
|          |     - pipe event (client and server)                                                                                                                                                |
|          |                                                                                                                                                                                     |
|          | Bug fixes:                                                                                                                                                                          |
|          |                                                                                                                                                                                     |
|          |     - `776:  [pytango][8.1.8] SyntaxError: invalid syntax <https://sourceforge.net/p/tango-cs/bugs/776/>`_                                                                          |
+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 8.1.9    | Features:                                                                                                                                                                           |
|          |                                                                                                                                                                                     |
|          |     - `PR #2: asyncio support for both client and server API <https://gitlab.com/tango-controls/pytango/-/merge_requests/2>`_                                                       |
|          |     - `PR #6: Expose AutoTangoMonitor and AutoTangoAllowThreads <https://gitlab.com/tango-controls/pytango/-/merge_requests/6>`_                                                    |
|          |                                                                                                                                                                                     |
|          | Bug fixes:                                                                                                                                                                          |
|          |                                                                                                                                                                                     |
|          |     - `PR #31: Get -l flags from pkg-config <https://gitlab.com/tango-controls/pytango/-/merge_requests/31>`_                                                                       |
|          |     - `PR #15: Rename itango script to itango3 for python3 <https://gitlab.com/tango-controls/pytango/-/merge_requests/15>`_                                                        |
|          |     - `PR #14: Avoid deprecation warning with IPython 4.x <https://gitlab.com/tango-controls/pytango/-/merge_requests/14>`_                                                         |
+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 8.1.8    | Features:                                                                                                                                                                           |
|          |                                                                                                                                                                                     |
|          |     - `PR #3: Add a run_server class method to Device <https://gitlab.com/tango-controls/pytango/-/merge_requests/3>`_                                                              |
|          |     - `PR #4: Add device inheritance <https://gitlab.com/tango-controls/pytango/-/merge_requests/4>`_                                                                               |
|          |     - `110:  device property with auto update in database <https://sourceforge.net/p/tango-cs/feature-requests/110>`_                                                               |
|          |                                                                                                                                                                                     |
|          | Bug fixes:                                                                                                                                                                          |
|          |                                                                                                                                                                                     |
|          |     - `690: Description attribute property <https://sourceforge.net/p/tango-cs/bugs/690/>`_                                                                                         |
|          |     - `700: [pytango] useless files in the source distribution <https://sourceforge.net/p/tango-cs/bugs/700/>`_                                                                     |
|          |     - `701: Memory leak in command with list argument <https://sourceforge.net/p/tango-cs/bugs/701/>`_                                                                              |
|          |     - `704: Assertion failure when calling command with string array input type <https://sourceforge.net/p/tango-cs/bugs/704/>`_                                                    |
|          |     - `705: Support boost_python lib name on Gentoo  <https://sourceforge.net/p/tango-cs/bugs/705/>`_                                                                               |
|          |     - `714: Memory leak in PyTango for direct server command calls <https://sourceforge.net/p/tango-cs/bugs/714>`_                                                                  |
|          |     - `718: OverflowErrors with float types in 8.1.6 <https://sourceforge.net/p/tango-cs/bugs/718/>`_                                                                               |
|          |     - `724: PyTango DeviceProxy.command_inout(<str>) memory leaks <https://sourceforge.net/p/tango-cs/bugs/724/>`_                                                                  |
|          |     - `736: pytango FTBFS with python 3.4 <https://sourceforge.net/p/tango-cs/bugs/736/>`_                                                                                          |
|          |     - `747: PyTango event callback in gevent mode gets called in non main thread <https://sourceforge.net/p/tango-cs/bugs/736/>`_                                                   |
+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 8.1.6    | Bug fixes:                                                                                                                                                                          |
|          |                                                                                                                                                                                     |
|          |     - `698: PyTango.Util discrepancy <https://sourceforge.net/p/tango-cs/bugs/698>`_                                                                                                |
|          |     - `697: PyTango.server.run does not accept old Device style classes <https://sourceforge.net/p/tango-cs/bugs/697>`_                                                             |
+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 8.1.5    | Bug fixes:                                                                                                                                                                          |
|          |                                                                                                                                                                                     |
|          |     - `687: [pytango] 8.1.4 unexpected files in the source package <https://sourceforge.net/p/tango-cs/bugs/687/>`_                                                                 |
|          |     - `688: PyTango 8.1.4 new style server commands don't work <https://sourceforge.net/p/tango-cs/bugs/688/>`_                                                                     |
+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 8.1.4    | Features:                                                                                                                                                                           |
|          |                                                                                                                                                                                     |
|          |     - `107: Nice to check Tango/PyTango version at runtime <https://sourceforge.net/p/tango-cs/feature-requests/107>`_                                                              |
|          |                                                                                                                                                                                     |
|          | Bug fixes:                                                                                                                                                                          |
|          |                                                                                                                                                                                     |
|          |     - `659: segmentation fault when unsubscribing from events <https://sourceforge.net/p/tango-cs/bugs/659/>`_                                                                      |
|          |     - `664: problem while installing PyTango 8.1.1 with pip (using pip 1.4.1) <https://sourceforge.net/p/tango-cs/bugs/664/>`_                                                      |
|          |     - `678: [pytango] 8.1.2 unexpected files in the source package  <https://sourceforge.net/p/tango-cs/bugs/678/>`_                                                                |
|          |     - `679: PyTango.server tries to import missing __builtin__ module on Python 3 <https://sourceforge.net/p/tango-cs/bugs/679/>`_                                                  |
|          |     - `680: Cannot import PyTango.server.run <https://sourceforge.net/p/tango-cs/bugs/680/>`_                                                                                       |
|          |     - `686: Device property substitution for a multi-device server <https://sourceforge.net/p/tango-cs/bugs/686/>`_                                                                 |
+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 8.1.3    | *SKIPPED*                                                                                                                                                                           |
+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 8.1.2    | Features:                                                                                                                                                                           |
|          |                                                                                                                                                                                     |
|          |     - `98: PyTango.server.server_run needs additional post_init_callback parameter <https://sourceforge.net/p/tango-cs/feature-requests/98>`_                                       |
|          |     - `102: DevEncoded attribute should support a python buffer object <https://sourceforge.net/p/tango-cs/feature-requests/102>`_                                                  |
|          |     - `103: Make creation of *EventData objects possible in PyTango <https://sourceforge.net/p/tango-cs/feature-requests/103>`_                                                     |
|          |                                                                                                                                                                                     |
|          | Bug fixes:                                                                                                                                                                          |
|          |                                                                                                                                                                                     |
|          |     - `641: python3 error handling issue <https://sourceforge.net/p/tango-cs/bugs/641/>`_                                                                                           |
|          |     - `648: PyTango unicode method parameters fail <https://sourceforge.net/p/tango-cs/bugs/648/>`_                                                                                 |
|          |     - `649: write_attribute of spectrum/image fails in PyTango without numpy <https://sourceforge.net/p/tango-cs/bugs/649/>`_                                                       |
|          |     - `650: [pytango] 8.1.1 not compatible with ipyton 1.2.0-rc1 <https://sourceforge.net/p/tango-cs/bugs/650/>`_                                                                   |
|          |     - `651: PyTango segmentation fault when run a DS that use attr_data.py <https://sourceforge.net/p/tango-cs/bugs/651/>`_                                                         |
|          |     - `660: command_inout_asynch (polling mode) fails <https://sourceforge.net/p/tango-cs/bugs/660/>`_                                                                              |
|          |     - `666: PyTango shutdown sometimes blocks. <https://sourceforge.net/p/tango-cs/bugs/666/>`_                                                                                     |
+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 8.1.1    | Features:                                                                                                                                                                           |
|          |                                                                                                                                                                                     |
|          |     - Implemented tango C++ 8.1 API                                                                                                                                                 |
|          |                                                                                                                                                                                     |
|          | Bug fixes:                                                                                                                                                                          |
|          |                                                                                                                                                                                     |
|          |     - `527: set_value() for ULong64 <https://sourceforge.net/p/tango-cs/bugs/527/>`_                                                                                                |
|          |     - `573: [pytango] python3 error with unregistered device <https://sourceforge.net/p/tango-cs/bugs/573/>`_                                                                       |
|          |     - `611: URGENT fail to write attribute with PyTango 8.0.3 <https://sourceforge.net/p/tango-cs/bugs/611/>`_                                                                      |
|          |     - `612: [pytango][8.0.3] failed to build from source on s390 <https://sourceforge.net/p/tango-cs/bugs/612/>`_                                                                   |
|          |     - `615: Threading problem when setting a DevULong64 attribute <https://sourceforge.net/p/tango-cs/bugs/615/>`_                                                                  |
|          |     - `622: PyTango broken when running on Ubuntu 13 <https://sourceforge.net/p/tango-cs/bugs/622/>`_                                                                               |
|          |     - `626: attribute_history extraction can raised an exception <https://sourceforge.net/p/tango-cs/bugs/626/>`_                                                                   |
|          |     - `628: Problem in installing PyTango 8.0.3 on Scientific Linux 6 <https://sourceforge.net/p/tango-cs/bugs/628/>`_                                                              |
|          |     - `635: Reading of ULong64 attributes does not work <https://sourceforge.net/p/tango-cs/bugs/635/>`_                                                                            |
|          |     - `636: PyTango log messages are not filtered by level <https://sourceforge.net/p/tango-cs/bugs/636/>`_                                                                         |
|          |     - `637: [pytango] segfault doing write_attribute on Group <https://sourceforge.net/p/tango-cs/bugs/637/>`_                                                                      |
+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 8.1.0    | *SKIPPED*                                                                                                                                                                           |
+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 8.0.3    | Features:                                                                                                                                                                           |
|          |     - `88: Implement Util::server_set_event_loop method in python <https://sourceforge.net/p/tango-cs/feature-requests/88>`_                                                        |
|          |                                                                                                                                                                                     |
|          | Bug fixes:                                                                                                                                                                          |
|          |                                                                                                                                                                                     |
|          |     - `3576353: [pytango] segfault on 'RestartServer' <https://sourceforge.net/tracker/?func=detail&aid=3576353&group_id=57612&atid=484769>`_                                       |
|          |     - `3579062: [pytango] Attribute missing methods <https://sourceforge.net/tracker/?func=detail&aid=3579062&group_id=57612&atid=484769>`_                                         |
|          |     - `3586337: [pytango] Some DeviceClass methods are not python safe <https://sourceforge.net/tracker/?func=detail&aid=3586337&group_id=57612&atid=484769>`_                      |
|          |     - `3598514: DeviceProxy.__setattr__ break python's descriptors <https://sourceforge.net/tracker/?func=detail&aid=3598514&group_id=57612&atid=484769>`_                          |
|          |     - `3607779: [pytango] IPython 0.10 error <https://sourceforge.net/tracker/?func=detail&aid=3607779&group_id=57612&atid=484769>`_                                                |
|          |     - `598: Import DLL by PyTango failed on windows <https://sourceforge.net/p/tango-cs/bugs/598/>`_                                                                                |
|          |     - `605: [pytango] use distutils.version module <https://sourceforge.net/p/tango-cs/bugs/605/>`_                                                                                 |
+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 8.0.2    | Bug fixes:                                                                                                                                                                          |
|          |                                                                                                                                                                                     |
|          |     - `3570970: [pytango] problem during the python3 building <https://sourceforge.net/tracker/?func=detail&aid=3570970&group_id=57612&atid=484769>`_                               |
|          |     - `3570971: [pytango] itango does not work without qtconsole <https://sourceforge.net/tracker/?func=detail&aid=3570971&group_id=57612&atid=484769>`_                            |
|          |     - `3570972: [pytango] warning/error when building 8.0.0 <https://sourceforge.net/tracker/?func=detail&aid=3570972&group_id=57612&atid=484769>`_                                 |
|          |     - `3570975: [pytango] problem during use of python3 version <https://sourceforge.net/tracker/?func=detail&aid=3570975&group_id=57612&atid=484769>`_                             |
|          |     - `3574099: [pytango] compile error with gcc < 4.5 <https://sourceforge.net/tracker/?func=detail&aid=3574099&group_id=57612&atid=484769>`_                                      |
+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 8.0.1    | *SKIPPED*                                                                                                                                                                           |
+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 8.0.0    | Features:                                                                                                                                                                           |
|          |                                                                                                                                                                                     |
|          |     - Implemented tango C++ 8.0 API                                                                                                                                                 |
|          |     - Python 3k compatible                                                                                                                                                          |
|          |                                                                                                                                                                                     |
|          | Bug fixes:                                                                                                                                                                          |
|          |                                                                                                                                                                                     |
|          |     - `3023857: DevEncoded write attribute not supported <https://sourceforge.net/tracker/?func=detail&aid=3023857&group_id=57612&atid=484769>`_                                    |
|          |     - `3521545: [pytango] problem with tango profile <https://sourceforge.net/tracker/?func=detail&aid=3521545&group_id=57612&atid=484769>`_                                        |
|          |     - `3530535: PyTango group writting fails <https://sourceforge.net/tracker/?func=detail&aid=3530535&group_id=57612&atid=484769>`_                                                |
|          |     - `3564959: EncodedAttribute.encode_xxx() methods don't accept bytearray  <https://sourceforge.net/tracker/?func=detail&aid=3564959&group_id=57612&atid=484769>`_               |
+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 7.2.4    | Bug fixes:                                                                                                                                                                          |
|          |                                                                                                                                                                                     |
|          |     - `551: [pytango] Some DeviceClass methods are not python safe <https://sourceforge.net/p/tango-cs/bugs/551/>`_                                                                 |
+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 7.2.3    | Features:                                                                                                                                                                           |
|          |                                                                                                                                                                                     |
|          |     - `3495607: DeviceClass.device_name_factory is missing <https://sourceforge.net/tracker/?func=detail&aid=3495607&group_id=57612&atid=484772>`_                                  |
|          |                                                                                                                                                                                     |
|          | Bug fixes:                                                                                                                                                                          |
|          |                                                                                                                                                                                     |
|          |     - `3103588: documentation of PyTango.Attribute.Group <https://sourceforge.net/tracker/?func=detail&aid=3103588&group_id=57612&atid=484769>`_                                    |
|          |     - `3458336: Problem with pytango 7.2.2 <https://sourceforge.net/tracker/?func=detail&aid=3458336&group_id=57612&atid=484769>`_                                                  |
|          |     - `3463377: PyTango memory leak in read encoded attribute <https://sourceforge.net/tracker/?func=detail&aid=3463377&group_id=57612&atid=484769>`_                               |
|          |     - `3487930: [pytango] wrong python dependency <https://sourceforge.net/tracker/?func=detail&aid=3487930&group_id=57612&atid=484769>`_                                           |
|          |     - `3511509: Attribute.set_value_date_quality for encoded does not work <https://sourceforge.net/tracker/?func=detail&aid=3511509&group_id=57612&atid=484769>`_                  |
|          |     - `3514457: [pytango]  TANGO_HOST multi-host support <https://sourceforge.net/tracker/?func=detail&aid=3514457&group_id=57612&atid=484769>`_                                    |
|          |     - `3520739: command_history(...) in  PyTango <https://sourceforge.net/tracker/?func=detail&aid=3520739&group_id=57612&atid=484769>`_                                            |
+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 7.2.2    | Features:                                                                                                                                                                           |
|          |                                                                                                                                                                                     |
|          |     - `3305251: DS dynamic attributes discards some Attr properties <https://sourceforge.net/tracker/?func=detail&aid=3305251&group_id=57612&atid=484769>`_                         |
|          |     - `3365792: DeviceProxy.<cmd_name> could be documented <https://sourceforge.net/tracker/?func=detail&aid=3365792&group_id=57612&atid=484772>`_                                  |
|          |     - `3386079: add support for ipython 0.11 <https://sourceforge.net/tracker/?func=detail&aid=3386079&group_id=57612&atid=484772>`_                                                |
|          |     - `3437654: throw python exception as tango exception <https://sourceforge.net/tracker/?func=detail&aid=3437654&group_id=57612&atid=484772>`_                                   |
|          |     - `3447477: spock profile installation <https://sourceforge.net/tracker/?func=detail&aid=3447477&group_id=57612&atid=484772>`_                                                  |
|          |                                                                                                                                                                                     |
|          | Bug fixes:                                                                                                                                                                          |
|          |                                                                                                                                                                                     |
|          |     - `3372371: write attribute of DevEncoded doesn't work <https://sourceforge.net/tracker/?func=detail&aid=3372371&group_id=57612&atid=484769>`_                                  |
|          |     - `3374026: [pytango] pyflakes warning <https://sourceforge.net/tracker/?func=detail&aid=3374026&group_id=57612&atid=484769>`_                                                  |
|          |     - `3404771: PyTango.MultiAttribute.get_attribute_list missing <https://sourceforge.net/tracker/?func=detail&aid=3404771&group_id=57612&atid=484769>`_                           |
|          |     - `3405580: PyTango.MultiClassAttribute missing <https://sourceforge.net/tracker/?func=detail&aid=3405580&group_id=57612&atid=484769>`_                                         |
+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 7.2.1    | *SKIPPED*                                                                                                                                                                           |
+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 7.2.0    | Features:                                                                                                                                                                           |
|          |                                                                                                                                                                                     |
|          |     - `3286678: Add missing EncodedAttribute JPEG methods <https://sourceforge.net/tracker/?func=detail&aid=3286678&group_id=57612&atid=484772>`_                                   |
+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 7.1.6    | Bug fixes:                                                                                                                                                                          |
|          |                                                                                                                                                                                     |
|          |     - 7.1.5 distribution is missing some files                                                                                                                                      |
+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 7.1.5    | Bug fixes:                                                                                                                                                                          |
|          |                                                                                                                                                                                     |
|          |     - `3284174: 7.1.4 does not build with gcc 4.5 and tango 7.2.6 <https://sourceforge.net/tracker/?func=detail&aid=3284174&group_id=57612&atid=484769>`_                           |
|          |     - `3284265: [pytango][7.1.4] a few files without licence and copyright <https://sourceforge.net/tracker/?func=detail&aid=3284265&group_id=57612&atid=484769>`_                  |
|          |     - `3284318: copyleft vs copyright <https://sourceforge.net/tracker/?func=detail&aid=3284318&group_id=57612&atid=484769>`_                                                       |
|          |     - `3284434: [pytango][doc] few ERROR during the doc generation <https://sourceforge.net/tracker/?func=detail&aid=3284434&group_id=57612&atid=484769>`_                          |
|          |     - `3284435: [pytango][doc] few warning during the doc generation <https://sourceforge.net/tracker/?func=detail&aid=3284435&group_id=57612&atid=484769>`_                        |
|          |     - `3284440: [pytango][spock] the profile can't be installed <https://sourceforge.net/tracker/?func=detail&aid=3284440&group_id=57612&atid=484769>`_                             |
|          |     - `3285185: PyTango Device Server does not load Class Properties values <https://sourceforge.net/tracker/?func=detail&aid=3285185&group_id=57612&atid=484769>`_                 |
|          |     - `3286055: PyTango 7.1.x DS using Tango C++ 7.2.x seg faults on exit <https://sourceforge.net/tracker/?func=detail&aid=3286055&group_id=57612&atid=484769>`_                   |
+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 7.1.4    | Features:                                                                                                                                                                           |
|          |                                                                                                                                                                                     |
|          |     - `3274309: Generic Callback for events <https://sourceforge.net/tracker/?func=detail&aid=3274309&group_id=57612&atid=484772>`_                                                 |
|          |                                                                                                                                                                                     |
|          | Bug fixes:                                                                                                                                                                          |
|          |                                                                                                                                                                                     |
|          |     - `3011775: Seg Faults due to removed dynamic attributes <https://sourceforge.net/tracker/?func=detail&aid=3011775&group_id=57612&atid=484769>`_                                |
|          |     - `3105169: PyTango 7.1.3 does not compile with Tango 7.2.X <https://sourceforge.net/tracker/?func=detail&aid=3105169&group_id=57612&atid=484769>`_                             |
|          |     - `3107243: spock profile does not work with python 2.5 <https://sourceforge.net/tracker/?func=detail&aid=3107243&group_id=57612&atid=484769>`_                                 |
|          |     - `3124427: PyTango.WAttribute.set_max_value() changes min value <https://sourceforge.net/tracker/?func=detail&aid=3124427&group_id=57612&atid=484769>`_                        |
|          |     - `3170399: Missing documentation about is_<attr>_allowed method <https://sourceforge.net/tracker/?func=detail&aid=3170399&group_id=57612&atid=484769>`_                        |
|          |     - `3189082: Missing get_properties() for Attribute class <https://sourceforge.net/tracker/?func=detail&aid=3189082&group_id=57612&atid=484769>`_                                |
|          |     - `3196068: delete_device() not called after server_admin.Kill() <https://sourceforge.net/tracker/?func=detail&aid=3196068&group_id=57612&atid=484769>`_                        |
|          |     - `3257286: Binding crashes when reading a WRITE string attribute <https://sourceforge.net/tracker/?func=detail&aid=3257286&group_id=57612&atid=484769>`_                       |
|          |     - `3267628: DP.read_attribute(, extract=List/tuple) write value is wrong <https://sourceforge.net/tracker/?func=detail&aid=3267628&group_id=57612&atid=484769>`_                |
|          |     - `3274262: Database.is_multi_tango_host missing <https://sourceforge.net/tracker/?func=detail&aid=3274262&group_id=57612&atid=484769>`_                                        |
|          |     - `3274319: EncodedAttribute is missing in PyTango (<= 7.1.3) <https://sourceforge.net/tracker/?func=detail&aid=3274319&group_id=57612&atid=484769>`_                           |
|          |     - `3277269: read_attribute(DevEncoded) is not numpy as expected <https://sourceforge.net/tracker/?func=detail&aid=3277269&group_id=57612&atid=484769>`_                         |
|          |     - `3278946: DeviceAttribute copy constructor is not working <https://sourceforge.net/tracker/?func=detail&aid=3278946&group_id=57612&atid=484769>`_                             |
|          |                                                                                                                                                                                     |
|          | Documentation:                                                                                                                                                                      |
|          |                                                                                                                                                                                     |
|          |     - Added :ref:`utilities` chapter                                                                                                                                                |
|          |     - Added :ref:`encoded` chapter                                                                                                                                                  |
|          |     - Improved :ref:`server` chapter                                                                                                                                                |
+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 7.1.3    | Features:                                                                                                                                                                           |
|          |                                                                                                                                                                                     |
|          |     - tango logging with print statement                                                                                                                                            |
|          |     - tango logging with decorators                                                                                                                                                 |
|          |     - from sourceforge:                                                                                                                                                             |
|          |     - `3060380: ApiUtil should be exported to PyTango  <https://sourceforge.net/tracker/?func=detail&aid=3060380&group_id=57612&atid=484772>`_                                      |
|          |                                                                                                                                                                                     |
|          | Bug fixes:                                                                                                                                                                          |
|          |                                                                                                                                                                                     |
|          |     - added licence header to all source code files                                                                                                                                 |
|          |     - spock didn't work without TANGO_HOST env. variable (it didn't recognize tangorc)                                                                                              |
|          |     - spock should give a proper message if it tries to be initialized outside ipython                                                                                              |
|          |                                                                                                                                                                                     |
|          |     - `3048798: licence issue GPL != LGPL <https://sourceforge.net/tracker/?func=detail&aid=3048798&group_id=57612&atid=484769>`_                                                   |
|          |     - `3073378: DeviceImpl.signal_handler raising exception crashes DS <https://sourceforge.net/tracker/?func=detail&aid=3073378&group_id=57612&atid=484769>`_                      |
|          |     - `3088031: Python DS unable to read DevVarBooleanArray property <https://sourceforge.net/tracker/?func=detail&aid=3088031&group_id=57612&atid=484769>`_                        |
|          |     - `3102776: PyTango 7.1.2 does not work with python 2.4 & boost 1.33.0 <https://sourceforge.net/tracker/?func=detail&aid=3102776&group_id=57612&atid=484769>`_                  |
|          |     - `3102778: Fix compilation warnings in linux <https://sourceforge.net/tracker/?func=detail&aid=3102778&group_id=57612&atid=484769>`_                                           |
+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 7.1.2    | Features:                                                                                                                                                                           |
|          |                                                                                                                                                                                     |
|          |     - `2995964: Dynamic device creation <https://sourceforge.net/tracker/?func=detail&aid=2995964&group_id=57612&atid=484772>`_                                                     |
|          |     - `3010399: The DeviceClass.get_device_list that exists in C++ is missing <https://sourceforge.net/tracker/?func=detail&aid=3010399&group_id=57612&atid=484772>`_               |
|          |     - `3023686: Missing DeviceProxy.<attribute name> <https://sourceforge.net/tracker/?func=detail&aid=3023686&group_id=57612&atid=484772>`_                                        |
|          |     - `3025396: DeviceImpl is missing some CORBA methods <https://sourceforge.net/tracker/?func=detail&aid=3025396&group_id=57612&atid=484772>`_                                    |
|          |     - `3032005: IPython extension for PyTango <https://sourceforge.net/tracker/?func=detail&aid=3032005&group_id=57612&atid=484772>`_                                               |
|          |     - `3033476: Make client objects pickable <https://sourceforge.net/tracker/?func=detail&aid=3033476&group_id=57612&atid=484772>`_                                                |
|          |     - `3039902: PyTango.Util.add_class would be useful <https://sourceforge.net/tracker/?func=detail&aid=3039902&group_id=57612&atid=484772>`_                                      |
|          |                                                                                                                                                                                     |
|          | Bug fixes:                                                                                                                                                                          |
|          |                                                                                                                                                                                     |
|          |     - `2975940: DS command with DevVarCharArray return type fails <https://sourceforge.net/tracker/?func=detail&aid=2975940&group_id=57612&atid=484769>`_                           |
|          |     - `3000467: DeviceProxy.unlock is LOCKING instead of unlocking! <https://sourceforge.net/tracker/?func=detail&aid=3000467&group_id=57612&atid=484769>`_                         |
|          |     - `3010395: Util.get_device_* methods don't work <https://sourceforge.net/tracker/?func=detail&aid=3010395&group_id=57612&atid=484769>`_                                        |
|          |     - `3010425: Database.dev_name does not work <https://sourceforge.net/tracker/?func=detail&aid=3010425&group_id=57612&atid=484769>`_                                             |
|          |     - `3016949: command_inout_asynch callback does not work <https://sourceforge.net/tracker/?func=detail&aid=3016949&group_id=57612&atid=484769>`_                                 |
|          |     - `3020300: PyTango does not compile with gcc 4.1.x <https://sourceforge.net/tracker/?func=detail&aid=3020300&group_id=57612&atid=484769>`_                                     |
|          |     - `3030399: Database put(delete)_attribute_alias generates segfault <https://sourceforge.net/tracker/?func=detail&aid=3030399&group_id=57612&atid=484769>`_                     |
+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 7.1.1    | Features:                                                                                                                                                                           |
|          |                                                                                                                                                                                     |
|          |     - Improved setup script                                                                                                                                                         |
|          |     - Interfaced with PyPI                                                                                                                                                          |
|          |     - Cleaned build script warnings due to unclean python C++ macro definitions                                                                                                     |
|          |     - `2985993: PyTango numpy command support <https://sourceforge.net/tracker/?func=detail&aid=2985993&group_id=57612&atid=484772>`_                                               |
|          |     - `2971217: PyTango.GroupAttrReplyList slicing <https://sourceforge.net/tracker/?func=detail&aid=2971217&group_id=57612&atid=484772>`_                                          |
|          |                                                                                                                                                                                     |
|          | Bug fixes:                                                                                                                                                                          |
|          |                                                                                                                                                                                     |
|          |     - `2983299: Database.put_property() deletes the property <https://sourceforge.net/tracker/?func=detail&aid=2983299&group_id=57612&atid=484769>`_                                |
|          |     - `2953689: can not write_attribute scalar/spectrum/image <https://sourceforge.net/tracker/?func=detail&aid=2953689&group_id=57612&atid=484769>`_                               |
|          |     - `2953030: PyTango doc installation <https://sourceforge.net/tracker/?func=detail&aid=2953030&group_id=57612&atid=484769>`_                                                    |
+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 7.1.0    | Features:                                                                                                                                                                           |
|          |                                                                                                                                                                                     |
|          |     - `2908176: read_*, write_* and is_*_allowed() methods can now be defined <https://sourceforge.net/tracker/?func=detail&aid=2908176&group_id=57612&atid=484772>`_               |
|          |     - `2941036: TimeVal conversion to time and datetime <https://sourceforge.net/tracker/?func=detail&aid=2941036&group_id=57612&atid=484772>`_                                     |
|          |     - added str representation on Attr, Attribute, DeviceImpl and DeviceClass                                                                                                       |
|          |                                                                                                                                                                                     |
|          | Bug fixes:                                                                                                                                                                          |
|          |                                                                                                                                                                                     |
|          |     - `2903755: get_device_properties() bug reading DevString properties <https://sourceforge.net/tracker/?func=detail&aid=2903755group_id=57612&atid=484769>`_                     |
|          |     - `2909927: PyTango.Group.read_attribute() return values <https://sourceforge.net/tracker/?func=detail&aid=2909927&group_id=57612&atid=484769>`_                                |
|          |     - `2914194: DevEncoded does not work <https://sourceforge.net/tracker/?func=detail&aid=2914194&group_id=57612&atid=484769>`_                                                    |
|          |     - `2916397: PyTango.DeviceAttribute copy constructor does not work <https://sourceforge.net/tracker/?func=detail&aid=2916397&group_id=57612&atid=484769>`_                      |
|          |     - `2936173: PyTango.Group.read_attributes() fails <https://sourceforge.net/tracker/?func=detail&aid=2936173&group_id=57612&atid=484769>`_                                       |
|          |     - `2949099: Missing PyTango.Except.print_error_stack <https://sourceforge.net/tracker/?func=detail&aid=2949099&group_id=57612&atid=484769>`_                                    |
+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 7.1.0rc1 | Features:                                                                                                                                                                           |
|          |                                                                                                                                                                                     |
|          |     - v = image_attribute.get_write_value() returns square sequences (arrays of                                                                                                     |
|          |       arrays, or numpy objects) now instead of flat lists. Also for spectrum                                                                                                        |
|          |       attributes a numpy is returned by default now instead.                                                                                                                        |
|          |     - image_attribute.set_value(v) accepts numpy arrays now or square sequences                                                                                                     |
|          |       instead of just flat lists. So, dim_x and dim_y are useless now. Also the                                                                                                     |
|          |       numpy path is faster.                                                                                                                                                         |
|          |     - new enum AttrSerialModel                                                                                                                                                      |
|          |     - Attribute new methods: set(get)_attr_serial_model, set_change_event,                                                                                                          |
|          |       set_archive_event, is_change_event, is_check_change_event,                                                                                                                    |
|          |       is_archive_criteria, is_check_archive_criteria, remove_configuration                                                                                                          |
|          |     - added support for numpy scalars in tango operations like write_attribute                                                                                                      |
|          |       (ex: now a DEV_LONG attribute can receive a numpy.int32 argument in a                                                                                                         |
|          |       write_attribute method call)                                                                                                                                                  |
|          |                                                                                                                                                                                     |
|          | Bug fixes:                                                                                                                                                                          |
|          |                                                                                                                                                                                     |
|          |     - DeviceImpl.set_value for scalar attributes                                                                                                                                    |
|          |     - DeviceImpl.push_***_event                                                                                                                                                     |
|          |     - server commands with DevVar***StringArray as parameter or as return type                                                                                                      |
|          |     - in windows,a bug in PyTango.Util prevented servers from starting up                                                                                                           |
|          |     - DeviceImpl.get_device_properties for string properties assigns only first                                                                                                     |
|          |       character of string to object member instead of entire string                                                                                                                 |
|          |     - added missing methods to Util                                                                                                                                                 |
|          |     - exported SubDevDiag class                                                                                                                                                     |
|          |     - error in read/events of attributes of type DevBoolean READ_WRITE                                                                                                              |
|          |     - error in automatic unsubscribe events of DeviceProxy when the object                                                                                                          |
|          |       disapears (happens only on some compilers with some optimization flags)                                                                                                       |
|          |     - fix possible bug when comparing attribute names in DeviceProxy                                                                                                                |
|          |     - pretty print of DevFailed -> fix deprecation warning in python 2.6                                                                                                            |
|          |     - device class properties where not properly fetched when there is no                                                                                                           |
|          |       property value defined                                                                                                                                                        |
|          |     - memory leak when converting DevFailed exceptions from C++ to python                                                                                                           |
|          |     - python device server file without extension does not start                                                                                                                    |
|          |                                                                                                                                                                                     |
|          | Documentation:                                                                                                                                                                      |
|          |                                                                                                                                                                                     |
|          |     - Improved FAQ                                                                                                                                                                  |
|          |     - Improved compilation chapter                                                                                                                                                  |
|          |     - Improved migration information                                                                                                                                                |
+----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

