@@ -3,50 +3,67 @@ All notable changes to this project will be documented in this file.
33
44The format is based on [ Keep a Changelog] ( https://keepachangelog.com/en/1.0.0/ )
55
6- ## [ 9.3.4] - 2019-10-21
6+ ## [ 9.3.4] - 2020-04-01
7+
78### Fixed
89- Be compatible with all in-use cppzmq versions ([ #530 ] [ pr-530 ] , [ #561 ] [ pr-561 ] , [ #273 ] [ i-273 ] , [ #499 ] [ i-499 ] , [ #535 ] [ i-535 ] )
10+ - Fix snprintf detection. Now the ` LOG_* ` macros work again ([ #658 ] [ pr-658 ] )
11+ - Various spelling errors (found by lintian) ([ #647 ] [ pr-647 ] , [ #621 ] [ pr-621 ] )
12+ - CMake fixes regarding ` CMAKE_BUILD_TYPE ` logic ([ #629 ] [ pr-629 ] )
13+ - Fix race conditions between polling threads and user threads pushing events ([ #665 ] [ pr-665 ] , [ #511 ] [ i-511 ] )
14+ - Avoid undefined interface warning msvc ([ #664 ] [ pr-664 ] )
15+ - travis.yml: remove deprecated skip_cleanup ([ #683 ] [ pr-683 ] )
16+ - Fix memory leak in Attribute::get_att_device_class() ([ #677 ] [ pr-677 ] )
17+ - Fix crash during alarm state evaluation if attribute value is not set ([ #330 ] [ i-330 ] , [ #681 ] [ pr-681 ] )
18+
19+ ### Added
20+ - Document contributing process and use CODEOWNERS for easier review organization ([ #639 ] [ pr-639 ] )
21+ - Add testing with debian buster ([ #597 ] [ pr-597 ] )
22+ - Add CMake option to disable building the test suite ([ #689 ] [ pr-689 ] )
23+ - Add CMake switch to disable building MMX ([ #674 ] [ pr-674 ] )
24+ - appveyor.yml: Add inline deployment on tag push ([ #690 ] [ pr-690 ] )
925
1026## [ 9.3.3] - 2019-03-29
27+
1128### Added
1229- Add asyn_reconnection test ([ #502 ] [ pr-502 ] )
1330- Add .gitignore ([ #522 ] [ pr-522 ] )
14- - Add Visual Studio 2017 compatibility. Appveyor now builds for Visual Studio 2017 in addition to all the previously
31+ - Add Visual Studio 2017 compatibility. Appveyor now builds for Visual Studio 2017 in addition to all the previously
1532supported versions ([ #533 ] [ pr-533 ] )
1633
1734### Changed
1835- Replace CORBA::string_dup calls with Tango::string_dup ([ #474 ] [ pr-474 ] )
1936- Replace CORBA::string_free calls with Tango::string_free ([ #539 ] [ pr-539 ] )
20- - Make it possible to remove dynamic attributes from delete_device() by moving the location where the device is removed
37+ - Make it possible to remove dynamic attributes from delete_device() by moving the location where the device is removed
2138from the device list ([ #518 ] [ pr-518 ] )
2239- Use python2 (if available) to run cxxtestgen ([ #523 ] [ pr-523 ] )
2340- Switch to Travis Xenial infrastructure ([ #516 ] [ pr-516 ] )
2441- Catch exceptions from unsubscribe_event() in DeviceProxy destructor ([ #521 ] [ pr-521 ] )
2542- Improve install documentation ([ #529 ] [ pr-529 ] )
2643- Install log4tango include files under * <install_prefix>* /include/tango/log4tango ([ #517 ] [ pr-517 ] )
2744- Update Doxygen documentation ([ #532 ] [ i-532 ] , [ #544 ] [ pr-544 ] )
28- - Update Debian 7 and Debian 8 Travis Docker files after Debian Wheezy end of life and jessie-updates removal
45+ - Update Debian 7 and Debian 8 Travis Docker files after Debian Wheezy end of life and jessie-updates removal
2946 ([ #546 ] [ i-546 ] , [ #549 ] [ pr-549 ] )
3047
3148### Fixed
32- - Fix memory leak in get_device_property() on Windows when code compiled with Visual Studio 10 or older
49+ - Fix memory leak in get_device_property() on Windows when code compiled with Visual Studio 10 or older
3350([ #439 ] [ i-439 ] , [ #488 ] [ pr-488 ] )
3451- Fix cxx_fwd_att occasional failure ([ #384 ] [ i-384 ] , [ #428 ] [ i-428 ] , [ #493 ] [ pr-493 ] )
35- - Fix "Change event subscription blind to change events right after device server restart" issue
36- ([ #359 ] [ i-359 ] , [ #503 ] [ pr-503 ] ).
37- ** This bug fix may trigger the reception of 2 consecutive events having possibly the same attribute value
52+ - Fix "Change event subscription blind to change events right after device server restart" issue
53+ ([ #359 ] [ i-359 ] , [ #503 ] [ pr-503 ] ).
54+ ** This bug fix may trigger the reception of 2 consecutive events having possibly the same attribute value
3855(but different timestamps) during the Device Server startup phase.**
3956- Fix client crash in case of asynchronous write_attribute executed immediately after reconnection ([ #502 ] [ pr-502 ] )
40- - Fix issue with dynamic attributes when a device is restarted on a device server exporting several devices which are
57+ - Fix issue with dynamic attributes when a device is restarted on a device server exporting several devices which are
4158creating dynamic attributes ([ #458 ] [ i-458 ] , [ #508 ] [ pr-508 ] )
42- - Fix uncaught DevFailed exception in DeviceProxy destructor in cxx_stateless_subscription test case when using
43- ZMQ 4.2.3 ([ #514 ] [ i-514 ] ). Since [ zeromq/libzmq@edb4ca1] [ libzmq-c-edb4ca1 ] , peer disconnection triggers zmq_disconnect
44- on a zmq socket.
45- Further zmq_disconnect calls for such socket and endpoint will fail with errno set to ENOENT.
59+ - Fix uncaught DevFailed exception in DeviceProxy destructor in cxx_stateless_subscription test case when using
60+ ZMQ 4.2.3 ([ #514 ] [ i-514 ] ). Since [ zeromq/libzmq@edb4ca1] [ libzmq-c-edb4ca1 ] , peer disconnection triggers zmq_disconnect
61+ on a zmq socket.
62+ Further zmq_disconnect calls for such socket and endpoint will fail with errno set to ENOENT.
4663The patch provided in [ #520 ] [ pr-520 ] ignores such failure.
4764- Fixed a broken dependency on generated Debian package ([ 5c74e8d] [ c-5c74e8d ] )
4865- Fix appveyor.yml after appveyor windows image update ([ #537 ] [ pr-537 ] )
49- - Fix event compatibility issues with device servers exporting Device_4 devices. Fix bug with Pipe, Data Ready and
66+ - Fix event compatibility issues with device servers exporting Device_4 devices. Fix bug with Pipe, Data Ready and
5067Device Interface Change events. Fix event channel name issues in these different cases. ([ #492 ] [ i-492 ] , [ #531 ] [ pr-531 ] )
5168- Fix WAttribute::rollback() for DevUshort WRITE attributes ([ #541 ] [ i-541 ] , [ #542 ] [ pr-542 ] )
5269
@@ -69,15 +86,15 @@ Device Interface Change events. Fix event channel name issues in these different
6986- Fix some event compatibility issues with device server <= Tango 8 ([ #456 ] [ i-456 ] )
7087- Fix event field in EventData structure passed to user's callback (broken in Tango 9.3.0 and 9.3.1)
7188- Fix attribute name in EventData structure passed to user's callback for Attribute Config events
72- - Fix a bug occurring when an event is pushed at the same time as an event (re)subscription occurs
89+ - Fix a bug occurring when an event is pushed at the same time as an event (re)subscription occurs
7390([ #484 ] [ i-484 ] , [ #485 ] [ pr-485 ] )
7491- Fix event name (EventData.event) passed to client's Callback after Tango 9 attribute reconnection ([ #486 ] [ pr-486 ] )
7592- Fix some doxygen warnings
7693
7794## [ 9.3.1] - 2018-05-23 [ unstable]
7895### Changed
79- - Add -pedantic for GCC/Clang and debug mode ([ #441 ] [ pr-441 ] ). ** This change can generate
80- errors with very old compilers (e.g. gcc 3.4.6) when compiling the lib debug
96+ - Add -pedantic for GCC/Clang and debug mode ([ #441 ] [ pr-441 ] ). ** This change can generate
97+ errors with very old compilers (e.g. gcc 3.4.6) when compiling the lib debug
8198 version.** Please remove manually -pedantic flag in configure/CMakeLists.txt if
8299 you need to compile the debug version on a very old compiler.
83100- Generate static library ([ #17 ] [ i-17 ] )
@@ -96,26 +113,26 @@ Device Interface Change events. Fix event channel name issues in these different
96113### Fixed
97114- Fix FQDN events ([ #423 ] [ pr-423 ] , [ #315 ] [ i-315 ] )
98115 Limitations:
99- - in case DeviceProxy is used for event subscription, client will get incorrect value
100- in the event callback if short domain name is used in env.TANGO_HOST
116+ - in case DeviceProxy is used for event subscription, client will get incorrect value
117+ in the event callback if short domain name is used in env.TANGO_HOST
101118 e.g. hzgc103 -> hzgc103.desy.de
102119- Fix memory leak when pipe event is sent and there is no client ([ #447 ] [ i-447 ] ,[ #448 ] [ pr-448 ] )
103- - Set the ZMQ Receive Buffer High Water Mark only if it changes ([ #444 ] [ i-444 ] ,[ #445 ] [ pr-445 ] )
104- to reduce the impact of a bug in ZMQ 4.2.0 and ZMQ 4.2.1 which was fixed in
120+ - Set the ZMQ Receive Buffer High Water Mark only if it changes ([ #444 ] [ i-444 ] ,[ #445 ] [ pr-445 ] )
121+ to reduce the impact of a bug in ZMQ 4.2.0 and ZMQ 4.2.1 which was fixed in
105122 commit [ zeromq/libzmq@edc770d] [ libzmq-c-edc770d ] .
106123
107124## [ 9.2.8] - 2018-03-29 [ unstable]
108125### Changed
109- - Cmake release targets ([ #438 ] [ pr-438 ] )
110- - ** Install include files in <install_prefix>/include/tango directory instead of
126+ - Cmake release targets ([ #438 ] [ pr-438 ] )
127+ - ** Install include files in <install_prefix>/include/tango directory instead of
111128 <install_prefix>/include** .
112129
113130### Fixed
114131- Fix appveyor build
115132
116133## [ 9.2.7] - 2018-02-27 [ unstable]
117134### Added
118- - ** Use CMake**
135+ - ** Use CMake**
119136- Set CMake minimum requirement to CMake 2.8.12 ([ #422 ] [ pr-422 ] )
120137- Add DevVarBooleanArray operators ([ #347 ] [ pr-347 ] )
121138- Add support for NaN and inf in device properties ([ #360 ] [ i-360 ] , [ #362 ] [ pr-362 ] ,[ #371 ] [ pr-371 ] )
@@ -129,25 +146,25 @@ Device Interface Change events. Fix event channel name issues in these different
129146### Changed
130147- DeviceAttribute::get_type() no longer throws an API_EmptyDeviceAttribute exception when the DeviceAttribute is empty.
131148 It returns DATA_TYPE_UNKNOWN instead ([ #393 ] [ pr-393 ] , [ #509 ] [ i-509 ] ).
132-
149+
133150 ** Warning! This change could lead to Segmentation fault** in code doing things like:
134- ```
151+ ```
135152 DeviceAttribute da;
136153 da = device->read_attribute("AnAttributeWithINVALIDQualityFactor");
137154 cout << "Type = " << Tango::CmdArgTypeName[da.get_type()] << endl;
138155```
139156 Please refer to [ #510 ] [ i-510 ] for more details.
140157- Improve ZmqEventSubscriptionChange command argin and argout descriptions ([ 355da96] [ c-355da96 ] )
141- - Generate files from IDL (** add a dependency to tango-idl repository. omniidl is required to be able to generate some
158+ - Generate files from IDL (** add a dependency to tango-idl repository. omniidl is required to be able to generate some
142159 files from CORBA IDL** )
143160- Get exception message from event callback ([ #431 ] [ pr-431 ] )
144161- Add a map in MultiAttribute object to improve performances ([ #424 ] [ i-424 ] , [ #430 ] [ pr-430 ] )
145162- A small Doxygen improvement - take version from cmake ([ #436 ] [ pr-436 ] )
146163- Reduce event subscription sleeps on linux ([ #415 ] [ pr-415 ] ).
147164
148- ** Warning** : There is no guarantee that after a successful call to subscribe_event() that a subscriber will receive all
149- the events it is interested in. In some situations, some important events might be missed if they occur between the
150- subscribe_event() call and the ZMQ subscription reception on the ZMQ publisher side, potentially leading to situations
165+ ** Warning** : There is no guarantee that after a successful call to subscribe_event() that a subscriber will receive all
166+ the events it is interested in. In some situations, some important events might be missed if they occur between the
167+ subscribe_event() call and the ZMQ subscription reception on the ZMQ publisher side, potentially leading to situations
151168where a client application might show out of date/incorrect values.
152169- Tango 9 LTS fix[ #395 ] [ i-395 ] (Inserting const C string in DeviceData) ([ #396 ] [ pr-396 ] )
153170
@@ -174,7 +191,7 @@ where a client application might show out of date/incorrect values.
174191- Fix build errors when using C++17 ([ #405 ] [ pr-405 ] , [ #425 ] [ pr-425 ] )
175192- Fix issue with polling not starting automatically on dynamic attributes ([ #427 ] [ pr-427 ] )
176193- Add noreturn to remove some compilation warnings ([ #435 ] [ pr-435 ] )
177- - CPU load when device has large number of attributes ([ #404 ] [ pr-404 ] )
194+ - CPU load when device has large number of attributes ([ #404 ] [ pr-404 ] )
178195- push event performance issue ([ #244 ] [ i-244 ] )
179196
180197[ 9.3.4 ] : https://github.com/tango-controls/cppTango/compare/9.3.3...9.3.4
@@ -201,6 +218,7 @@ where a client application might show out of date/incorrect values.
201218[ i-273 ] : https://github.com/tango-controls/cppTango/issues/273
202219[ i-275 ] : https://github.com/tango-controls/cppTango/issues/275
203220[ i-315 ] : https://github.com/tango-controls/cppTango/issues/315
221+ [ i-330 ] : https://github.com/tango-controls/cppTango/issues/330
204222[ i-339 ] : https://github.com/tango-controls/cppTango/issues/339
205223[ pr-342 ] : https://github.com/tango-controls/cppTango/pull/342
206224[ pr-347 ] : https://github.com/tango-controls/cppTango/pull/347
@@ -277,6 +295,7 @@ where a client application might show out of date/incorrect values.
277295[ pr-508 ] : https://github.com/tango-controls/cppTango/pull/508
278296[ i-509 ] : https://github.com/tango-controls/cppTango/issues/509
279297[ i-510 ] : https://github.com/tango-controls/cppTango/issues/510
298+ [ i-511 ] : https://github.com/tango-controls/cppTango/issues/511
280299[ i-514 ] : https://github.com/tango-controls/cppTango/issues/514
281300[ pr-516 ] : https://github.com/tango-controls/cppTango/pull/516
282301[ pr-517 ] : https://github.com/tango-controls/cppTango/pull/517
@@ -299,3 +318,17 @@ where a client application might show out of date/incorrect values.
299318[ i-546 ] : https://github.com/tango-controls/cppTango/issues/546
300319[ pr-549 ] : https://github.com/tango-controls/cppTango/pull/549
301320[ pr-561 ] : https://github.com/tango-controls/cppTango/pull/561
321+ [ pr-597 ] : https://github.com/tango-controls/cppTango/pull/597
322+ [ pr-621 ] : https://github.com/tango-controls/cppTango/pull/621
323+ [ pr-629 ] : https://github.com/tango-controls/cppTango/pull/629
324+ [ pr-639 ] : https://github.com/tango-controls/cppTango/pull/639
325+ [ pr-647 ] : https://github.com/tango-controls/cppTango/pull/647
326+ [ pr-658 ] : https://github.com/tango-controls/cppTango/pull/658
327+ [ pr-664 ] : https://github.com/tango-controls/cppTango/pull/664
328+ [ pr-665 ] : https://github.com/tango-controls/cppTango/pull/665
329+ [ pr-674 ] : https://github.com/tango-controls/cppTango/pull/674
330+ [ pr-677 ] : https://github.com/tango-controls/cppTango/pull/677
331+ [ pr-681 ] : https://github.com/tango-controls/cppTango/pull/681
332+ [ pr-683 ] : https://github.com/tango-controls/cppTango/pull/683
333+ [ pr-689 ] : https://github.com/tango-controls/cppTango/pull/689
334+ [ pr-690 ] : https://github.com/tango-controls/cppTango/pull/690
0 commit comments