ĂshtĂ« publikuar versioni i gjuhĂ«s sĂ« programimit Rust 1.92, i bazuar nĂ« projektin Mozilla, por tani po zhvillohet nĂ«n mbikĂ«qyrjen e organizatĂ«s jo fitimprurĂ«se Rust Foundation. Gjuha Ă«shtĂ« fokusuar nĂ« punĂ«n e sigurt me kujtesĂ«n dhe ofron mjete pĂ«r tĂ« arritur paralelizĂ«m tĂ« lartĂ« nĂ« ekzekutimin e detyrave, duke u shmangur pĂ«rdorimit tĂ« mbledhĂ«sit tĂ« plehrave dhe runtime (runtime reduktohet nĂ« inicializimin bazĂ« dhe mbĂ«shtetje pĂ«r bibliotekĂ«n standarde).
Metodat e punës me kujtesën në Rust e çlirojnë zhvilluesin nga gabimet gjatë manipulimit të treguesve dhe mbrojnë nga problemet që lindin nga puna me nivel të ulët me kujtesën, siç janë referimi në një zonë kujtese pas çlirimit të saj, dereferimi i treguesve null, tejkalimi i kufijve të tamponëve etj. Për shpërndarjen e biblioteka, për të siguruar ndërtimin dhe menaxhimin e varësive, projekti zhvillon menaxherin e paketave Cargo. Për ruajtjen e bibliotekave, mbështetet depoja crates.io.
Përdorimi i sigurt i memories sigurohet në Rust gjatë kompilimit përmes verifikimit të lidhjeve, gjurmimit të pronësisë së objekteve, përllogaritjes së kohëzgjatjes së objekteve (fushave të dukshmërisë) dhe vlerësimit të saktësisë së qasjes në memorie gjatë ekzekutimit të kodit. Rust gjithashtu ofron mjete për mbrojtje nga tejkalimet e numrave të plotë, kërkon inicializim të detyrueshëm të vlerave të variablave para përdorimit, menaxhon më mirë gabimet në bibliotekën standarde, aplikon konceptin e lidhjeve dhe variablave të pandryshueshëm (immutable) si parazgjedhje, dhe ofron tipizim të fortë statik për minimizimin e gabimeve logjike.
TĂ« rejat kryesore:
- Stabilizimi i tipit "never", i shënuar me simbolin "!" dhe që përcakton llogaritjet që kurrë nuk kthejnë vlera (për shembull, funksioni "exits", makroja "panic!" dhe ciklet e pafund nuk e kthejnë kurrë menaxhimin). Në versionin e ri të kontrollit Lint, "never_type_fallback_flowing_into_unsafe" dhe "dependency_on_unit_never_type_fallback" janë aktivizuar nga parazgjedhja për të krijuar gabime kompilimi në vend të paralajmërimeve. Këto verifikime aktivizohen kur ka probleme në kod që manifestohen gjatë përdorimit të tipit "never".
Sipas vlerësimeve paraprake, probleme të tilla ka në rreth 500 crate-pakete. Aktivizimi i kontrolleve lint do të ndihmojë në përgatitjen për stabilizimin e tipit "never", i cili aktualisht është klasifikuar si një funksionalitet eksperimental. Kontrollet lint aktivizohen vetëm gjatë ndërtimit të drejtpërdrejtë të paketimeve dhe nuk manifestohen gjatë ndërtimit të varësive. Kontrollimet gjithashtu mund të çaktivizohen përmes atributit "#[allow]".
- Ka ndryshuar sjellja e kontrollit lint pĂ«r «unused_must_use», qĂ« aktivizohet kur injorohet vlera e kthyer nga njĂ« funksion, nĂ«se funksioni ose lloji i kthyer Ă«shtĂ« i shĂ«nuar me atributin «#[must_use]». NĂ« versionin e ri Ă«shtĂ« ndĂ«rprerĂ« shfaqja e paralajmĂ«rimeve pĂ«r injorimin e vlerave tĂ« kthyer pĂ«r llojet Result dhe ControlFlow, nĂ« tĂ« cilat gjendja e gabimit pĂ«rcaktohet nga lloji pa vlera («!» ose «Infallible»). PĂ«r shembull, «fn can_never_fail() -> Result {âŠ}».
- Ka ndryshuar sjellja e flamurit «-Cpanic=abort», kur specifikohet, aktivizohet gjenerimi me default i tabelave unwind për ekzekutimin e gjurmës së prapme (backtrace). Për të rikthyer sjelljen e vjetër, është parashikuar opsioni «-Cforce-unwind-tables=no».
- ĂshtĂ« bĂ«rĂ« mĂ« e rreptĂ« kontrolli i argumenteve tĂ« atributit «#[macro_export]». Kur pĂ«rcaktohen atribute tĂ« pavlefshme, tani do tĂ« shfaqet njĂ« gabim dhe jo njĂ« paralajmĂ«rim. Problemet me «#[macro_export]» do tĂ« kontrollohen jo vetĂ«m gjatĂ« ndĂ«rtimit tĂ« drejtpĂ«rdrejtĂ« tĂ« paketĂ«s crate, por edhe gjatĂ« ndĂ«rtimit tĂ« varĂ«sive.
- Në kodin safe lejohet marrja e treguesve raw («&raw [mut | const]») në fushat e tipeve union.
- Për platformën e targetuar mips64el-unknown-linux-muslabi64 është realizuar mbështetje për lidhjen dinamike.
- Versioni minimale e suportuar e mjetit të jashtëm LLVM është e ngritur në degen LLVM 20.
- Një sasi e re API është kaluar në kategorinë stabile, përfshirë stabilizimin e metodave dhe implementimeve të tipazheve:
- NonZero<u{N}>::div_ceil
- Location::file_as_c_str
- RwLockWriteGuard::downgrade
- Box::new_zeroed
- Box::new_zeroed_slice
- Rc::new_zeroed
- Rc::new_zeroed_slice
- Arc::new_zeroed
- Arc::new_zeroed_slice
- btree_map::Entry::insert_entry
- btree_map::VacantEntry::insert_entry
- impl Extend<proc_macro::Group> for proc_macro::TokenStream
- impl Extend<proc_macro::Literal> for proc_macro::TokenStream
- impl Extend<proc_macro::Punct> for proc_macro::TokenStream
- impl Extend<proc_macro::Ident> for proc_macro::TokenStream
- T symboli «const» është aplikuar në funksionet:
- <[_]>::rotate_left
- <[_]>::rotate_right
- Menaxheri i paketave Cargo ofron përsëritjen e operacionit «git fetch» në rastin e dështimit të kërkesës së parë. Komponentët janë shtuar për integrim me emulatorin e terminalit Ghostty. Një kapitull i ri është shtuar në udhëzuesin për optimizimin e procesit të ndërtimit.
Gjithashtu, mund të theksojmë projektet dhe ngjarjet e sapo shpallura që lidhen me Rust:
- Kompania Ferrocene shpalli se kaloi certifikimin IEC 61508 (SIL 2) për bibliotekën libcore, që përfshin një nëngrup thirrjesh nga biblioteka standarde thelbësore Rust. Certifikimi konfirmon se biblioteka i përmbush kërkesat për sisteme industriale kritikisht të rëndësishme. Kompania Ferrocene është e njohur për krijimin e mjeteve për zhvillimin e aplikacioneve në gjuhën Rust për sistemet kritikisht të rëndësishme (Safety-Critical Systems), si dhe për mbështetje të specifikimit FLS (Ferrocene Language Specification), mbi të cilin zhvillohet specifikimi referencë për gjuhën Rust.
- ĂshtĂ« publikuar njĂ« version i ri i bibliotekĂ«s Iced 0.14 pĂ«r krijimin e ndĂ«rfaqeve pĂ«rdoruese me pĂ«rdorimin e modelit tĂ« programimit reaktiv. NĂ« Iced Ă«shtĂ« e implementuar njĂ« arkitekturĂ« e njohur pĂ«r zhvilluesit qĂ« janĂ« tĂ« njohur me gjuhĂ«n e ndĂ«rtimit deklarativ tĂ« ndĂ«rfaqeve Elm. Ofrohet njĂ« grup i plotĂ« widget-esh me mundĂ«sinĂ« pĂ«r tĂ« krijuar trajtues asinkronĂ« dhe pĂ«r tĂ« aplikuar njĂ« kompozim adaptiv tĂ« elementeve tĂ« ndĂ«rfaqes nĂ« varĂ«si tĂ« madhĂ«sisĂ« sĂ« dritares dhe ekranit. Jepen disa motorĂ« vizatimi, tĂ« cilĂ«t mbĂ«shtesin Vulkan, Metal dhe DX12. Nga projektet mĂ« tĂ« mĂ«dha qĂ« pĂ«rdorin Iced, mund tĂ« pĂ«rmendim mjedisin e punĂ«s COSMIC.
Në versionin e ri janë shtuar widget-et "table", "grid", "sensor", "float" dhe "pin", si dhe janë zgjeruar mundësitë e widget-it për punën me shënime Markdown. Janë realizuar: një mënyrë vizatimi reaktiv; shiritë skrollimi që shfaqen kur është e nevojshme; API për punën me animacione; mbështetje për metodat e hyrjes; mënyra headless; mundësia e bërjes së ndryshimeve pa ndërprerë aplikacionin (hot reloading); paralelizimi i dekodimit të imazheve; mjete për debugging dhe profilizimin e performancës.
- Projekti Ribir po zhvillon një bibliotekë për krijimin e aplikacioneve shumë-platformë me ndërfaqe grafike, duke lejuar përdorimin e një kodi të përbashkët aplikacioni për formimin e aplikacioneve grafike për plataforma të ndryshme (Linux, Windows, macOS, me plane për Android dhe iOS). Në dispozicion është një gjuhë deklarative për ndërtimin e ndërfaqes e bazuar në makro Rust, më shumë se 20 widget-e, tema stilizimi, renderim të bazuar në wgpu.
- Një utilitar i quajtur Island është prezantuar, i dedikuar për ekzekutimin e izoluara të aplikacioneve. Për izolimin sandbox, është përdorur mekanizmi Landlock. Island lejon krijimin e rregullave në formatin TOML dhe aplikimin e tyre për izolimin e skedareve ekzekutues ekzistues me ndihmën e Landlock, pa nevojën për të bërë ndryshime në kod. Ndryshe nga Firejail, utilitari Island nuk kërkon të drejta root dhe privilegje speciale.
- Kompania Google prezantoi mjetin Wasefire tĂ« shkruar nĂ« Rust pĂ«r zhvillimin e firmware secuirizuar. Ideja kryesore Ă«shtĂ« tĂ« funksionojĂ« mbi mjedisin bazĂ« tĂ« firmware-it (platformĂ«s) me trajtime tĂ« izoluara tĂ« veçanta (apletesh). Zhvillimi i firmware-it nuk Ă«shtĂ« i lidhur me gjuhĂ«t e programimit â komponentĂ«t e firmware-it mund tĂ« ofrohen nĂ« formatin WebAssembly me zgjerime WASI (WebAssembly System Interface) dhe tĂ« ekzekutohen pĂ«rmes Wasmtime.
- ĂshtĂ« publikuar versioni i firmware-it UEFI Patina 18, i shkruar nĂ« Rust. Patina ofron njĂ« zĂ«vendĂ«sim pĂ«r komponentĂ«t bazĂ« tĂ« firmware-it UEFI dhe mund tĂ« pĂ«rdoret pĂ«r pĂ«rmirĂ«simin e gradual tĂ« firmware-eve ekzistuese tĂ« shkruara nĂ« C nĂ« pĂ«rdorimin e gjuhĂ«s Rust.
- Projekti Brimstone po zhvillon një motor të ri JavaScript, i shkruar nga fillimi në gjuhën Rust. Në formën aktuale, ai mbështet mbi 97% të funksionaliteteve të ECMAScript 2026. Maqina virtuale për ekzekutimin e bytecode-it është krijuar me referencë në arkitekturën e motorit V8.
- Projekti Catten zhvillon bërthamën për sistemin operativ eksperimental CharlotteOS, i shkruar në Rust. Bërthama mbështet menaxhimin e aksesit të bazuar në «capability» (ngjashëm me Fuchsia) dhe përdor një hierarki të shpërndarë burimesh që i ngjan Plan 9, me adresimin e rrugëve të skedarëve sipas URI.
- ĂshtĂ« publikuar versioni i ndĂ«rfaqes interaktive Fish 4.2.0 (shtĂ«pia interaktive miqĂ«sore). Dega 4.x Ă«shtĂ« e njohur pĂ«r pĂ«rmbledhjen e plotĂ« tĂ« kodit nga gjuha C++ nĂ« Rust.
- Kompania Cloudflare publikoi kodin e bibliotekës Rust tokio-quiche, për të integruar mbështetje për protokollet QUIC dhe HTTP/3 në aplikacione asinkronike bazuar në framework-un Tokio.
- Projekti Tor publikoi versionet Arti 1.7 dhe 1.8, implementime të mjetit Tor, të shkruara në gjuhën Rust. Kur kodi Arti të arrijë nivelin e duhur për të zëvendësuar plotësisht versionin në C, zhvilluesit e Tor kanë për qëllim t'i japin Arti statusin e implementimit kryesor të Tor dhe gradualisht të ndalojnë mbështetje për implementimin në C.
NĂ« versionin e ri Ă«shtĂ« stabilizuar realizimi i zbulimit tĂ« kufizuar tĂ« shĂ«rbimeve onion duke pĂ«rdorur autorizimin e klientit («restricted-discovery»). PĂ«r tĂ« shtuar pĂ«rkrahjen pĂ«r proxy SOCKS, Ă«shtĂ« shtuar edhe mbĂ«shtetje pĂ«r HTTP-proxy qĂ« pĂ«rdor metodĂ«n CONNECT. ĂshtĂ« realizuar njĂ« caktim adaptiv i kohĂ«ve tĂ« pritjes bazuar nĂ« ngarkesĂ«. ĂshtĂ« shtuar mbĂ«shtetje eksperimientale pĂ«r tokio-console. Ka vazhduar zhvillimi i funksionaliteteve pĂ«r relays dhe servera direktoritĂ« (Directory Authority). ĂshtĂ« shtuar komandĂ« «arti hsc ctor-migrate» pĂ«r tĂ« transferuar çelĂ«sat nga klienti C nĂ« depozitat e çelĂ«save Arti. JanĂ« shtuar cilĂ«sime pĂ«r menaxhimin e fillimit tĂ« shĂ«rbimeve onion.
- ĂshtĂ« publikuar DBMS RustDB, e krijuar nĂ« gjuhĂ«n Rust nĂ«n ndikimin e PostgreSQL. MbĂ«shteten operacionet bazĂ« SQL (CREATE/DROP TABLE/VIEW, INSERT, SELECT, UPDATE, DELETE, SHOW TABLES, EXPLAIN, VACUUM), transaksionet, MVCC, WAL (Write-Ahead Log), indekset, lidhja nĂ«pĂ«rmjet protokollit tĂ« pĂ«rputhshĂ«m me PostgreSQL. GjatĂ« shkrimit tĂ« RustDB Ă«shtĂ« pĂ«rdorur AI.
Burimi: opennet.ru
