Tvrtka Qt objavila je Qt 6.12 framework, koji nastavlja rad na stabilizaciji i proširenju funkcionalnosti Qt 6 grane. Qt 6.12 pruža podršku za 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 za Qt komponente licenciran je pod licencama LGPLv3 i GPLv2.
Qt 6.12 je određen kao LTS izdanje, s ažuriranjima koja će se nastaviti pet godina za komercijalne vlasnike licenci. Za nekomercijalne korisnike održavanje će se nastaviti šest mjeseci (do sljedećeg većeg izdanja). Podrška za prethodnu LTS granu, Qt 6.8, nastavit će se do listopada 2029., dok je podrška za prethodnu LTS granu, Qt 6.5, završila ove godine.
Glavne promjene u Qt 6.12:
- Modul Qt Canvas Painter, koji pruža API za hardverski ubrzano renderiranje 2D sadržaja i koristi shadere za stvaranje složenih vizualnih efekata, proglašen je spremnim za široku upotrebu. Renderiranje se izvodi pomoću RHI (Rendering Hardware Interface) mehanizma koji podržava različite 3D API-je (OpenGL, Vulkan, Metal i Direct 3D). Canvas Painter se koristi kao osnova za eksperimentalni element Canvas2D, koji se temelji na HTML specifikaciji Canvas 2D Context i pojednostavljuje korištenje JavaScripta za crtanje oblika.

- Dodan je eksperimentalni modul StyleKit koji eksplicitno odvaja strukturu komponenti korisničkog sučelja od atributa stila, eliminirajući dupliciranje koda pri implementaciji svijetlih, tamnih i tema visokog kontrasta. StyleKit pruža ujedinjeni QML API za opisivanje stilova, omogućujući dosljedno stiliziranje u hibridnim aplikacijama koje kombiniraju klasične widgete i elemente temeljene na Qt Quicku.

- Mogućnosti Qt Graphs modula su proširene. Implementirana su nova svojstva za prilagođavanje oznaka osi za 2D grafove, a dodana je i podrška za logaritamske osi. Dodane su ugrađene akcije za zumiranje i pomicanje. Dodana je opcija za renderiranje pomoću visokoučinkovitog backenda temeljenog na CanvasPainter modulu, što omogućuje vizualizaciju velikih količina brzo promjenjivih podataka.
- Qt Quick je dodao QML tipove Sigurno područje, Kontekstni izbornik, Dvostruki okvir za okretaje i Polje za pretraživanje za prikaz sadržaja koji se ne preklapa, kontekstnih izbornika, obrazaca za numerički unos i polja za slanje upita za pretraživanje. QML tip FlexboxLayout je proširen, omogućujući prilagodljivi raspored elemenata sučelja u skladu s konceptom Flexbox, CSS okvira koji se koristi za pojednostavljenje vertikalnog poravnanja elemenata.
- Modul Vector Image, koji omogućuje integraciju vektorskih slika u Qt Quick scene za stvaranje skalabilnih elemenata sučelja, ažuriran je dodatnim svojstvima i mogućnostima animacije za SVG i Lottie slike.
- Klasa QRangeModel je proširena i pruža omotač oko QAbstractItemModel za izravnu upotrebu u QML i Qt Quick elementima sučelja bilo kojeg tipa nabrajanja C++, uključujući std::vector, std::tuples i std::array. Nova verzija uključuje ugrađenu podršku za sortiranje podataka, nova svojstva za kontrolu kretanja povlačenjem i ispuštanjem, brže pretraživanje putem metode match() i postavke za zaglavlja i pojedinačne retke/stavke.
- Dodan je i gRPC modul s alatima za kompresiju poruka na strani klijenta i ograničavanje veličine dolaznih poruka od poslužitelja.
- QML engine implementira mehanizam Hot Reload, koji vam omogućuje uređivanje QML koda u hodu tijekom izvršavanja programa i promatranje rezultata putem qmlpreviewa bez ponovnog pokretanja ili zaustavljanja aplikacije.
- Omogućena je LTS podrška za HarmonyOS platformu, što olakšava prenošenje postojećih Qt aplikacija na Huawei pametne telefone, tablete, računala i infotainment sustave u automobilu.
- Ispunjeni su zahtjevi Europskog zakona o kibernetičkoj otpornosti (CRA). Cilj ovih zahtjeva je održavanje sigurnosti proizvoda, brzo otklanjanje ranjivosti tijekom cijelog životnog ciklusa proizvoda i otkrivanje informacija o ranjivostima i sigurnosnim incidentima. Sigurnosno kritične komponente identificirane su u izvornom kodu, objavljene su informacije o sigurnosnom testiranju i zajamčena je integracija trenutnih verzija biblioteka trećih strana.

Izvor: opennet.ru


