-DLT - Automotive Diagnostic Log and Trace\r
+Diagnostic Log and Trace - Release Notes\r
+=========================================\r
+Alexander Wenzel <Alexander.AW.Wenzel@bmw.de>\r
\r
-Version: 2.5.1\r
-\r
-This component provides a standardised log and trace interface, based on the\r
-standardised protocol specified in the AUTOSAR standard 4.0 DLT.\r
-This component can be used by GENIVI components and other applications as\r
-logging facility providing\r
-- the DLT shared library\r
-- the DLT daemon\r
-- the DLT daemon adaptors\r
-- the DLT client console utilities\r
-- the DLT test applications\r
-\r
-The DLT daemon is the central component in GENIVI, which gathers all \r
-logs and traces from the DLT user applications. The logs and traces \r
-are stored optionally directly in a file in the ECU. The DLT daemon \r
-forwards all logs and traces to a connected DLT client.\r
-The DLT client can send control messages to the daemon, e.g. to set \r
-individual log levels of applications and contexts or get the list of \r
-applications and contexts registered in the DLT daemon.\r
-\r
-\r
-Homepage\r
---------\r
-https://collab.genivi.org/wiki/display/geniviproj/Automotive+DLT+%28Diagnostic+Log+and+Trace%29\r
-\r
-\r
-License\r
+Version\r
-------\r
-Full information on the license for this software\r
-is available in the "LICENSE.txt" file. \r
-The full MPL license is in "MPL.txt."\r
+2.10.0 STABLE\r
\r
-\r
-Contact\r
+Changes\r
-------\r
-Alexander Wenzel (Alexander.AW.Wenzel@bmw.de)\r
-Christian Muck (christian.muck@bmw.de)\r
-\r
\r
-Changes in this release\r
------------------------\r
+2.10.0\r
+\r
+ * Fixed: all possible malloc, sprintf and strcpy problems\r
+ * Fixed: Creation of dltpipes directory is too late.\r
+ * Cygwin port: cygwin patch, signal handling patch and cppcheck and install lib dll to correct location on Windows.\r
+ * Fixed compiler warnings with 32Bit gcc compiler.\r
+ * Fixed: Fixed offline trace and new send functions issues\r
+ * Fixed: Bug 172 - DLT system crashes because of wrong journald adaptor implementation\r
+ * DLT Common API Wrapper.\r
+ * Removed dlt_free from example and test applications, already called from exit handler.\r
+ * Fixed missing dlt_receiver_remove in dlt_daemon_process_user_xxx functions.\r
+ * Use LIB_SUFFIX as lib installation path.\r
+ * Fixed serial port not working anymore.\r
+ * Added log output of created socket/port In init phase 2 - socket creation\r
+ * Defined return value for dlt_message_read().\r
+ * Cleanup of send return values.Further cleanup of send restructure.\r
+ * Moved daemon client functions to new source file.\r
+ * Centralised send function to client.Introduced connection state to dlt daemon.\r
+ * Removed check of double registration of contexts in user library, already checked by daemon.\r
+ * When using DLT in console mode on a 64-bit machine, timestamps are corrupted due to an address of a 32-bit value being cast to a 64-bit pointer.\r
+ * Bug 3 - Cmake does not check for zlib for dlt-daemon compilation.\r
+ * Added new control message timezone.\r
+ * Fixed deadlock after wrong merge..\r
+ * Fix potential buffer overflow in offline trace.\r
+ * Fix deadlock in dlt_user_log_reattach_to_daemon(void).\r
+ * Fixed possible crash when runtime configurations files are corrupted.\r
+ * Environement variables added to configure internal logging in library.\r
+ * Reduce Timeout between filetransfer packets.\r
+ * Close socket when send fails.\r
+ * Replace threads by timing fds for ecu version, timing packets and watchdog.\r
+ * Added conntection info and unregister context control messages.\r
+ * Configurable Timeout on send.\r
+ * Added further checks to dlt_buffer.\r
+ * atexit handler fix.\r
+ * Add threadnames to libdlt threads.\r
+ * Security fix on DLT pipes.\r
+ * Reduce usage of SEM_LOCK in application library and reset pointers. \r
+ * Fix: Systemd Journal Adapter provides corrupted output.\r
+ * Fix: Install Example service file only when example enabled\r
+\r
+2.9.1\r
+\r
+ * Implementation of command line tool dlt-control.\r
+ * Fix file transfer bug.\r
+ * Bug 44 - Don't print "Buffer full" message from DLT daemon for each trace.\r
+ * Yocto fix in build builds.\r
+ * Fixed: security issue in dlt-system-shell regarding strncpy.\r
+ * Fixed: Security Issue by Command Injection in DLT System.\r
+ * systemd/CMakeLists: Remove SYSTEMD_CONFIGURATIONS_FILES_DIR existance check.\r
+ * Bug 85 - Include of dlt.h leads to compiler warning.\r
+ * Bug 84 - Adding utf8 support to dlt-daemon, dlt-viewer. Modified patch, originally provided by Stefan Vacek.\r
+ * systemd journal support added.\r
+ * spec file does not package man files when cmake is run with -DWITH_DOC=OFF\r
+ * added length check for paths of files to be transferred\r
+ * Semaphores and Pointer passing insteasd by value and otehr coverity issue fixes \r
+ * Fixed several issues in DLT filetransfer.\r
+ * added creation date and a simple hash on the file name for to improve the uniqueness of getFileSerialNumber\r
+ * modified filetransfer to be more robust in restarting transfers\r
+ * Remove dangling DLT_SEM_FREE from dlt_user_queue_resend\r
+ * Unifed ECU version sending functions\r
+ * Refinements due to problems reported by static code analysis\r
+ * Spec file does no more package man files when cmake is run with -DWITH_DOC=OFF\r
+ * Made the APID strings in dlt-test-multi-process counting from 00-99\r
+ * Added creation date and a simple hash on the file name for to improve the uniqueness of getFileSerialNumber\r
+ * File Transfer: improved robustness in case of restarted ECU/dlt-system with interrupted transfers\r
+\r
+2.9.0\r
+\r
+ * Changed documentation and man pages into asciidoc format.\r
+ * Increased buffer sizes for DLT user library and DLT daemon\r
+ * [GDLT-120]: truncated and Segmented network tracing\r
+ * [GDLT-137]: Automatically try resending of user buffer after FIFO full\r
+ * [GSWD-85]: Added authors file\r
+ \r
+2.8.0\r
+\r
+ * [GDLT-115]: Encapsulate user macros\r
+ * Fix register app and register context was not stored in buffer when FIFO is full. Other controll messages still not saved in buffer.\r
+ * Create new fifo only when same application registers with different pid.'\r
+ * Do not register appliction again, if already registered.\r
+ * Fixed filetransfer not checking buffer fill level.\r
+\r
+2.7.0\r
+\r
+ * [GDLT-24] Fixing compiler warnings\r
+ * [GDLT-94] Optional sending periodic software version messages. See man pages for more informations\r
+ * [GENDLT-26] Check for description length sanity\r
+ * [GENDLT-24] Crash on invalid injection message fixed\r
+ * [GDLT-93] Add -Wextra flags for compilation Fixed all the warnings that\r
+ * [GDLT-90] Optional: systemd watchdog concept in dlt-system and dlt-daemon\r
+ * [GDLT-67] Re-implemented dlt-system. Read full commit message for more information\r
+\r
+2.6.2\r
+\r
+ * [GDLT-89] Fixed daemon doesn't sent the persistent log level\r
+ * [GDLT-88] Fixed wrong initalization order using offline trace function\r
+\r
+2.6.1\r
+\r
+ * Add _GNU_SOURCE Definition to be able to use O_CLOEXEC\r
+ * Added important SEM_FREE in the daemon and closing fd in the filetransfer\r
+ * [GDLT-3] Fixed missing semaphore around dlt_buffer_push3\r
+ * [GDLT-86] Fixed dlt_free uses absolute file path /tmp and not DLT_USER_DEFINE define\r
+ * [D4099] Check for duplicate file handles, and clean them up if found\r
+ * [GDLT-85] Pipes opened multiple times for the same application pid fixed\r
+ * [GDLT-82] Child process inherits file descriptors openend by their parent fixed\r
+ * [GDLT-84] Instead of calling the injection callback, store a pointer to it and the required parameter data fixed\r
+ * [GDLT-70] Check for malloc failures and return errors where applicable\r
+ * [GDLT-47] Avoid discarding old contexts if no new memory can be allocate\r
+ * [GDLT-69] Fixed bug in dlt-test-multi-process shares context between threads\r
+ \r
+2.6.0\r
+ \r
+ * [GDLT-75] Use old style directory check on startup\r
+ * [GENDLT-21] Move mcnt from DltContextData to DltContext\r
+ * [GENDLT-15] Fixes to previous integrations from review\r
+ * [GENDLT-15] Safe re-allocations for databuffer\r
+ * [GENDLT-15] use the correct TEXTBUFSIZE\r
+ * [GENDLT-15] Optimize usege of strlen. Improved log level handling\r
+ * [GENDLT-15] Avoid buffer overrun with snprintf()\r
+ * [GENDLT-15] Check return value of dlt_user_log_write_start(_id) correctly\r
+ * [GENDLT-15] Reduce the number of applications if allocation fails\r
+ * [GENDLT-15] Make dlt_user_log_write_start inline\r
+ * [GENDLT-15] Improve errore checking in dlt_user_log_write_start_id\r
+ * [GENDLT-15] Use databussersize to avoid reallocations\r
+ * [GENDLT-15] Rename buffer size constant to avoid confusion\r
+ * [GENDLT-15] Better error handling when writing to FIFO\r
+ * [GENDLT-15] Remove duplicate msg initialization.\r
+ * [GENDLT-15] Optimize away multiple uses of strlen for one check\r
+ * [GDLT-4] Improve queue handling, allow for other messages while transferring a large file\r
+ * [GDLT-4] Limit maximum file queue to 256 files\r
+ * [GDLT-4] First working version of inotify for file transfer\r
+ * [GDLT-2] First test for filetransfer change\r
+ * [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
+ * [GDLT-2] Fix bug while reading the options\r
+ * [GDLT-2] Allow for enabling/disabling compression for the separate directories\r
+ * [GDLT-2] Check if the file is already compressed\r
+ * [GDLT-2] Link with libz, fix a typo\r
+ * [GDLT-2] zlib based compression for dlt-system\r
+ * Cleaned some warnings generated from removing stale old code\r
+\r
+2.5.2\r
+\r
+ * Change to Mozilla Public License Version 2.0\r
+ \r
2.5.1\r
\r
* Fixed bug with comparinson between signed and unsigned integer and protection for a buffer overflow.\r
\r
2.5.0\r
\r
-Improvements\r
* [GDLT-53] Man pages installation included\r
* .cproject and .project file for Eclipse included\r
* Update of doxygen documentation and generation\r
* [GENDLT-16] Create variable in dlt-system.conf to configure the timeout of the filetransfer\r
* [GDLT-37] Extend automated test tools for parallel process/threads tests \r
* [GSW-138] API Extension to resend the log messages in the user buffer\r
-\r
-Bugfixes\r
* [GDLT-36] Prefixing of dlt_version.h fixed\r
* [GDLT-31] Tracefile content stored different under Ubuntu 64 bit version compared to Ubuntu/Win 32 Bit version fixed \r
* [GDLT-35] Compile warnings fixed\r
\r
2.4.2\r
\r
-Improvements\r
* Added dynamic increasable ringbuffers to user lib and daemon.\r
* dlt-system filetransfer now recovers when file is deleted during filetransfer.\r
* Added check of file size when starting and deleting files during filetransfer\r
* Added chekc of shm buffer availability when push to shm\r
* Create abstraction of shm buffer management.\r
-\r
-Bugfixes\r
* Fixed buffer overflow problem in buffer library.\r
* Disabled share memory by default - disabled completely shared memory if not enabled.\r
\r
2.4.1 \r
\r
-Improvements\r
* Added dynamic increasable ringbuffers to user lib and dlt-daemon.\r
-\r
-Bugfixes\r
* Created abstraction of shm buffer management.\r
* dlt-system filetransfer now recovers when file is deleted during filetransfer.\r
* Added check of file size when starting and deleting files during filetransfer.\r
\r
2.4.1 \r
\r
-Improvements\r
* Added internal logging facility to stdout, syslog or local file, configurable in configuration file.\r
* Added deamonise and signal handlers to dlt-system.\r
* Added manual pages.\r
* Added new API dlt_check_library_version() function.\r
-\r
-Bugfixes\r
- * Fifo or SHM mode can be changed by compiler switch.\r
- * Replaced SHM implementation.\r
+ * Fifo or SHM mode can be changed by compiler switch.\r
+ * Replaced SHM implementation.\r
* Fixed shared memory problem in DLT library during startup, if application is started before daemon.\r
* Fixed syslog adapter in dlt-system.\r
* Reverted API changes in dlt_register_app() function.\r
\r
2.4.0\r
\r
-Improvements\r
* New config files /etc/dlt.conf and /etc/dlt-system.conf must be adapted to the needs\r
* New DLT user lib API dlt_get_log_state() to get DLT client state\r
* New DLT user lib API to manage flow control (needed for bulk data logging)\r
\r
2.3.0\r
\r
-Improvements\r
* [GSW-16] Systemd configuration for syslog to DLT dapater\r
* [GSW-62] DLT Library version check\r
* [GSW-28] Directory where persistent data is stored is not configurable \r
* [GSW-59] Statically allocated large array \r
* Added init script for Ubuntu\r
* Optional adding of gprof compile flags\r
-\r
-Bugfixes\r
* sprintf with float64 fails on ARM platform; disabled this function on QRM platform.\r
\r
-2.2.0:\r
-\r
-Improvements\r
+2.2.0\r
\r
* Moved build process completely to cmake\r
* Added commandline parameter -u to set ring buffer size\r
-\r
-Bugfixes\r
-\r
* Reduced cpu consumption needed by applications using DLT library\r
* Increased default ringbuffer size to 10024 bytes\r
* Changed delay in receiver routine to 100ms \r
\r
-\r
-2.1.0:\r
-\r
-Improvements\r
+2.1.0\r
\r
* DLT Viewer (QT)\r
* New dlt viewer (QT-based) implementated\r
* Moved to seperate project, see extra Release Notes for DLT Viewer (QT)\r
-\r
* DLT Viewer (WX) - Deprecated\r
* Old dlt viewer (WX) is removed now from package generation\r
* Moved to seperate project\r
* Removed filtering of messages during writing to a file\r
-\r
* DLT library:\r
* Functions dlt_file_read_raw() and dlt_file_read_header_raw() added\r
* Added support for raw messages in nonverbose mode\r
Attention: This file must be adapted to each target platform.\r
* Removed signal handlers from dlt_user.c; SIGPIPE signal is ignored; atexit() handler still exists\r
* Function dlt_forward_msg() added\r
- \r
* DLT daemon:\r
* Small optimization in get_log_info() for one searched application with one searched context,\r
which is existing in the context table of the dlt daemon\r
* Optional syncing to serial header added\r
* Support for keep-alive messages, realized as seperate thread\r
-\r
* General:\r
* Combined dlt-test-user-multi and dlt-test-many to dlt-test-stress\r
* Extended dlt-test-client\r
* Added dlt-test-internal\r
* Removed plugin support from dlt_receive and dlt_convert\r
* Extended documentation\r
-\r
-Bugfixes:\r
* dlt viewer (wx): Fixed minor bug, it's possible now to compile the dlt viewer (wx) again under mingw under Windows\r
* DLT test programs: Fixed minor bug in dlt-test-user, test3f: Wrong counter was used\r
* Removed DLT_LOG calls in injection functions due to problems (application hangs)\r
\r
-\r
-2.0.5:\r
-\r
-Improvements\r
+2.0.5\r
\r
* DLT viewer:\r
* The default log level is now shown, if already known\r
* Renamed Filter->New.. to Filter->Delete all filter\r
* Enhanced performance\r
-\r
* DLT library:\r
* On crash or termination of application using the DLT library,\r
the registered context and application IDs are removed properly\r
* dlt_register_context_ll_ts() and Macro therefore added\r
* dlt_message_payload() has now additional type DLT_OUTPUT_ASCII_LIMITED\r
* dlt_message_header_flags() added\r
-\r
* DLT daemon:\r
* Support for dlt_register_context_ll_ts() added\r
* Enhanced support for get_log_info (all modes, 1 app all contexts, 1 app 1 context, all apps all contexts)\r
* dlt_daemon_context_find(), dlt_daemon_application_find(): Now O(log n) instead O(n)\r
* Several functions optimized\r
* Unnecessary functions removed\r
-\r
* General:\r
* Moved definition of struct DltUser from dlt_user_private.h to dlt_user.h\r
* dlt.h includes now dlt_common.h \r
* Extended dlt-test-user and dlt-test-client applications\r
-\r
-Bugfixes:\r
* DLT daemon/DLT library: Fixed bug in Filter Delete\r
* DLT daemon: Fixed bug in dlt daemon which leads to a crash, when starting/stoping application, then sending\r
new log level to context of this (now not running) application.\r
* DLT library: Fixed bug in send function\r
* DLT viewer: Fixed bug in set default log level\r
\r
-2.0.4:\r
+2.0.4\r
\r
-Attention:\r
* License has changed from ADRLPD to ADRLRM\r
-\r
-Improvements\r
-\r
* DLT viewer:\r
* Support for non-verbose mode (as FIBEX plugin)\r
-\r
* DLT library:\r
* Support for non-verbose mode (as FIBEX plugin)\r
* dlt_message_print_* functions added\r
* Semaphore calls added to enable multi-threading\r
* Changed injection interface from direct usage to callback\r
-\r
* Requested log level and trace status is set immediately \r
in dlt_set_application_ll_ts_limit()\r
* Implemented receiver thread in DLT library\r
(used for setting of log level/trace status and for injection handling)\r
* Added signal-handler and atexit-handler for cleanup (calls dlt_free())\r
-\r
* General:\r
* Added implementation of clientlib and testclient for Windows\r
* Both adaptors sends now log messages with log level DLT_LOG_INFO\r
* Multi-threading example in src/tests/dlt-test-user-multi added\r
-\r
-Bugfixes:\r
* DLT viewer: Right mouse button for loading plugin descriptions (MOST-/Fibex-XML File)\r
is now working (also in Windows)\r
* DLT library: Fixed bug in dlt_print_mixed_string()\r
* Added -lrt to package config file\r
* Resolved dependency from dlt_client.h to dlt_common.h -> dlt_common.h is now public\r
\r
-2.0.3:\r
-\r
-Improvements\r
+2.0.3\r
\r
* DLT viewer:\r
* Reduced load if idle\r
* Tested and improved MOST plugin\r
* Support for float (32 Bit) and double (64 Bit) values\r
* Code fragments for winclientlib and wintestclient added\r
-\r
-Bugfixes\r
-\r
* DLT library: Fixed bug in DLT_IMPORT_CONTEXT\r
* DLT library: Fixed bug in dlt_plugin_print() and dlt_most_payload()\r
* DLT daemon and library: Fixed bug in handling of description strings\r
* General: Fixed parsing and printing of MOST messages\r
* Several small bugs fixed\r
\r
-2.0.2:\r
+2.0.2\r
\r
-Improvements\r
- \r
* DLT viewer:\r
* Showing timestamp\r
* Compiles now with MS Visual C++\r
* Support for timestamp in standardheader extras added\r
* Support for ECU ID in standardheader extras added;\r
this value can be overwritten by the DLT daemon\r
-\r
-(*) = feature not enabled in binary build\r
-\r
-Bugfixes\r
-\r
* DLT viewer:\r
* Store and load application and context description fixed\r
* Fixed crash on termination of Windows version\r
* Fixed writing and reading of locally created dlt files\r
* Several smaller bugs fixed\r
\r
-2.0.1:\r
+2.0.1\r
\r
-Improvements\r
- \r
* Full support for serial connection between DLT daemon and DLT Viewer\r
-\r
-Bugfixes\r
-\r
* Several small bugs fixed in DLT Viewer\r
\r
-\r
-2.0.0:\r
-\r
-Improvments\r
+2.0.0\r
\r
* Initial Release of new DLT daemon Version 2 including the new DLT Client DLT Viewer\r
-\r
-Bug fixes\r
-\r
* Initial Release\r
\r
-\r
-Known issues in this release\r
-----------------------------\r
-\r
- * DLT library: Usage of dlt_user_log_write_float64() and DLT_FLOAT64() leads \r
- to "Illegal instruction (core dumped)" on ARM target.\r
- * DLT library: Nested calls to DLT_LOG_ ... are not supported, and will lead to a deadlock.\r
-\r
-\r
-API Documentation:\r
-------------------\r
-\r
- * GENIVI_UserManual_DLT_Daemon.odt\r
- API Documentaion and Programming HowTo\r
- * Doxygen documentation, can be created with "make doxygen", will then be located at\r
- doc/html/index.htm, or doc/rtf/refman.rtf\r
-\r
-Other Documents\r
-----------------\r
-\r
- * GENIVI_UserManual_DLT_Client.odt\r
- User Manual for DLT programs \r
- * GENIVI_Specification_DLT_Daemon.odt\r
- Internals of DLT daemon and DLT library \r
-\r
-Notes\r
------\r
-\r
- * Moved to cmake build process\r
-\r
-Software/Hardware\r
------------------\r
-\r
- * Developped with:\r
- * Ubuntu Linux 9.10 32-bit / Intel PC\r
-\r