What's New in 2.5

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

Important changes

  • Enabled the critical assert error codes for debug builds only, and disabled them for Rel and MinSizeRel builds.
  • Cypress Traveo II prebuilt libraries are built using the GHS 2017 compiler. You need the same compiler version to either use these libraries or recompile the core library.
  • Downgraded the platform code for Renesas RH850 platform to C++03 and Cypress Traveo II to C++11.
  • Added support for NXP MIMXRT1060-EVKB and dropped support for the earlier version of this board (MIMXRT1060-EVK).
  • Deprecated the platformexporter tool as you can now export the platform sources using qmlprojectexporter. Refer to QmlProject Manual for more information.

New features

  • Added support for software vector graphics.
  • Added support for GHS 2015.1.7 compiler with C++03 on the Renesas RH850.
  • SDK upgrades:
    • STM32H750B SDK to v1.11.0
    • STM32F469 SDK to v1.27.1
    • Renesas RH850/D1M1A RGL SDK to v2.1.0a
    • NXP RT1050 and RT1064 to SDK v2.13.0
    • NXP RT1060 and RT1170 to SDK v2.13.1
    • Cypress Traveo II SDK to 1.2.1
  • Added support for pausing and resuming an AnimatedSprite.
  • QmlProject updates:
    • Added documentation to enable easy migration of the UI resource configuration to QmlProject.
    • Update the Quick start guides with qmlprojectexporter workflow.
    • Added the resourceAnimatedSpriteOptimizations QmlProject property to enable rendering only the changed regions of an image.
    • Added support for generating a GHS Multi IDE project. Refer to the QmlProject Manual for more information about this option.
  • Added support for LVDS displays on Renesas RH850/D1M1A. Refer to the supported displays section for more information.

Fixed issues

Qt for MCUs v2.5.3

  • Fixes to examples and demos:
    • Fixed a flickering artifact in the blur effect of the Qt Quick Ultralite tvii_effects Example.
  • qmlprojectexporter fixes:
    • Fixed qmlprojectexporter to look for modules in importPaths recursively. The URI must match the relative path of the module's qmlproject file from one of the import paths. This is an alternative to adding the module in a ModuleFiles node.
    • Fixed qmlprojectexporter to add qulModules as imports in qmldir to ensure that the imports in Qt Creator are loaded in the correct order.
    • Fixed qmlprojectexporter to collect font files from module qmlprojects.
  • qmltocpp fixes:
    • Handle a user-defined state with an empty name correctly.
    • Verify that required properties are initialized when the object is not used as a delegate.
    • Ensure that required property is given m_cppNameProperty of model properties only if the object is used as a delegate.
    • Check if a custom property of type Component is used as a binding for souceComponent to avoid a crash.
    • Make parent property available to the inline component declaration object.
    • Improve anchor binding inside the inline component when it is used as a Loader sourceComponent.
    • Check if the QML custom component or its base class already defines an attached property so that it won't generate a new attached type node when the component is initialized in another QML file.
  • Fixed an error causing incorrect positioning and rendering glitches with transformed text.
  • Fixed some compiler and linker warnings when building with the ARM GCC 12.x toolchain on the STM32H750B-discovery board.
  • Fixed a possible hang on Renesas RH850 (that might affect other platforms as well) caused by PlatformContext::endFrame() being called without a following call to PlatformContext::presentFrame().
  • Fixed the FreeRTOS memory allocator build issue with IAR on Windows when using the FREERTOS_PROVIDE_MEMORY_ALLOCATOR_OVERLOADS option.
  • Added support for Qt for MCUs to acquire licenses from the Qt License server.
  • Fixed the issue in which declaring a required property with an unknown type causes a crash.
  • Fixed an ambiguity in the supported MSVC version.
  • Fixed the feature matrix regarding shapes and the partial buffering feature.
  • Fixed the CMake configuration support for applications under software rasterization.
  • Fixed the nested property visibility from binding when the parent's visibility changes to true and the item is created by Loader.
  • Fixed the glitching UI on a wearable application for the STMF769 platform.
  • Fixed the failures to build with Clang 17.
  • Fixed qmlproject to prevent a module from depending on itself in importPaths.
  • Fixed RGB888 alpha blending so that it passes the whole color instead of only the first byte to the interpolation function.

