@@ -3,50 +3,67 @@ All notable changes to this project will be documented in this file.
3
3
4
4
The format is based on [ Keep a Changelog] ( https://keepachangelog.com/en/1.0.0/ )
5
5
6
- ## [ 9.3.4] - 2019-10-21
6
+ ## [ 9.3.4] - 2020-04-01
7
+
7
8
### Fixed
8
9
- 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 ] )
9
25
10
26
## [ 9.3.3] - 2019-03-29
27
+
11
28
### Added
12
29
- Add asyn_reconnection test ([ #502 ] [ pr-502 ] )
13
30
- 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
15
32
supported versions ([ #533 ] [ pr-533 ] )
16
33
17
34
### Changed
18
35
- Replace CORBA::string_dup calls with Tango::string_dup ([ #474 ] [ pr-474 ] )
19
36
- 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
21
38
from the device list ([ #518 ] [ pr-518 ] )
22
39
- Use python2 (if available) to run cxxtestgen ([ #523 ] [ pr-523 ] )
23
40
- Switch to Travis Xenial infrastructure ([ #516 ] [ pr-516 ] )
24
41
- Catch exceptions from unsubscribe_event() in DeviceProxy destructor ([ #521 ] [ pr-521 ] )
25
42
- Improve install documentation ([ #529 ] [ pr-529 ] )
26
43
- Install log4tango include files under * <install_prefix>* /include/tango/log4tango ([ #517 ] [ pr-517 ] )
27
44
- 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
29
46
([ #546 ] [ i-546 ] , [ #549 ] [ pr-549 ] )
30
47
31
48
### 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
33
50
([ #439 ] [ i-439 ] , [ #488 ] [ pr-488 ] )
34
51
- 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
38
55
(but different timestamps) during the Device Server startup phase.**
39
56
- 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
41
58
creating 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.
46
63
The patch provided in [ #520 ] [ pr-520 ] ignores such failure.
47
64
- Fixed a broken dependency on generated Debian package ([ 5c74e8d] [ c-5c74e8d ] )
48
65
- 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
50
67
Device Interface Change events. Fix event channel name issues in these different cases. ([ #492 ] [ i-492 ] , [ #531 ] [ pr-531 ] )
51
68
- Fix WAttribute::rollback() for DevUshort WRITE attributes ([ #541 ] [ i-541 ] , [ #542 ] [ pr-542 ] )
52
69
@@ -69,15 +86,15 @@ Device Interface Change events. Fix event channel name issues in these different
69
86
- Fix some event compatibility issues with device server <= Tango 8 ([ #456 ] [ i-456 ] )
70
87
- Fix event field in EventData structure passed to user's callback (broken in Tango 9.3.0 and 9.3.1)
71
88
- 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
73
90
([ #484 ] [ i-484 ] , [ #485 ] [ pr-485 ] )
74
91
- Fix event name (EventData.event) passed to client's Callback after Tango 9 attribute reconnection ([ #486 ] [ pr-486 ] )
75
92
- Fix some doxygen warnings
76
93
77
94
## [ 9.3.1] - 2018-05-23 [ unstable]
78
95
### 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
81
98
version.** Please remove manually -pedantic flag in configure/CMakeLists.txt if
82
99
you need to compile the debug version on a very old compiler.
83
100
- Generate static library ([ #17 ] [ i-17 ] )
@@ -96,26 +113,26 @@ Device Interface Change events. Fix event channel name issues in these different
96
113
### Fixed
97
114
- Fix FQDN events ([ #423 ] [ pr-423 ] , [ #315 ] [ i-315 ] )
98
115
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
101
118
e.g. hzgc103 -> hzgc103.desy.de
102
119
- 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
105
122
commit [ zeromq/libzmq@edc770d] [ libzmq-c-edc770d ] .
106
123
107
124
## [ 9.2.8] - 2018-03-29 [ unstable]
108
125
### 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
111
128
<install_prefix>/include** .
112
129
113
130
### Fixed
114
131
- Fix appveyor build
115
132
116
133
## [ 9.2.7] - 2018-02-27 [ unstable]
117
134
### Added
118
- - ** Use CMake**
135
+ - ** Use CMake**
119
136
- Set CMake minimum requirement to CMake 2.8.12 ([ #422 ] [ pr-422 ] )
120
137
- Add DevVarBooleanArray operators ([ #347 ] [ pr-347 ] )
121
138
- 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
129
146
### Changed
130
147
- DeviceAttribute::get_type() no longer throws an API_EmptyDeviceAttribute exception when the DeviceAttribute is empty.
131
148
It returns DATA_TYPE_UNKNOWN instead ([ #393 ] [ pr-393 ] , [ #509 ] [ i-509 ] ).
132
-
149
+
133
150
** Warning! This change could lead to Segmentation fault** in code doing things like:
134
- ```
151
+ ```
135
152
DeviceAttribute da;
136
153
da = device->read_attribute("AnAttributeWithINVALIDQualityFactor");
137
154
cout << "Type = " << Tango::CmdArgTypeName[da.get_type()] << endl;
138
155
```
139
156
Please refer to [ #510 ] [ i-510 ] for more details.
140
157
- 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
142
159
files from CORBA IDL** )
143
160
- Get exception message from event callback ([ #431 ] [ pr-431 ] )
144
161
- Add a map in MultiAttribute object to improve performances ([ #424 ] [ i-424 ] , [ #430 ] [ pr-430 ] )
145
162
- A small Doxygen improvement - take version from cmake ([ #436 ] [ pr-436 ] )
146
163
- Reduce event subscription sleeps on linux ([ #415 ] [ pr-415 ] ).
147
164
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
151
168
where a client application might show out of date/incorrect values.
152
169
- Tango 9 LTS fix[ #395 ] [ i-395 ] (Inserting const C string in DeviceData) ([ #396 ] [ pr-396 ] )
153
170
@@ -174,7 +191,7 @@ where a client application might show out of date/incorrect values.
174
191
- Fix build errors when using C++17 ([ #405 ] [ pr-405 ] , [ #425 ] [ pr-425 ] )
175
192
- Fix issue with polling not starting automatically on dynamic attributes ([ #427 ] [ pr-427 ] )
176
193
- 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 ] )
178
195
- push event performance issue ([ #244 ] [ i-244 ] )
179
196
180
197
[ 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.
201
218
[ i-273 ] : https://github.com/tango-controls/cppTango/issues/273
202
219
[ i-275 ] : https://github.com/tango-controls/cppTango/issues/275
203
220
[ i-315 ] : https://github.com/tango-controls/cppTango/issues/315
221
+ [ i-330 ] : https://github.com/tango-controls/cppTango/issues/330
204
222
[ i-339 ] : https://github.com/tango-controls/cppTango/issues/339
205
223
[ pr-342 ] : https://github.com/tango-controls/cppTango/pull/342
206
224
[ 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.
277
295
[ pr-508 ] : https://github.com/tango-controls/cppTango/pull/508
278
296
[ i-509 ] : https://github.com/tango-controls/cppTango/issues/509
279
297
[ i-510 ] : https://github.com/tango-controls/cppTango/issues/510
298
+ [ i-511 ] : https://github.com/tango-controls/cppTango/issues/511
280
299
[ i-514 ] : https://github.com/tango-controls/cppTango/issues/514
281
300
[ pr-516 ] : https://github.com/tango-controls/cppTango/pull/516
282
301
[ 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.
299
318
[ i-546 ] : https://github.com/tango-controls/cppTango/issues/546
300
319
[ pr-549 ] : https://github.com/tango-controls/cppTango/pull/549
301
320
[ 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