1 Diagnostic Log and Trace - Release Notes
\r
2 =========================================
\r
3 Alexander Wenzel <Alexander.AW.Wenzel@bmw.de>
\r
16 * Changed documentation and man pages into asciidoc format.
\r
17 * Increased buffer sizes for DLT user library and DLT daemon
\r
18 * [GDLT-120]: truncated and Segmented network tracing
\r
19 * [GDLT-137]: Automatically try resending of user buffer after FIFO full
\r
20 * [GSWD-85]: Added authors file
\r
24 * [GDLT-115]: Encapsulate user macros
\r
25 * Fix register app and register context was not stored in buffer when FIFO is full. Other controll messages still not saved in buffer.
\r
26 * Create new fifo only when same application registers with different pid.'
\r
27 * Do not register appliction again, if already registered.
\r
28 * Fixed filetransfer not checking buffer fill level.
\r
32 * [GDLT-24] Fixing compiler warnings
\r
33 * [GDLT-94] Optional sending periodic software version messages. See man pages for more informations
\r
34 * [GENDLT-26] Check for description length sanity
\r
35 * [GENDLT-24] Crash on invalid injection message fixed
\r
36 * [GDLT-93] Add -Wextra flags for compilation Fixed all the warnings that
\r
37 * [GDLT-90] Optional: systemd watchdog concept in dlt-system and dlt-daemon
\r
38 * [GDLT-67] Re-implemented dlt-system. Read full commit message for more information
\r
42 * [GDLT-89] Fixed daemon doesn't sent the persistent log level
\r
43 * [GDLT-88] Fixed wrong initalization order using offline trace function
\r
47 * Add _GNU_SOURCE Definition to be able to use O_CLOEXEC
\r
48 * Added important SEM_FREE in the daemon and closing fd in the filetransfer
\r
49 * [GDLT-3] Fixed missing semaphore around dlt_buffer_push3
\r
50 * [GDLT-86] Fixed dlt_free uses absolute file path /tmp and not DLT_USER_DEFINE define
\r
51 * [D4099] Check for duplicate file handles, and clean them up if found
\r
52 * [GDLT-85] Pipes opened multiple times for the same application pid fixed
\r
53 * [GDLT-82] Child process inherits file descriptors openend by their parent fixed
\r
54 * [GDLT-84] Instead of calling the injection callback, store a pointer to it and the required parameter data fixed
\r
55 * [GDLT-70] Check for malloc failures and return errors where applicable
\r
56 * [GDLT-47] Avoid discarding old contexts if no new memory can be allocate
\r
57 * [GDLT-69] Fixed bug in dlt-test-multi-process shares context between threads
\r
61 * [GDLT-75] Use old style directory check on startup
\r
62 * [GENDLT-21] Move mcnt from DltContextData to DltContext
\r
63 * [GENDLT-15] Fixes to previous integrations from review
\r
64 * [GENDLT-15] Safe re-allocations for databuffer
\r
65 * [GENDLT-15] use the correct TEXTBUFSIZE
\r
66 * [GENDLT-15] Optimize usege of strlen. Improved log level handling
\r
67 * [GENDLT-15] Avoid buffer overrun with snprintf()
\r
68 * [GENDLT-15] Check return value of dlt_user_log_write_start(_id) correctly
\r
69 * [GENDLT-15] Reduce the number of applications if allocation fails
\r
70 * [GENDLT-15] Make dlt_user_log_write_start inline
\r
71 * [GENDLT-15] Improve errore checking in dlt_user_log_write_start_id
\r
72 * [GENDLT-15] Use databussersize to avoid reallocations
\r
73 * [GENDLT-15] Rename buffer size constant to avoid confusion
\r
74 * [GENDLT-15] Better error handling when writing to FIFO
\r
75 * [GENDLT-15] Remove duplicate msg initialization.
\r
76 * [GENDLT-15] Optimize away multiple uses of strlen for one check
\r
77 * [GDLT-4] Improve queue handling, allow for other messages while transferring a large file
\r
78 * [GDLT-4] Limit maximum file queue to 256 files
\r
79 * [GDLT-4] First working version of inotify for file transfer
\r
80 * [GDLT-2] First test for filetransfer change
\r
81 * [GDLT-2] Change to gzip wrapper format. Change file signature creation to account for file size, as inode number maybe duplicate when deleting and creating new files
\r
82 * [GDLT-2] Fix bug while reading the options
\r
83 * [GDLT-2] Allow for enabling/disabling compression for the separate directories
\r
84 * [GDLT-2] Check if the file is already compressed
\r
85 * [GDLT-2] Link with libz, fix a typo
\r
86 * [GDLT-2] zlib based compression for dlt-system
\r
87 * Cleaned some warnings generated from removing stale old code
\r
91 * Change to Mozilla Public License Version 2.0
\r
95 * Fixed bug with comparinson between signed and unsigned integer and protection for a buffer overflow.
\r
96 * Modified library for new test cases to corrupt data - related to the bug fix for testing signed and unsigned integer
\r
97 * [GENDLT-20] Fixed bug to use old cmake version for copy file
\r
98 * Replaced dlt-test-filetransfer-image.png with an own created image
\r
99 * [GENDLT-21] Fixed bug: Message Counter (MCNT) should be increased but is always 0
\r
103 * [GDLT-53] Man pages installation included
\r
104 * .cproject and .project file for Eclipse included
\r
105 * Update of doxygen documentation and generation
\r
106 * Rework of root CMake project file, e.g. structure and compile options
\r
107 * [GENDLT-16] Create variable in dlt-system.conf to configure the timeout of the filetransfer
\r
108 * [GDLT-37] Extend automated test tools for parallel process/threads tests
\r
109 * [GSW-138] API Extension to resend the log messages in the user buffer
\r
110 * [GDLT-36] Prefixing of dlt_version.h fixed
\r
111 * [GDLT-31] Tracefile content stored different under Ubuntu 64 bit version compared to Ubuntu/Win 32 Bit version fixed
\r
112 * [GDLT-35] Compile warnings fixed
\r
113 * [GSW-137] Wrong include gives error on compailing against dlt fixed
\r
117 * Added dynamic increasable ringbuffers to user lib and daemon.
\r
118 * dlt-system filetransfer now recovers when file is deleted during filetransfer.
\r
119 * Added check of file size when starting and deleting files during filetransfer
\r
120 * Added chekc of shm buffer availability when push to shm
\r
121 * Create abstraction of shm buffer management.
\r
122 * Fixed buffer overflow problem in buffer library.
\r
123 * Disabled share memory by default - disabled completely shared memory if not enabled.
\r
127 * Added dynamic increasable ringbuffers to user lib and dlt-daemon.
\r
128 * Created abstraction of shm buffer management.
\r
129 * dlt-system filetransfer now recovers when file is deleted during filetransfer.
\r
130 * Added check of file size when starting and deleting files during filetransfer.
\r
131 * Added check of shm buffer availability when push to shm.
\r
135 * Added internal logging facility to stdout, syslog or local file, configurable in configuration file.
\r
136 * Added deamonise and signal handlers to dlt-system.
\r
137 * Added manual pages.
\r
138 * Added new API dlt_check_library_version() function.
\r
139 * Fifo or SHM mode can be changed by compiler switch.
\r
140 * Replaced SHM implementation.
\r
141 * Fixed shared memory problem in DLT library during startup, if application is started before daemon.
\r
142 * Fixed syslog adapter in dlt-system.
\r
143 * Reverted API changes in dlt_register_app() function.
\r
144 * DLT user library does not set the stack size of the receiver thread anymore.
\r
148 * New config files /etc/dlt.conf and /etc/dlt-system.conf must be adapted to the needs
\r
149 * New DLT user lib API dlt_get_log_state() to get DLT client state
\r
150 * New DLT user lib API to manage flow control (needed for bulk data logging)
\r
151 * New DLT user lib API dlt_set_log_mode() to enable/disable internal/external trace
\r
152 * New application dlt-system (filtransfer, proc file system logger,syslog udp adapter included)
\r
153 * [GSW-66] File transfer over DLT.
\r
154 * [GSW-43] Performance improvement for bulk data over DLT.
\r
155 * [GSW-61] Replace command line parameter by configuration file
\r
156 * [GSW-13] Support for keep-alive messages as configuration parameter
\r
157 * [GSW-60] Extended offline DLT Trace memory handling.
\r
158 * Removed filter implementation
\r
162 * [GSW-16] Systemd configuration for syslog to DLT dapater
\r
163 * [GSW-62] DLT Library version check
\r
164 * [GSW-28] Directory where persistent data is stored is not configurable
\r
165 * [GSW-59] Statically allocated large array
\r
166 * Added init script for Ubuntu
\r
167 * Optional adding of gprof compile flags
\r
168 * sprintf with float64 fails on ARM platform; disabled this function on QRM platform.
\r
172 * Moved build process completely to cmake
\r
173 * Added commandline parameter -u to set ring buffer size
\r
174 * Reduced cpu consumption needed by applications using DLT library
\r
175 * Increased default ringbuffer size to 10024 bytes
\r
176 * Changed delay in receiver routine to 100ms
\r
181 * New dlt viewer (QT-based) implementated
\r
182 * Moved to seperate project, see extra Release Notes for DLT Viewer (QT)
\r
183 * DLT Viewer (WX) - Deprecated
\r
184 * Old dlt viewer (WX) is removed now from package generation
\r
185 * Moved to seperate project
\r
186 * Removed filtering of messages during writing to a file
\r
188 * Functions dlt_file_read_raw() and dlt_file_read_header_raw() added
\r
189 * Added support for raw messages in nonverbose mode
\r
190 * Injection tables are now dynamically allocated
\r
191 * Contexts are now dynamically allocated
\r
192 * Added seperate file for platform float types (dlt_float_types.h)
\r
193 and used this types.
\r
194 Attention: This file must be adapted to each target platform.
\r
195 * Removed signal handlers from dlt_user.c; SIGPIPE signal is ignored; atexit() handler still exists
\r
196 * Function dlt_forward_msg() added
\r
198 * Small optimization in get_log_info() for one searched application with one searched context,
\r
199 which is existing in the context table of the dlt daemon
\r
200 * Optional syncing to serial header added
\r
201 * Support for keep-alive messages, realized as seperate thread
\r
203 * Combined dlt-test-user-multi and dlt-test-many to dlt-test-stress
\r
204 * Extended dlt-test-client
\r
205 * Added stress test3 to dlt-test-stress
\r
206 * Added help to dlt-test-stress, printed if no test was selected
\r
207 * Added dlt-test-internal
\r
208 * Removed plugin support from dlt_receive and dlt_convert
\r
209 * Extended documentation
\r
210 * dlt viewer (wx): Fixed minor bug, it's possible now to compile the dlt viewer (wx) again under mingw under Windows
\r
211 * DLT test programs: Fixed minor bug in dlt-test-user, test3f: Wrong counter was used
\r
212 * Removed DLT_LOG calls in injection functions due to problems (application hangs)
\r
217 * The default log level is now shown, if already known
\r
218 * Renamed Filter->New.. to Filter->Delete all filter
\r
219 * Enhanced performance
\r
221 * On crash or termination of application using the DLT library,
\r
222 the registered context and application IDs are removed properly
\r
223 (and are deregistered from DLT daemon)
\r
224 * dlt_register_context_ll_ts() and Macro therefore added
\r
225 * dlt_message_payload() has now additional type DLT_OUTPUT_ASCII_LIMITED
\r
226 * dlt_message_header_flags() added
\r
228 * Support for dlt_register_context_ll_ts() added
\r
229 * Enhanced support for get_log_info (all modes, 1 app all contexts, 1 app 1 context, all apps all contexts)
\r
230 * Added -r option, for automatic sending context information to dlt client; if no client connection is available,
\r
231 this information is stored in history buffer in dlt daemon
\r
232 * Several internal performance optimizations:
\r
233 * dlt_daemon_context_find(), dlt_daemon_application_find(): Now O(log n) instead O(n)
\r
234 * Several functions optimized
\r
235 * Unnecessary functions removed
\r
237 * Moved definition of struct DltUser from dlt_user_private.h to dlt_user.h
\r
238 * dlt.h includes now dlt_common.h
\r
239 * Extended dlt-test-user and dlt-test-client applications
\r
240 * DLT daemon/DLT library: Fixed bug in Filter Delete
\r
241 * DLT daemon: Fixed bug in dlt daemon which leads to a crash, when starting/stoping application, then sending
\r
242 new log level to context of this (now not running) application.
\r
243 * DLT daemon: Fixed bug in unregister application
\r
244 * DLT daemon: Fixed bug in reattach to daemon
\r
245 * DLT library: Fixed bug in send function
\r
246 * DLT viewer: Fixed bug in set default log level
\r
250 * License has changed from ADRLPD to ADRLRM
\r
252 * Support for non-verbose mode (as FIBEX plugin)
\r
254 * Support for non-verbose mode (as FIBEX plugin)
\r
255 * dlt_message_print_* functions added
\r
256 * Semaphore calls added to enable multi-threading
\r
257 * Changed injection interface from direct usage to callback
\r
258 * Requested log level and trace status is set immediately
\r
259 in dlt_set_application_ll_ts_limit()
\r
260 * Implemented receiver thread in DLT library
\r
261 (used for setting of log level/trace status and for injection handling)
\r
262 * Added signal-handler and atexit-handler for cleanup (calls dlt_free())
\r
264 * Added implementation of clientlib and testclient for Windows
\r
265 * Both adaptors sends now log messages with log level DLT_LOG_INFO
\r
266 * Multi-threading example in src/tests/dlt-test-user-multi added
\r
267 * DLT viewer: Right mouse button for loading plugin descriptions (MOST-/Fibex-XML File)
\r
268 is now working (also in Windows)
\r
269 * DLT library: Fixed bug in dlt_print_mixed_string()
\r
270 * DLT library: Fixed bug in dlt_daemon_contexts_get_next_con_id()
\r
271 * DLT daemon: dlt_daemon_process_user_message_unregister_application() also removes now
\r
272 all corresponding contexts
\r
273 * DLT daemon: Added security check to dlt_daemon_control_get_log_info() in order to avoid crash
\r
274 which occured under special circumstances
\r
275 * DLT daemon: Register app now opens the connection to the DLT library,
\r
276 unregister app closes the connection (was before in register context)
\r
277 * Added -lrt to package config file
\r
278 * Resolved dependency from dlt_client.h to dlt_common.h -> dlt_common.h is now public
\r
283 * Reduced load if idle
\r
284 * Modified behaviour of settings in dlt-viewer
\r
285 * Always open tmpfile in dlt-viewer if nothing other is specified
\r
286 * File->Clear added
\r
288 * Added several checks within code
\r
290 * Added several checks within code
\r
291 * Enhanced local print modes:
\r
292 a environment variable now can be used to control local print mode:
\r
293 Variable: DLT_LOCAL_PRINT_MODE
\r
294 Values : "AUTOMATIC" (local print only, if dlt-daemon connection is not
\r
295 available at startup of program using DLT library)
\r
296 "FORCE_ON" (always do local print)
\r
297 "FORCE_OFF" (never do local print)
\r
298 * A client library for writing console client applications (Linux) is now available.
\r
299 dlt-receiver and dlt-test-client uses this new library code
\r
301 * Added seperate file for DltMostMessageHeader type
\r
302 * Added seperate file for DLT protocol values
\r
303 * Relaxed checks for passing trace messages to plugin handler
\r
304 * Tested and improved MOST plugin
\r
305 * Support for float (32 Bit) and double (64 Bit) values
\r
306 * Code fragments for winclientlib and wintestclient added
\r
307 * DLT library: Fixed bug in DLT_IMPORT_CONTEXT
\r
308 * DLT library: Fixed bug in dlt_plugin_print() and dlt_most_payload()
\r
309 * DLT daemon and library: Fixed bug in handling of description strings
\r
310 * DLT viewer: Fixed bug in RMB Click for loading plugin description
\r
311 * General: Fixed parsing and printing of MOST messages
\r
312 * Several small bugs fixed
\r
317 * Showing timestamp
\r
318 * Compiles now with MS Visual C++
\r
319 * Support for loading multiple descriptions
\r
320 of plugins is now possible (*)
\r
321 * Plugin description can be loaded individually
\r
322 by Right-mouse-button (*)
\r
324 * Overflow message is now stored in history buffer,
\r
327 * Ring-buffer for injection messages implemented
\r
328 * History Buffer for Startup + Overflow implemented
\r
329 * Setting of maximum logged log level/trace status for
\r
330 application triggered by application is now possible
\r
331 * Optional local output of Log message is now possible
\r
333 * Support for ARTIS Box implemented (all, without GUI)
\r
334 * Support for timestamp in standardheader extras added
\r
335 * Support for ECU ID in standardheader extras added;
\r
336 this value can be overwritten by the DLT daemon
\r
338 * Store and load application and context description fixed
\r
339 * Fixed crash on termination of Windows version
\r
340 * DLT console utilities:
\r
341 * Fixed printing of filter ids
\r
343 * Big Endian/Little Endian support tested and fixed
\r
344 * Fixed writing and reading of locally created dlt files
\r
345 * Several smaller bugs fixed
\r
349 * Full support for serial connection between DLT daemon and DLT Viewer
\r
350 * Several small bugs fixed in DLT Viewer
\r
354 * Initial Release of new DLT daemon Version 2 including the new DLT Client DLT Viewer
\r