* v2.4.0
  - qtquick: Expose DockWidgetOptions to QML
  - qtquick: Expose 'DockWidget::lastCloseReason' to QML
  - qtquick: Add DockWidgetInstantiator::deleteDockWidgetLater
  - qtwidgets: Support tabs in south location

* v2.3.0
  - For packagers:
    - KDDockWidgets now looks for Qt6 by default, rather than Qt5. If your Qt5
       build broke, pass -DKDDockWidgets_QT6=OFF to CMake
    - Library soname bump
    - New dependency on QtGuiPrivate (for qtx11extras_p.h header), on Linux
  - qtquick: Add QtQuick::IndicatorWindow::setQuickWindowCreationCallback
  - qtquick: Add support for building as a QML module and fixed all qmllint warnings
  - qtquick: Add support to use as QML plugin without requiring C++ or explicit linking
  - qtquick: User no longer needs to call KDDockWidgets::initFrontend() if you're using QGuiApplication instead of QApplication
  - qtquick: Implement QML api for Config::setDockWidgetFactoryFunc
  - Add MainWindowOption_CentralWidgetGetsAllExtraSpace
  - Internal nlohmann bumped to v3.12
  - QtWidgets::ViewFactory::createTitleBarButton() is now virtual
  - qtwidgets: Fix crash when undocking (#661)
  - Support window managers without translucency in Qt 6 (#629)
  - Add Config::Flag_DisableDoubleClick
  - Don't steal QStyle ownership from QApplication
  - Added Core::DockWidget::setUserData(QVariantMap)
  - Fixed static build when using QML module
  - Wayland: Fix dropping over dock widgets that also accept drops, like nested QQuickWidget (#658)

* v2.2.5
  - Fix version being reported as 2.2.3

* v2.2.4
  - Fix crash when using QAction to float tabs

* v2.2.3
  - Fix potential crash found by ASAN

* v2.2.2
  - Fix submodule url. Changed from SSH to HTTPS. This is only important for
    people cloning from a git tag. v2.2.1 tarball is identical otherwise.

* v2.2.1
  - Fix linking against static KDDW (#557)

* v2.2.0
  - qtquick: Add support for MainWindowOption_HasCentralWidget
  - qtquick: Add QtQuick::FloatingWindow::setQuickWindowCreationCallback
  - Add Config::setDockWidgetTabIndexOverrideFunc() (#165)
  - Allow to redock back to a floating window (#280)
  - Add KDDockWidgets::controllersToViews (#526)
  - Add Config::setTabsAtBottom()
  - Fix case where persistent central widget would detach when dragged
  - Fix windows having transparency when drop indicators inhibited
  - Fix case where persistent central widget would detach when dragged
  - Allow to build against external KDBindings
  - Fix restore layout of nested main windows (#508)
  - Fix restore maximized window corner case (#553)

* v2.1.0 (08 May 2024)
  - Added standalone layouting example using Slint
  - Fixed DPI of icons in TitleBar.qml Looks better when using 150% and 200% scalling now.
  - QtQuick: Fixed redock not working when mixing MDI with docking
  - QtQuick: Allow to mix MDI with docking, as already done with QtWidgets
  - QtQuick: Fixed MDI widgets not raising when clicked on
  - QtQuick: Added API to set affinities via QML (#465)
  - MDI: Don't show resize handles if widget is fixed size
  - MDI: Fixed mouse cursor not being restored when dock widgets were overlapping
  - MDI: Added Config::setMDIFlags() and MDIFlag_NoClickToRaise
  - QtWidgets: Introduced MainWindowOption_QDockWidgets and MainWindowOption_ManualInit
  - QtWidgets: Honours overriding DockWidget::closeEvent() to prevent closing
  - QtWidgets: Fixed crash when unpinning a window
  - Fix crash when doing sequential open() and close() calls (#326)
  - Fix double-clicking the guest widget would make window float
  - 3rdparty: Update to nlohmann json v3.11.3, from v3.10.5. Only relevant if you're not using
    system nlohmann.
  - Fixed dock widget float button when using main window nesting
  - Fixed auto-hide overlay not updating its position when main window was resized
  - Fixed double-click on titlebar not floating it if auto-hide flag was enabled
  - Added Config::setLayoutSpacing(int)
  - LayoutSaverOption::Skip now honours docked dock widgets
  - Fixed DockWidget::addDockWidgetToContainingWindow() when using nested main windows (#386)

* v2.0.0 (05 December 2023)
  - Architecture rewrite to support more frontends besides QtWidgets and QtQuick.
    2.0 isn't very interesting for users, but will allow developers to make KDDW
    support other GUI frameworks more easily. Also QtQuick is now better integrated,
    without being shoehorned with ifdefs into the QtWidgets implementation.
    - Split into a view/controller architecture
    - Non-gui logic moved to controllers
    - Each controller has a gui counter part, implemented for each supported frontend
  - Uses nlohmann JSON library (MIT) instead of QJsonDocument, for saving/restoring layouts
  - Added Config::setStartDragDistance()
  - Removed Config::setTabbingAllowedFunc() which was already deprecated in favor of Config::setDropIndicatorAllowedFunc()
  - Slint and Flutter WIP. Waiting for these frameworks to support multi-window before finishing.
  - Blacklisted Qt 6.6.1 and 6.5.3 on Windows due to QTBUG-117704

* v1.7.1 (unreleased)
 - Fixed pin button appearing by mistake when using Flag_TitleBarNoFloatButton (#359)
 - Added Config::Flag_AutoHideAsTabGroups, which allows all tabs to go to/from sidebar at once.
 - Fixed resize gap of auto-hide overlay resize on its left border
 - Blacklisted Qt 6.6.1 and 6.5.3 on Windows due to QTBUG-117704

* v1.7.0 (03 May 2023)
 - Introduce DockWidget::setFloatingWindowFlags(flags). Allows for different
   FloatingWindows to have different window flags. For example, some having
   Qt::Tool while others having Qt::Window (#314).
 - Fixed fixed-sized windows being able to be resized on Windows (#345)
 - Allow restoring layouts without touching floating dock widgets
 - Fix setDropIndicatorsInhibited(false) not showing drop indicators (#334, #337)
 - Fix relayouting when dock widget is deleted directly (#336)
 - Minor performance improvement: Cache TitleBar icons
 - Save side bar overlay geometry when frame is resized
 - Fixed case of corrupt layout when using setDockWidgetFactoryFunc()
 - Fix layout scaling factor when main window is native
 - Fix moving floating windows to negative positions (#321)
 - Fixed using normal geometry of platform window if fractional scaling is enabled
 - Allow to specify Qt::Tool or Qt::Window per floating window

* v1.6.0 (14 September 2022)
 - Minimum Qt6 version is now 6.2.0
 - Minimum CMake version is now 3.12.0
 - Fixed restoring of normal geometry when closing a maximized window (#259)
 - Experimental support for docking into dock widgets which are in a MDI area.
 - Fixed potential crash involving infinite loop between QWidget::create() and QWidget::createWinId()
 - Moved DropIndicatorOverlayInterface::DropLocation enum to KDDockWidgets namespace scope
 - Added Config::setDropIndicatorAllowedFunc() and corresponding example
   (kddockwidgets_example --hide-certain-docking-indicators)
 - Fixed case where unfloating wouldn't restore to the main window (#44 and #96)
 - Fixed MainWindow not propagating close events to docked widgets
 - X11: Improved detecting which window is under the cursor, by using native X11 API
 - X11: Fixed dragging a maximized floating window. Its size is now restored to normal size when the drag starts.
 - Added DockWidgetBase::currentTabIndex()
 - Added InitialVisibilityOption::PreserveCurrentTab
 - Added MainWindow::internalLayout() for advanced customization

* v1.5.0 (24 November 2021)
 - Install the Python bindings to "site-packages"
 - The Python bindings for Qt6 use the "PyKDDockWidgetsQt6" namespace
 - Co-installable with Qt6
 - Adds support for non-detachable central widget, MainWindowOption_HasCentralWidget. (#225)
 - Fix corrupt layout when restoring old JSON
 - Fix "Unpin" button not showing up in overlayed widgets
 - Minimum Qt version is now 5.15

* v1.4.0 (16 July 2021)
  - No longer supports Qt versions less than 5.12
  - Experimental MDI support. By using MainWindowMDI you can now have "docked" dock widgets
    which are free to be arbitrarily positioned and even overlapped inside the main window.
  - TitleBar's height is now controlled by sizeHint() instead of hardcoded.
    If you haven't overridden TitleBar or just inheriting from TitleBarWidget then there's nothing to do,
    as TitleBarWidget already reimplements sizeHint. If you're inheriting directly from TitleBar then make
    sure to provide a sizeHint.
  - Added MainWindow::closeDockWidgets()
  - Fixed crash in MainWindow::layoutEqually()
  - QtQuick: Added more declarative API
  - FloatingWindow now honours the dockwidget's max-size, if there's a single
    dock widget docked. Tabbed cases are more difficult since QStackedLayout doesn't
    propagate size constraints.
  - Added MainWindowBase::groupCountChanged()
  - Introduced Config::setDropIndicatorsInhibited(), which allows you to disable support
  for drop indicators while dragging.
  - Fixed embedding the main window into a non-kddw main window (#204, #168)
  - Fixed crash with an MFC application
  - Allows to disable translucency via the KDDW_NO_TRANSLUCENCY env var, useful
    in case running on weird Window Managers.
  - Added Flag_ShowButtonsOnTabBarIfTitleBarHidden, which can be used when using Flag_HideTitleBarWhenTabsVisible.
    The close and float buttons will be shown directly in the tab-bar.
  - Fixes persistent central frame being invisible after closing all tabs (#220)
  - Added python bindings for the InitialOption struct (#198)
  - Generate and install camelcase forwarding headers (public, exported classes)
  - Build in Release mode by default (in non-developer situations)

* v1.3.1 (7 June 2021)
  - Improve restoring layout when RestoreOption_RelativeToMainWindow is used (#171)
  - Improved dragging windows across screens in mixed hdpi setups
  - Fixed Flag_NativeTitleBar not hiding the client title bars when restoring (#170)
  - Double clicking a native title bar of a Qt::Tool window will now redock the window (#173)
  - Size of FloatingWindow now accounts for the fact that it's using Flag_NativeTitleBar and
    resizes its content accordingly (#174)
  - Fixed popups on overlayed dock widgets not working
  - Don't restore maximized state when using RestoreOption_RelativeToMainWindow (#184)

* v1.3.0 (8 February 2021)
  - Experimental QtQuick support (#49)
  - Added static DockWidgetBase::byName() (#126)
  - The enum KDDockWidgets::AddingOption has been deprecated, use
    KDDockWidgets::InitialVisibilityOption instead
  - You can now pass a preferred initial size to MainWindow::addDockWidget() (#95)
  - Added DockWidgetBase::Option_DeleteOnClose
  - Added Config::Flag_CloseOnlyCurrentTab
  - PySide6 support
  - Layout restorer now restores maximzied/minimized state too (#81)
  - Fixed dock indicators sometimes not appearing on Windows (#103)
  - Fixed Flag_NativeTitleBar not working
  - Fixed drag offset when dragging too fast with mouse
  - Fixed bug where last tab index position wouldn't be remembered in case user
    had manually reordered tabs (#154)
  - Fixed crash when hosting a QQuickWidget (#150)
  - Fixed CMake Visual Studio generator not working
  - Sidebar overlays now maintain their size when toggled (#155)
  - Added DockWidget::setFloatingGeometry() (#144)

* v1.2.1 (6 February 2021)
  - Support for resizing dock widgets when they are in overlay/popup mode (autohide/sidebar feature)
  - Fixed title bar close button enabled state not being restored with Layout saver (#137)
  - Installs a version header (kddockwidgets_version.h) that defines a version string and other useful versioning macros (#138)
  - DockWidgetBase::eventFilter() is protected instead of private (regression vs v1.1) (#148)
    It's recommended that you rebuild your application when updating KDDW, as MSVC encodes private/protected in the name mangling.
  - Fixed WASM build on Windows (#163)
  - Fixed sidebar overlay not getting hidden when clicking on the main window docking area (#157)

* v1.2.0 (17 December 2020)
  - Wayland support
  - Added Flag_KeepAboveIfNotUtilityWindow, so you can have keep above even if
    floating window is shown in the task-bar.
  - Added DockWidget::windowActiveAboutToChange() signal
  - Added support for Qt6 (PySide6 support is lacking)
  - Added WASM support

* v1.1.1 (11 December 2020)
  - Windows: Fixed a crash when clicking on the close button for floating windows in some situations (#110)
  - Don't show dock/undock icon when dockwidget is not dockable (#99)

* v1.1.0 (26 October 2020)
  - New drop indicator style type: Segmented Indicators
  - Windows: Drop Shadow for floating windows
  - Added AutoHide / SideBar support
  - Added FocusScope support
  - Added DockWidget::isFocused() and DockWidgetBase::isFocusedChanged()
  - Added Config::Flag_AlwaysTitleBarWhenFloating, which complements Flag_HideTitleBarWhenTabsVisible
  - Added Config::Flag_DontUseUtilityWindowsForFloating
  - Added Config::Flag_TitleBarHasMinimizeButton
  - Added Config::Flag_TitleBarNoFloatButton
  - Added Config::Flag_AutoHideSupport
  - Added Config::setTabbingAllowedFunc(TabbingAllowedFunc func)
  - HDPI improvements, new high-res icons
  - Bugfixes:
    - Windows: Fixed windows not having proper minimum size.
    - Windows: Fixed moving windows across screens with different DPI (#72)
    - Don't center floating windows if the user set a custom position (#75)
    - Fixed floating window's title not being correct (#74)
    - Fixed focus scope not reacting when clicking on current tab (#71)
    - Fixed floating window borders not being rendered correctly on HDPI due to rounding errors.
    - cmake/Python - don't require pkg-config, only use if available (#68)

* v1.0.0 (2 September 2020)
  - PySide2 bindings
  - Rewrote the layouting engine, resulting in a huge stability gain and makes it easy to add new features
  - Honour min/max sizes and some QSizePolicy heuristics
  - Lazy resize (resize only when dropping the separator)
  - Native Windows dragging (supporting Aero-snap)
  - Allow to hide TitleBar and just show tabs. Allow dragging via the tab bar.
  - Reordering tabs with mouse
  - Partial layout save/restore (affecting only a subset)
  - Double-click on title bar to maximize
  - Maximize button on the title bar
  - HDPI: Relative layouting restore
  - Allow to make a dock widget non-closable and non-dockable
  - Show close button on tabs
  - Multiple Main Window support
  - Allowing to dock on different parents
  - Support for affinities, making some dock widgets only dockable on certain main windows
  - 200 unit-tests
  - Fuzzer which found plenty of crashes in the old layouting engine
  - ASAN fixes
  - Double click on separator to distribute equally
  - Hovering over an indicator returns the true size that the dropped widget will get
  - Static build support
  - Namespaced Qt support
  - Dozens of crash fixes, bugs and much more...

* v0.1 (4 November 2019)
  - Initial Release and blog
