Lançimi i WASI 0.3.0 me async të integruar në komponentë
Grupi i punës WASI ka miratuar zyrtarisht versionin 0.3.0, duke e vendosur atë në bazën e modelit të komponentëve të WebAssembly‑it me primitive asinkrone. Kjo do të thotë se funksionet asinkrone tani janë pjesë natyrale e ekosistemit, pa nevojën për “akrobaci” që kërkohej në versionin 0.2.
Ndryshimet kryesore janë kryesisht mekanike. Skedarët e ndërfaqeve (stdin.wit, stdout.wit, stderr.wit, run.wit, exit.wit, terminal.wit, environment.wit) mbeten të njëjtë, por pjesa e stdio ka pësuar një riorganizim të rëndësishëm: në vend të një rrjedhe dalëse që shkruhet në mënyrë imperativë, WASI 0.3 kërkon një stream
Burimi i rrjetit është hequr krejtësisht. Ndërsa në versionin 0.2 rrjeti trajtohej si një kapacitet i transmetuar në çdo thirrje bind/connect/lookup, në 0.3 ai merret përmes importimeve të botës. Funksioni connect tani nuk kthen asgjë të veçantë; operacionet e I/O-së bëhen përmes metodave të rrjedhës së burimit të socket-it. Njësoj trajtohen edhe UDP‑ja, me dërgim dhe marrje asinkrone të thjeshtë, dhe kodet e gabimeve për TCP, UDP dhe kërkime emri janë unifikuar në një variant të vetëm, me raste të reja si connection-broken dhe një opsion të hapur për gabime të tjera.
Numri i burimeve është reduktuar nga 8 në 2. Në vend të matricës komplekse të burimeve për hyrje/dalje dhe kërkesë/përgjigje, WASI 0.3 përdor vetëm request dhe response, ku trupat përfaqësohen si stream
Ndryshimet në pjesën e orëve janë kryesisht rinomime: “wall-clock” u ndryshua në “system-clock”, dhe “datetime” në “instant”, për të qenë në përputhje me standardet POSIX, Rust dhe sistemet e tjera. Këto ndryshime kërkojnë kryesisht zëvendësime automatike në kodin e testimeve, siç tregohet në përditësimin e WebAssembly/wasi-testsuite@f13976f.
