Release Highlights
==================

Version 2.9.0
-------------
 * Improve Qt Quick Controls 2 tracer coloring.
 * Fix issues with QSG diagnostic render modes in combination with QQuickWidget.
 * Improve input validation in the connect dialog.
 * Fix Qt Quick remote view on targets without GL_BGRA support.
 * Add texture and texture atlas inspection for QSGMaterial using objects.
 * Only read and send the actually visible screen content in the Qt Quick remote view.
 * Support dynamic shaders in the QSGMaterial shader view.
 * Show vertex and fragment uniforms for shader effects in the QSGMaterial tab.
 * Fix crashes during changing/restoring QSG diagnostic render modes.
 * Batch row/column count requests for better remote model performance.
 * Drop support for CMake 2.8, at least 3.0 is required now.
 * Improved performance in the Qt Quick inspector.
 * Add support for QSGRenderNode.
 * Consider compiler version as part of the probe ABI on Windows.
 * Fix multithreading issues in the timer inspector.
 * Add search line to timer inspector.
 * Add screenshot support in Qt Quick inspector.
 * Improve item picking support in Qt Quick inspector.
 * Add texture waste indicator to texture inspection tab.
 * Add color picker for remote views.
 * Add object navigation and source navigation to the timer inspector.
 * Add support for cross-architecture injection on Windows.
 * Add support for editing enum/flag properties not registered with the Qt meta object system.
 * Add network configuration view.
 * Improved indication that a target process is being inspected by GammaRay.
 * Add widget tab focus chain visualization.
 * Fix re-attaching to a target application on Windows.
 * Add QML binding inspector (requires Qt 5.10 or newer).
 * Add support for QtWebEngine to the web inspector tool.
 * Improved argument inspection in the QPainter analyzer.
 * Support paint analysis with the Qt Quick software renderer (requires Qt 5.9.3 or newer).
 * Improved Qt Quick anchor property display.
 * Fix property editing of gadget value types.
 * Fix interaction issues in string type property editor.
 * Add action to slow down Qt Quick animation timers.
 * Add support for visualizing clip areas in the Qt Quick software renderer.
 * Clear Qt Quick target overlay on GammaRay client disconnect.
 * Add automatic down-cast support to GammaRay metatype system.
 * Add QObject creation stack trace view.
 * Add source code navigation to the message browser stack trace view.
 * Add stack trace view for painter operations in the paint analyzer view.
 * Fix rpath support in probe ABI detection on macOS.
 * Fix user manual access on macOS.
 * Add profiling support to the paint analyzer.
 * Use relative RPATHs on Linux, to make installations fully relocatable.
 * Add mouse wheel zoom in the Qt 3D geometry inspector.
 * Improve performance of the Qt Quick scene graph model.
 * Improve editing of boolean properties.
 * Add diagnostic shading modes to the Qt 3D geometry inspector.
 * Support vertex picking in the Qt 3D geometry inspector.
 * Support Qt 3D painted textures in the paint analyzer.
 * Fix Qt 3D buffer decoding for tightly packed attributes.
 * Fix server-side decoration state going out-of-sync in the Qt Quick inspector.
 * Fix crash when validating dynamic meta objects.
 * Fix support of namespaced and semi-qualified enums/flags.

Version 2.8.2
-------------
 * Fix high-dpi icon installation.
 * Fix documentation build with spaces in the path.
 * Fix build of the QtIvi inspector with Qt 5.10.
 * Fix detection of libdl.
 * Fix incomplete installation of multi-probe builds on second make install run.
 * Fix build issues in some Windows and cross-compilation setups.
 * Fix widget export action plugin loading on Windows.

Version 2.8.1
-------------
 * Fix compilation with interestingly packaged qmllint on Ubuntu.
 * Fix error handling in LLDB injector when LLDB scripting support is not available.
 * Fix tree view corruption when searching.
 * Fix linking with backward-cpp in BFD mode using a static libbdf.
 * Fix assert when launching a Windows target using a Qt debug build.
 * Fix crash during attaching on Windows.
 * Fix build with MSVC2010 and Qt4.8.
 * Fix attach dialog not seeing 32bit processes on 64bit Windows systems.
 * Add support for Qt 5.9.2.

