Enable dbus trace when adaptor starts up.
[profile/ivi/dlt-daemon.git] / ReleaseNotes.txt
index 01d6440..a19abe3 100755 (executable)
-DLT  - Automotive Diagnostic Log and Trace\r
-\r
-Version: 2.5.0_BETA\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
-License\r
--------\r
-Full information on the license for this software\r
-is available in the "LICENSE.txt" file. \r
-The full LGPL license is in "LGPL.txt."\r
+Diagnostic Log and Trace  - Release Notes\r
+=========================================\r
+Alexander Wenzel <Alexander.AW.Wenzel@bmw.de>\r
 \r
+Version\r
+-------\r
+2.10.0 STABLE\r
 \r
-Contact\r
+Changes\r
 -------\r
-Alexander Wenzel (Alexander.AW.Wenzel@bmw.de)\r
-Christian Muck (christian.muck@bmw.de)\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
+   * 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
-Changes in this release\r
------------------------\r
-2.5.0_BETA\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
+   * 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
-   * [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
-   \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
@@ -71,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
@@ -87,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
@@ -99,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
@@ -153,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
@@ -168,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
@@ -191,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
@@ -201,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
@@ -216,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
@@ -257,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
@@ -286,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
@@ -296,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
@@ -321,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
@@ -336,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