Kompania Qt Company publikoi një lëshim të kornizës Qt 6.8, ku vazhdohet puna për stabilizimin dhe rritjen e funksionalitetit të degës Qt 6. Në Qt 6.8 ofrohet mbështetje për platformat Windows 10+, macOS 12+, Linux (Ubuntu 22.04/24.04, openSUSE 15.5, SUSE 15 SP5, RHEL 8.8/9.2, Debian 11.6), iOS 16+, Android 9+(API 23+), webOS, WebAssembly, INTEGRITY, VxWorks, FreeRTOS dhe QNX. Kodet burimore të komponenteve Qt ofrohen nën licencat LGPLv3 dhe GPLv2.
Qt 6.8 mori statusin e versionit LTS, për të cilin përditësimet do të formohen për pesë vjet për mbajtësit e licencës tregtare, që është dy vjet më shumë se në versionet e kaluara LTS. Për përdoruesit jo-komercialë koha e mbështetjes do të jetë gjashtë muaj (deri në formimin e një lëshimi të ri të rëndësishëm). Mbështetja për degën e kaluar LTS Qt 6.5 do të vazhdojë deri në maj 2026, ndësa mbështetja për degën e mëparshme LTS Qt 6.2 u ndërpre më 30 Shtator 2024. Dege Qt 5.15 do të mbështetet deri në maj 2025.
Ndryshimet kryesore në Qt 6.8:
- Moduli Qt Graphs është stabilizuar dhe kaloi në kategorinë e plotësisht të mbështetur, i destinuar për ndërtimin e llojeve të ndryshme të grafikëve 2D dhe 3D, si dhe vizualizimin e koleksioneve të mëdha të të dhënave që ndryshojnë shpejt. Moduli zhvillohet si një zëvendësues universale për modulin e vjetër Qt DataVisualization, i lidhur me OpenGL, dhe modulit Qt Charts. Moduli i ri përdor Qt Quick 3D dhe motorin e renderimit RHI (Rendering Hardware Interface), që mbështet API të ndryshme 3D (OpenGL, Vulkan, Metal dhe Direct 3D).
Në krahasim me lëshimin e kaluar, në Qt Graphs 3D janë shtuar optimizime të performancës, është siguruar mbështetje për transparencën në grafikët tre-dimensionalë (Bars3D), janë zgjeruar mundësitë e menaxhimit të vendndodhjes dhe formatimit të etiketave dhe titujve, dhe është përmirësuar vizatimi i linjave të rrjetit navigues. Në Qt Graphs 2D, është ofruar mundësia e vizatimit të llojeve të veçanta të grafikëve me kolona (përmes komponentëve QML), është shtuar mbështetje për grafikët me kolona të stack-uara, dhe janë zgjeruar mjetet për paraqitjen e etiketave. API është unifikuar për angazhimin e temave të dizajnit në grafikët 2D dhe 3D. Thirrjet specifike për widget janë transferuar në modulit Qt Graphs Widgets.
- Moduli QtHttpServer Ă«shtĂ« stabilizuar dhe Ă«shtĂ« kaluar nĂ« nivelin e moduleve tĂ« posaçme tĂ« mbĂ«shtetura, duke mundĂ«suar integrimin e funksionalitetit tĂ« serverit HTTP nĂ« aplikacione, i cili mbĂ«shtet HTTP/1.1, TLS/HTTPS, WebSockets, trajtimin e gabimeve, dhe rregullimin e kĂ«rkesave bazuar nĂ« parametrat nĂ« URL (QHttpServerRouter) dhe REST API. Krahasuar me versionin e kaluar, nĂ« klasĂ«n QNetworkAccessManager Ă«shtĂ« realizuar mundĂ«sia e dĂ«rgimit tĂ« kĂ«rkesave HTTP pĂ«rmes njĂ« socket-i lokal. ĂshtĂ« ofruar mbĂ«shtetje pĂ«r pĂ«rdorimin e klasĂ«s QFormDataBuilder pĂ«r tĂ« thjeshtuar dĂ«rgimin e grupeve tĂ« ndryshme tĂ« tĂ« dhĂ«nave (p.sh. tĂ« dhĂ«na tekstuale dhe skedarĂ« tĂ« ngjitur) nĂ« njĂ« kĂ«rkesĂ« HTTP (HTTP multi-part).
- Moduli Qt GRPC është stabilizuar dhe është kaluar në nivelin e moduleve të posaçme të mbështetura, duke mundësuar qasje në shërbime përmes protokollit gRPC.
- Moduli Qt Protobuf është stabilizuar dhe është kaluar në nivelin e moduleve të posaçme të mbështetura, i cili është i destinuar për serializimin e klasave Qt duke përdorur protokollin Protocol Buffer.
- ĂshtĂ« ofruar mbĂ«shtetje pĂ«r platformat mobile Android 14 dhe iOS 18.
- ĂshtĂ« ofruar mundĂ«sia e zhvillimit tĂ« aplikacioneve pĂ«r sistemet desktop Linux dhe Windows me procesorĂ« ARM, si dhe pĂ«r helmetat 3D Apple Vision Pro dhe Meta Quest 3 XR.
- ĂshtĂ« ofruar mbĂ«shtetje pĂ«r Raspberry Pi 5, NVIDIA AGX Orin dhe disa pllaka tĂ« bazuara nĂ« SoC NXP, Toradex dhe STM. ĂshtĂ« ofruar mbĂ«shtetje pĂ«r pllakat RISC-V StarFive VisionFive 2.
- Janë zgjeruar mundësitë për krijimin e paketave të prerë të Qt, të cilat mund të përdoren në pajisje me kapacitet të vogël memorjeje. Për shembull, duke çaktivizuar mundësitë dhe komponentët e papërdorur të Qt, mund të arrihet një reduktim prej 77% të madhësisë së paketës në memorie të përhershme dhe një ulje prej 32% të përdorimit të RAM-it, si dhe të shkurtohet ndjeshëm koha e nisjes.
- Në modulin Qt Multimedia në platformën Linux është realizuar mbështetje për kapjen e ekranit duke përdorur klasën QScreenCapture në mjediset e bazuara në protokollin Wayland, duke përdorur shërbimin ScreenCast dhe sistemin e portaleve XDG Desktop. Janë shtuar klasat QVideoFrameInput, QAbstractVideoBuffer dhe QAudioBufferInput, me anën e të cilave mund të organizohet dërgimi i të dhënave të veta multimediale në seancën e regjistrimit (QMediaCaptureSession), si dhe klasa QAudioBufferOutput për të lidhur procesorët që marrin të dhënat audio pas dekodimit.
- Moduli Qt Quick Vector Image është shtuar, duke lejuar integrimin e imazheve vektorë SVG në skenat Qt Quick, që mund të përdoren, për shembull, për të krijuar elemente të ndërfaqes që janë të shkallëzueshme, pa varësi nga rezolucioni dhe madhësia e ekranit.

