* v2.0.0 (unreleased)
  - 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()

* v1.6.0 (unreleased)
 - Minimum Qt6 version is now 6.3.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