Version 2.8.0
-------------
 * Fix possible deadlock in WinDLL injector.
 * Add code navigation for C++-created objects (Linux-only, requires a debug build).
 * Add legend for the QtQuick inspector overlay.
 * Add QtQuickControls2 layout support in the QtQuick inspector.
 * Add layouting grid overlay to the QtQuick inspector.
 * Add support for non-QtIviProperty properties in QtIvi modules.
 * Improved QtQuick2 remote view performance.
 * Basic support for the QtQuick2 software renderer.
 * Add QtQuick Control 2 tracing support.
 * Improved lifetime tracking of dynamic meta objects.
 * Fix alive instance counts not updating correcting in the meta object browser.
 * Add instance count statistics for QML-defined types in the meta object browser.
 * Fix crash when debugging dynamically created QtSCXML state machines.
 * Improved object navigation to the QtIvi inspector.
 * Improved icon visuals with light/dark color schemes.
 * Add QTimeZone database browser to the locale inspector.
 * Allow to specify a working directory in the graphical launcher.
 * Fix rendering corruption caused by runtime switching of QSG render modes.
 * Dynamically negotiate QDataStream serialization format, fixes corruption of large QDateTime values.
 * Fix QSG scene graph expansion on item picking.
 * Expand user manual to cover object inspection views.
 * Improved network auto-discovery if target device has multiple interfaces.
 * More robust ABI detection for Yocto-based cross-compilation to x86 and aarch64 platforms.
 * Add support for QtIvi 5.10 property overrides.
 * Fix launching/attaching to targets not having GammaRay in their DLL search path on Windows.
 * Improved diagnostics for injector failures.
 * Also find additional probes installed inside the Qt installation itself.
 * Fix crash in QtQuick inspector.

Version 2.7.0
-------------
 * Improved enum and flag editor in the property view.
 * Add style hint view to style inspector.
 * Fix runtime QSG visualization mode switching for newer Qt versions.
 * Initial support for statically compiling GammaRay into a target.
 * Support for QtWayland 5.8.
 * Add object navigation for the translation inspector.
 * Automatically re-scan meta types to captures types registered later.
 * Improved Wayland log and timeline view.
 * Add object navigation for Wayland clients.
 * Show alive object statistics in the meta object browser.
 * Add Qt3D geometry inspector (requires Qt >= 5.7 and Qt3D)
 * Allow to hide inactive tools.
 * Fix handling of partially out-of-view QQuickItems in the QQ2 inspector.
 * Improve error handling in the GDB injector.
 * Fix QML support not being activated when attaching to a QtQuick application at runtime.
 * Fix widget layout overlay for nested QLayouts.
 * Fix crash on client disconnect.
 * Syntax highlighting and code folding for textual content (requires KF5::SyntaxHighlighting)
 * Add 3D widget layout visualization.
 * Allow to hide non-visible elements in the full-depth picking dialog.
 * Add QtIvi inspection tool (requires Qt5IviCore)
 * Fix QSG geometry inspector not showing geometry correctly on first selection.
 * Build both release and debug probes by default when using MSVC.
 * Add more editor defaults for code navigation on Linux.
 * Add QtSCXML support to the state machine debugger (requires Qt >= 5.8).
 * Show QtQuick overlays also in the target application.
 * Avoid leaking GammaRay translated strings into the translation inspector.
 * Fix launching targets on macOS >= 10.9.

