Enable dbus trace when adaptor starts up.
[profile/ivi/dlt-daemon.git] / ReleaseNotes.txt
index 2f5500c..a19abe3 100755 (executable)
-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.0_BETA\r
-\r
-\r
-Introduction\r
-------------\r
-\r
-The DLT daemon is the central component in GENIVI, which gathers all logs and traces from the DLT user applications. The logs and traces are stored optionally directly in a file in the ECU. The DLT daemon 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 individual log levels of applications and contexts or get the list of applications and contexts registered in the DLT daemon.\r
-\r
-\r
-License\r
+Version\r
 -------\r
-see file: License.txt\r
+2.10.0 STABLE\r
 \r
-Contact\r
+Changes\r
 -------\r
-Alexander Wenzel\r
-BMW Group\r
-Alexander.AW.Wenzel@bmw.de\r
-\r
 \r
-Changes in this release\r
------------------------\r
-2.4.3 BETA\r
-\r
-Improvements\r
-   * [GSW-138] API Extension to resend the log messages in the user buffer Fixed\r
-   * [GSW-137] Wrong include gives error on compailing against dlt\r
-   * [GSW-135] Fixed compile warnings \r
-   * Update of doxygen documentation/generation\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
+   * Modified library for new test cases to corrupt data - related to the bug fix for testing signed and unsigned integer\r
+   * [GENDLT-20] Fixed bug to use old cmake version for copy file\r
+   * Replaced dlt-test-filetransfer-image.png with an own created image\r
+   * [GENDLT-21] Fixed bug: Message Counter (MCNT) should be increased but is always 0\r
+\r
+2.5.0\r
+\r
+   * [GDLT-53] Man pages installation included\r
+   * .cproject and .project file for Eclipse included\r
+   * Update of doxygen documentation and generation\r
+   * Rework of root CMake project file, e.g. structure and compile options\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
+   * [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
+   * [GSW-137] Wrong include gives error on compailing against dlt 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
@@ -57,15 +196,12 @@ Bugfixes
 \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
@@ -73,7 +209,6 @@ Bugfixes
 \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
@@ -85,50 +220,34 @@ Improvements
     * [GSW-13] Support for keep-alive messages as configuration parameter\r
     * [GSW-60] Extended offline DLT Trace memory handling.\r
     * Removed filter implementation \r
-     \r
-Bugfixes\r
-    *\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
@@ -139,13 +258,11 @@ Improvements
       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
@@ -154,22 +271,16 @@ Improvements
     * 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
@@ -177,7 +288,6 @@ Improvements
        * 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
@@ -187,13 +297,10 @@ Improvements
                * 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
@@ -202,34 +309,25 @@ Bugfixes:
  * 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
@@ -243,9 +341,7 @@ Bugfixes:
  * 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
@@ -272,9 +368,6 @@ Improvements
        * 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
@@ -282,10 +375,8 @@ Bugfixes
  * 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
@@ -307,11 +398,6 @@ Improvements
        * 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
@@ -322,60 +408,13 @@ Bugfixes
        * 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