Tvrtka Qt Company objavila je izdanje Qt 6.12 okvira, u kojem je nastavljena stabilizacija i proširenje funkcionalnosti grane Qt 6. U Qt 6.12 podržane su platforme Windows 10+, 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 i QNX. Izvorni kod Qt komponenti dostupan je pod licenci LGPLv3 i GPLv2.
Qt 6.12 steka status LTS izdanja, za koje će se ažuriranja razvijati tijekom pet godina za vlasnike komercijalne licence. Za nekomercijalne korisnike vrijeme podrške iznosit će šest mjeseci (do formiranja novog značajnog izdanja). Podrška za prošlu LTS granu Qt 6.8 trajat će do listopada 2029. godine, dok je podrška za pretprošlu LTS granu Qt 6.5 obustavljena ove godine.
Glavne promjene u Qt 6.12:
- Modul Qt Canvas Painter proglašen je spremnim za široku primjenu, nudi API za hardverski ubrzanu obradu 2D sadržaja i koristi shadere za stvaranje složenih vizualnih efekata. Renderiranje se vrši putem RHI (Rendering Hardware Interface) motora, koji podržava različite 3D API-je (OpenGL, Vulkan, Metal i Direct 3D). Na temelju Canvas Paintera implementiran je eksperimentalni element Canvas2D, stvoren s obzirom na HTML specifikaciju Canvas 2D Context i pojednostavljuje korištenje JavaScript-a za crtanje figura.

- Objavljen je eksperimentalni modul StyleKit, koji jasno odvaja strukturu komponenti korisničkog sučelja i atribute stilova, što omogućava eliminaciju dupliciranja koda prilikom implementacije svijetlih, tamnih i visokokontrastnih tema. StyleKit pruža jedinstveni QML API za opisivanje stilova, omogućujući postizanje jedinstvenog stila u hibridnim aplikacijama, koje kombiniraju klasične widgete i elemente temeljene na Qt Quick.

- Povećane su mogućnosti modula Qt Graphs. Za 2D grafikone implementirane su nove značajke za prilagodbu oznaka osi i dodana je podrška za logaritamske osi. Dodane su ugrađene akcije za zumiranje i pomicanje. Dodana je opcija za renderiranje putem visokoučinkovitog backend-a temeljenog na modulu CanvasPainter, koji omogućuje vizualizaciju velikih količina brzo promjenjivih podataka.
- U Qt Quick dodani su QML tipovi Safe Area, Context Menu, Double Spin Box i Search Field za prikaz nepreklapajuće sadržaja, kontekstnih izbornika, formi za unos brojeva i polja za slanje pretraživačkih upita. Proširen je QML tip FlexboxLayout, namijenjen za responzivno raspoređivanje elemenata sučelja u skladu s konceptom Flexbox, primijenjenim u CSS-u za pojednostavljenje vertikalnog poravnanja elemenata.
- U modul Vector Image, koji omogućuje integraciju vektorskih slika u Qt Quick scene za izradu skalabilnih elemenata sučelja, dodana su dodatna svojstva i mogućnosti animacije za slike u formatima SVG i Lottie.
- Proširen je klasa QRangeModel, koja pruža omotnicu nad QAbstractItemModel za izravnu upotrebu u elementima sučelja temeljenim na QML i Qt Quick za sve nabrojene tipove iz C++, uključujući std::vector, std::tuples i std::array. U novoj verziji podržano je sortiranje podataka, implementirana su nova svojstva za kontrolu pomaka u režimu „Drag & Drop“, ubrzan je pretraživanje putem metode match(), a također su dostupne postavke za naslove i pojedinačne redove/elemente.
- U modul gRPC dodana su sredstva za kompresiju poruka na strani klijenta i ograničavanje veličine dolaznih poruka od poslužitelja.
- U QML motoru implementiran je mehanizam Hot Reload, koji omogućuje uređivanje QML koda u hodu tijekom izvođenja programa i praćenje rezultata putem qmlpreview bez ponovnog pokretanja i zaustavljanja izvođenja aplikacije.
- Omogućena je LTS podrška za platformu HarmonyOS, što olakšava prijenos postojećih Qt aplikacija na pametne telefone, tablete, računala i infotainment sustave automobila Huawei.
- Ispunjeni su zahtjevi europskog zakona Cyber Resilience Act (CRA), usmjerenog na održavanje sigurnosti proizvoda, brzo uklanjanje ranjivosti tijekom životnog ciklusa te otkrivanje informacija o ranjivostima i sigurnosnim incidentima. U izvornoj kodu istaknuti su komponenti koji su kritično važni s gledišta sigurnosti, organizirana je objava informacija o testiranju sigurnosti i zajamčena je integracija najnovijih verzija vanjskih biblioteka.

Izvor: opennet.ru


