4.0 KiB
Historique 0.3.5-rc.1
Statut
0.3.5-rc.1 a été validée par l'utilisateur le 2026-09-22. La candidate gelée passe les audits, la compilation workspace, Clippy strict, le workspace de tests complet, les smokes realtime natifs, la caractérisation release, les gates WASM/frontend, la cross-compilation Android ARM64/API 21, le smoke navigateur réel et les contrôles de dépendances sans défaut de publication.
Aucun rc.1.fix.N n'est requis. La candidate peut être promue mécaniquement vers la stable 0.3.5.
Gates statiques et workspace
La sortie utilisateur confirme :
General Rust rule audit: clean
Rust export completeness audit: 0 candidate(s)
games.sasedev workspace audit: clean
Markdown table audit: clean (5 table(s), 318 file(s))
Distribution layout audit: clean (66 required path(s), 8 forbidden path(s) absent)
cargo check --workspace: clean
cargo clippy --workspace --all-targets --all-features -- -D warnings: clean
Le workspace compilé porte bien 0.3.5-rc.1, y compris les crates realtime, les smokes et l'outil de mesure.
Tests workspace
La commande :
cargo test --workspace --all-targets --all-features
valide 77 tests, 0 échec sur les moteurs, plateformes, assets/logging, jeux, WebSocket, WebTransport, datagrams, fallback et adapters concernés.
Smokes realtime natifs
Les quatre launchers terminent par :
game-realtime-websocket-smoke: PASS
game-realtime-webtransport-smoke: PASS
game-realtime-webtransport-datagram-smoke: PASS
game-realtime-transport-fallback-smoke: PASS
Le fallback confirme WebTransport préféré, WebSocket uniquement sur erreur classifiée Timeout/Io, et visibilité conservée des erreurs non éligibles au fallback.
Mesures de la RC
La caractérisation release bornée termine par game-realtime-transport-measure: PASS et observe sur cette exécution loopback :
establishment median: websocket=65 us, webtransport=720 us
rtt median: websocket=17 us, webtransport=11 us
throughput 128 x 64 KiB: websocket=3036.346 MiB/s, webtransport=634.827 MiB/s
in-flight 64 x 1 KiB: websocket=1.533 MiB/s, webtransport=348.883 MiB/s
datagram bounded burst: attempted=64, received=64, payload=256 bytes, client_max=1381, server_max=1381
Ces valeurs restent une observation locale dépendante du pattern ; elles ne constituent ni un classement général des protocoles ni une prédiction Internet/mobile. La conclusion reste :
CONCLUSION webtransport=retain scope=second-backend reason=reliable-browser-fallback-datagram-capabilities
WASM, frontend et navigateur réel
Les gates wasm32-unknown-unknown de game-realtime-webtransport-lib passent en check, Clippy strict et build. game-realtime-webtransport-browser-smoke compile également pour WASM.
Le host Vite/TypeScript synchronisé sur 0.3.5-rc.1 passe npm install sans vulnérabilité puis son build production. Le smoke navigateur réel contre le serveur Rust natif termine par :
game-realtime-webtransport-browser-smoke: PASS
Android ARM64/API 21
Avec le NDK 28.2.13676358 déjà retenu et le Clang ciblé aarch64-linux-android21-clang exposé à Cargo/cc-rs, la commande :
cargo check -p game-realtime-webtransport-lib --target aarch64-linux-android
termine proprement. Cette preuve valide la cross-compilation du backend WebTransport pour Android ARM64/API 21 ; elle ne constitue pas un smoke runtime Android WebTransport.
Frontières de dépendances
Les graphes directs/inverses confirment que les backends realtime restent consommés uniquement par les launchers/outils techniques prévus. Aucun moteur ni gameplay ne dépend directement de game-realtime-websocket-lib ou game-realtime-webtransport-lib.
Conclusion RC
La candidate est gelée, cohérente et validée sans correctif RC. La stable 0.3.5 peut se limiter aux changements mécaniques de version, changelog, roadmap, clôture du plan/index, historique RC, delta final et ajustement du prompt 0.3.6.