Kompania Qt Company publikoi versionin e kornizës Qt 6.8, në të cilin vazhdoi punën për stabilizimin dhe zgjerimin 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. Burimet e komponenteve Qt ofrohen nën licencat LGPLv3 dhe GPLv2.
Qt 6.8 mori statusin e versionit LTS, për të cilin do të formohen përditësime gjatë pesë vjetëve për mbajtësit e licencës komerciale, 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ë versioni të ri të rëndësishëm). Mbështetje për degën e kaluar LTS Qt 6.5 do të zgjatë deri në maj të vitit 2026, ndërsa mbështetje për degën e kaluar LTS Qt 6.2 u ndal më 30 shtator 2024. Dega Qt 5.15 do të mbështetet deri në maj 2025.
Ndryshimet kryesore në Qt 6.8:
- Moduli Qt Graphs u stabilizua dhe kaloi në statusin e plotë të mbështetjes, i cili është i destinuar për ndërtimin e llojeve të ndryshme të grafikëve 2D dhe 3D, si dhe për vizualizimin e koleksioneve të mëdha të të dhënave që ndryshojnë shpejt. Moduli zhvillohet si një zëvendësim universale për modulin e vjetër Qt DataVisualization, i lidhur me OpenGL, dhe modulin 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 versionin e kaluar, në Qt Graphs 3D janë shtuar optimizime në performancë, është siguruar mbështetje për transparencën në grafikët 3D (Bars3D), janë zgjeruar mundësitë për menaxhimin e vendosjes dhe dizajnit të etiketave dhe titujve, si dhe është përmirësuar vizualizimi i linjave të rrjetit navigues. Në Qt Graphs 2D ofrohet mundësia e vizatimit të llojeve të veçanta të diagrameve me kolona (përmes komponenteve QML), është shtuar mbështetje për diagrame me kolona të stackuara dhe janë zgjeruar mjete për shfaqjen e etiketave. API është unifikuar për përdorimin e temave në grafikët 2D dhe 3D. Thirrjet specifike për widget janë transferuar në modulimin Qt Graphs Widgets.
- Moduli QtHttpServer u stabilizua dhe kaloi në statusin e plotë të mbështetjes, i cili lejon integrimin e funksionalitetit të serverit HTTP në aplikacione, që mbështet HTTP/1.1, TLS/HTTPS, WebSockets, përpunimin e gabimeve, routing të kërkesave të bazuara në parametra në URL (QHttpServerRouter) dhe REST API. Në krahasim me versionin e kaluar, në klasën QNetworkAccessManager është implementuar mundësia për të dërguar kërkesa HTTP përmes soketeve lokale. Ofrohet mbështetje për përdorimin e klasës QFormDataBuilder për të lehtësuar transmetimin e shumë grupeve të të dhënave (p.sh., të dhënat tekstuale dhe skedarin e bashkangjitur) në një kërkesë HTTP (HTTP multi-part).
- Moduli Qt GRPC u stabilizua dhe kaloi në statusin e plotë të mbështetjes, i cili lejon aksesin në shërbime përmes protokollit gRPC.
- Moduli Qt Protobuf u stabilizua dhe kaloi në statusin e plotë të mbështetjes, i cili është i destinuar për serializimin e klasave Qt duke përdorur protokollin Protocol Buffer.
- Shtuar mbështetje për platformat mobile Android 14 dhe iOS 18.
- Ofrohet mundësia për zhvillimin e 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.
- Shtuar mbështetje për Raspberry Pi 5, NVIDIA AGX Orin dhe disa plaka të bazuara në SoC NXP, Toradex dhe STM. Shtuar mbështetje për plakat RISC-V StarFive VisionFive 2.
- Zgjeruar mundësitë për formimin e ndërtimeve të prera Qt, që mund të përdoren në pajisje me memorie të kufizuar. Për shembull, duke çaktivizuar mundësitë dhe komponentët e pa përdorur të Qt, mund të arrihet një reduktim i madh në madhësinë e ndërtimit në ruajtjen përhershme deri në 77% dhe një reduktim të konsumit të RAM-it deri në 32%, si dhe të zvogëlohet ndjeshëm koha e nisjes.
- Në modulimin Qt Multimedia, në platformën Linux u implementua mbështetje për kapjen e ekranit duke përdorur klasën QScreenCapture në ambientet e bazuara në protokollin Wayland, duke përdorur shërbimin ScreenCast dhe sistemin e portaleve XDG Desktop. Shtuar klasat QVideoFrameInput, QAbstractVideoBuffer dhe QAudioBufferInput, me anë të të cilave mund të organizohet dërgimi i të dhënave multimediale në seancën e regjistrimit (QMediaCaptureSession), si dhe klasa QAudioBufferOutput për lidhjen e procesorëve që marrin të dhënat audio pas dekodimit.
- Shtuar moduli Qt Quick Vector Image, që lejon integrimin e imazheve vektoriale në formatin SVG në skenat Qt Quick, që mund të përdoren, p.sh., për krijimin e elementeve të ndërfaqes së shkallëzuar, që nuk varen nga zgjatimi dhe madhësia e ekranit.

