Het bedrijf Qt Company heeft de release van het Qt 6.12-framework aangekondigd, waarin de stabilisatie en uitbreiding van de functionaliteit van de Qt 6-tak is voortgezet. Qt 6.12 biedt ondersteuning voor de Windows 10+ platforms, macOS 13+, Linux (Ubuntu 22.04/24.04, openSUSE 16, SUSE 15 SP6, RHEL 9.6/10.0, Debian 11.6/12), iOS 17+, Android 9+ (API 23+), webOS, WebAssembly, INTEGRITY, VxWorks, FreeRTOS en QNX. De broncode van de Qt-componenten wordt geleverd onder de LGPLv3- en GPLv2-licenties.
Qt 6.12 heeft de status van LTS-release gekregen, waarvoor updates gedurende vijf jaar zullen worden verstrekt aan houders van commerciële licenties. Voor niet-commerciële gebruikers bedraagt de ondersteuningsperiode zes maanden (totdat een nieuwe significante release is vastgesteld). De ondersteuning voor de vorige LTS-tak Qt 6.8 zal duren tot oktober 2029, terwijl de ondersteuning voor de voorlaatste LTS-tak Qt 6.5 dit jaar is beëindigd.
Belangrijkste wijzigingen in Qt 6.12:
- De Qt Canvas Painter-module is erkend als klaar voor breed gebruik, die een API voor hardwareversnelde 2D-tekening biedt en shaders gebruikt voor het creëren van complexe visuele effecten. De rendering gebeurt met behulp van de RHI (Rendering Hardware Interface), die verschillende 3D API's ondersteunt (OpenGL, Vulkan, Metal en Direct 3D). Op basis van Canvas Painter is een experimenteel element Canvas2D ontwikkeld, dat is ontworpen met het oog op de HTML-specificatie Canvas 2D Context en het gebruik van JavaScript voor het teken van vormen vereenvoudigt.

- Een experimentele module StyleKit is toegevoegd, die duidelijk de structuur van gebruikersinterfacecomponenten en stijlattributen scheidt, wat het mogelijk maakt om code-dubbelingen te vermijden bij het implementeren van lichte, donkere en hoogcontrastthema's. StyleKit biedt een uniforme QML API voor het beschrijven van stijlen, waardoor een uniform ontwerp kan worden bereikt in hybride applicaties die klassieke widgets en elementen op basis van Qt Quick combineren.

- De mogelijkheden van de Qt Graphs-module zijn uitgebreid. Voor 2D-grafieken zijn nieuwe eigenschappen geïmplementeerd voor het aanpassen van aslabels en is ondersteuning voor logaritmische assen toegevoegd. Ingebouwde acties voor het inzoomen en pannen zijn toegevoegd. Er is een optie aan toegevoegd voor rendering met behulp van een high-performance backend op basis van de CanvasPainter-module, die het mogelijk maakt om grote hoeveelheden snel veranderende data te visualiseren.
- In Qt Quick zijn de QML-typen Safe Area, Context Menu, Double Spin Box en Search Field toegevoegd voor het weergeven van niet-overlappend inhoud, contextmenu's, invoervormen voor getallen en velden voor het indienen van zoekopdrachten. Het QML-type FlexboxLayout is uitgebreid, dat bedoeld is voor flexibele lay-out van interface-elementen volgens het Flexbox-concept, toegepast in CSS voor vereenvoudigde verticale uitlijning van elementen.
- In de module Vector Image, die de integratie van vectorafbeeldingen in Qt Quick-scènes mogelijk maakt voor het creëren van schaalbare interface-elementen, zijn extra eigenschappen en animatiemogelijkheden voor afbeeldingen in de formaten SVG en Lottie toegevoegd.
- De klasse QRangeModel is uitgebreid, die een wrapper biedt bovenop QAbstractItemModel voor direct gebruik in interface-elementen op basis van QML en Qt Quick van elke opneembare type uit C++, inclusief std::vector, std::tuples en std::array. De nieuwe versie heeft ondersteuning voor gegevenssortering ingebouwd, nieuwe eigenschappen geïmplementeerd voor het beheersen van verslepen in 'Drag & Drop'-modus, de zoekfunctie via de methode match() versneld en instellingen voor koppen en afzonderlijke rijen/elementen beschikbaar gesteld.
- En in de gRPC-module zijn er middelen toegevoegd voor het comprimeren van berichten aan de klantzijde en het beperken van de grootte van binnenkomende berichten van de server.
- In de QML-engine is er een Hot Reload-mechanisme geïmplementeerd, waarmee QML-code in real-time kan worden bewerkt tijdens het uitvoeren van het programma, en het resultaat kan worden bekeken via qmlpreview zonder de applicatie opnieuw te hoeven opstarten of stopzetten.
- LTS-ondersteuning voor het HarmonyOS-platform is aangeboden, wat de overdracht van bestaande Qt-toepassingen naar smartphones, tablets, pc's en infotainmentsystemen van Huawei vereenvoudigt.
- De vereisten van de Europese wet Cyber Resilience Act (CRA) zijn uitgevoerd, gericht op het handhaven van productveiligheid, het snel verhelpen van kwetsbaarheden gedurende de levenscyclus en het openbaarmaken van informatie over kwetsbaarheden en beveiligingsincidenten. In de broncode zijn componenten die kritisch zijn voor de veiligheid gemarkeerd, is er een publicatie van informatie over beveiligingstests georganiseerd en is een garantie verleend voor de integratie van actuele versies van externe bibliotheken.

Bron: opennet.ru