Version 2.6.0
-------------
 * Reworked tool view handling, enabling deeper IDE integration of individual tools.
 * Merged model and selection model inspector.
 * Fixed crash when quickly changing selection in model inspector.
 * Add QMetaObject validation, identifying common problems with signal/slot declarations.
 * Support object navigation to and from the model and text document inspectors as well as the signal plotter.
 * Visualize model selections.
 * Allow to inspect model content also for disabled cells.
 * Show model cell flags in model inspector.
 * Fix sorting in object method view.
 * Fix handling of source model changes for proxy and selection models.
 * Add in-app picking for selection models and actions.
 * Extended the user manual with example problems diagnosed with GammaRay.
 * Allow to rescan the meta type database.
 * Add object navigation from the meta type view to the meta object browser.
 * Show registered comparison and stream operators in the meta type browser.
 * Add object navigation support to the action and timer inspectors.
 * Visualize enabled state in the action inspector too.
 * Support editing of nested properties of value types.
 * Fix various enum/flag display issues in the property view.
 * Fix AArch64 detection on ELF platforms.
 * Support ABI detection on systems without ldd.
 * Add Wayland compositor inspector.
 * Add advanced element picking mode for widget and Qt Quick inspectors.
 * Fix crash when encountering an empty translation context.
 * Extend user manual content.
 * Fix a number of memory leaks.
 * Fix crash when selecting a dangling top-level layout in the widget inspector.
 * Fix missing standard icon types in style inspector for some Qt versions.
 * Fix table layout in style inspector.
 * Fix invalid memory access in palette model.
 * Fix selecting entries in the resource browser.

Version 2.5.1:
--------------
 * Fix build of external plugins when using a non-standard GammaRay install prefix.
 * Fix race when receiving probe settings.
 * Fix tool selector showing empty entries with Qt4.
 * Fix widget layout overlay been shown incorrectly on floating dock widgets.
 * Fix tool navigation context menu showing internal ids rather than tool names.
 * Fix crash when target closes the connection first.
 * Extended user manual content.
 * Fix codec browser showing random values when changing selection.

Version 2.5.0:
--------------
 * Added paint analyzer for QQuickPaintedItems.
 * Added element picking in QtQuick and widget remote view.
 * Added input redirection to the widget remote view.
 * Improved measuring tool in QtQuick remote view, and added measuring support to widget and paint analyzer views.
 * Added zoom support to the widget remote view.
 * Widget remote view now always shows the selected window, not only the selected widget.
 * Fix widget remote view overloading slow targets.
 * Added support for QQuickWidget.
 * Added instance counts to meta object browser.
 * Improved object navigation allowing to select which tool to go to if multiple apply.
 * Support for object navigation in more plug-ins.
 * Added edit support for QMatrix4x4, QVector[2,3,4]D, QQaternion and QTransform in the property editor.
 * Added basic type support for Qt3D.
 * Added Qt3D scene graph and frame graph inspector (Qt >= 5.7).
 * Fix SHM resource leaks on UNIX-like systems when target crashes on startup.
 * Removed non-KDSME fallback QSM visualizer.
 * Fix QNX 6.6 build.
 * Fix LLDB injector on OSX.
 * Added IPv6 support for client/probe communication.
 * Fixed depth-limiting in the state machine debugger.
 * Support non-QObject objects as composite types in the property editor.
 * Added QPainter analyzer for individual QGraphicsItems.
 * Added source navigation to declaration location for QML items.
 * Added the ability to browser and configure logging categories.
 * Added support for browsing QML context properties.
 * Fix crash on nested QVariant/QJSValue structures.
 * Improved injector self-tests to detect the Yama security extension blocking injection.
 * Added source navigation to QRC data.
 * Support more image formats in the resource browser.
 * Save and restore window and tool layouts.
 * Improved display in the model inspector for empty data.
 * Support block layout elements in the text document inspector (Qt >= 5.5).
 * Support inspection of QQmlScriptString properties and callable QJSValues.
 * Fix MSVC2015 runtime detection.
 * Fix various runtime attaching issues.
 * Fix display of multi-line string values in the property editor.
 * Initial support for namespaced Qt.
 * Add network interface browser.
 * Add cookie jar browser.
 * Add recursive access to nested value type properties (read-only).
 * Add access to SSL cipher and certificate information for QSslSocket.

Version 2.4.1:
--------------
 * Fix exponential resource leak in recursive property editor.
 * Fix QtQuick item tree view readability with dark color schemes.
 * Fix rendering glitch in QtQuick item tree view.
 * Fix selection not working on item picking if the corresponding tree model branch
   wasn't loaded yet.
 * Improve QtQuick element picking on item views.
 * Improve runtime attaching on Windows.
 * Fix current state configuration not being updated in state machine debugger.
 * Workaround QtDesigner >= 5.6 incompatibility with CMake 2.8.12.
 * Fix crash when encountering non-serializable types inside a associative
   iterable variant.
 * Fix setting properties on multi-inheriting types.

