๋ณด๋„์ž๋ฃŒ๊ฐ€ ๋ฐœํ‘œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค ๋…น 1.96.0 โ€” ๋Ÿฌ์ŠคํŠธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ์ตœ์‹  ์•ˆ์ • ๋ฒ„์ „์ž…๋‹ˆ๋‹ค. ์—…๋ฐ์ดํŠธ๊ฐ€ ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. 28 ์›” 2026 ๋…„ํ‘œ์ค€ `rustup update stable` ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฃผ์š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์œผ๋กœ๋Š” `core::range`์— ์ƒˆ๋กœ์šด ๋ฒ”์œ„ ์œ ํ˜• ์ถ”๊ฐ€, ํŒจํ„ด ๋งค์นญ ๋งคํฌ๋กœ ์•ˆ์ •ํ™”, WebAssembly ๋นŒ๋“œ ๋™์ž‘ ๊ฐ•ํ™”, Cargo์˜ ๋‘ ๊ฐ€์ง€ ์ทจ์•ฝ์  ์ˆ˜์ • ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ฃผ์š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ

  • ์ƒˆ๋กœ์šด ๋ฒ”์œ„ ์œ ํ˜• core::range::Range*.
    ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์ƒˆ๋กœ์šด ๋ฒ”์œ„ ์œ ํ˜•์ธ core::range::Range, RangeFrom, RangeInclusive ๋ฐ ๊ด€๋ จ ๋ฐ˜๋ณต์ž๊ฐ€ ์•ˆ์ •ํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค. core::ops์˜ ๊ธฐ์กด ์œ ํ˜•๊ณผ ๋‹ฌ๋ฆฌ, ์ƒˆ๋กœ์šด ๋ฒ”์œ„ ์œ ํ˜•์€ Iterator ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ง์ ‘ ๊ตฌํ˜„ํ•˜์ง€ ์•Š๊ณ  IntoIterator๋ฅผ ํ†ตํ•ด ๋ฐ˜๋ณต์ž๋กœ ๋ณ€ํ™˜๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ด๋Ÿฌํ•œ ๋ฒ”์œ„ ์œ ํ˜•์€ ๋ณต์‚ฌ ๊ฐ€๋Šฅ(Copyable)ํ•˜๋ฉฐ, ์˜ˆ๋ฅผ ๋“ค์–ด ๋ฒ”์œ„๋ฅผ ๊ตฌ์กฐ์ฒด ํ•„๋“œ๋กœ ์ €์žฅํ•  ๋•Œ ํŽธ๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ๋Š” 0..1๊ณผ ๊ฐ™์€ ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ์กด ๋ฒ”์œ„ ์œ ํ˜•์„ ์ƒ์„ฑํ•˜์ง€๋งŒ, ํ–ฅํ›„ ๋ฒ„์ „์—์„œ ์ƒˆ๋กœ์šด ์œ ํ˜•์œผ๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

  • assert_matches! ๋ฐ debug_assert_matches! ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    ์ƒˆ๋กœ์šด ๋งคํฌ๋กœ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ’์ด ์ฃผ์–ด์ง„ ํŒจํ„ด๊ณผ ์ผ์น˜ํ•˜๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” assert!(matches!(โ€ฆ))์™€ ๊ฐœ๋…์ ์œผ๋กœ ์œ ์‚ฌํ•˜์ง€๋งŒ, ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•  ๊ฒฝ์šฐ ๊ฐ’์˜ ๋””๋ฒ„๊ทธ ํ‘œํ˜„์ด ์ถœ๋ ฅ๋˜์–ด ์ง„๋‹จ์ด ๊ฐ„ํŽธํ•ด์ง‘๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋งคํฌ๋กœ๋Š” ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ํƒ€์‚ฌ ํฌ๋ ˆ์ดํŠธ์™€์˜ ์ถฉ๋Œ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด Prelude์— ์ถ”๊ฐ€๋˜์ง€ ์•Š์•˜์œผ๋ฏ€๋กœ core ๋˜๋Š” std์—์„œ ๋ช…์‹œ์ ์œผ๋กœ ๊ฐ€์ ธ์™€์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • WebAssembly ํƒ€๊ฒŸ์˜ ๋™์ž‘ ๋ฐฉ์‹์„ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค.
    Rust๋Š” ๋” ์ด์ƒ WebAssembly ๋นŒ๋“œ ์‹œ ๋ง์ปค์— `--allow-undefined` ์˜ต์…˜์„ ์ „๋‹ฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด์ œ ์ •์˜๋˜์ง€ ์•Š์€ ์‹ฌ๋ณผ์€ ์ž๋™์œผ๋กœ "env" ๋ชจ๋“ˆ์˜ ์ž„ํฌํŠธ๋กœ ๋ณ€ํ™˜๋˜์ง€ ์•Š๊ณ  ๋งํฌ ๊ณผ์ •์—์„œ ์˜ค๋ฅ˜๋กœ ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋นŒ๋“œ ์˜ค๋ฅ˜ ๋ฐ ์ž˜๋ชป๋œ ์‹ฌ๋ณผ ์ด๋ฆ„์„ ๋” ์ผ์ฐ ๊ฐ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ๊ฒฝ์šฐ `RUSTFLAGS=-Clink-arg=--allow-undefined`๋ฅผ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ `#[link(wasm_import_module = "env")]`์™€ ๊ฐ™์ด ์ž„ํฌํŠธํ•  wasm ๋ชจ๋“ˆ์„ ๋ช…์‹œ์ ์œผ๋กœ ์ง€์ •ํ•˜์—ฌ ์ด์ „ ๋™์ž‘์œผ๋กœ ๋˜๋Œ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Cargo์— ๋ณด์•ˆ ์ˆ˜์ • ์‚ฌํ•ญ์ด ์ ์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    Rust 1.96.0์€ ํƒ€์‚ฌ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ์‚ฌ์šฉ์ž๋ฅผ ๊ดด๋กญํžˆ๋Š” ๋‘ ๊ฐ€์ง€ ์ทจ์•ฝ์ ์„ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. CVE-2026-5223 ํฌ๋ ˆ์ดํŠธ tarball ๋‚ด ์‹ฌ๋ณผ๋ฆญ ๋งํฌ ์ฒ˜๋ฆฌ์™€ ๊ด€๋ จํ•˜์—ฌ, ํƒ€์‚ฌ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์˜ ์•…์„ฑ ํŒจํ‚ค์ง€๊ฐ€ ๋™์ผ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์˜ ๋‹ค๋ฅธ ํŒจํ‚ค์ง€ ์บ์‹œ๋ฅผ ๋ฎ์–ด์“ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Rust 1.96.0๋ถ€ํ„ฐ Cargo๋Š” ์‹ฌ๋ณผ๋ฆญ ๋งํฌ๊ฐ€ ํฌํ•จ๋œ ํฌ๋ ˆ์ดํŠธ ์•„์นด์ด๋ธŒ๋ฅผ ๊ฑฐ๋ถ€ํ•ฉ๋‹ˆ๋‹ค. CVE-2026-5222 ์ด ๋ฌธ์ œ๋Š” ์ŠคํŒŒ์Šค ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์˜ URL ์ •๊ทœํ™”์™€ ๊ด€๋ จ์ด ์žˆ์œผ๋ฉฐ, ๋“œ๋ฌผ์ง€๋งŒ ์•…์˜์ ์ธ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋กœ Cargo ํ† ํฐ์ด ์ „์†ก๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Rust ํŒ€์— ๋”ฐ๋ฅด๋ฉด crates.io ์‚ฌ์šฉ์ž๋Š” ์ด ๋ฌธ์ œ์˜ ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  • ์–ธ์–ด์˜ ๋ณ€ํ™”.
    ์ด๋ฒˆ ๋ฆด๋ฆฌ์Šค์—๋Š” ๋‹ค์Œ ๋‚ด์šฉ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๋ช‡ ๊ฐ€์ง€ ์‚ฌ์†Œํ•œ ์ˆ˜์ • ๋ฐ ๊ฐœ์„  ์‚ฌํ•ญ: ๋งคํฌ๋กœ์˜ expr ๋ฉ”ํƒ€๋ณ€์ˆ˜๋ฅผ cfg์— ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉ, ํŠœํ”Œ ํ‘œํ˜„์‹์—์„œ ํƒ€์ž… ์บ์ŠคํŒ…์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š” ๋ฌธ์ œ ์ˆ˜์ •, ํ•จ์ˆ˜ ์ธ์ˆ˜์— ๋Œ€ํ•œ ์ž˜๋ชป๋œ ํƒ€์ž… ์ถ”๋ก  ํžŒํŠธ์˜ ๋“œ๋ฌธ ๊ฒฝ์šฐ ์ˆ˜์ •, ์ธ๋ผ์ธ ์–ด์…ˆ๋ธ”๋ฆฌ์—์„œ s390x ๋ฒกํ„ฐ ๋ ˆ์ง€์Šคํ„ฐ ์ง€์› ์ถ”๊ฐ€, ManuallyDrop ์ƒ์ˆ˜๋ฅผ ํ…œํ”Œ๋ฆฟ์œผ๋กœ ๋‹ค์‹œ ํ—ˆ์šฉ(์ด๋Š” Rust 1.94.0์—์„œ ๋ฐœ์ƒํ•œ ํšŒ๊ท€ ์˜ค๋ฅ˜๋ฅผ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค).

  • ์ปดํŒŒ์ผ๋Ÿฌ ๋ฐ ํ”Œ๋žซํผ ๋ณ€๊ฒฝ ์‚ฌํ•ญ.
    ์— LinuxLoongArch ํƒ€๊ฒŸ์— ๋Œ€ํ•œ ๋งํฌ ์™„ํ™” ์ง€์›์ด ํ™œ์„ฑํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์ฝ”๋“œ ๋ฐฐํฌ ํ›„ ์ผ๋ถ€ ์ „ํ™˜ ๋ฐ ํ˜ธ์ถœ์„ ๋‹จ์ˆœํ™”ํ•˜๋Š” ๋งํฌ ์ตœ์ ํ™” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. riscv64gc-unknown-fuchsia์˜ ๊ฒฝ์šฐ ๊ธฐ๋ณธ ๊ตฌ์„ฑ์ด ๋ฒกํ„ฐ ํ™•์žฅ์„ ์ง€์›ํ•˜๋Š” RVA22 ํ”„๋กœํŒŒ์ผ๋กœ ์—…๋ฐ์ดํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  • ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์—…๋ฐ์ดํŠธ.
    0์ด ์•„๋‹Œ ์ •์ˆ˜ ๋ฒ”์œ„๋ฅผ ์ˆœํšŒํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ToSocketAddr์„ ํ†ตํ•œ SGX์˜ ํ˜ธ์ŠคํŠธ ์ฃผ์†Œ ์ง€์—ฐ ์ฒ˜๋ฆฌ ๋ฌธ์ œ๋„ ์ˆ˜์ •๋˜์—ˆ์œผ๋ฉฐ, ๋ฌธ์„œ์™€ ๋‚ด๋ถ€ ๊ณ„์•ฝ์—์„œ "์ฝ๊ธฐ/์“ฐ๊ธฐ ๊ฐ€๋Šฅ" ๋ฉ”๋ชจ๋ฆฌ ์ •์˜๊ฐ€ ๋ช…ํ™•ํ•ด์กŒ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ ์ •์˜์—์„œ ๋„ ํฌ์ธํ„ฐ๊ฐ€ ์ œ๊ฑฐ๋˜์—ˆ๊ณ , ์˜ˆ์™ธ๋Š” ์ด์ œ ํŠน์ • ๋ฉ”์„œ๋“œ์— ๋Œ€ํ•ด ๋ณ„๋„๋กœ ์ง€์ •๋ฉ๋‹ˆ๋‹ค.

  • ์•ˆ์ •ํ™”๋œ API.
    ์•ˆ์ •ํ™”๋œ ์ธํ„ฐํŽ˜์ด์Šค์—๋Š” assert_matches!, debug_assert_matches!, From์˜ ๊ตฌํ˜„์ฒด๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. AssertUnwindSafe์˜ ๊ฒฝ์šฐ ๋ ˆ์ด์ง€์…€ ๊ทธ๋ฆฌ๊ณ  ๋ ˆ์ด์ง€๋ฝ ๋˜ํ•œ, Range, RangeFrom, RangeToInclusive ๋ฐ ํ•ด๋‹น ๋ฐ˜๋ณต์ž๋ฅผ ํฌํ•จํ•˜์—ฌ core::range์˜ ์ƒˆ๋กœ์šด ๋ฒ”์œ„ ์œ ํ˜• ๋ฐ ๋ฐ˜๋ณต์ž๋„ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

  • Cargo: ์ข…์†์„ฑ ๋ฐ ๋ฌธ์„œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ.
    ์ด์ œ ์ข…์†์„ฑ์—์„œ Git ์ €์žฅ์†Œ์™€ ๋Œ€์ฒด ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋ฅผ ๋ชจ๋‘ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋กœ์ปฌ์—์„œ๋Š” Git ๋ฒ„์ „์ด ์‚ฌ์šฉ๋˜๊ณ , ๊ฒŒ์‹œ ์‹œ์—๋Š” ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ๋ฒ„์ „์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” crates.io์˜ ๋™์ž‘ ๋ฐฉ์‹๊ณผ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ Cargo ์„ค์ •์—์„œ `target.cfg(..)'.rustdocflags`์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  • Rustdoc์ด ์ด์ œ ๋ฌธ์„œํ™”๋ฅผ ๋”์šฑ ์ •ํ™•ํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
    ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” API ๊ด€๋ จ ์„ค๋ช…์€ ์ด์ œ ์ด์ „์ฒ˜๋Ÿผ ๊ณต๋ฐฑ์œผ๋กœ ์ค„ ๋ฐ”๊ฟˆํ•˜๋Š” ํŠน์ˆ˜ ์ฒ˜๋ฆฌ ์—†์ด ์ผ๋ฐ˜ ๋ฌธ์„œ์ฒ˜๋Ÿผ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ rustdoc์€ ๋” ์ด์ƒ impl ๋‚ด๋ถ€ ์š”์†Œ์— ๋Œ€ํ•ด missing_doc_code_examples ๊ฒ€์‚ฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š์œผ๋ฉฐ, ๋ฉ”์„œ๋“œ์™€ ๊ด€๋ จ ํ•จ์ˆ˜๊ฐ€ ๋ฌธ์„œ ์‚ฌ์ด๋“œ๋ฐ”์—์„œ ๋ถ„๋ฆฌ๋˜์–ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

  • ํ˜ธํ™˜์„ฑ ๋ฌธ์ œ ๋ฐœ์ƒ ๊ฐ€๋Šฅ์„ฑ.
    ์ด๋ฒˆ ๋ฆด๋ฆฌ์Šค์—๋Š” ๋น„ํ‘œ์ค€ ์ฝ”๋“œ์—์„œ ๋‚˜ํƒ€๋‚  ์ˆ˜ ์žˆ๋Š” ๋ช‡ ๊ฐ€์ง€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ถ€ #[repr(Int)] ์—ด๊ฑฐํ˜•์˜ ๋ ˆ์ด์•„์›ƒ์ด ๊ทน๋‹จ์ ์ธ ๊ฒฝ์šฐ์— ์ˆ˜์ •๋˜์—ˆ์œผ๋ฉฐ, Pin์—์„œ ๋ถˆํ•„์š”ํ•œ ํฌ๊ธฐ ์กฐ์ •์ด ๋น„ํ™œ์„ฑํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค. WebAssembly ๋นŒ๋“œ๋Š” ์ด์ œ ์ •์˜๋˜์ง€ ์•Š์€ ์‹ฌ๋ณผ์—์„œ ํฌ๋ž˜์‹œ๋˜๋ฉฐ, ์‹ค์ˆ˜๋กœ ์•ˆ์ •ํ™”๋˜์—ˆ๋˜ #![reexport_test_harness_main] ์†์„ฑ์€ ๋‹ค์‹œ ๊ธฐ๋Šฅ ์ œํ•œ์ด ์ ์šฉ๋˜์—ˆ๊ณ , -Csoft-float ์˜ต์…˜์ด ์ œ๊ฑฐ๋˜์—ˆ์œผ๋ฉฐ, ์ตœ์†Œ ์™ธ๋ถ€ LLVM ๋ฒ„์ „์ด 21๋กœ ์ƒํ–ฅ ์กฐ์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค. AVR์˜ ๊ฒฝ์šฐ, C double์ด ๊ธฐ๋ณธ์ ์œผ๋กœ 32๋น„ํŠธ์ด๋ฏ€๋กœ c_double ์œ ํ˜•์ด f32๋กœ ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : linux.org.ru

DDoS ๋ณดํ˜ธ, VPS VDS ์„œ๋ฒ„๊ฐ€ ์žˆ๋Š” ์‚ฌ์ดํŠธ๋ฅผ ์œ„ํ•œ ์•ˆ์ •์ ์ธ ํ˜ธ์ŠคํŒ… ๊ตฌ์ž… ๐Ÿ”ฅ DDoS ๊ณต๊ฒฉ ๋ฐฉ์ง€ ๊ธฐ๋Šฅ์ด ํƒ‘์žฌ๋œ ์•ˆ์ •์ ์ธ ์›น์‚ฌ์ดํŠธ ํ˜ธ์ŠคํŒ…, VPS ๋ฐ VDS ์„œ๋ฒ„๋ฅผ ๊ตฌ๋งคํ•˜์„ธ์š” | ProHoster