Unreleased
Changes in current source since 1.11.3. Not yet assigned to a release.
Project updates
What changed in each release, and what to change in your code when you upgrade.
Nothing matches. Try another keyword or clear the filters.
Changes in current source since 1.11.3. Not yet assigned to a release.
Adds trailing content for input fields, Transfer dual-list selection and caret completion, with editable-field and Gallery compatibility fixes.
Fixes Windows headless window handling and adds disabled checkbox examples in the C++ and PySide6 Gallery.
Adds RangeSlider and ImageViewer, saved desktop Gallery zoom and paged search, with fixes for text alignment, overlays, and low-scale rendering.
A desktop Gallery source build without the matching private development headers now fails configuration. Base-library and ordinary binding consumers are unaffected.
Install qtbase5-private-dev or qt6-base-private-dev matching the selected Qt kit, or disable both Gallery build options for library-only use.
Desktop Gallery with public Qt development headers only# Debian / Ubuntu, matching the selected Qt version:
sudo apt install qtbase5-private-dev
# or:
sudo apt install qt6-base-private-dev
# Library-only alternative:
-DFLUENT_QT_BUILD_GALLERY=OFF -DFLUENT_QT_BUILD_PYSIDE6_GALLERY=OFFMakes particles optional, adds application-provided icon fonts, improves 3D rendering, and introduces stable-ABI Python wheels and bilingual upgrade guidance.
FontIcon adds fontFamily() and setFontFamily() for application-provided fonts. Pass the font's Unicode glyph directly; an empty family keeps the existing bundled Fluent icon rendering. C++ and PySide6 Gallery include a custom-font example.FLUENT_QT_DEBUG_RELEASE_RUNTIME=OFF to use a debug Qt.The fluent::layout names and import paths are gone. Linking only FluentQt::FluentQt no longer includes particle effects.
When building from source, turn on FLUENT_QT_BUILD_PARTICLES. With an installed SDK, request COMPONENTS Particles and link FluentQt::Particles. Then update includes, namespaces and Python imports as shown below.
FluentQt::FluentQt
#include <FluentQt/Layout.h>
fluent::layout::ParticleBackdrop
from fluentqt.layout import ParticleBackdropfind_package(FluentQt CONFIG REQUIRED COMPONENTS Particles)
target_link_libraries(app PRIVATE FluentQt::Particles)
#include <FluentQt/Particles.h>
fluent::particles::ParticleBackdrop
from fluentqt.particles import ParticleBackdropIntroduced in b674c94
New editing and selection controls, chart export, and a rebuilt documentation site.
NumberBox values can be dragged as well as typed, and a drag can be cancelled. PropertyPanel groups fields, finds them by name and resets them to defaults.AutoSuggestBox accepts asynchronous suggestions and drops stale ones. New: TagInput for tags with stable IDs and TreeSelect for picking from a tree model.DataGrid can pin columns, and DataGridToolBar adds search, filters and column controls.Adds CommandPalette, FormController and CodeBlock. Popup, Dialog and DrawerView share one set of backdrop blur and dimming options, and modal surfaces block clicks and shortcuts behind them.
CommandBar and CommandBarFlyout accept actions with nested FluentMenu submenus. TextEdit::appendPlainText() appends log lines without losing the selection or undo history. Unchecked check boxes and radio buttons have stronger outlines.
Adds DateTimeRangePicker, QmlBridge for hosting application QML pages in Widgets windows, and an optional Plugins module that handles extension dependencies, activation and cleanup. Python Live Scene now reloads previews in the same window.
Fixes window backgrounds at startup and during material changes. New windows no longer flash white in dark mode, and switching away from Mica or Acrylic keeps the old material until the new background is drawn.
Adds Timeline and Stepper. Gallery images and text are sharper at display scales other than 100%.
Fixes the packaged 3D Gallery. Python wheels now include Spatial, Windows ARM64 renders with Direct3D 11, and the app falls back to 2D when hardware acceleration is unavailable.
FluentQt and FluentQt-Gallery to 1.9.1 to get the 3D Gallery.Adds the optional Spatial module. SpatialView places ordinary widgets on 3D surfaces in perspective, and they keep their input handling and signals. The desktop and browser Galleries gain a 3D mode.
Adds a Charts module (line, area, bar, pie, donut, scatter and sparkline) drawn with Qt Widgets and no Qt Charts dependency, plus FileDropZone and FileListView. Toast has a new card style and an optional close button.
SplashScreen repaints less during its reveal animation. The Gallery has a new app icon, installer artwork and website screenshots.
Adds ParticleBackdrop, a CPU-painted particle background, and a reusable SplashScreen. Also fixes keyboard selection and text editing, and makes Gallery source easier to read and copy.
UserTheme::applyOverrides() changes colors, corner radii and fonts for the whole app, and setThemeOverrides() does the same for a single component. ComboBox dropdowns now use custom fonts. Also fixes callback, navigation and slider bugs on supported Qt versions.
Adds ToggleSwitch::visualScale. Fixes input signals in collection views, FlowView layout after rows are removed, and NumberBox callbacks that delete the widget.
Adds a HighContrast theme and an app-wide MotionPolicy (Full, Reduced, Disabled) for C++, PySide6 and the browser Gallery. A focused TextEdit animates its auto-height changes.
MultiSelectComboBox joins selected labels with 、 instead of a translated “and”. Pickers and command bars drop duplicated internal code without behavior changes, and icon-only TabView buttons get accessible names. Release workflows pin their actions to reviewed revisions.
Buttons, toggle switches and date/time pickers follow the same fontRole rules, and an explicit setFont() still wins. Gallery samples behave the same in C++, PySide6 and WebAssembly. The build-fluentqt-gui Skill now runs from project analysis through independent review.
Native Gallery previews can replay pointer and keyboard actions before a capture, and reports include widget geometry and Inspector findings. Menu access keys keep working while menus animate. Local builds choose a parallel job count from available CPU and memory.
Live Scene keeps a PySide6 preview window open and refreshes it on save. CalendarView selection outlines are rounded, picker flyouts line up with their fields, and TeachingTip shadows spread evenly.
Adds MultiSelectComboBox, and fluentqt doctor, create and trial commands that check the local Qt setup and generate a starter C++ or PySide6 project. Also fixes several picker and list issues across platforms.
No library API changes. The website gets separate English and Chinese homepages, GitHub Discussions gets question and proposal forms, and stable releases wait for every Python wheel before publishing.
Removes the Material and Cupertino design languages, leaving Fluent as the only one. Adds Field and DataGrid, and documents open, close and modal behavior for every overlay.
DesignLanguage, StyleTheme and StyleThemeCatalog are gone, with no aliases. Apps that only used Fluent Light and Dark are unaffected.
Choose the appearance with Theme and customize tokens with UserTheme. In Python, use current_theme(), apply_user_theme(), set_accent_color() and reset_theme_tokens(). The Gallery ignores the old styleTheme setting.
FluentElement::DesignLanguage
StyleTheme / StyleThemeCatalog
current_design_language()
apply_style_theme()FluentElement::Theme
fluent::UserTheme
current_theme()
apply_user_theme()Code samples in the browser Gallery can switch between C++ and PySide6. TextEdit respects custom content margins. The build-fluentqt-gui Skill scales its checks to the size of the app.
Ships the build-fluentqt-gui Skill for coding agents, with a component catalog that maps C++ and PySide6 APIs to Gallery samples. ListView gets a default delegate, and installed packages no longer embed build-machine SDK paths.
Adds opt-in WebAssembly support through FLUENT_QT_BUILD_WEBASSEMBLY_SUPPORT. The website embeds the C++ Gallery running in the browser. Desktop and PySide6 builds are unchanged.
The PyPI pages for FluentQt and FluentQt-Gallery now have full descriptions and project links. Components and the Python API are unchanged.
First PySide6 release. The FluentQt wheel binds the component library, and FluentQt-Gallery installs the Gallery separately. The C++ library and the Qt 5.15 build are unchanged.
Pressed buttons no longer hide their bottom border. On macOS, custom title bars fall back to native window dragging when Qt drops trackpad events.
Adds CommandBar, CommandBarFlyout, and EditingCommandRouter for undo, copy, paste and related actions. Toast gains action buttons, pause on hover and in-place updates.
Makes Card, Divider, Expander, Accordion, FontIcon, CompoundButton, Avatar and Toast public, so applications can use the same controls as the Gallery.
Adds per-category headers such as <FluentQt/BasicInput.h>, typed font roles and selection modes, and explicit ownership for hosted widgets. Applications now provide their own localized picker and switch text.
Code that passes font roles as strings, uses per-view selection enums, includes implementation headers, or relies on implicit ownership of hosted widgets needs updating.
Include public headers only, and pass WidgetOwnership where an API asks for it. Supply localized picker text, ToggleSwitch labels and accessible names from the application.
"Body"
FlowSelectionMode / GridSelectionMode
ListSelectionMode / TreeSelectionModeTypography::FontRole::Body
fluent::collections::SelectionMode
fluent::WidgetOwnershipFixes AnchorLayout right and bottom anchors, QMLPlus state transitions, and access to bundled resources before QApplication exists. TextEdit forwards focus correctly and keeps undo history when its text is set again.
Controls stay sharp at fractional display scales up to 300%. Dialog and CoachMark open as overlays inside the owning window instead of separate native windows, which fixes frozen input on macOS.
Bundles its fonts and Fluent System Icons, so text and icons no longer depend on Segoe being installed. Adds Gallery pages for typography, color, icons and spacing, and follows the system display scale.
Installed packages expose only an explicit list of public headers. Gallery component pages show the header, C++ type and CMake target, and switching pages is faster.
The library now depends only on Qt Widgets; spdlog stays with the Gallery. Releases include a library-only source archive, and Gallery packages drop unused Qt modules.
Adds Linux support for X11 and Wayland on x64 and ARM64, with Debian packages. Window::setBackdropEffect() provides one Mica/Acrylic API on every platform.