Version 2.4.0:
--------------
 * Recursive property editor for accessing composite property types.
 * Support for QML attached properties.
 * Server-side object search for considerably speeding up as-you-type searches.
 * Code navigation for QtQuick 2 items and Qt5 debug/warning messages.
 * Support for Qt5 logging categories in the message view.
 * Improved backtrace display for warning/error messages in the message view.
 * Support ABI detection on PE executables.
 * On-demand population of the font browser for improved performance.
 * Optimized performance of the QtQuick 2 inspector on item change storms.
 * Add support for QtPositioning data types.
 * Add OSX backtrace support in the message handler plug-in.
 * Improved integration of KDSME in the state machine plug-in.
 * Improved QMake compatibility when embedding the GammaRay client into a host application.
 * Fix object construction/destruction reordering issue in multi-threaded targets.
 * Fix QQ2 preview of QQuickWidget content.
 * Support rpath resolution for OSX probe ABI detection.
 * Fix crash on widget reparenting.
 * Fix crash in QStyle inspector with Windows Vista style.
 * Improve performance of the translation inspector.
 * Fix 32bit OSX support.

Version 2.3.0:
--------------
 * Add QtBluetooth support.
 * Support local sockets next to TCP for connecting to the probe.
 * Change probe plugin loading to be compatible with Android .apk restrictions.
 * Don't generate backtraces for GammaRay-caused qWarnings.
 * Also show properties defined in a meta object in the meta object browser.
 * Add non-QObject meta object found via QMetaType to the meta object browser
   (finds Q_GADGETs with Qt 5.5).
 * Performance improvements in object tracking, remote model, property view,
   signal spy and several other places.
 * Ongoing refactoring work to enable embedding the GammaRay client and launcher
   components into other host applications.
 * Add copy backtrace feature in the message browser.
 * Improved UI-less build option for embedded targets.
 * Fix various crashes, including when interacting with QOpenGLContext, QDBusAdapter,
   QML ListModels or Qt containers containing types that cannot be serialized.
 * Make paint analyzing also work with Qt 5.5 despite the necessary functionality
   being removed in Qt.
 * Add support for static properties in the property view.
 * Qt 5.5 compatibility.
 * Initial support for QNX 6.6.
 * Improved QtQuick2 in-app item picking.
 * Fixed/improved tracking of object reparenting in the object tree model.
 * Fix widget layout overlay widget leaking into object/widget tree.
 * Optional compression support for the client/server communication, speeds up
   debugging over slow USB connections.
 * Fix initial selection in the model browser having no effect.

Version 2.2.1:
-------------
 * Fix spawning a large number of threads in the process list.
 * Add GAMMARAY_BUILD_UI build option to only build the non-UI parts,
   useful for embedded targets.
 * Add workaround for QSortFilterProxyModel regression introduced
   in qtbase commit bec1854cc0.
 * Follow kdstatemachineeditor KDSME API changes.
 * Use the preload injector by default on Mac for Qt >= 5.4.
 * Fix probe ABI detection on Mac bundles.
 * Fix asserts caused by icon loading in QCoreApplication-only targets.
 * Fix crash when target deletes a signal sender in a slot.

Version 2.2.0:
-------------
 * New translation inspector plug-in.
 * New signal monitor and object lifetime plotter plug-in.
 * Support displaying of QQmlListProperty contents.
 * Expose signal/slot spy callback API to plug-ins.
 * Improved state machine visualization using KDSME.
 * Support for QQmlTimer in the timertop plug-in.
 * Support exporting of QResource data.
 * Improved QSGMaterial viewer.
 * Various performance improvements for the QtQuick2 remote preview.
 * Improved Qt 5.4 compatibility.
 * Fix handling of large images in the resource browser.
 * Support for manually emitting signals, and improved method display.

Version 2.1.2:
-------------
 * Fix crash when selecting the scene graph root node.
 * Fix two asserts in Qt 5.4 when dealing with connections to slot objects.
 * Fix build with Vivante OpenGL ES2 stack.
 * Build fixes for Android.
 * Fix build issues with Qt5.4 and Clang.
 * Fix minor compiler warnings and Coverity Scan issues.