- Moduli Qt Quick 3D XR është shtuar për të krijuar aplikacione për platformat e realitetit virtual dhe të shtuar, duke përdorur teknologjitë Qt Quick 3D. Për të organizuar ndërveprimin me ambientet 3D, të krijuara me Qt Quick 3D, mbështetet përdorimi i pajisjeve për ndjekjen e lëvizjeve të duarve dhe kontrollorëve VR. Për vizualizim mund të përdoren syzet Apple VisionPro ose helmetat 3D që mbështesin standardin OpenXR, si Meta Quest 2/3.

- Në Qt Quick janë shtuar optimizime që ndihmojnë në shpejtimin e vizatimit të skenave të ndërlikuara. Klasa TableView tani ofron mundësinë e lëvizjes së kolonnave dhe rreshtave. Në tipet Image dhe BorderImage është implementuar mbështetje për ngarkimin asinkron të imazheve (imazhi i vjetër mbetet derisa të ngarkohet i ri).
- Në modulin Qt Quick Effect Maker është shtuar mbështetje për animimin e sprite-ve, deformimin e elementeve në formë rrethore, si dhe përdorimin në efekte si ndriçimi dhe blur i zgjedhur (masked blur).
- Në modulin Qt Quick Shapes, gjatë mbushjes së konturit, lejohet përdorimi i çdo ofruesi të teksturave në elementet e tipit ShapePath. Në klasën QQuickRenderTarget janë shtuar metoda të reja për menaxhimin e përpunimit të teksteve dhe për të thjeshtuar integrimin e Qt Quick 3D me motorët e jashtëm, framework-et dhe API-të.
- Në Qt Quick Controls është ofruar një stil i ri Fluent WinUI3, i cili lejon krijimin e një ndërfaqe që duket si Windows 11 në çdo platformë. Në macOS është realizuar mundësia e përdorimit të menusë globale që ofrohet nga platforma në ndërfaqet e krijuara me ndihmën e Quick MenuBar.