- Shtuar moduli Qt Quick 3D XR për krijimin e aplikacioneve për platformat e realitetit virtual dhe të shtuar, duke përdorur teknologjitë Qt Quick 3D. Për të organizuar ndërveprimin me mjediset tre-dimensionale të krijuara nëpërmjet Qt Quick 3D, mbështetet përdorimi i pajisjeve për ndjekjen e lëvizjeve të duarve dhe kontrollorëve VR. Për visualizim mund të përdoren syzat Apple VisionPro ose helmet 3D që mbështesin standardin OpenXR, si Meta Quest 2/3.

- Në Qt Quick janë shtuar optimizime që përshpejtojnë renderimin e skenave të komplikuara. Në klasën TableView është shtuar mundësia për të lëvizur kolona dhe rreshta. Në tipet Image dhe BorderImage është implementuar mbështetje për ngarkimin asinkron të imazheve (imazhi i vjetër qëndron 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ëpër një rreth, si dhe përdorimin në efekte të ndriçimit dhe mjegullës selektive (masked blur).
- Në modulin Qt Quick Shapes, për mbushjen e kontureve lejohet përdorimi në elementet e tipit ShapePath të çdo ofruesi teksturash. Në klasën QQuickRenderTarget janë shtuar metoda të reja për të menaxhuar përpunimin e teksturave dhe për të thjeshtuar integrimin e Qt Quick 3D me motorët, framework-ët dhe API-të e jashtme.
- Në Qt Quick Controls është paraqitur një stil i ri Fluent WinUI3, që 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 të ofruar nga platforma në ndërfaqet që krijohen me anë të Quick MenuBar.

- NĂ« Qt Quick 3D Ă«shtĂ« pĂ«rmirĂ«suar renderimi i hijave, falĂ« pĂ«rdorimit tĂ« kartave tĂ« hijave nĂ« cascade dhe filtrimit tĂ« butĂ« tĂ« hijave. NĂ« tipin PrincipledMaterial janĂ« shtuar parametra tĂ« rinj. ĂshtĂ« mundĂ«suar pĂ«rdorimi nĂ« materialet e veta tĂ« tĂ« njĂ«jtave pronarĂ« qĂ« janĂ« nĂ« materialet bazuara nĂ« tipin PrincipledMaterial.

- Në modulin Qt Network Auth është shtuar klasa QOAuthUriSchemeReplyHandler për krijimin e trajtuesve të redirektimit në një skemë URI të ndryshme gjatë autentifikimit përmes OAuth 2.0. Në klasën QOAuth2AuthorizationCodeFlow është shtuar mbështetje për zgjatimin OAuth PKCE (Proof Key for Code Exchange).
- Në klasën QDnsLookup është shtuar mundësia e dërgimit të kërkesave duke përdorur "DNS over TLS", është realizuar mbështetje për rekordet DNS TLSA (TLS Certificate Association) dhe është siguruar informimi i klientit për përfundimin e verifikimit të të dhënave nga serveri DNS.
- NĂ« Qt Core Ă«shtĂ« shtuar klasa QChronoTimer me mbĂ«shtetje mbi bibliotekĂ«n std::chrono, qĂ« lejon arritjen e saktĂ«sisĂ« mĂ« tĂ« lartĂ« nĂ« operacionet me kohĂ«n. ĂshtĂ« implementuar 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Ă« dhĂ«nash me tipe QString dhe QStringView. NĂ« QDirListing Ă«shtĂ« ofruar API mbi bazĂ«n e iteratorit pĂ«r tĂ« kaluar pĂ«rmbajtjen e katalogĂ«ve.
- Në Qt GUI është ofruar mundësia e ripërcaktimit të parametrave të skemës së ngjyrave sistemike, për shembull, për të zgjedhur modin e errët ose të ndriçuar, si dhe parametrat e veprimeve që çojnë në thirrjen e menusë kontekstuale.
- Në Qt Sql, drejtuesit e DBMS për PostgreSQL dhe MySQL/MariaDB tani përpunojnë saktë orët dhe datat kur klienti dhe serveri janë serveri zgjedhur në zona të ndryshme kohore.
- Në Qt WebEngine janë shtuar klasa të reja: QWebEngineFrame për të punuar në nivelin e blloqeve individuele iframe; QWebEngineClientHints për të menaxhuar identifikimin e shfletuesit; QWebEnginePermission për të menaxhuar të drejtat e aksesit në lidhje me sajtet.
- Në Qt Widgets është përmirësuar renderimi i widget-eve në ekranet me densitet të lartë pikselesh (high-DPI).
- Generatori i dokumentacionit QDoc është transferuar nga C API në C++ API dhe për punën e tij tani kërkohet të paktën Clang 17. Janë shtuar komanda të reja si "\keyword" dhe "\nativetype".
- Në kuadër të punës për rritjen e stabilitetit dhe performancës së versionit LTS janë bërë më shumë se 500 korrigjime dhe optimizime.
Burimi: opennet.ru