Version 2.1.1:
-------------
 * Fix invoking non-slot methods with arguments.
 * Fix QtQuick2 preview not showing any content with Qt 5.2 or older.
 * Fix crash when encountering tooltips in Qt5 targets.
 * Fix deadlock in object list model.
 * Fix QGraphicsView scene selection in in-process mode.
 * Fix debug message handler for Qt5.
 * A missing relocatable startup hook is no longer fatal with Qt 5.4.
 * Fix Qt 5.4 compatibility of the QtQuick2 preview.

Version 2.1.0:
-------------
 * Aggregated property view combining static, dynamic and non-QObject property views.
 * Qt5Qml/Qt5Quick support
   (see http://github.com/KDAB/GammaRay/wiki/QtQuick2-Support-Status)
 * Probe ABI auto-detection on Linux, Mac and Windows.
 * Support to navigate to objects that are property values.
 * Plug-ins can now add specialized tabs to the property view.
 * Support adding and deleting dynamic QObject properties.
 * Support for "hidden" plug-ins, i.e. plug-ins that only provide type support
   but no own tool view.
 * Support KF5 in the KJob tracker plug-in.
 * Support for Qt 5.4 object creation/destruction callbacks.
 * Improved connection view, and support for viewing connections in Qt5 applications.

Version 2.0.2:
-------------
 * Restore compatibility with Qt4.7
 * Avoid leaking shared-memory in case of crashes of gammaray-client
 * Fix various crashes
 * Fix various crashes with heavily multithreaded debuggees
 * Fix unnecessary value limits in property editor for QPointF, QSizeF, etc
 * Improve property editor value loading performance

Version 2.0.1:
-------------
 * LLDB injector (enables Mac OSX 10.9 support)
 * Fix various cases where client and server states get out of sync

Version 2.0.0:
-------------
 * Out-of-process UI
 * Remote Debugging
 * Multi-probe support
 * Probe usable on targets without QtWidget available
 * Fix preload check on MIPS/MIPSel (issue #63)
 * Support for displaying arguments of monitored signals

Version 1.3.2:
-------------
 * Support more Qt5-specific data types
 * Fix crash on some QtQuick2 applications
 * Support VTK6
 * Fix compilation with Mac OSX 10.6
 * Fix GDB injector on Mac OSX
 * Fix launching of bundles on Mac OSX
 * Fix crash in selection model inspector
 * Add fallback if function overwriting fails in MSVC release builds
 * Fix WinDLL injector with Qt5
 * Fix Qt version detection in the process list on Windows and Mac OSX
 * Fix probe re-injections
 * Fix plugin loading on MSVC release builds

Version 1.3.1:
-------------
 * Fix state machine viewer on Windows
 * Fix crash in model cell viewer
 * Fix crash in meta object browser caused by deleted dynamic meta objects
 * Improve performance of the mime type browser
 * Improvements in the state machine viewer image export
 * Compile fixes for some Qt5 configurations

Version 1.3:
-----------
 * New KJob tracker plugin (requires KDE4)
 * Qt5 support
 * New Meta Object Browser tool
 * New QStandardPaths and QMimeTypeDatabase browsers (Qt5 only)

Version 1.2:
-----------
 * Published API for writing your own plugin
 * New QStyle inspector
 * New QAction inspector with shortcut conflict finder
 * New QPalette editor
 * QWidget paint operation introspection using QPaintBuffer (requires private headers)

Version 1.1:
-----------
 * Plug-in system for tools
 * Graphical state machine viewer
 * Object hierarchy visualization plug-in
 * New timer profiler plug-in
 * New locale inspector plug-in
 * New property view/editor for non-QObject types
   (e.g. QGraphicsItem and many of its sub-classes)
 * New widget export actions (image, PDF, SVG, Designer UI file)
 * New launcher UI with support for starting new processes, self-testing,
   and a much faster process list on Mac OSX
 * Support more types in the property editor
 * Improved widget tree model
 * Fix unreliable attaching with MSVC
 * MingW support

Version 1.0:
-----------
 * Initial Release
