On this page

C

What's New in 2.12

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:

New features

  • Added support for the following target platforms:
  • Added DeviceLink support to Infineon TRAVEO T2G targets built using either the Green Hills or IAR toolchains. This enables automated UI testing using Squish.
  • QmlProject improvements or updates:
  • Removed the GCC compiler-specific options and flags from CompilerExtraOptions, as these options and flags were also set in the CMake toolchain file (armgcc.cmake). This avoids hard-coding the options and flags, so that they are customizable.
  • Added Qul::activeLanguages property to get the list of languages that the application supports.
  • Added date value type to enable support for timestamp instance in Position instances.
  • Added Qul::validateMonotypeDataTableChecksums() to verify the integrity of Monotype data tables stored in external flash. Storing these data tables in an external flash saves approximately ~57 KB on the internal flash. Refer to Placing Monotype data tables in external flash for more information.
  • Updated the thermo demo to store the Monotype data tables in QSPI by default on STM32F769I Discovery Kit.
  • Added Qul::initResources() options to enable control the initialization behavior.
  • Added MCU.Config.glyphsLayoutCacheSize to control the size of cache for glyph layout data.
  • qmltocpp improvements:
    • Improved code that sets all the property bindings for a given root object to use table-based setters, which reduces code footprint significantly.
    • Added error checks for built-in read-only list property.
  • Added support for Coco to get code coverage results from the target hardware.
  • Added support to independently update application and its resource data. Also added queryResourceStorageSectionInfo() and more options to initResources() API, which enables UI features based on what resource data is available for OTA (Over The Air) updates.
  • RTOS, SDK and compiler upgrades:
    • MSVC compiler to 2022 on Windows 11.
    • Renesas RH850/D1M1A RGL SDK to v2.2.0a.
    • Renesas platform SDK to version 25.06.00.
    • NXP platform SDK to version 25.09.00.
    • STM32CubeH7 SDK to version 1.12.1.
    • Zephyr RTOS to v4.1.
  • Improved cache memory usage reports in the performance logs, counting all the allocated space including block overhead.
  • Added maybeTexture() method to check if there is enough space in the resource cache, instead of asserting.
  • Added multi-line elide mode, which you can enable using the MCU.Config.Experimental.multiLineElide QmlProject property. This mode elides any line that exceeds the available width. It does not require an explicit height to be set.
  • Added maximumLineCount property to limit the number of visible lines in a Text item.
  • Improved navigation API:

Fixed issues

  • Enabled TRAVEO T2G targets to use the resource cache to preserve assets for multiple frames when using OTF layers. This avoids visual artifacts on the OTF layer when the texture data it's rendering gets invalidated in Qt Quick Ultralite Core.
  • Fixed out of memory exception on STM32F769I target based on IAR toolchain. Changed to a fixed stack of size 24K for IAR builds too.
  • Fixed graphical glitches when drawing path strokes on T2G TRAVEO boards.
  • Fixed the JPEG decoder to allocate memory dynamically instead of using a hard coded memory address on TRAVEO T2G targets.
  • Fixed incorrect perspective transforms on TRAVEO T2G targets when destRect.topLeft() != srcRect.topLeft().
  • Improved error reporting when surface allocation fails on TRAVEO T2G.
  • Fixed text caching to avoid visual artifacts because of removed entries when the drawing engine is still reading them asynchronously.
  • Fixed platform adaptation for Renesas RH850 to use CPU fallback engine for RGB332 pixel format.
  • qmltocpp fixes:
    • Fix code generated for component layout with many items.
    • Ignore import statements if a module is importing itself.
    • Skip generating the translation function if no translation files are found.
  • qmlprojectexporter fixes:
    • Warnings related to C++ compiler options.
    • Use correct URI for the Qt Safe Renderer module.
  • Fixed position property to make sure it is accessible from QML.
  • Fixed GHS compiler generated dependency file suffix information, to make sure Ninja knows the correct file name.
  • Fixed a crash because of resetting a ListView or Repeater model from the delegate.
  • Fixed fontcompiler warnings by disabling the char attribute mapping to the corresponding cluster value.
  • Optimized text performance by avoiding unnecessary re-layout and clearing cache before rendering.
  • Fixed memory corruption on TRAVEO T2G, where the JPEG decoder was allocating memory dynamically instead of using a hard coded memory address.
  • Fixed text cache implementation to call waitUntilAsyncReadFinished() before removing entries from the cache.

New APIs

APIs for application development

New Classes

New Member Functions

Class GeoPositionInfo:

(since Qt Quick Ultralite 2.12) bool hasSpeed() const

Class SharedImage:

(since Qt Quick Ultralite 2.12) bool maybeTexture(Qul::PlatformInterface::Texture &texture, int textureIndex = 0) const

New Functions in Namespaces

(since Qt Quick Ultralite 2.12) bool queryResourceStorageSectionInfo(const char *resourceStorageSectionName, Qul::ResourceStorageSectionInfo *info = NULL)
(since Qt Quick Ultralite 2.12) bool validateMonotypeDataTableChecksums(Qul::MonotypeDataTables tables = MonotypeDataTables(MonotypeDataTable::AllDataTables))

New Enum Types

(since Qt Quick Ultralite 2.12) enum class RenderHint { SafeRendering }
(since Qt Quick Ultralite 2.12) enum class MonotypeDataTable { decompositionData0, decompositionData1, decompositionData2, decompositionData3, decompositionIndex, …, AllDataTables }
(since Qt Quick Ultralite 2.12) enum class ResourceInitializationOptions { DisableAutomaticVersionChecking, AllowUnlistedResources }

New Type Aliases

(since Qt Quick Ultralite 2.12) RenderHints
(since Qt Quick Ultralite 2.12) MonotypeDataTables

New Variables

(since Qt Quick Ultralite 2.12) double speed
(since Qt Quick Ultralite 2.12) uint64_t timestamp

New QML Types

New QML Properties

QML Type Position:

(since Qt Quick Ultralite 2.12) speed : double
(since Qt Quick Ultralite 2.12) speedValid : bool
(since Qt Quick Ultralite 2.12) timestamp : date

QML Type Qul:

(since Qt Quick Ultralite 2.12) activeLanguages : list<string>

QML Type Text:

(since Qt Quick Ultralite 2.12) maximumLineCount : int

APIs for platform development

New Classes

New Member Functions

Class DrawingEngine:

(since Qt Quick Ultralite (Platform) 2.12) virtual Qul::PlatformInterface::RenderHints supportedRenderHints() const

Changes in Previous Versions

Available under certain Qt licenses.
Find out more.