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