Qt for MCUs v2.5.2

  • Reduced color depth for watch demo to avoid flickering UI artifacts on STM32H750B-discovery board when built with IAR.
  • Fixed assert and UI artifacts when rendering RTL text that is elided and not aligned to the left.
  • Fixed SwipeView behavior to make sure that enabling and disabling a view also affects its children.
  • qmltocpp fixes:
    • Generate valid C++ code for quoted string literals.
    • Handle objects in JavaScript functions as pointers.
    • Use correct type for the RotationAnimation's from and to properties.
    • Support translation file names with an underscore instead of dot to improve compatibility with Qt.
  • Fixed state update issues with the Spark font engine if MCU.Config.fontVectorOutlinesDrawing is enabled.
  • Fixed fontcompiler to use enough memory for heap and glyph cache when using Spark font engine.
  • Fixed unknown artifacts on resizing the window on Desktop platform. The window has a fixed size now.
  • Fixed the software renderer to report error on using an unknown image format.
  • Fixed the ImageLayer implementation to avoid invalid memory access, which could crash the application.
  • ShapePath fixes:
    • Use the default value (1) for strokeWidth when it is 0. This improves code compatibility with Qt.
    • Fix Qt Quick Ultralite graphics engine to correct blending of paths if QUL_COLOR_DEPTH is 8.
  • qmlprojectexporter fixes:
    • Fixed CMake logic to report useful error messages if qmlprojectexporter fails due to missing dependencies.
    • Ignore the filter property for the different file nodes in a qmlproject file.
    • Avoid linker errors by including dependencies of imported modules in a module.
  • Fixed UI artifacts due to wrong opaque regions in the rendering tree. The renderer computes the opaque regions for children only if they are within bounds.
  • Optimized outline generation for cached complex text to avoid UI artifacts due to the large no. of outlines.
  • Fixed the local bounds of AnimatedSpriteDirectory to make sure the images used by the animation are not clipped.
  • Fixed the render pool size for FreeType to avoid flickering while rendering shapes.

Qt for MCUs v2.5.1

  • Fixed Qt desktop platform library to make sure a Qt for MCUs application does not busy-loop on desktop.
  • Fixed qmltocpp to avoid unknown property warnings by Qt Creator for the StaticText, Rotation, and Scale QML types.
  • Fixes to examples and demos:
    • Added explicit size to the main window in watch demo to avoid clipped edges on Desktop.
    • Fixed the swipe_game demo to avoid unexpected artifacts. Dropped overlapping MouseArea objects and restricted to vertical scrolling only.
    • Fixed the sprite_animations to avoid rendering artifacts.
  • Fixed SwipeView to avoid grabbing touch events for disabled items.
  • Fixed wrong stacking order of children with a z value.
  • Updated the code snippets in AnchorChanges documentation.
  • Fixed crash while animating an item based on its property binding.
  • Fixed regression in SwipeView to make sure setCurrentIndex() works as expected, even if you swipe beyond the minimum or maximum index.
  • Fixed event queue overrun on STM devices by using the EventQueue::isEmpty() method.
  • Fixed qmlprojectexporter to avoid calling qmltocpp on modules that do not have QML files.
  • Fixed the following issue for AnimatedSprite:
    • Avoid applying same frame optimization on cropping.
    • Enable RLE compression for cropping optimization.
  • Fixed QmlProject config for storage sections to support names with dot prefix.
  • Added license check to qmlprojectexporter.
  • Fixed transition animations on PropertyChanges to avoid using property binding from a wrong state. Every call to the setValue() method clears the old binding.
  • Fixed animations triggered from C++ to make sure they don't end early.
  • Fixed qmlprojectexporter to add the missing optimizations for a GHS project.

Qt for MCUs v2.5.0

  • Fixed assertion for auto-wrapped Text items when its horizontal alignment is either Text.AlignRight or Text.AlignHCenter.
  • Improved text cache performance.
  • Moved texture cache to internal RAM.
  • Improved kit configuration support in Qt Creator.
  • Fixed SwipeView to update its currentIndex while dragging.
  • Fixed the ProgressBar implementation to initialize its from and to properties with default values.
  • Improved ResourceCropImageSequence optimization support to remove the transparent pixels from the image sequences.
  • Fixed qulrcc to make sure it reuses saved data for the same frames.
  • Optimized the memory allocations done by the DrawingEngine for path points.
  • Downgraded the example-platform implementation to C++03 so that it works on all platforms.
  • QmlProject fixes:
    • Ignored DS properties that are not prefixed with QDS.
    • Added libclang dependency to avoid build failures when using the MinGW toolchain.
    • Increased the default process timeout interval to make sure that qmlprojectexporter has enough time to process large projects.
    • Update the logic to collect and include the linker options on a single line.
    • Fixed the file selector logic to include the QML module dependencies.
  • Examples and demos:
    • Fixed thermo demo to avoid the flickering artifacts on STM32F769.
    • Fixed the shapes example orientation from horizontal to vertical to avoid elements becoming too small on the NXP i.MX RT1170 platform.
    • Updated the translation example resize the flag image based on screen orientation.
    • Updated the LED PIN configuration for the freertos_multitask example to make sure the LED blinks on NXP RT1050.
  • Fixed memory corruption when using the onChanged QML handlers for C++ properties.
  • Fixed flash targets for external Octa flash on Renesas RH850/D1M1A.
  • Fixed qmltocpp to use relative path to the C++ functionality used in QML.
  • Added CMake warning about insufficient internal flash storage on Renesas RA6M3G with build types other than MinSizeRel. Refer to Renesas EK-RA6M3G notes for more information.

New APIs

APIs for application development

New QML Properties

QML Type AnimatedSprite:

paused : bool

New QML Methods

QML Type AnimatedSprite:

Changes in earlier 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

What's New in 2.3

Changes in v2.3

What's New in 2.4

Changes in v2.4.0

What's New in 2.5

Changes in v2.5

What's New in 2.6

Changes in v2.6.0

What's New in 2.7

Changes in v2.7.0

Available under certain Qt licenses.
Find out more.