- NĂ« Qt Quick 3D Ă«shtĂ« pĂ«rmirĂ«suar vizatimi i hijĐ”rave, falĂ« pĂ«rdorimit tĂ« hartave tĂ« hijerave tĂ« kashtĂ«s dhe filtrimit tĂ« butĂ« tĂ« hijerave. NĂ« tipin PrincipledMaterial janĂ« shtuar prona tĂ« reja. ĂshtĂ« ofruar mundĂ«sia e pĂ«rdorimit nĂ« materialet e veta tĂ« tĂ« njĂ«jtave pronash si nĂ« materialet e bazuara nĂ« tipin PrincipledMaterial.

- Në modulin Qt Network Auth është shtuar klasa QOAuthUriSchemeReplyHandler për krijimin e përpunuesve të ridrejtimit në një skemë tjetër URI gjatë autentifikimit përmes OAuth 2.0. Në klasën QOAuth2AuthorizationCodeFlow është shtuar mbështetje për zgjerimin OAuth PKCE (Proof Key for Code Exchange).
- Në klasën QDnsLookup është shtuar mundësia për të dërguar kërkesa duke përdorur "DNS over TLS", është implementuar mbështetje për regjistrat DNS TLSA (TLS Certificate Association) dhe është siguruar informimi i klientit mbi realizimin e verifikimit të të dhënave nga serveri DNS.
- NĂ« Qt Core Ă«shtĂ« shtuar klasa QChronoTimer me mbĂ«shtetje pĂ«r bibliotekĂ«n std::chrono, qĂ« lejon arritjen e saktĂ«sisĂ« mĂ« tĂ« lartĂ« nĂ« operacionet me kohĂ«n. ĂshtĂ« realizuar mundĂ«sia e ndryshimit tĂ« madhĂ«sisĂ« sĂ« QString, QByteArray dhe QList pa inicializimin e tĂ« dhĂ«nave. NĂ« QHash Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r ruajtjen nĂ« njĂ« hash tĂ« tĂ« dhĂ«nave me tipe QString dhe QStringView. NĂ« QDirListing Ă«shtĂ« ofruar njĂ« API mbi bazĂ«n e iteratorit pĂ«r tĂ« kaluar nĂ«pĂ«r pĂ«rmbajtjen e katalogĂ«ve.
- Në Qt GUI është ofruar mundësia për të tepruar cilësimet e skemës së ngjyrave të sistemit, për shembull, për të zgjedhur modin e errët ose të ndritshëm, si dhe cilësimet e veprimeve që çojnë në thirrjen e menusë kontekstuale.
- Në Qt Sql, driverët e DB PostgreSQL dhe MySQL/MariaDB tani trajtojnë saktësisht kohën dhe datat në situatën kur klienti dhe server janë zgjedhur zona të ndryshme kohore.
- Në Qt WebEngine janë shtuar klasa të reja: QWebEngineFrame për punë në nivelin e iframe-ve të veçantë; QWebEngineClientHints për menaxhimin e identifikimit të shfletuesit; QWebEnginePermission për menaxhimin e të drejtave të aksesit të lidhura me faqat.
- Në Qt Widgets është përmirësuar vizatimi i widget-eve në ekrane me densitet të lartë pikselesh (high-DPI).
- Generatori i dokumentacionit QDoc është kaluar nga C API në C++ API dhe tani kërkon të paktën Clang 17 për funksionimin e tij. Janë shtuar komanda të reja, të tilla si "\keyword" dhe "\nativetype".
- Si pjesë e punës për rritjen e stabilitetit dhe performancës së versionit LTS, janë bërë më shumë se 500 rregullime dhe optimizime.
Burimi: opennet.ru




