Shpërthimi i Rust 1.92. Projekte Rust për GUI, izolimin sandbox dhe krijimin e firmware.

Ë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

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster