### Navigation

- index
- modules |
- previous |
- home|
- getting started|
- quick tour|
- documentation »

# Revision

Contributers: | T. Coutinho
Last Update: | March 23, 2014

History of modifications:

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 and ApiUtil | V. Forchì
13/06/05 | 4.1 | fixed bug with python 2.5 and and state events 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, write_attribute | T. Coutinho
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

# Version history

version | Changes
--- | ---

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: - from sourceforge: - 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.<cmd_name> 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: - from sourceforge: - 3286678: Add missing EncodedAttribute JPEG methods
7.1.6 | Bug fixes: - 7.1.5 distribution is missing some files

7.1.5

Bug fixes: - from sourceforge: - 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_<attr>_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 The Utilities API chapter - Added Encoded API chapter - Improved Server API 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 - from sourceforge: - 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: - from sourceforge: - 2995964: Dynamic device creation - 3010399: The DeviceClass.get_device_list that exists in C++ is missing - 3023686: Missing DeviceProxy.<attribute name> - 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: - from sourceforge: - 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 - from sourceforge: - 2985993: PyTango numpy command support - 2971217: PyTango.GroupAttrReplyList slicing

Bug fixes: - from sourceforge: - 2983299: Database.put_property() deletes the property - 2953689: can not write_attribute scalar/spectrum/image - 2953030: PyTango doc installation

7.1.0

Features: - from sourceforge: - 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: - from sourceforge: - 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

### Navigation

- index
- modules |
- previous |
- home|
- getting started|
- quick tour|
- documentation »