.. _pytango-history-changes: ================== History of changes ================== :Contributers: T\. Coutinho :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 `_ | Added dynamic attributes doc | E\. Taurel | +----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------+ | 06/05/08 | `7.0 `_ | Update to Tango 6.1. Added DB methods, version info | T\. Coutinho | +----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------+ | 10/07/09 | `8.0 `_ | Update to Tango 7. Major refactoring. Migrated doc | T\. Coutinho/R\. Suñe | +----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------+ | 24/07/09 | `8.1 `_ | Added migration info, added missing API doc | T\. Coutinho/R\. Suñe | +----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------+ | 21/09/09 | `8.2 `_ | Added migration info, release of 7.0.0beta2 | T\. Coutinho/R\. Suñe | +----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------+ | 12/11/09 | `8.3 `_ | Update to Tango 7.1. | T\. Coutinho/R\. Suñe | +----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------+ | ??/12/09 | `8.4 `_ | Update to PyTango 7.1.0 rc1 | T\. Coutinho/R\. Suñe | +----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------+ | 19/02/10 | `8.5 `_ | Update to PyTango 7.1.1 | T\. Coutinho/R\. Suñe | +----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------+ | 06/08/10 | `8.6 `_ | Update to PyTango 7.1.2 | T\. Coutinho | +----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------+ | 05/11/10 | `8.7 `_ | Update to PyTango 7.1.3 | T\. Coutinho | +----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------+ | 08/04/11 | `8.8 `_ | Update to PyTango 7.1.4 | T\. Coutinho | +----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------+ | 13/04/11 | `8.9 `_ | Update to PyTango 7.1.5 | T\. Coutinho | +----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------+ | 14/04/11 | `8.10 `_ | Update to PyTango 7.1.6 | T\. Coutinho | +----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------+ | 15/04/11 | `8.11 `_ | Update to PyTango 7.2.0 | T\. Coutinho | +----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------+ | 12/12/11 | `8.12 `_ | Update to PyTango 7.2.2 | T\. Coutinho | +----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------+ | 24/04/12 | `8.13 `_ | Update to PyTango 7.2.3 | T\. Coutinho | +----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------+ | 21/09/12 | `8.14 `_ | Update to PyTango 8.0.0 | T\. Coutinho | +----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------+ | 10/10/12 | `8.15 `_ | Update to PyTango 8.0.2 | T\. Coutinho | +----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------+ | 20/05/13 | `8.16 `_ | Update to PyTango 8.0.3 | T\. Coutinho | +----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------+ | 28/08/13 | `8.13 `_ | Update to PyTango 7.2.4 | T\. Coutinho | +----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------+ | 27/11/13 | `8.18 `_ | Update to PyTango 8.1.1 | T\. Coutinho | +----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------+ | 16/05/14 | `8.19 `_ | Update to PyTango 8.1.2 | T\. Coutinho | +----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------+ | 30/09/14 | `8.20 `_ | Update to PyTango 8.1.4 | T\. Coutinho | +----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------+ | 01/10/14 | `8.21 `_ | Update to PyTango 8.1.5 | T\. Coutinho | +----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------+ | 05/02/15 | `8.22 `_ | Update to PyTango 8.1.6 | T\. Coutinho | +----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------+ | 03/02/16 | `8.23 `_ | 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 `_ | Update to PyTango 9.2.0a | T\. Coutinho | +----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------+ | 15/08/16 | `9.3 `_ | Update to PyTango 9.2.0 | V\. Michel | +----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------+ | 23/01/17 | `9.4 `_ | Update to PyTango 9.2.1 | V\. Michel | +----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------+ .. _pytango-version-history: Version history --------------- +----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Version | Changes | +==========+=======================================================================================================================================================================+ | 9.2.1 | 9.2.1 release. | | | | | | Features: | | | - `Pull Requests #70: Add test_context and test_utils modules, used for pytango unit-testing `_ | | | | | | Changes: | | | - `Issue #51: Refactor platform specific code in setup file `_ | | | - `Issue #67: Comply with PEP 440 for pre-releases `_ | | | - `Pull Request #70: Add unit-testing for the server API `_ | | | - `Pull Request #70: Configure Travis CI for continuous integration `_ | | | - `Pull Request #76: Add unit-testing for the client API `_ | | | - `Pull Request #78: Update the python version classifiers `_ | | | - `Pull Request #80: Move tango object server to its own module `_ | | | - `Pull Request #90: The metaclass definition for tango devices is no longer mandatory `_ | | | | | | Bug fixes: | | | - `Issue #24: Fix dev_status dangling pointer bug `_ | | | - `Issue #57: Fix dev_state/status to be gevent safe `_ | | | - `Issue #58: Server gevent mode internal call hangs `_ | | | - `Pull Request #62: Several fixes in tango.databaseds `_ | | | - `Pull Request #63: Follow up on issue #21 (Fix Group.get_device method) `_ | | | - `Issue #64: Fix AttributeProxy.__dev_proxy to be initialized with python internals `_ | | | - `Issue #74: Fix hanging with an asynchronous tango server fails to start `_ | | | - `Pull Request #81: Fix DeviceImpl documentation `_ | | | - `Issue #82: Fix attribute completion for device proxies with IPython >= 4 `_ | | | - `Issue #84: Fix gevent threadpool exceptions `_ | | | | +----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 9.2.0 | 9.2.0 release. | | | | | | Features: | | | | | | - `Issue #37: Add display_level and polling_period as optional arguments to command decorator `_ | | | | | | 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 `_ | | | - 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 `_ | | | - `Issue #28: Fix compilation error for constants.cpp `_ | | | - `Issue #21: Fix Group.get_device method `_ | | | - `Issue #33: Fix internal server documentation `_ | | | | | | 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 `_ | +----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 8.1.9 | Features: | | | | | | - `PR #2: asyncio support for both client and server API `_ | | | - `PR #6: Expose AutoTangoMonitor and AutoTangoAllowThreads `_ | | | | | | Bug fixes: | | | | | | - `PR #31: Get -l flags from pkg-config `_ | | | - `PR #15: Rename itango script to itango3 for python3 `_ | | | - `PR #14: Avoid deprecation warning with IPython 4.x `_ | +----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 8.1.8 | Features: | | | | | | - `PR #3: Add a run_server class method to Device `_ | | | - `PR #4: Add device inheritance `_ | | | - `110: device property with auto update in database `_ | | | | | | Bug fixes: | | | | | | - `690: Description attribute property `_ | | | - `700: [pytango] useless files in the source distribution `_ | | | - `701: Memory leak in command with list argument `_ | | | - `704: Assertion failure when calling command with string array input type `_ | | | - `705: Support boost_python lib name on Gentoo `_ | | | - `714: Memory leak in PyTango for direct server command calls `_ | | | - `718: OverflowErrors with float types in 8.1.6 `_ | | | - `724: PyTango DeviceProxy.command_inout() memory leaks `_ | | | - `736: pytango FTBFS with python 3.4 `_ | | | - `747: PyTango event callback in gevent mode gets called in non main thread `_ | +----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 8.1.6 | Bug fixes: | | | | | | - `698: PyTango.Util discrepancy `_ | | | - `697: PyTango.server.run does not accept old Device style classes `_ | +----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 8.1.5 | Bug fixes: | | | | | | - `687: [pytango] 8.1.4 unexpected files in the source package `_ | | | - `688: PyTango 8.1.4 new style server commands don't work `_ | +----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 8.1.4 | Features: | | | | | | - `107: Nice to check Tango/PyTango version at runtime `_ | | | | | | Bug fixes: | | | | | | - `659: segmentation fault when unsubscribing from events `_ | | | - `664: problem while installing PyTango 8.1.1 with pip (using pip 1.4.1) `_ | | | - `678: [pytango] 8.1.2 unexpected files in the source package `_ | | | - `679: PyTango.server tries to import missing __builtin__ module on Python 3 `_ | | | - `680: Cannot import PyTango.server.run `_ | | | - `686: Device property substitution for a multi-device server `_ | +----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 8.1.3 | *SKIPPED* | +----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 8.1.2 | Features: | | | | | | - `98: PyTango.server.server_run needs additional post_init_callback parameter `_ | | | - `102: DevEncoded attribute should support a python buffer object `_ | | | - `103: Make creation of *EventData objects possible in PyTango `_ | | | | | | Bug fixes: | | | | | | - `641: python3 error handling issue `_ | | | - `648: PyTango unicode method parameters fail `_ | | | - `649: write_attribute of spectrum/image fails in PyTango without numpy `_ | | | - `650: [pytango] 8.1.1 not compatible with ipyton 1.2.0-rc1 `_ | | | - `651: PyTango segmentation fault when run a DS that use attr_data.py `_ | | | - `660: command_inout_asynch (polling mode) fails `_ | | | - `666: PyTango shutdown sometimes blocks. `_ | +----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 8.1.1 | Features: | | | | | | - Implemented tango C++ 8.1 API | | | | | | Bug fixes: | | | | | | - `527: set_value() for ULong64 `_ | | | - `573: [pytango] python3 error with unregistered device `_ | | | - `611: URGENT fail to write attribute with PyTango 8.0.3 `_ | | | - `612: [pytango][8.0.3] failed to build from source on s390 `_ | | | - `615: Threading problem when setting a DevULong64 attribute `_ | | | - `622: PyTango broken when running on Ubuntu 13 `_ | | | - `626: attribute_history extraction can raised an exception `_ | | | - `628: Problem in installing PyTango 8.0.3 on Scientific Linux 6 `_ | | | - `635: Reading of ULong64 attributes does not work `_ | | | - `636: PyTango log messages are not filtered by level `_ | | | - `637: [pytango] segfault doing write_attribute on Group `_ | +----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 8.1.0 | *SKIPPED* | +----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 8.0.3 | Features: | | | - `88: Implement Util::server_set_event_loop method in python `_ | | | | | | Bug fixes: | | | | | | - `3576353: [pytango] segfault on 'RestartServer' `_ | | | - `3579062: [pytango] Attribute missing methods `_ | | | - `3586337: [pytango] Some DeviceClass methods are not python safe `_ | | | - `3598514: DeviceProxy.__setattr__ break python's descriptors `_ | | | - `3607779: [pytango] IPython 0.10 error `_ | | | - `598: Import DLL by PyTango failed on windows `_ | | | - `605: [pytango] use distutils.version module `_ | +----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 8.0.2 | Bug fixes: | | | | | | - `3570970: [pytango] problem during the python3 building `_ | | | - `3570971: [pytango] itango does not work without qtconsole `_ | | | - `3570972: [pytango] warning/error when building 8.0.0 `_ | | | - `3570975: [pytango] problem during use of python3 version `_ | | | - `3574099: [pytango] compile error with gcc < 4.5 `_ | +----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 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 `_ | | | - `3521545: [pytango] problem with tango profile `_ | | | - `3530535: PyTango group writting fails `_ | | | - `3564959: EncodedAttribute.encode_xxx() methods don't accept bytearray `_ | +----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 7.2.4 | Bug fixes: | | | | | | - `551: [pytango] Some DeviceClass methods are not python safe `_ | +----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 7.2.3 | Features: | | | | | | - `3495607: DeviceClass.device_name_factory is missing `_ | | | | | | Bug fixes: | | | | | | - `3103588: documentation of PyTango.Attribute.Group `_ | | | - `3458336: Problem with pytango 7.2.2 `_ | | | - `3463377: PyTango memory leak in read encoded attribute `_ | | | - `3487930: [pytango] wrong python dependency `_ | | | - `3511509: Attribute.set_value_date_quality for encoded does not work `_ | | | - `3514457: [pytango] TANGO_HOST multi-host support `_ | | | - `3520739: command_history(...) in PyTango `_ | +----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 7.2.2 | Features: | | | | | | - `3305251: DS dynamic attributes discards some Attr properties `_ | | | - `3365792: DeviceProxy. could be documented `_ | | | - `3386079: add support for ipython 0.11 `_ | | | - `3437654: throw python exception as tango exception `_ | | | - `3447477: spock profile installation `_ | | | | | | Bug fixes: | | | | | | - `3372371: write attribute of DevEncoded doesn't work `_ | | | - `3374026: [pytango] pyflakes warning `_ | | | - `3404771: PyTango.MultiAttribute.get_attribute_list missing `_ | | | - `3405580: PyTango.MultiClassAttribute missing `_ | +----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 7.2.1 | *SKIPPED* | +----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 7.2.0 | Features: | | | | | | - `3286678: Add missing EncodedAttribute JPEG methods `_ | +----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 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 `_ | | | - `3284265: [pytango][7.1.4] a few files without licence and copyright `_ | | | - `3284318: copyleft vs copyright `_ | | | - `3284434: [pytango][doc] few ERROR during the doc generation `_ | | | - `3284435: [pytango][doc] few warning during the doc generation `_ | | | - `3284440: [pytango][spock] the profile can't be installed `_ | | | - `3285185: PyTango Device Server does not load Class Properties values `_ | | | - `3286055: PyTango 7.1.x DS using Tango C++ 7.2.x seg faults on exit `_ | +----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 7.1.4 | Features: | | | | | | - `3274309: Generic Callback for events `_ | | | | | | Bug fixes: | | | | | | - `3011775: Seg Faults due to removed dynamic attributes `_ | | | - `3105169: PyTango 7.1.3 does not compile with Tango 7.2.X `_ | | | - `3107243: spock profile does not work with python 2.5 `_ | | | - `3124427: PyTango.WAttribute.set_max_value() changes min value `_ | | | - `3170399: Missing documentation about is__allowed method `_ | | | - `3189082: Missing get_properties() for Attribute class `_ | | | - `3196068: delete_device() not called after server_admin.Kill() `_ | | | - `3257286: Binding crashes when reading a WRITE string attribute `_ | | | - `3267628: DP.read_attribute(, extract=List/tuple) write value is wrong `_ | | | - `3274262: Database.is_multi_tango_host missing `_ | | | - `3274319: EncodedAttribute is missing in PyTango (<= 7.1.3) `_ | | | - `3277269: read_attribute(DevEncoded) is not numpy as expected `_ | | | - `3278946: DeviceAttribute copy constructor is not working `_ | | | | | | 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 `_ | | | | | | 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 `_ | | | - `3073378: DeviceImpl.signal_handler raising exception crashes DS `_ | | | - `3088031: Python DS unable to read DevVarBooleanArray property `_ | | | - `3102776: PyTango 7.1.2 does not work with python 2.4 & boost 1.33.0 `_ | | | - `3102778: Fix compilation warnings in linux `_ | +----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 7.1.2 | Features: | | | | | | - `2995964: Dynamic device creation `_ | | | - `3010399: The DeviceClass.get_device_list that exists in C++ is missing `_ | | | - `3023686: Missing DeviceProxy. `_ | | | - `3025396: DeviceImpl is missing some CORBA methods `_ | | | - `3032005: IPython extension for PyTango `_ | | | - `3033476: Make client objects pickable `_ | | | - `3039902: PyTango.Util.add_class would be useful `_ | | | | | | Bug fixes: | | | | | | - `2975940: DS command with DevVarCharArray return type fails `_ | | | - `3000467: DeviceProxy.unlock is LOCKING instead of unlocking! `_ | | | - `3010395: Util.get_device_* methods don't work `_ | | | - `3010425: Database.dev_name does not work `_ | | | - `3016949: command_inout_asynch callback does not work `_ | | | - `3020300: PyTango does not compile with gcc 4.1.x `_ | | | - `3030399: Database put(delete)_attribute_alias generates segfault `_ | +----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 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 `_ | | | - `2971217: PyTango.GroupAttrReplyList slicing `_ | | | | | | Bug fixes: | | | | | | - `2983299: Database.put_property() deletes the property `_ | | | - `2953689: can not write_attribute scalar/spectrum/image `_ | | | - `2953030: PyTango doc installation `_ | +----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 7.1.0 | Features: | | | | | | - `2908176: read_*, write_* and is_*_allowed() methods can now be defined `_ | | | - `2941036: TimeVal conversion to time and datetime `_ | | | - added str representation on Attr, Attribute, DeviceImpl and DeviceClass | | | | | | Bug fixes: | | | | | | - `2903755: get_device_properties() bug reading DevString properties `_ | | | - `2909927: PyTango.Group.read_attribute() return values `_ | | | - `2914194: DevEncoded does not work `_ | | | - `2916397: PyTango.DeviceAttribute copy constructor does not work `_ | | | - `2936173: PyTango.Group.read_attributes() fails `_ | | | - `2949099: Missing PyTango.Except.print_error_stack `_ | +----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 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 | +----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+