DLT Viewer  - Release Notes
===========================
Alexander Wenzel <Alexander.AW.Wenzel@bmw.de>
Gernot Wirschal <Gernot.Wirschal@bmw.de>

Version
-------
Version 2.28.0 RELEASE

Known issues
------------

  * none

Changes
-------

2.28.0

* Fix marker when changing filter (#691)
* add cmake presets and update gitignore
* Fix regexp replace functionality in commander (#690)
* Additionally fix the SimpleWriter by opening a file
* Configure Keyboard Shortcuts (#637)
* Add StartupWMClass to .desktop launcher (#686)
* Restore string arg encoding  (#684)
* Revert "fix: use full qbytearray and not char* conversion"
* Revert "fix: use fromLatin1 for string args with ascii encoding"
* Simplify string arg encoding code
* Adjust test_qdltargument.cpp
* Do not clear ecu tree on log on clearing logs (#680)
* Merge pull request #681 from COVESA/rm-unused-functions
* Remove obsolete unused code
* Merge pull request #679 from COVESA/windows-2025
* Build cosmetic
* msvc 2022
* windows-latest
* MacOS 15
* Prepare CI for qt6
* Rename action job
* Fix ECUs config tree when importing dlp (#668)
* Restore build of the unit tests on CI (#669)
* Persist Search History (#635)
* Remove Unnecessary Plugin Pane Controls (#632)
* Create new DLt file when drag and drop pcap and mf4 files. (#664)
* Request user to save filter, if filter was changed. (#663)
* fix README.md (#661)
* Remove Ubuntu 20
* Fix MF4 Import time calculation. (#656)
* Fixed further occurrences.
* prevent memory leak on each table view context menu open
* fix crash due to wrongly parsed ctrl message (#646)
* tests: add unit test for QDltArgument
* Avoid exception when parsing uninteresting control message
* fix: use full qbytearray and not char* conversion
* fix: use fromLatin1 for string args with ascii encoding
* Add timestamps to split parts
* Implement dlt split feature in commander
* Mark and Jump To Messages (#629)
* Improve Dark Mode Visibility of Scrollbar (#631)
* Fixe performance issue with only tracing. (#633)
* Included the shortcut to the context menu
* Improve Settings Organisation
* Update tablemodel.h
* Distinguish Log Generation and Storage Timestamps
* Document dependencies for executing AppImage
* install required offscreen plugin into appimage
* populate ecus tree efficiently
* Control message payload parsing
* Update mainwindow.cpp
* Copy Message Payload
* Select by commandline signature, which columns are exported in CSV. (#623)
* Remove code duplication when writing dlt message (#615)
* Introduce QDltImporter::makeDltStorageHeader to avoid code duplication
* Improve MainWindow::writeDLTMessageToFile signature
* Use single C-func to get msg timestamp
* Fix incorrect matching algo
* qdltparser.h: drop some more old unused typedefs
* simplify the definition of speed_t across all the different OSes (MAC/WIN/LINUX)
* use std algos
* Use QMutexLocker instead of explicit lock/unlock
* additional minor code improvements
* clang-format ref and ptr to the left
* rm code duplication in plugin manager
* Simplify initConnections
* improve mingw compatibility and free the console in additional places (#588)
* add fixes for mingw compatibility and free the console in additional places
* c++17 flag not needed
* add the freeWindowsConsole function
* Remove inheritence of QDltMsg from QDlt
* Remove unused vars from qdltimporter
* Remove inheritence of QDltArgument from QDlt
* Simplify code in qdltbase
* Move constants from qdltbase to where they are needed
* introduce separate header for C export rules
* rm dead code
* move search form specific vars from mainwindow
* Merge pull request #602 from COVESA/remove_qmake_1
* Remove qmake windows build scripts.
* No use of QtGlobal in c-code
* Add missing includes
* Set C standard to c11
* Add missing includes
* Introduce EcuItem::find method to accelerate search
* Prettify a bit controlMessage_ReceiveControlMessage method
* Remove redundant check
* Various code fixes
* Set filter range end automatically to end of file. (#600)

2.27.0

* Fix MF4 import with only one datablock. (#596)
* Build app for ubuntu 22 and 24
  Rename Linux build
* Rename Linux build
* Fix multifilter export filepath
* Multifilter export feature for dlt-commander (-multifilter) (#591)
* DLT Commander remove creation of Filter index when exporting to speed up. (#590)
* Remove extra thread for filter index to improve performance. (#589)
* Updated Info.plist.in
  Added minimum macOS version and category of application
* Updated icon to meet Apple signing requirements
* Improve speed MF4 import. (#585)
* Background thread for export. (#584)
* Background thread for import. (#582)
* Progress output in dlt-commander. (#581)
* Remove unused mcudpsocket class (#579)
* rm unused mcudpsocket
* add clang-format settings file
  No enforcement, just as a tool and reference for
  those who want to have convenient and consistent way
  to format their code.
* Fix wheel scrolling of the main tableview (#580)
* LRU for main table model (#575)
* Add generic lrucache structure
* Use LRU cache
* Handle color of corrupted messages
* Change table view font on Ctrl + Wheel combination (#578)
* Fix for command line parser issue with multiple arguments with same type. (#574)
* Reapply "Use QCommandLineParser instead of custom cmd args parsing (#543)" (#566)
* Simplify handling of logging only mode in log table view (#569)
* Improve progress output. (#571)
  Fix add multiple filter to dlt commander.
  Enable filter when providing a filter file by the commandline.
* Remove CtxId check from Filetransfer Plugin. (#570)
* Add dlf file extension when saving filter (#567)
* Windows update Script to use Qt 6.7.3. (#568)
  Windows Multicore build for qmake.
* Add QDltOptmanager unit tests and minor cleanup (#564)
* Add unit tests for qdltoptmanager
* Avoid double work when adding cmd argument
  Reuse help text in main window
* Avoid duplicate text on --version call
* Remove redundant code in QDltOptmanager singleton
* Avoid -Wempty-body compiler warnings
* Fix and Improve RegEx Replace feature. (#565)
  RegEx Replace will only be executed when filter matches.
  Re enable RegEx Replace for DLT Export, no influence on non verbose messages anymore.
* Linux build only with cmake in CI
* Rename qmake build file for Windows
* Rename build file for Darwin
* Revert/Remove Regex Replace feature for DLT Export. (#556)
  This causes currently issues with non verbose messages.
* Fix setting filter index range start and stop when filter are active. (#555)
* Revert "Use QCommandLineParser instead of custom cmd args parsing (#543)"
* Enable Filter Regex Replacement also for exporting into DLT format. (#554)
* Use QCommandLineParser instead of custom cmd args parsing (#543)
  - avoid code duplication by reusing help text in main window
  - add tests
  Add QDltOptManager::reset method to have possibility
  to test the singleton
* Improve speed of MF4 and PCAP import. (#553)
  Enable MF4 import of multiple data frames.
* Additional port 3489 for DLT MF4 Import. (#552)
* Reorder label in MacOS release job
* Include MacOS artifacts to release action
* MacOS release with codesign and notarization
* Fix MAcOS release artifacts
* Change regex replace func from std to qt internal. (#546)
  CAUTION: Replacement placeholder changes from %1 to \1 .
* Extend regex replace filter operation to all functionalities. (#545)
* Fix qmake build (#544)
* Run unit tests for Linux on CI (#538)
* Build unit tests on CI
* Run tests upon Linux build on CI
* Accelerate linux build
* Enable Debian build for noble. (#542)
* Skip notarization on a fork
  https://github.com/orgs/community/discussions/25217#discussioncomment-3246904
* Removed creating tar from build
  removed tar command from build as after notarization, binaries are tar'ed
* Download on release MacOS x86 and arm64 artifacts separately
   Notarization (copy)
* Format yaml file
* Notarization
  Adding signing of macOS apps
  Notarization
  Syntax fixed
* Make code backward compatible with Qt 5.12 (#531)
  Names of the signals changed between Qt 5.12 and 5.15,
  while we still need to maintain compatibility with 5.12
* Keep console logging if app is launched from cmd (#528)
* Increase precision of float ouput to 8 digits (#530)
* Bump action
* Abi in MacOS artifacts
* Replace search progress dialog with an in-place progress bar (#509)
* replace progress dialog with built-in progress bar
* Adjust search input margins
* Remove dead code related to payload range search functionality (#525)
* remove functionality of payload search range
  It was broken for long time and most probably
  unused
* Adjust layout of search dialog
  Compensate gap due to removed payload-range
  input fields
* fix signal for socket error (#519)
  The QAbstractSocket::error signal existed in Qt<5.15, but was renamed to
  QAbstractSocket::errorOccured probably to avoid
  https://stackoverflow.com/a/48250710
  Since the codebase still uses the old style of connections
  the compiler could not detect that signal does not exist anymore
  and error was reported only on runtime:
  "qt.core.qobject.connect: QObject::connect:
  No such signal QTcpSocket::error(QAbstractSocket::SocketError)"
* Testable search (#505)
* Make tempPayload a local var
* establish tools lib and tests infra
* rm redundant SearchDialog::is_TimeStampRangeValid state var
  If timestamp range search is selected
  the loop will only continue if range is valid. It does not make sense
  to check in functions below if range is valid since otherwise
  that code cannot be even reached
* implement matching for ctx and app Ids
* use ctxid and appid match functionality in app
* TimestampRange
* use new timestamp filtering
* text search using dltmessagematcher
* fix build
  move matcher to qdlt lib
  enable c++17 in qmake config
  The new code uses variant and optional
  added in c++17 standard while qmake config was
  setup restricted to c++11
  enable tests only if gtest package found
  Set c++17 standard in cmake
  export class for windows linker
* change parent of actions in config context menu (#522)
  MainWindow was set as a parent of the context menu actions
  as a result all actions ever created (upon each ctx menu open)
  in one program session remained on heap until program is closed.
  Assigning local menu variable as a parent deallocates actions
  when menu is closed
* Mac app store (#521)
* Update README.md
* Update INSTALL.md
* Fix MF4 Import. (#518)
* install qoffscreen plugin on windows (#510)
* New command line option delimiter for CSV export. (#515)
  Set dlt-commander export timezone to default.
* Revert Rename of dlt_common. (#512)
  Enable plugins if disabled when pre command called.
* Rename dlt_common.c into dlt_common.cpp. (#506)
  This makes sure c++ compiler is used and not plain c, failing with some error.
  macOS Catalina
* Update INSTALL.md
* Update README.md
* Update build.sh
* Fix more compilation warnings (#499)
* fix warning in PluginTreeWidget
  due to comaprison of ints with different signedness
* fix warnings in DltImporter::dltIpcFromMF4
  comparison of integer expressions of different signedness
* fix warnings in QDltMsg::checkMsgSize
  comparison of integer expressions of different signedness
* fix warnings in SettingsDialog::writeDlg
   using integer constants in boolean context
* fix warning in QDltPluginManager::setPluginPriority
  + additional minor fixes
* rm unused QDltPluginManager::sizeEnabled
* replace deprecated constructor of QMessageBox
* fix cast warnings in QDltArgument
* DLT Commander Tool (#500)
* Move Export, Import and Fieldname classes to qdlt.
* Current limitation that progress bar is not updated.
* First DLT Commander tool.
* Command line only tool for environments without Qt GUI.
* Finish first commander version.

2.26.0

    * Remove all zeros in every output of payload.
    * Add status badge
    * Cleanup commandline output. (#498)
    * Fix filter menu. (#497)
    * Reduce command line dlt file load progress update.
    * Remove unused code and silence a deprecation warnings (#496)
    * remove unused SearchDialog::payLoadValidityCheck
    * silence warnings due to deprecated Qt settings
    * silence Qt6 KeyCombination deprecation warning
    * Fix filter active color. (#494)
    * Fix Multifilter feature, expecially with older Qt version. (#493)
    * Switch to Qt 6.7.2
    * Enable Plugin when sending command line command to plugin. (#490)
    * Remove Windows Vista support. (#489)
    * Cosmetic to display OS in pipeline
    * Remove pointless comment
    * updated qt for arm64
    * follow brew install suggestions
    * Build on arm64
    * Brew relink
    * Run on MacOS arm64 runner
    * Update Debian build script. (#486)
    * Build any pullrequest
    * MacOS build more verbose
    * Fail fast in matrix CI jobs
    * Enable Offscreen mode in silent mode. No display needed anymore in Linux. Runs now also on Servers without X Display. (#483)
    * Corrections in command line usage help.
    * Fixed some compilation warnings (#474)
    * Allow conversion of input files in stream format (#475)
    * Fix dark mode. (#481)
    * Add tooltips to logs (#476)
    * Update Windows Build script to Qt 6.7.1 (#480)
    * Fix open and append dialog case sensitive endings. (#473)
    * Filetransfer Plugin: - Default Save path (#471)
    * Copy ID and filename in context menu
    * Update Plugin version number.
    * Fix DLTv2 support. (#472)
    * Add getDLTv2Support function.
    * Remove Reset Default Filter. (#466)
    * Fix baudrate disabled. (#462)
    * Allow loading multiple configuration files in one plugin separated by |.
    * Change Export to simplified payload. (#459)
    * Added Baudrate 1000000 to serial port.
    * Update debian build package to focal. (#458)
    * Further Cleanup Open and Append commands. (#456)
    * Integration of PCAP/MF4 Import into Open/Append command.
    * Filetransfer Plugin: Fix crash with Qt6 (#455)
    * Support DLTv2 decoding as an option in the settings (#454)
    * Fix Filetransfer Plugin Qt6 issue. (#452)
    * Update build script to Qt6.6.2.
    * Update version info.
    * Fix crash in cache by using Mutex (#451)
    * Clean up convert command line command. (#450)
    * Explicit terminal command in command line.
    * Terminate command line only when terminate command used.
    * Multiple Filter per command line.
    * Combination of Import and Convert now possible.
    * Reorder command line commands.
    * macOS: Skip installation of QT5 dependencies (#449)
    * Remove Qt Gui/Widgets dependency from qdlt library. (#447)
    * QT 5.15.2
    * Fix commandline (#441)
    * Fix compiler warnings
    * Fix commandline pre plugin command
    * Fix compiler warnings (#439)
    * Fix import from pcap file dialog. (#438)
    * Fix import from pcap file dialog.
    * Import DLT from PLP in pcap.
    * Fix DLT Import from IP Segmentation.
    * Import DLT messages from further MF4 files.
    * Fix Max File Size Checkbox in the settings.
    * Remove null characters when exporting to clipboard (#435)
    * New DLT Message Cache. (#437)
    * Cache size can be changed in the settings.
    * Improves GUI Response speed already with small cache size.
    * Improves filter and search speed, when cache size is set to bigger value.
    * Pcap and mf4 import improved Explorer widget support. (#436)
    * Multiple files in open dialog now possible.
    * Single import command for pcap and mf4.
    * Support IP segmentation in pcap and mf4 import (#434)
    * Improve pcap and mf4 import. (#432)
    * Mf4 Import: Check record ids.
    * Drag and Drop multiple pcap and mf4 files.
    * Explorer tab pcap and mf4 lading support.
    * pcap and mf4 import: Commandline and silent mode support.
    * Limit table model output to 1000 characters.
    * Add MF4 import PLP Raw support.
    * Fixed MF4 import timestamp calculation.
    * Prevent MF4 import duplicate messages.
    * First MF4 import support. (#431)
    * New file/class for import functions.
    * Add Visual Studio Professional support.
    * Add further EtherTypes to pcap import (#429)
    * Separate installation directories. (#424)
    * Fix Qt6 issues (#423)
    * Logging only filtered messages feature (#418)
    * Open DLT file writable only when needed. (#417)
    * Fix new plugin commands from command line. (#415)
    * Log files, project file and filter file can now be loaded in commandline without option. (#413)
    * Allow mixing project and dlt files directly (#403)
    * Set working directory from cli (#402)
    * Improve non verbose mode plugin: (#412)
    * Prepare Qt6 build. (#411)
    * Remove Qwt support.
    * Remove dlt-speed example.
    * Dot matches newlines in regexps (#401)
    * Show XCode version
    * MacOS 13; XCode 15.2
    * XCode 15.2 on CI
    * MacOS 13 on CI
    * Support Qt6

2.25.0

    * Experimental IPC import from PCAP file
    * filetransferplugin: Present save popup once (#392)
    * Fixes a bug where doFLDA was erroneously called on messages ending
    * Adds FiletransferPlugin::doFLFI which emits a new signal
    * Allow passing multiple dlt files on commandline (#390)
    * More search history (#388) 
    * Add more keyboard shortcuts (#387)
    * Add shortcut to focus search input
    * Add shortcut to apply config
    * Add filter shortcut
    * Improve speed of non verbose plugin Fibex loader (#386)
    * Fix non-monotonic timestamps under Windows
    * Remove Linefeeds and Cariage Returns in CSV Export of ECUId, AppId and CtxId.
    * Fix also Timezone export for CSV and Jira
    * Fix to use configured timezone during export
    * Import from PCAP file
    * Disable Completer in Injection Dialog
    * Update INSTALL.md
    * Release with auto. generated changelog
    * Merge pull request #373 from SangTruongTan/build-on-apple-silicon
    * No viable conversion from 'QDltDataView' to 'QByteArray'
    * Revert "Build on Apple Silicon"
    * Build on Apple Silicon
    * Show cmake version
    * Fix release on CI
    * Code format
    * Improved speed when loading DLT files, when plugins and filters are disabled
    * bugfix: install qt5 dev packages manually since qt5-default is not available

2.24.0

    * Close ECU connections before loading new project to prevent crash of DLT Viewer.
    * Fix plugins shown, even if they are disabled at startup.
    * Fix settings ui.
    * Fix crash when opening plugin context menu. (#354)
    * Support joining multiple Multicast Addresses (#353)
    * Support Multiple DLT messages in a single UDP message (#349)
    * Fix ECU Dialog structure
    * Add qt version define comparison (#348)
    * Support of DLTv2 protocol
    * Do not bind to Multicast Group when connect to UDP connection.
    * Fix crash when right on Explorer tab in some specific empty area (#345) (#346)
    * Add new option to save temporary file on exit. (#343)
    * Temporary files were not saved before.
    * Improve performance of UDP reception.
    * Add setting to ECU to select storage header version.
    * Write always ECU Id as configured in ECU settings.
    * Always write Control messages to DLT file.
    * Do not interpret control messages during UDP reception.
    * Fix Settings Maximum file size cannot be changed anymore (#342)
    * Update cmakelists.txt to set RPATH only if requested (#329)
    * DLT_USE_QT_RPATH variable is meant to set RPATH only when set to ON, not regardless of its value.
    * Fix installation of icons and other resource files
    * Ignore installation of other tools
    * Install in qdlt subdirectory, to avoid clashes with similar-named files
    * convert.sh: delete intermediate files after creating final pdf pages (#331)
    * version.cmake: if no git is found, just leave GIT_PATCH_VERSION set as null. (#332)
    * Distributions are not using the same git tree as upstream, or no git at all, so this check can't succeed
    * Fix build fail on Darwin. (#326)
    * Darwin script still references Qt5 rather than Qt6.
    * Changed to ${QT_PREFIX}:moc to be compatible on both Qt5 and Qt6
    * Fix QString from QByteArray length error with Qt6 (#336)
    * Add Segmentation Decoder Plugin.
    * Update DLT Viewer to support Segmentation Plugin.
    * Basic segmentation support
    * Support DLTv2 non verbose messages
    * Add DLTv2 storage header
    * Update DLT Viewer Plugin for DLTv2
    * Cleanup parameters.
    * Add missing parameters.
    * First support of DLTv2 protocol, but still without Storageheaderv2
    * Update version to unstable
    * QT 6 support code changes  (#324)
    * Include_fix: Corrected all qdlt includes
    * tested with Qt 5.15.2 and Qt 6.2.2
    * tested on Windows (MSVC 2019) and Linux (gcc 11)
    * QDltPlugin doesn't need forwarded classes anymore
    * QDltPlugin matches plugininterface more closely
    * moved includes from qdlt.h into respective headers
    * analysis with clang and clazy now possible
    * Include_fix: Corrected all qdlt includes
    * fixes unknown _timezone and _daylight
    * QT6: Batch script update
    * batch files support Qt5 and Qt6
    * QT6: CMakeLists update
    * CMakeLists support Qt6 and Qt5
    * removed QT5_WRAP_UI call as CMake 3+ handles that
    * added define for Qt5/Qt6 compat code
    * QT6: Added support for QT6
    * replaced QRegExp with QRegularExpression
    * replaced qSort with std::sort
    * replaced QString!=0 with QString!=nullptr
    * replaced QByteArray.append(QString) with QByteArray.append(QByteArray)
    * replaced sprintf() with asprintf()
    * replaced load() with loadRelaxed()
    * replaced store() with storeRelaxed()
    * added ifdefs for Qt < 5.14
    * Qt6 changes
    * Check build
    * QTVER reset to 5.15.2
    * MSVC_DIR path reset
    * reset code changes for QT 5.12.12 compatible
    * code cleanup
    * reverted changes in src/cmake/Darwin.cmake file
    * qmake build issue resolved by defining variable, removed QT5 specific checkes
    * windows check added to check linux build failed
    * reverted last code changes
    * windows specific code changes

2.23.0

    * Fixed menu name set selected filters active/inactive. (#306)
    * Fixed links to Homepage. (#305)
    * Fix filter range end (#302)
    * Filter Range should Enabled/Disabled on Filter Enabled option (#301)
    * Bump jurplel/install-qt-action from 2 to 3 (#300)
    * Filter in selected Index Range (#298)
    * [ISSUE #292] Fix dead-lock in the dltpluginmanager (#293)
    * Remove unnecessary settings check
    * Remove the name GENIVI in the header of all source files. Replaced genivi.org with covesa.global in Links
    * Notify user about changed settings
    * Use UI theme depending on user choice
    * Add theme selection option in settings dialog
    * Add dark mode for Windows
    * Ensure that no-one tries to set negative priority
    * Read and store of default plugin execution priority settings
    * Initialize plugin execution priority without triggering any events
    * Read/Write of Plugin priority into project file
    * Add sorting methods for plugin priority in TreeWidget
    * Avoid child items to be draggable in Plugin Widget
    * Enable Drag & Drop in PluginTreeWidget
    * Cleanup PluginItem (QTreeWidgetItem)
    * Allow to move up/down the Plugins in the TreeWidget
    * Add "move-up", "move-down" to plugin context menu
    * Plugin "move-up", "move-down" buttons enabling
    * Add UI elements into Pluginlist (MainWindow)
    * Reordering of Plugins in PluginManager
    * added feature to export (selected) Dlt messages as Jira table
    * Fixed message len for generated message from QDltMsg in case of using sessionId, timestamp and ecuId
    * Add further commands to DLT Test Robot Plugin.
    * Fix filter in DLT Test Robot Plugin
    * Select UDP interface by interface name instead of IP address
    * Improve selection of serial port
    * Fix udp performance
    * Linux scripts cleanups (#257)
    * Add plain serial sending ability for send injection on serial ascii mode (#263)
    * Add file explorer feature (#253)
    * Bump actions/download-artifact from 2 to 3 (#265)
    * Fix Action build
    * Bump actions/checkout from 2.4.0 to 3 (#258)
    * Bump actions/upload-artifact from 2.3.1 to 3 (#259)

2.22.0

    * Build macOS package with CPack (#256)
    * Generate NSIS installer (#252)
    * Local Index directory instead of global directory. (#254)
    * Fix export to clipboard sometimes incomplete (#251)
    * Generate AppImage (#248)
    * CMake Windows Build improvements (#250)
    * Prepare v2.22.0 (#249)
    * Adapt cmake build (#244)
    * fix: persist bool args with DLT_TYLE_8BIT (#247)
    * Fix bat build
    * Central config for all Windows batch files (#240)
    * Update to Qt 5.12.12, Visual Studio 2017 Build Tools, simplify and cmake (#239)
    * Windows build script improvements (#226)
    * Fix rmdir usage in Windows build script
        Apparently, there are problems setting the errorlevel
        variable after rmdir was called and if errorlevel is
        checked afterwards it will be always reported as 0,
        although there were errors when deleting the directories/files.
        Executing the "rem" command on error works around this
        issue. For details see https://stackoverflow.com/a/11137825
    * Windows build script improvement for automation
    * don't prompt for user input at the end
    * exit only the script (exit /b) instead of the whole cmd process
    * Add interactive build script for Windows that waits for user input when finished
    * Remove unnecessary connect and disconnect during reload log file (#230)
    * User experience enhancements for filters (#227)
    * add "Filter Clear all" option to Filter table context menu
    * support deleting all selected filters (multi-selection support)
    * support deleting all selected filters with the DELETE key
    * Hide parse directory progress bar when "--no-gui" option is used (#219)
    * Minor refactoring at mainwindow and DltExporter  (#216)
    * [DltExporter] Remove '\n' from the end of clipboard string
        It's not needed since it's at the end.
    * [dockWidgetSearchIndex] Add results count to dockWidgetSearchIndex title
    * Support more serial baudrates (#213)

2.21.3

    * Initial version of DLT Test Robot Plugin
    * Fix DLT injection multiple messages
    * Added filter function to DLTTestRobot plugin
    * Keep whitespaces in ascii export (#210)
    * Fix serial connection stopped when tcp disconnected (#209)
    * Fix crash when TCP connection stopped and Serial connection available (#207)
    * [Bugfix] Avoid error Message when cancelling open filter dialog (#204)
    * Add "Save IDs to csv" to config tab (#206)
        to get a list of registered APID/CTID + description from a dlt log file and save it as comma seperated file
    * Count up version of filetransferplugin
    * Increased priority of manual markers (#195)
    * Remove using default filter index (#194)
    * Removed App Id from Filetransfer Plugin (#193)
    * Disable RPATH usage: (#192)
        Make the usage of RPATH settings to detect non-standard QT
        installations optional.
    * Reduce macOS builds (#190)
    * Keep windows artifacts (#189)

2.21.2

    * Bugfix: re-enable UDP reception which was destroyed due to regression in 18.6.20 remove warning "Attribute Qt::AA_EnableHighDpiScaling
        must be set before QCoreApplication is created" Signed-off-by: Gernot Wirschal <gernot.wirschal@bmw.de>
    * Windows release artifact (#187)
    * Use qt 5 on macOS (#186)
    * Release action (#184)
    * Remove Windows warning (#183)
    * Ignore Intellij files (#182)
    * Make Linux artifact executable (#181)
    * doc: Fix executable name (#180)
        executable name is dlt-viewer.
        Fallout from commit 0e6539e2a5ec6a3d3e5bbb2360463328073e70ea.
    * Artifact name
    * Remove pointless comment
    * appveyor build replaced by github actions (#173)
    * Introdcue Dependabot to keep actions up to date (#170)
    * Pause build windows on desktop when finished (#169)
    * Build on GitHub (#165)
    * macOS build on Github CI
    * Remove Travis
    * Reduce XCode builds
    * Make Windows Builds work
    * use correct exit codes for the three .bat files
    * upload a complete artifact including QT DLLs
    * make some parameters for the bat files CI-Friendly
    * No build for Ubuntu 16.04

2.21.1

    * New Connection type Serial ASCII (#166)
        Provide a new connection type "Serial ASCII" for serial ASCII terminals.
        All received lines over a serial line are converted and written into DLT message into the currently opened DLT file.
        Select Interface Type "Serial ASCII" in the ECU configuration.
    * Fix selection problem when index column not visible (#163)
    * Fix no update of empty search table (#162)
    * Fix read of DLT with DLT header in payload (#121)
    * Remove wrong (swapped) clone commands for macOS (#152)
    * Build on macOS Big Sur (#151)
    * CI scripts execute able (#150)
    * attempt to fix icon for macOS (#149)
    * Fix index out of range issue (#160)

2.21.0

Features:
    * Fix table model colors
    * Fix forground color issue in search table model
    * Fix serial connect problem
    * Using better threshold for text color
        Improved the selection of the text color based on the background. Also
        fixed calculation (the real value has been used for red rather than the
        uint8 value).
    * Enable optional append for default filters
    * Combo Box for default filter is capable of search
        Allow to search a filter by a piece of the name in the defaultfilter
        combobox.
    * Load dlf from subfolders
        Enabled the loading of .dlf from subfolders within the default filter
        location. Symlinks are also allowed.
    * changed regex filtering to only visualization data
    * added search/replace to table models
    * added regex setting to filter config
    * added regex controls to filter menu
    * Enable optional append for default filters
        If the checkbox is activated and default filter is selected it is
        appended rather than replacing the previous filters.
    * add extended nonverbose messageid support: column,filter,search
    * restore settings option ShowArguments
    * Sync view menu checkboxes with restored window state
        When the application is restarted the visibility state of the dock
        widgets does not reflect the checkboxes in the View menu. This will
        require activating menu items twice to make them in sync.
    * Introduction of the QDltFile::getFileMsgNumber method
        - Addition of the QDltFile::getFileMsgNumber method, which allows to get number of messages of the underlying file object
    * dltexport: Cancel message export implemented
            Add commandline progress output
        dltindexer: local variable covered parameter
            more detailed debug output
            fix progressbar overflow
        mainwindow: avoid error output ERROR: bytesRcvd <= 0
            when ECU in dlt file is given
            dlt injection: fix error when UTF8 ( chinese character)
            transmitted
        settingsdialog: avoid crash when resetting settings due to version change

Fixes:
    * src/filterdialog.cpp: Use QPalette::Window instead deprecated QPalette::Background
    * Fix Filter Log Level Min Max enabled by mistake.
    * Sort by time/timestamp keeps index order
        For messages that have the exact same time/timestamp, we keep the same order for the messages by using their index.
    * Fixed scroll in table view in case when Index column is hidden; disabled autoscroll to the right in search results
    * Fix filter load in case of error
        If a corrupted file has been passed to LoadFilter it still tried to load
        the filters after notifying the loading of the file failed. This caused
        a crash. Also the duplicate Messagebox has been removed.
    * Set scaling attributes after create QApplication
        Qt requires these attributes set after the creation else it will stay
        blurry on macOS.
    * Plugins are not working on Mac
        Change description:
        - Updated the INSTALL.txt for build instructions for release version using qmake on MacOs
        Verification criteria:
        - Build on MacOs Catalina Version 10.15.3(19D76) and checked
    * Fast bugfix for livetracing in dltfileindexer.cpp - disconnected when broom used
    * CMake build is not supported for MSVC
        - Introduction of wrapping GCC specific flags into "not MSVC" condition to avoid build fail for MSVC CMake build
    * Fixed enableMessageId in filter configuration file.
    * Do not raise search results panel every time the filters are updated
        If the user explicitly hid it they most likely prefer to keep it hidden.
        The panel will still be shown when the "FindNext" action is activated.
    * Fix non-standard binary install destination
        Use the destination variables defined in the toplevel CMakeLists instead
        of the hardcoded "deploy" directory. This makes the "install" target
        behave in the standard CMake way, i.e. allows to relocate the whole
        installation tree using CMAKE_INSTALL_PREFIX and find the binaries in
        the expected place.
    * Fix case insensitive regexp match in filters
        - Fix inverted condition when setting pattern options.
        - Fix incorrect passing of case sensitivity flag as match offset which
          prevented the ^ anchor from working.
    * Bugfix export index range
        Commandline mode: option -l, create file if not existing
        Adapt progress indication for index creation in commandline mode

2.20.0

    Features:
    * Added Travis CI support
        Build Matrix includes the following systems:
        - Ubuntu 16.04 (Xenial)
        - Ubuntu 18.04 (Bionic)
        - macOS 10.13 (High Sierra)
        - macOS 10.14 (Mojave)
    * High DPI Displays Support [macOS]
    * Add export of dedicated index range in GUI mode
    * Selection of all font settings for table view and search table view.
    * Added also setting of section height of table view.
    * Filetransfer Plugin: add autosave option. When an autosave directory
       is given in the configuration file, completed filetransfers
       are automatically stored to the given directory
    * Sort by target time stamp
    * MultiSelectionMode for the Filter-Configuration-Dialog
    * Use the same application icon for ui files and desktop file
    * follow Freedesktop convention for application icon
    * follow Freedesktop convention for .desktop file
    * Ignoring *.orig backup files from KDiff3
    * added marker colors to searchtablemodel
    * Extension of QDltPluginControlInterface with new notification events
        - Add possibility to inject message decoder facade into the plugin
        - Add possibility to inject main table view into the plugin
        - Add possibility to notify the plugin about the changed configuration
        - Extend comments of QDltPluginViewerInterface
    * Add file error counter to statusline
    * Wrap filename in statusline to be able to more decrease the width of main window
    * Add pdf version of manual to repo
    * Further improvement and speed up indexing algorithm.
    * Move OptManager to qdlt.
    * Renamed OptManager into QDltOptManager.
    * Moved QDltSettingsManager to qdlt library.
    * Renamed DltSettingsManager into QDltSettingsManager.
    * Seperated settings from UI.
    * Moved local read/write routine to QDltSettingsManager.
    * Updated cmake files.

    Fixes:
    * fix and cleanup settings parameters.
    * fix ignoring of plugin return codes in qdltplugin
    * fix: macOS qmake build: Corrected the `rpath` option for macOS
    * bugfix: access to deleted object when closing down viewer
    * fix crash DLT Viewer with defect DLT file
    * fixed problem Serial connection with "Sync to Serial Header when receiving"
    * bugfix: errortext returned by plugin was not displayed
    * fix filter item is checked but not enabled Signed-off-by: Olaf Dreyer <olaf.dreyer@partner.magna.com>
    * fixed console mode
    * fix Search Completer not working case insensitive
    * fixing misbehavior of the Non-Verbose-Plugin on using multiple FiBEX files in one directory
    * fixing link problem on mingw64_64
    * fixing compile problem on mingw64_64
    * fix:Linker error with stdc++ library in linux version
    * rename dlt_parser to dlt-parser
    * rename dlt_viewer to dlt-viewer
    * gitignore: Ignore gedit backup files
    * fix: Dlt Viewer Segmentation fault when dummy viewer is enabled manually
    * fix Appveyor build
    * fix udp port saving & loading
    * fix self assigned variable warning
    * fix cmake warning for Mac OS.
    * fix speedplugin example, needed due to plugin interface extension
    * add qdltmessagedecoder to cmake to fix build issue
    * fix exec name in dlt_viewer.desktop file
    * Bugfix: sporadic segfault in commandline convertion mode



2.19.0
    * Adjust to cmake changes
    * QTextStream wants an IO target. Fixes a crash when a plugin failes to load
    * Changed ambiguous wording in documentation for CMake builds (#44)
    * Fixed corrupt message received when the DLT frame starting sequence is detected in the payload.
    * Fix the manual trigger for all ECUs
    * README: Fix links to mailing list and wiki page (#42)
    * Added infos on how to build on MacOS (#40)
    * Remove null termination from injection message (#39)
    * getloginfo payload content is missing the last byte (#37)
    * Control response message always report ok (#38)
    * WIP on master: e43ab83 Update documentation
    * index on master: e43ab83 Update documentation
    * Update documentation
    * Fix binary name.
    * Fix required CMake version and remove unnecessary duplicates
    * Enable marking/color highlighting of lines in the table view
    * Get target software version again after clear
    * Fix error messages in file transfer plugin:
    * Bugfix "corrupted message" when using "no index cache mode"
    * Prevent table view from displaying multiline rows
    * deleted obsolete image from documentation
    * optimize ::read()
    
    * DLT Payload with \n\r breaks the output in the search results
    * Add documentation for UDP reception
    * Add UDP Unicast / Multicast reception:
    * DLT Payload with \n\r breaks the output in the TableView
    * Change QRegExp to QRegularExpression in qdlt/filters
    * Add regular expression option to Application Id field in filters
    * Add "search" to documentation
    * Rework search functionality:
    * Add 'Copy Selection Payload to Clipboard' menuitems to tables
    * remove non functional "Sow argument columns"
    * remove obsolete and confusing icon
    * fix broken file split functionality
    * Add message injection example in speed plugin
    * Update documentation
    * Bugfix in mainwindow destructor
    * Extend user manual and change to Latex input format
    * disable call of plugin decode if plugins switched off
    * rework and fix speed plugin to build and run
    * Add "Resize columns to fit" context menu item to main table
    * fix compiler complaint
    * fix windows parser build bat file
    * Fixing unstable behaviour in MainWindow::nearest_line
    * fix broken cmake build of qdlt
    * Revert "fix broken build in the parser"
    * Timing packets typo in ECU configuration ecudialog.ui
    * re-activate automarking of messages warn/error/marker
    * add packet version to support email
    * fix broken build in the parser
    * add debian packet build example for Ubuntu 18.04
    * Fix file copy error in SDK generation batch file
    * Fix "CORRUPT MESSAGE" bug after Save as + Clean in livetracing mode
    * Cleaning up, bugfixing, enhanced error output
    * No calling of loadConfig when deactivationg plugin anymore
    * Revert Append QTDIR to CMAKE_PREFIX_PATH
    * Correlate menu + checkbox for "enable plugin"
    * Rework README.md
    * project.cpp: Error mesage with line number in case of corrupt project file
    * Bugfix: System proxy settings not correct handled in QT5.8
    * Index column with 1000 separator
    * avoid nasty commandline message on start
    * Rename slot on_Open_triggered
    * avoid nasty commandline message on start: filetransferplugin
    * Rename slot on_saveRightButton_clicked
    * Rename slot on_tableView_selectionChange
    * Rename on_SaveAs_triggered
    * Rename slot on_action_menuConfig_SearchTable_Copy_to_clipboard_triggered
    * Rename slot on_New_triggered
    * Remove obslete qextserialport
    * Port from qextserialport to QSerialPort
    * Fix huge window problem whith long filenames
    * Append QTDIR to CMAKE_PREFIX_PATH
    * Add CMake build support under windows
    * Improved the performance of the copy selection to clipboard from the search table.
    * Filetransferplugin: put Form in a namespace
    * dltviewerplugin: put Form in a namespace
    * Dummyviewerplugin: put Form in a namespace
    * Dltsystemviewerplugin: put Form in a namespace
    * Dummycontrolplugin: put Form in a namespace
    * Dltbusplugin: put Form in a namespace
    * Use a combo widget for the search toolbar
    * Build plugins in bin/plugins
    * filetransfer plugin bugfix
    * fix warnings of gcc 7.2
    * add silent mode to dltexporter
    * Add silent mode in dltfileutils
    * propper type assignment for bool variables in project.h/cpp
    * [searchdialog] keep the cursor position when search-text is edited in the middle
    * bugfix of temp file path settings
    * add debug output in case of corrupt filter file
    * fix debug output for dltviewer plugin
    * Avoid multiple reallocations of QByteArray at parsing
    * Enable mutex for read-lock in file indexer thread
    * Enable message filtering in QDltFile after index creation
    * Bugfix in project.cpp for daylight time
    * Reduce call frequency of decodeMsg and getMsg
    * Avoid random crash for file reload
    * Add icon source to README.txt
    * Add decoded dlt commandline export
    * Remove unused function on_actionApply_Configuration_triggered
    * Fixed condsidering plugins enabled flag in index cache.
    * Replace magic number for autoconnect default timer by a proper define Also consider plugin enabled checkbox when live tracing More meaningfull commandline output
    * Fixed not considering plugin configuration when loading index from cache.
    * Check if plugins are enabled during file indexing Enable "Apply Configuration" button by default Change "Aplly configuration" button from PluseButton to Pushbutton Default setting of index cache set to inactive
    * Start ColorDialog with current color instead of white
    * tablemodel: fix deprecated Qt class
    * Add dlt file conversion format csv to commandline mode
    * Updated support for macOS by creating a self contained DLT Viewer app bundle
    * Removed executable flag from source files
    * Set soms limit on what is displayed in the tableview
    * Re-apply default commandline behaviour
    * Fix bug when starting several parallel commandline
    * Extend / enable silentmode for plugins
    * Remove ringbuffer when deconstructing a dltmsgqueue.
    * Implement message queue using condition variables instead of atomics/sleeps.
    * mainwindow: Don't scroll to line end on click
    * add flags to qdltcontrol to let the plugins know about silentmode
    * mainwindow: Enable horizontal scrolling
    * Bugfix and clean up commandline option
    * qextserialport: Link IOKit & Foundation on macOS
    * CMakeLists.txt: Require C++11
    * Enable support for High DPI screens
    * Fix crashes when converting dlt to text using commandline option
    * Revert "Enable use of standard GNU installation locations"
    * Enable use of standard GNU installation locations
    * Add Qt to the RPATH
    * Typo fix (#3)
    * Open ReadOnly DLT Files
    * Fix for filetransfer plugin: Saving file transfers by "Save all selected" did not work when selecting/deselecting entries Also right mouse click save reported "no file selected" Signed-off-by: Gernot Wirschal <Gernot.Wirschal@bmw.de>
    * Temporary fix color scheme issue for qdlt: on Ubuntu and Windows the message windows showed white text on black background when toggling the filter active/inactive checkbox. Also fix build error for Qt 5.2.1 on Ubuntu 14.04 Signed-off-by: Gernot Wirschal <Gernot.Wirschal@bmw.de>
    * fix typing error for PACKAGE_VERSION_STATE Signed-off-by: Gernot Wirschal <Gernot.Wirschal@bmw.de>
    * Updating README.md based on feedback
    * Created README.md for GitHub (#1)
    * 1.) Add test for minimum Qt version 2.) Prepare qdlt for use as a library (fix header includes) 3.) Clean some cruft
    * DltViewerPlugin: Break payload by '\n' in 'Message' Tab
    * Add CMake instructions to INSTALL.txt
    * Remove Widgets dependency from qdlt and qextserialport
    * Switch to 2.19.0 unstable to support QT >= 5.5.1 only
    
2.18.0
   * Bugfixes:
      Fixed: SaveAs showing corrupted messages or crash of dlt-viewer.
             Rollback of QDltFile map feature, which is unstable.
      Fixed: Jump to line not working when filter enabled
      Fixed: Restore of windows geometry
      Fixed: The reconnect timeout is not working for UDP
      Fix check box in file transfer plugin view
      Fix for search prediction crash issue
      Limit symbol visibility in plugins
   * Performance improvement: Multithreaded DLT file parser
   * Make dlt-viewer show up as an option in file managers.
   * DBus plugin: Check if messages has Apid "DBUS" as valid dbus message
   * Enable build for MAC
   * Mark the next button in the search dialog as default
   * DBUS plugin: read configuration file to define APID/CTID to
     enable DBus message decoding
   * Add cmake build support

2.17.0
  * Updated and improved documentation
  * Added the option to use UDP as transport protocol
  * Drag&Drop Plugin Config files: dont ask which plugin if only 1 plugin active
  * Implemented advanced Search with Payload Boundaries
  * Default directory usage for WIN and LINUX: Config/Filters/Cache -> homePath/tempPath
  * Fixed some warnings concerning datatypes
  * Fixed manual tableview scrolling with keyboard arrows and PageUp/Down
  * Show connection state in toolbar button icon
  * Enabled interaction with search results while a search is ongoing
  * Fixed issue with not closing search dialog when main window is closed
  * Implemented UTF8 export
  * Enabled C++11 support
  * Increased scrolling performance with large files by using memory mapped file access
  * Search history feature added
  * Search text prediction feature added

2.16.0
  * Initialize member variable. 
    Fixes possible decoding problems in non-verbose mode because dltType is evaluated in toString()
  * QT version set to 5.5.1
  * Made MSVC 32bit and 64bit builds possible
  * Enable DLT-Viewer to export Decoded DLT Traces as .dlt file
  * Splitting functionality fixed for Windows

2.15.0
  * Using QStandardPaths::CacheLocation instead of '/tmp' for temporary files
  * Added -std=gnu99, -std=gnu++11, -Wall and -Wextra compiler flags, pedantic commented out yet
  * Added possibility to copy search table selections to clipboard using the context menu or Ctrl+C
  * Unified Windows build script for local build and Jenkins job
  * Made menu bar accessible by [ALT+...] combinations and the [F10] key
  * Improved the [TAB] key focus behavior and focus visualization of some elements
  * Added more stability for loading large files under 32bit Windows
  * Preventing possible division by zero when using the "Append DLT File" menu option
  * Added preparations for 64bit Windows builds
  * Replaced some icons and deleted an unused icon due to licence issues
  * Removed executable bits from all .png files

2.14.1
  * Copy new plugin to SDK.
  * DLT Logstorage Configuration File Creator
  * Added 4708PREFIX to install paths to be able to install to custom location given on command line
  * Update qt to version 5.5.0
  * Added .cproject Eclipse file to gitignore
  * Bug fix tableview jump to the right edge
  * Bug Fixed After disabling index row in table settings it doesn't jump anymore to correct entry in main view after searching for a term
  * Fix path to dlt.h. pkg-config returns include path with dlt present. Remove it from #include<> * Fix call to dlt_get_version() to pass length.
  * Fixed: Filter is not automatically activated on open of a dlp file

2.14.0
  * Set Line Endings to LF. Add also .gitattributes, to change all further commits in LF. For more info look at http://git-scm.com/docs/gitattributes
  * Improved const-correctness inside qdlt library. Note: plugin interfaces left untouched
  * Enable the QMAKE_RPATHDIR to avoid exporting of LD_LIBRARY_PATH when using the tool without installing
  * Fix decoded/ encoded search entries
  * Fix Inconsintent handling of pluginEnabled checkbox. Now it decode the search results equal to the main window items
  * In case of errors during export, exportMsg function just logs to qDebug() but does not give user information if export is ok or has failed
    Function even will stop on first error, instead of skipping invalid messages
  * Fix "search result does not jump to correct message when "sort by time" is checked"
    Now jump to correct order after a double click an a search entry while "sort by time" is enabled or disabled
  * Rearrange TabStop-order in dialog forms
  * Fix for compiling DLT viewer for QT4 and 5. Replacing QT5-only method QComboBox::setCurrentText(...) as suggested here: 
    http://doc.qt.io/qt-5/qcombobox.html#currentText-prop "The setter setCurrentText() simply calls setEditText() if the combo box is editable. 
    Otherwise, if there is a matching text in the list, currentIndex is set to the corresponding index"
  * Update qt to version 5.4.1
  * Fix Linux build
  * Adding support for new macros to the daemon. new macros: DLT_HEX8(VAR) 8bits variable displayed in hexadecimal with "0x" prefix DLT_HEX16(VAR) 
    16bits displayed in hexadecimal with "0x" prefix DLT_HEX32(VAR) 32bits displayed in hexadecimal with "0x" prefix DLT_HEX64(VAR) 64bits displayed in 
    hexadecimal with "0x" prefix DLT_BIN8(VAR) 8bits variable displayed in binary with "0b" prefix DLT_BIN16(VAR) 16bits variable displayed in binary with "0b" prefix
  * Export SessionID/ProcessID to Clipboard and CSV Export
  * Fixed typos and rephrased some sentences
  * Cleanup: renamed file qdltserialconenction.cpp into qdltserialconnection.cpp
  * Filter (separate regex settings and ignorecase) and Filterdialog redesign replaced icons with open icon library, corrected tooltips
  * Allow to show Payload as multiple Argument columns, default set to 0 argument columns
  * Added ActionToggleButtons to Main toolbar to Control Plugins/Filters/SortByTime Enabled checkboxes. Replaced icons with open icon library, changed action button 
    syncronisation

2.13.0
  * Updated qt to version 5.4.0
  * Fix installation path for x86_64 linux
  * Fix Ubuntu 64bit build
  * Fix linux home path for cache and filters
  * Some changes for MSVC
  * Optional send "Get ECU SW Version" when online
  * write settings: autoMarkWarn added
  * DLT embedded fix for non-verbose DLT_CSTRING
  * Added check if directory is writable when file save as.
  * allow compilation using i686-w64-mingw32-qmake-qt4 under cygwin
  * Fixed absolute home path for settings file in Linux
  * Remove all white spaces (Carriage return, linefeed, tabs) from payload before export
  * Output info about used compiler in Info Dialog.
  * Added missing license headers.
  * fix qdlt qdltargument size
  * Fixes Bug 240: DLT Viewer is now able to handle large DLT files
  * Added new plugin control interface reopenFile.
  * Added hostname parameter to plugin interface stateChanged
  * First import of DBus catalog.
  * Send updateMsg and updateMsgDecoded also in logging only mode.
  * Fixed false creation of filter index cache file
  * Fixed showing corrupted message when index cache file is empty.
  * Fixed not keeping selected DLT message when filter is changed.
  * Fixed dbus plugin segmented messages
  * Changed build script for dlt parser to Qt 5.3.1
  * Command line parameters also allow big letters as file ending
  * Changed configuration, cache and filters path. Create if not exist.
  * Fixed directory paths in Linux
  * Fixed missing payload in search view
  * Update readme and install text
  * Updated qt to version 5.3.1
  * Fixed wrong sequence of plugin updateMsgXXX API

2.12.0
  * Fixed positive filter with marker not saved correctly
  * Fixed wrongly displayed negative values in big endianess
  * Format of Hex and Bit fields in DLT Viewer.
  * Plugin interface for connect and disconnect
  * Multi configuration file load in non-verbose plugin
  * Mutlticore build script.
  * Support of segmented network messages in dbus plugin.
  * Adapted DBus Plugin to Network API.
  * Added DBus plugin
  * Added marker support.
  * Removed unsupported platforms build scripts.
  * Removed dlt statistic plugin, which will not be supported anymore.
  * Added Header output to DLT Viewer plugin.
  * Fixed: Crash when receiving corrupted messages.
  * Fix: DLT Viewer shows messages sorted by time, even if the option is not enabled at startup
  * Updated build script to Qt 5.3.
  * Fixed use of non verbose mode with extended header.
  * Extended non verbose plugin to differentiate messages by appid and ctid.
  * Add session id to table view.
  * Show Session/Process Id in DLT Viewer Plugin.
  * Parser: Added Linux installation path
  * Parser: Added DLT Embedded Example and further fix.
  * Fixed missing refresh on some PCs.
  * Parser: Initial version of reference DLT parser.

2.11.0
  * Completed .gitignore with more files to ensure clean statuses on Linux machines
  * Moved intermediate compile time files to a build sub-directory for all project parts
  * Split log files when reaching maximum size and attach date and time to filename.
  * Fixed llvm static analyser problems findings.
  * Fixed all warnings.
  * cppcheck fixes for all errors and warnings.
  * Fixed: Hang of dlt viewer when loading files with a lot of getLogInfo messages
  * Added update button to statistic plugin.
  * New Plugin Interfaces in QDltControl: New, Open, SaveAs, Clear and Quit
  * Fixed: do not automatically enable scrolling when scrolling to bottom
  * Fixed: Plugin interface initControl only called when updating ECU list
  * Update Qt SDK to version 5.2.1.

2.10.1
  * Fixed crash when open big DLT Files at startup with autoconnect at startup.
  * Added Logging only mode.
  * Fixed reception time from milliseconds to microseconds.
  * Fixed extraction of session id.
  * Sort multiple log files by time.
  * Open and display multiple DLT files at once.
  * Optional automatic timezone settings.
  * Added new control messages connection state, timezone and context unregister.
  * Remove installer script from OSS repository.
  * First implementation of dlt statistic plugin.
  * Statistic features removed from dlt viewer plugin.
  * Fixed warnings with windows mingw32 compiler.
  * Plugin API parameter triggeredByUser is wrongly set.

2.10.0
  * Plugin interface to know about "Autoscroll button" enabled or disabled.
  * DLT Viewer Plugin Interface to scroll to a specific index
  * Fix: Filetransfer Plugin not works with default configuration.
  * Do not disable plugins, if configuration cannot be loaded.
  * Implementation of background Indexer and index cache.
  * Fixed Qt5 build missing platform plugin windows.
  * Fixed: Missing return value in exporterdialog.cpp.
  * Fixed: QVariant not declared in QDltArgument.
  * Added performance counter for indexing.
  * Removed file mapping based indexing.
  * Enable default filter and index cache by default.
  * Added Windows Batch file to build with Qt5.1.1

2.9.1
  * New centralized export functionality for DLT, ASCII and CSV.
  * Implementation of autoloading plugins configuration.
  * Fix: DLT Trace can't be copy pasted (non Verbose).
  * Added sqldriver directory for installation. Needed for plugins using sqldriver.
  * Bug 86 - DLT Viever 2.10.0 RC DLT_13265.
  * Bug 84 - Adding utf8 support to dlt-daemon, dlt-viewer.
  * DLT viewer should only send optional configuration when connecting to target
  * Added context registration information to ECU structure also when loading DLT files.
  * Enhancement of Send Injection Dialog
  * Add support for Drag and Drop to plugin configuration.
  * Drag and Drop now supports dlf filter files
  * Fixed: DLT Viewer plugin will not update decoded views, if plugin enabled after loading log file
  * Bug-11: DLT-viewer, plugin API: selectedIdxMsg() only triggered on mouse click
  * Bug-4: DLT-Viewer - Message incomplete in DLT-Viewer-Plugin
  * Plugin support moved to qdlt library
  * Multifilter support for fast indexing of multiple filters
  * Added icons for apply config again
  * Split up qdlt library for filters and filter index
  * Performance improvement in filter handling
  * Created a Windows installer for DLT-viewer. Included in build scripts.
  * Optional suppressing of plugin  message box error when started via commandline parameter -s
  * Greyed out non relevant tab in "ECU ADD/config" menu
  * Highlight color of found line configurable
  * Usage of "optimalTextColor" for markers
  * Unified the progress dialog updates
  * Multiple working directories for dlt viewer use cases
  * DLTViewer: performance improvement of Qdlt::toAScii function which is heavily used in filtering 
  * Default button of search window is "next"
  * Search Previous/Next without search window
  * Added -Wunused to project file. Removed most warnings.
  * Added description of not yet implemented FLIF in file transfer plugin.
  * Move maintoolbar creation to designer. Separate main and search toolbar.
  * Added description for commandline based extraction of File Transfers.
  * Added QT5 Combatibility
  * Add build scripts for QT5, MSVC compilers.
  * Split up constructor in sub-functions to get better overview.
  * Search to List implemented.
  * Added Refresh Rate Setting for updating view after incoming messages.
  * Change filter button to checkboxes and a "Apply changes"-button
  * Fixed Disable Plugins not working in all use cases
  * Fixed Changing filters not shows last selected message again
  * Fixed lost selection of messages after disabling filter
  * Fixed Empty Tmp files not deleted
  * Fixed Plugin destructors are not called
  * Fixed Export and CopyToClipboard not using index order - instead using selection order
  * Fixed dlt-viewer: changed serial interface settings not working after connection attempt
  * Fixed Scroll button and Regexp button are using the toolbar incorrectly
  * Fixed Dlt Viewer crash on Linux, when aborting a "Save as..." dialog
  * Fixed Possible filterIndex corruption when enabling filters
  * Fixed Filters are now applied when conversion is called from commandline.
  * Fixed Selection persists now also when going from unfiltered to filtered view, like before in the other direction.
  * Fixed Filetransfer file dump from commandline now also takes normal Windows paths.

2.9.0
  * Make rest of the warning dialogs modal, to prevent user from touching the UI.
  * Remove rest of threading.
  * Implement indexing using memory map.
  * Add locks to prevent index corruption.
  * Add locks to avoid crashes when doing file operations, while receiving.
  * Workaround for QTBUG-26069
  * Improve logic when plugins and filters are applied.
  * User manual converted to asciidoc
  * MOSTPlugin incorrect decoding fixed.
  * MOSTDecoder crash fixed.
  * Save File and Save Project Dialog now append a file extension if none is given by user now also under Linux.
  * Add possibility to export message to a CSV file.
  
  * Added Filter checkboxes are automatically checked when the user typing in the filter the first time
  * Added Regular Expressions in Filter configuration
  * Added "Jump to" function
  * Added an option to mainwindow search bar to use Regular Expressions instead of simple match
  * Added a mailto dlt-support@bmw.com in DLT Viewer help dialog
  
  * Fixed  DLT Viewer shows unexpected behaviour when loading file with filters enabled
  * Fixed "Filter Add ..." is disactivated
  * Fixed Export from command line with filters not working
  * Fixed DLT Viewer shows unexpected behaviour when loading file with filters enabled
  * Fixed Using the search function it is not possible to cancel the search
  * Fixed Working directory is not set correctly using "Open file"
  * Fixed Export as CSV with enabled filter does not work correct


2.8.0
  * [GDLT-128] Improvement of temporary file handling.
  * Ensure connection properties are propagated to connection objects.
  * Added OS X compatibility
  * [GDLT-108] Command line option to execute command plugins

2.7.1
  * [GSWD-123][BZ-5][BZ-12]: Fix connection handling when loading a project file.
  * [BZ-7]: Remove threading.
  * Fix compiler warnings
   
2.7.0

   * Show decoded messages in DLt viewer plugin
   * [GDLT-106] DLT-viewer hangs in serial receiving
   * Added example files of plugins configuration to SDK
   * Added warning to user when plugin loading failed
   * Cleaned up filter menu
   * [GDLT-143] Multithreading implementation: process messages with plugins
   * [GDLT-143] Multithreading implementation: creating filter index
   * [GDLT-143] Multithreading implementation: creating dlt index
   * !!! *** Important: API change of plugininterface 
   * Modified methods reloadlogfile and read to use new plugininterface methods and updated all plugins
   * Moved duplicate Filter Dialog read and write operation into new function
   * [GDLT-125] DLT Viewer often cannot reconnect TCP connection automatically when power supply is interrupted
   * Added build and SDK generation script for windows.
   * [GDLT-124] Filetransfer plugin performance enhanced
   * [GDLT-135] Version control message is not displayed as ASCII
   * [GDLT-111]: Change to Case Insensitive to ignore case in extension
   * [GDLT-122] Time parameter is always local time fixed
   * [GDLT-107] Plugin interface extension for sending commands to plugins
   * [GDLT-39]q Enable drag&drop ordering of filters
   * [GENDLT-37] MOST plugin should be able to decode messages segmented over 
                 several log messages
   * [GDLT-130] Save As DLT file with same file name deletes file
   * Changed MinGW Path for generating SDK with batch file.
   * Release test fix: Moved deletion of serialport to ecuitem destructor. Remove automatic reconnect for serial connections.
   * Added dlt viewer plugin programming guide.
   * Added example filetransferplugin configuration file
   * Release test fix: Increase max accepted message size to account for dlt_get_log_info
   * Release fix: Also accept S_RAW in lieu of S_RAWD in nonverboseplugin
   
2.6.0

   * !!! *** IMPORTANT: In this release, all plugins are deactivated by default. You can enable your plugins in the "plugins"-tab. *** !!!
   * !!! *** IMPORTANT: API changed for Decoderinterace - see GDLT-80 *** !!!
   * [GDLT-87] Added new version of QextSerialPort v1.2 BETA - MIT License
   * [GDLT-80] Decoderinterface extended - plugins get the information if the action for isMsg or decodeMsg  was triggered by the user
   * [GDLT-78] Extended API of the decoderinterface. Plugins gets a notification if the state of the ECU connection changed
   * [GDLT-58] Merging/Append filter files is possible
   * [GDLT-61] ApId and CtId description should be left aligned fixed
   * [GDLT-59] Added Copy to clipboard in context menu of the tablewidget
   * Reworked the filterUpdate calls
   * Increased max cost of cache to 5000 and fixed bug in filetransferplugin
   * [GDLT-60] Cancel button doesn't react fixed
   * [GDLT-96] Added a QCache to speedup getMsg. treeview using optimized getMsg methods
   * [GDLT-98] Added message box with warning if FRAMES are ignored due to duplicated id in the xml
   * [GDLT-97] Use constData() instead of data() when buffer is just read
   * [GDLT-66] Plugin is deactivated but after restarting the DLT Viewer the plugin will be called to handle/parse messages fixed
   * [GDLT-77] Open a .dlt file with double click creates a config.ini file fixed
   * Added some statistics as a single tab to the dlt-viewer plugin
   * Removed unneeded signal for modelChanged and clearing the selection model
   * Fixed bug in statisticstab of dltviewerplugin and extended with more statistics
   * Fixed bug in window title of plugins
   
2.5.1

   * Change to the Mozilla Public License Version 2.0

2.5.0

   * [GDLT-32] Store DLT Viewer configuration in an ini file instead of using the registry 
   * [GDLT-34] Save the DLT-viewr version to config/registry and delete specific values when a new minor version of the viewer is started 
   * [GDLT-7 + GDLT-6] DLT Viewer and plugin performance enhanced
   * [GDLT-33] Checkbox in the project settings to hide file transfer messages 
   * [GDLT-45] Improve detection of filetransferMessages (Related to GDLT-33)
   * [GENDLT-14] DLT Viewer tested with Qt SDK version 1.2 
   * [GDLT-31] Tracefile content stored different under Ubuntu 64 bit version compared to Ubuntu/Win 32 Bit version 
   * [GDLT-43]  Filter on/off toggle button is broken when "Hide file transfer messages" is selected in settings 
 
2.4.3:

   * Fixed an issue where the plugins could not modify the message passed to them.

2.4.2:

   * [GSW-134] Expand and collapse all context menu in the configWidget (shortcut ctrl+- and ctrl++)
   * [GSW-112] Possibility to enable/disable filters with a check-box in the filter widget
   * [GSW-111] Checkbox in project settings for automatically color errors and wanrings in the viewer
   * [GSW-131] The viewer looks in relativ to the executable in the ./plugins directory
   * [GSW-129] Double klick on .dlt or .dlp opens dlt_viewer and loads automatically logfile or projectfile when dlt_viewer is defined as the standard program for .dlt or .dlp files in Windows
   * Plugininformation is called when the Pluginitem is expanded and not only when the Plugin is loaded
   * [GSW-107] Check if the plugins are really deactivated when they are hidden
   * [GENDLT-11] Wrong HTML format for < and > of the viewer plugin
   * [GSW-118] When changing filters a popup with an abort button appears this button seems to do nothing
   * [GSW-130] The filer and marker won't be activated after loading a project file
   * [GSW-144] No second iteration to search and return the correct application and context description is possible
   * [GENDLT-12] DLT Viewer Crashes fixed

2.4.1:

   * Deleted unnecessary widget of mainwindow 
   * Added Linux Desktop Icon and Description
   * [GSW-103] Prove if the plugins directory in the dlt-viewer directory exists and is readable before loading plugins
   * [GSW-70] Button for save project in the toolbar
   * Fixed Bug in Filetransferplugin - Clear list button
   * Fixed initialisation of injection plugin interface.
   * [GSW-109] Printing of dlt-viewer usage not visibile in windows. Command line usage for windows added to the help menu of the dlt viewer.
   * [GSW-104] Overload operator< for detailed sorting of appIds and ctIds in the configWidget of the viewer
   * [GSW-102] The dlt viewer plugin snips a part of the payload if < is in the payload

2.4.0:

   * [GSW-68] Command line parameter for test automation. Start the "dlt_viewer -h" from command line to print usage.
   * [GSW-88] Set log level/trace status for multiple contexts at once (multiple selection with "Shift" or "Crtl").
   * [GSW-90] Configurable font size of the table content fixed. The table font size is configurable in the settings dialog - tab table.
   * [GSW-84] User hast to confirm to clear the log table
   * [GSW-85] Change button icon of Enable filter to a filter symbol and enable filter by default
   * [GSW-89] Resize payload column of DLT message view. Double click on table header resizes the column.
   * [GSW-67] Store and restore global settings in project files.
   
2.3.0:

   * [GSW-20] Table View should also display description of context for each displayed DLT message - choose id or description within settings
   * [GSW-63] Load and Save Filter configurations  
   * [GSW-17] Sorting of Contexts and Applications by id or descriptions.
   * [GSW-64] Select Filter from last used filter configuration.
   * [GSW-8] Version and interface check of plugins
   * [GSW-21] Enhance search function: Start from current position / start from beginning
   * [GSW-14] Doxygen based documentation of DLT Viewer
   * [GSW-65] Using RGB colors via color picker for filter marker.
   * [GSW-36] Search dialog marks search text when opening search dialog.
   * [GSW-58] Drag and Drop of DLT Files and project files Implemented.
   * Start of application with DLT or project file improved.
   * Export of selected messages improved, including export to Clipboard.
   * Filter copy functionality added.
   * Batch file for creating SDK added.
   * [GSW-26] First implementation of injection interface in control plugin interface.
   * [GSW-37] Filters can be added by context menu in ECU configuration or DLT log messages view.
   * Filters and Markers aggregated to one configuration.
   * [GSW-18][GSW-34]Filter parameters added.
   * [GSW-6] Marker functionaliy added.
   * Plugins are loaded now from three directories: Directory from settings, plugins directory and /usr/share/dlt-viewer directory.
   * Linux: Plugins are loaded also from /usr/share/dlt-viewer directory
   * Fixed crash when double clicking on child item below plugin item.
   * All directory and file search dialog now use the same working directory.
   * [GSW-35] Filtered messages have other message ids then unfiltered messages fixed.
   * Fixed Endianess failures of non verbose plugin.
   * [GSW-30] Byte order of payload is not diplayed correctly fixed.
   * [GSW-24] Timestamp in ASCII Export is not correctly displayed fixed.
   * [GSW-22] Plugin Non Verbose: Zero arguments displays "[Id]|" fixed.

2.2.0:

   * Added version to window title
   * Filtering of decoded messages by decode plugins now possible
   * Negative filters and markers functionality added
   * Moved to completely new decode plugin concept
   * Rows in message table can now be selected with arrow keys
   * Verbose mode configuration in ECU added
   * New Plugin interface with Decoder and Viewer support
   * Join and split DLT files
   * Append DLT file functionality added
   * Start DLT viewer with a DLT Viewer Project as argument.
   * Colour marking of contexts, if synchronized with dlt daemon
   * Import DLT Stream with serial header functionality addded incl. resync to serial header and error counter
   * Fixed bug when using COM ports bigger than 9
   * Fixies big endian target
   * DLT header parameter Timestaps was handled in the wrong endianes format, big endian is correct now
   * Crashes when payload contains strings with corrupted length
   * Corrected non verbose plugin "S_RAWD" signal type
   * Non verbose plugin does not decode verbose messages any more
   * Fixed bug in search with regular expressions, case sensitive/insensitive is used now in this combination
   * ECU Configuration did not save sync to serial header option (TCP and Serial)

2.1.0:

   * New Qt based implementation of viewer
   * Indiviual columns for header fields
   * Export to ASCII file
   * Import of Raw DLT Stream files (Without DLT Storage Header)
   * Search function added to find ASCII Text in Header and Payload
   * Project based management of configurations
   * Decoder Plugin support added as dynamic loaded libraries
   * Optional syncing to serial header added
   * Filter->Clear all added
   * The application now has its own icon
   * Scroll on/off button added
   * Description additionally shows the TCP port number
   * Search: Regular expressions can now be used 
   * History for open files/projects/TCP Hostnames
   * Enable/Disable timing messages per ECU is now possible
   * Extended scrolling functionality (enable/disable scrolling by scrolling in list)
   * Changed serial library because of sporadic crashes of teh application
   * Only one filter with same name can be added now
   * Corrected initialization of resync mode
   * Bug in Filter handling fixed (concerned Linux only)
   * Bug in structure alignment fixed (concerned Windows only)
   * Automatic sending of default log level, display status and request for timing packets fixed
   * Displaying connection status fixed


