C

What's New in 2.3

Qt Quick Ultralite maintains source compatibility between minor releases. However, some changes may require you to adapt the application code accordingly. The following sections highlight such changes:

Important changes

New features

  • Added the boundsBehavior property to control the dragging or flicking beyond the bounds.
  • Added support for building Qt Quick Ultralite applications using MinGW v11.2 on Windows
  • Optimized QML binding evaluation to reduce code size by up to 2.5% depending on the toolchain and the application.
  • Added support for AutomaticCompressedLossless image format on Cypress Traveo II.
  • Upgrades:
    • Renesas FSP v3.8.0.
    • MCUXPresso SDK v2.12.0 for MIMXRT1050, MIMXRT1060, MIMXRT1064, and MIMXRT1170.
    • STM32CubeH7 SDK v1.10.0 for STM32H750.
    • STM32CubeF7 SDK v1.17.0 for STM32F769.
    • STM32CubeF4 SDK v1.27.0 for STM32F469.
    • LodePNG version to 20220109.
    • CMake minimum version to v3.21.1.
  • Added the DeviceLink platform API to enable communication between the host and the device.
  • Added EventQueue::isOverrun() and EventQueue::clearOverrun() to check if the event queue is overrun and clear it.
  • Added FreeRTOS support for EK-RA6M3G.
  • Added .qmlproject files to all the Qt Quick Ultralite demos and examples.
  • Added support for images with unicode filenames.
  • Updates to Flickable:
  • Added partial framebuffer support for STM32F469 and STM32F769.
  • Added support for RK043FN66HS-CTG display on MIMXRT1050, MIMXRT1060 and MIMXRT1064 boards.
  • Added the compiler and linker-specific options to a whitelist, enabling platform exporter to filter them from the options retrieved by CMake. These white-listed options are required to be set by the 3rd party IDEs.
  • Added Loader QML API to support loading QML components dynamically.
  • Added support for the updated display panel in the STM32F769I Discovery kit.
  • qmlprojectexporter updates:
    • Override the Qt Controls style using the --controls-style command-line option.
    • Detect an SVG image.
    • Select resource variants using file selectors.
    • Generate dependency resolution report.
    • Validate custom image properties.
    • Run in both configure and generate modes using the --export-configuration and --export-cpp command-line options.
    • Handle the IAR toolchain-specific needs to use the module assets.
    • Override the projectRootPath property.
    • Export modules using the --export-modules command-line option, which is enabled by default.
    • Improve error reporting to ensure that the messages help the developer resolve the error.
    • Add compiler and linker option white list.
    • Update the filename naming scheme to match with the scheme used by qmltocpp.

Fixed issues

  • Fixed event queue to avoid it being stuck in the overrun state, and print a warning when it enters the state.
  • Fixed rendering artifacts on Cypress Traveo II when drawing vector graphics using the Shapes or DrawingEngine APIs.
  • Removed the qmlinfterfacegenerator MSVC dependency when cross-compiling for a target using other toolchains.
  • Fixed Flickable to ensure that touch-and-drag behavior is consistent across the supported devices.
  • Fixed the platform port for EK-RA6M3G to ensure that logging and touch handling works when a custom main is used.
  • Moved the startup file in the automotive demo to ensure that it is added to the platform irrespective of the Qt Quick Ultralite build type (static or dynamic).
  • Updated CMake logic to use the input from qmlproectexporter to update translations.
  • Fixed memory usage by preallocating Image and Text cache buffer to avoid fragmentation.
  • Fixed platform source filename conflicts in 3rd party IDEs.
  • Ported BoardDefaults.cmake to BoardDefualts.qmlprojectconfig, enabling CMake to use the default values in the qmlproject file.
  • Fixed rendering artifacts on STM32F469 with 24bpp color depth.
  • Examples and demos:
    • Enabled support for configuring the examples for all the available Qt for MCUs kits.
    • Enabled the image_cache example for RH850 and Cypress Traveo II.
    • Enabled the watch demo for MIMXRT1060.
    • Enabled the static_library example for RH850.
    • Fixed error reporting when non-default color depths are used for the application, without rebuilding the platform. See the Supported features list for more information.
  • Fixed crash on STM32F769 due to IAR optimizations.
  • Fixed regression in qmlprojectexporter caused by invalid libclang search path.
  • Changed the install PATH for the Qt libraries to separate the libraries for MSVC and MinGW. The MSVC version of these libraries are installed into <QUL_ROOT>/lib/msvc, whereas the MinGW version is installed into <QUL_ROOT>/lib/gnu.
  • Fixed inconsistent line wrapping for text items with the Text::wrapMode set to WordWrap. The line breaks algorithm for this mode complies with the algorithm recommended by the Unicode standard.
  • Fixed issues with rendering a space " " character in the unicodeCoverage list, using the static font engine.
  • Fixed crash because of the size optimization for GCC toolchain.

Other changes

New APIs

APIs for application development

New Member Functions

Class EventQueue:

void clearOverrun()
bool isOverrun() const

New QML Types

L
Loader

APIs for platform development

New Classes

Changes in Previous Versions

What's New in 1.1

Changes in v1.1.0

What's New in 1.2

Changes in v1.2.0

What's New in 1.3

Changes in v1.3.0

What's New in 1.4

Changes in v1.4.0

What's New in 1.5

Changes in v1.5.0

What's New in 1.6

Changes in v1.6.0

What's New in 1.7

Changes in v1.7.0

What's New in 1.8

Changes in v1.8.0

What's New in 1.9

Changes in v1.9.0

What's New in 2.0

Changes in v2.0.0

What's New in 2.1

Changes in v2.1

What's New in 2.2

Changes in v2.2

Available under certain Qt licenses.
Find out more.