ํŒŒ์ด์–ดํญ์Šค 88 ๋ฆด๋ฆฌ์Šค

Firefox 88 ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ถœ์‹œ๋˜์—ˆ์œผ๋ฉฐ, ์žฅ๊ธฐ ์ง€์› ๋ธŒ๋žœ์น˜ 78.10.0์— ๋Œ€ํ•œ ์—…๋ฐ์ดํŠธ๋„ ์ƒ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Firefox 89 ๋ธŒ๋žœ์น˜๋Š” ๊ณง ๋ฒ ํƒ€ ํ…Œ์ŠคํŠธ ๋‹จ๊ณ„๋กœ ์ „ํ™˜๋  ์˜ˆ์ •์ด๋ฉฐ, ์ถœ์‹œ๋Š” 1์›” XNUMX์ผ๋กœ ์˜ˆ์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ฃผ์š” ํ˜์‹ :

  • PDF ๋ทฐ์–ด๋Š” ์ด์ œ JavaScript๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋Œ€ํ™”ํ˜• ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์ œ๊ณตํ•˜๋Š” PDF ํ†ตํ•ฉ ์ž…๋ ฅ ์–‘์‹์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • ๋งˆ์ดํฌ ๋ฐ ์นด๋ฉ”๋ผ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ๊ถŒํ•œ ์š”์ฒญ ํ‘œ์‹œ ๊ฐ•๋„์— ์ œํ•œ์ด ๋„์ž…๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์ง€๋‚œ 50์ดˆ ์ด๋‚ด์— ๋™์ผํ•œ ์žฅ์น˜, ๋™์ผํ•œ ์‚ฌ์ดํŠธ ๋ฐ ๋™์ผํ•œ ํƒญ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ๊ถŒํ•œ์„ ์ด๋ฏธ ๋ถ€์—ฌํ•œ ๊ฒฝ์šฐ ์ด๋Ÿฌํ•œ ์š”์ฒญ์€ ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ์ฃผ์†Œ ํ‘œ์‹œ์ค„์˜ ์ค„์ž„ํ‘œ๋ฅผ ํด๋ฆญํ•˜๋ฉด ๋‚˜ํƒ€๋‚˜๋Š” ํŽ˜์ด์ง€ ์ž‘์—… ๋ฉ”๋‰ด์—์„œ ์Šคํฌ๋ฆฐ์ƒท ๋„๊ตฌ๊ฐ€ ์ œ๊ฑฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์Šคํฌ๋ฆฐ์ƒท์„ ์ƒ์„ฑํ•˜๋ ค๋ฉด ๋งˆ์šฐ์Šค ์˜ค๋ฅธ์ชฝ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๊ฑฐ๋‚˜ ๋ชจ์–‘ ์„ค์ • ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ํŒจ๋„์— ๋ฐ”๋กœ๊ฐ€๊ธฐ๋ฅผ ๋ฐฐ์น˜ํ•  ๋•Œ ํ‘œ์‹œ๋˜๋Š” ์ปจํ…์ŠคํŠธ ๋ฉ”๋‰ด์— ์ ํ•ฉํ•œ ๋„๊ตฌ๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.
    ํŒŒ์ด์–ดํญ์Šค 88 ๋ฆด๋ฆฌ์Šค
  • Wayland ํ”„๋กœํ† ์ฝœ ๊ธฐ๋ฐ˜ ๊ทธ๋ž˜ํ”ฝ ํ™˜๊ฒฝ์„ ์‚ฌ์šฉํ•˜๋Š” Linux์˜ ํ„ฐ์น˜ํŒจ๋“œ์—์„œ ํ•€์น˜ ์คŒ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์ธ์‡„ ์‹œ์Šคํ…œ์€ ํ•„๋“œ๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์ธก์ • ๋‹จ์œ„๋ฅผ ํ˜„์ง€ํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • Xfce ๋ฐ KDE ํ™˜๊ฒฝ์—์„œ Firefox๋ฅผ ์‹คํ–‰ํ•˜๋ฉด WebRender ํ•ฉ์„ฑ ์—”์ง„์˜ ์‚ฌ์šฉ์ด ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค. Firefox 89์—์„œ๋Š” ๋ชจ๋“  ๋ฒ„์ „์˜ Mesa์™€ NVIDIA ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ์žˆ๋Š” ์‹œ์Šคํ…œ์„ ํฌํ•จํ•˜์—ฌ ๋‹ค๋ฅธ ๋ชจ๋“  Linux ์‚ฌ์šฉ์ž์— ๋Œ€ํ•ด WebRender๋ฅผ ํ™œ์„ฑํ™”ํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋ฉ๋‹ˆ๋‹ค(์ด์ „์—๋Š” webRender๊ฐ€ Intel ๋ฐ AMD ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ์žˆ๋Š” GNOME์— ๋Œ€ํ•ด์„œ๋งŒ ํ™œ์„ฑํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค). WebRender๋Š” Rust ์–ธ์–ด๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ ํŽ˜์ด์ง€ ์ฝ˜ํ…์ธ  ๋ Œ๋”๋ง ์ž‘์—…์„ GPU ์ธก์œผ๋กœ ์ด๋™ํ•˜์—ฌ GPU์—์„œ ์‹คํ–‰๋˜๋Š” ์…ฐ์ด๋”๋ฅผ ํ†ตํ•ด ๊ตฌํ˜„๋˜๋ฏ€๋กœ ๋ Œ๋”๋ง ์†๋„๋ฅผ ํฌ๊ฒŒ ๋†’์ด๊ณ  CPU ๋ถ€ํ•˜๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. about:config์—์„œ ๊ฐ•์ œ๋กœ ํ™œ์„ฑํ™”ํ•˜๋ ค๋ฉด "gfx.webrender.enabled" ์„ค์ •์„ ํ™œ์„ฑํ™”ํ•˜๊ฑฐ๋‚˜ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ MOZ_WEBRENDER=1์ด ์„ค์ •๋œ Firefox๋ฅผ ์‹คํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • HTTP/3 ๋ฐ QUIC ํ”„๋กœํ† ์ฝœ์ด ์ ์ง„์ ์œผ๋กœ ํฌํ•จ๋˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. HTTP/3 ์ง€์›์€ ์ฒ˜์Œ์—๋Š” ์†Œ์ˆ˜์˜ ์‚ฌ์šฉ์ž์—๊ฒŒ๋งŒ ํ™œ์„ฑํ™”๋  ์˜ˆ์ •์ด๋ฉฐ ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ๋ฌธ์ œ๊ฐ€ ์—†๋Š” ํ•œ 3์›” ๋ง๊นŒ์ง€ ๋ชจ๋“  ์‚ฌ์šฉ์ž์—๊ฒŒ ๊ณต๊ฐœ๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. HTTP/3์—๋Š” Alt-Svc ํ—ค๋”์— ์ง€์ •๋œ HTTP/27๊ณผ ๋™์ผํ•œ ๋ฒ„์ „์˜ QUIC ์ดˆ์•ˆ ํ‘œ์ค€์— ๋Œ€ํ•œ ํด๋ผ์ด์–ธํŠธ ๋ฐ ์„œ๋ฒ„ ์ง€์›์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค(Firefox๋Š” ์‚ฌ์–‘ ์ดˆ์•ˆ 32~XNUMX๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค).
  • FTP ํ”„๋กœํ† ์ฝœ ์ง€์›์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋น„ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. network.ftp.enabled ์„ค์ •์€ ๊ธฐ๋ณธ์ ์œผ๋กœ false๋กœ ์„ค์ •๋˜๊ณ  browserSettings.ftpProtocolEnabled ํ™•์žฅ ์„ค์ •์€ ์ฝ๊ธฐ ์ „์šฉ์œผ๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” ๋ชจ๋“  FTP ๊ด€๋ จ ์ฝ”๋“œ๊ฐ€ ์ œ๊ฑฐ๋ฉ๋‹ˆ๋‹ค. ๊ทธ ์ด์œ ๋Š” ์ทจ์•ฝ์  ์‹๋ณ„ ์ด๋ ฅ์ด ์žˆ๊ณ  FTP ์ง€์› ๊ตฌํ˜„์œผ๋กœ ์œ ์ง€ ๊ด€๋ฆฌ์— ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ์˜ค๋ž˜๋œ ์ฝ”๋“œ์— ๋Œ€ํ•œ ๊ณต๊ฒฉ ์œ„ํ—˜์„ ์ค„์ด๊ธฐ ์œ„ํ•จ์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ MITM ๊ณต๊ฒฉ ์ค‘ ์ „์†ก ํŠธ๋ž˜ํ”ฝ ์ˆ˜์ • ๋ฐ ๊ฐ€๋กœ์ฑ„๊ธฐ์— ์ทจ์•ฝํ•œ ์•”ํ˜ธํ™”๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ํ”„๋กœํ† ์ฝœ์„ ์ œ๊ฑฐํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ์–ธ๊ธ‰๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์‚ฌ์ดํŠธ ๊ฐ„ ๋ˆ„์ถœ ๊ฐ€๋Šฅ์„ฑ์„ ์ฐจ๋‹จํ•˜๊ธฐ ์œ„ํ•ด "window.name" ์†์„ฑ ๊ฐ’์€ ํŽ˜์ด์ง€๊ฐ€ ์—ด๋ฆฐ ๊ธฐ๋ณธ ์‚ฌ์ดํŠธ๋กœ ๊ฒฉ๋ฆฌ๋ฉ๋‹ˆ๋‹ค.
  • JavaScript์—์„œ๋Š” ์ •๊ทœ์‹ ์‹คํ–‰ ๊ฒฐ๊ณผ์— ๋Œ€ํ•ด ์ผ์น˜ ๊ทธ๋ฃน์˜ ์‹œ์ž‘ ์œ„์น˜์™€ ๋ ์œ„์น˜๊ฐ€ ํฌํ•จ๋œ ๋ฐฐ์—ด์„ ํฌํ•จํ•˜๋Š” "indices" ์†์„ฑ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์†์„ฑ์€ "/d" ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ •๊ทœ์‹์„ ์‹คํ–‰ํ•  ๋•Œ๋งŒ ์ฑ„์›Œ์ง‘๋‹ˆ๋‹ค. re = /quick\s(brown).+?(jumps)/igd; let result = re.exec('๋น ๋ฅธ ๊ฐˆ์ƒ‰ ์—ฌ์šฐ๋Š” ๊ฒŒ์œผ๋ฅธ ๊ฐœ ์œ„๋กœ ์ ํ”„ํ•ฉ๋‹ˆ๋‹ค'); // result.indices[0] === ๋ฐฐ์—ด [ 4, 25 ] // result.indices[1] === ๋ฐฐ์—ด [ 10, 15 ] // result.indices[2] === ๋ฐฐ์—ด [ 20, 25 ]
  • Intl.DisplayNames() ๋ฐ Intl.ListFormat()์€ ์ƒ์„ฑ์ž์— ์ „๋‹ฌ๋œ ์˜ต์…˜์ด ๊ฐ์ฒด์ธ์ง€ ํ™•์ธ์„ ๊ฐ•ํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ž์—ด์ด๋‚˜ ๊ธฐํƒ€ ๊ธฐ๋ณธ ์š”์†Œ๋ฅผ ์ „๋‹ฌํ•˜๋ ค๊ณ  ํ•˜๋ฉด ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
  • ์ด๋ฏธ ์ค‘๋‹จ๋˜๋„๋ก ์„ค์ •๋œ AbortSignal์„ ๋ฐ˜ํ™˜ํ•˜๋Š” AbortSignal.abort()๋ผ๋Š” ์ƒˆ๋กœ์šด ์ •์  ๋ฉ”์„œ๋“œ๊ฐ€ DOM์— ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.
  • CSS๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์–‘์‹๊ณผ ์ƒํ˜ธ์ž‘์šฉํ•œ ํ›„ ์ง€์ •๋œ ๊ฐ’์˜ ์ •ํ™•์„ฑ์ด ํ™•์ธ๋˜๋Š” ์–‘์‹ ์š”์†Œ์˜ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ์ƒํƒœ๋ฅผ ์ •์˜ํ•˜๋Š” ์ƒˆ๋กœ์šด ์˜์‚ฌ ํด๋ž˜์Šค ":user-valid" ๋ฐ ":user-invalid"๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ์˜์‚ฌ ํด๋ž˜์Šค ":valid" ๋ฐ ":invalid"์™€ ":user-valid" ๋ฐ ":user-invalid"์˜ ์ฃผ์š” ์ฐจ์ด์ ์€ ์‚ฌ์šฉ์ž๊ฐ€ ๋‹ค๋ฅธ ์š”์†Œ(์˜ˆ: ํƒญ ์ „ํ™˜)๋กœ ์ด๋™ํ•œ ํ›„์—๋งŒ ํ™•์ธ์ด ์‹œ์ž‘๋œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ํ•„๋“œ๋กœ).
  • ํ˜„์žฌ ํ™”๋ฉด ์„ค์ • ๋ฐ ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ ๋Œ€์—ญํญ์— ๊ฐ€์žฅ ์ ํ•ฉํ•œ ๋‹ค์–‘ํ•œ ํ•ด์ƒ๋„ ์˜ต์…˜ ์ค‘์—์„œ ์ด๋ฏธ์ง€๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋Š” image-set() CSS ๊ธฐ๋Šฅ์„ ์ด์ œ "content" ๋ฐ "cursor" CSS ์†์„ฑ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. . h2::before { ๋‚ด์šฉ: image-set( url("small-icon.jpg") 1x, url("large-icon.jpg") 2x); }
  • CSS ์™ธ๊ณฝ์„  ์†์„ฑ์€ border-radius ์†์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ์„ค์ •๋œ ์™ธ๊ณฝ์„ ๊ณผ ์ผ์น˜ํ•˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
  • macOS์˜ ๊ฒฝ์šฐ ๊ธฐ๋ณธ ๊ณ ์ • ํญ ๊ธ€๊ผด์ด Menlo๋กœ ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์›น ๊ฐœ๋ฐœ์ž ๋„๊ตฌ์˜ ๋„คํŠธ์›Œํฌ ๊ฒ€์‚ฌ ํŒจ๋„์—๋Š” HTTP ์‘๋‹ต์„ JSON ํ˜•์‹์œผ๋กœ ํ‘œ์‹œํ•˜๋Š” ๊ฒƒ๊ณผ ์‘๋‹ต์ด ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ์ „์†ก๋˜๋Š” ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์€ ํ˜•์‹ ์‚ฌ์ด์— ์Šค์œ„์น˜๊ฐ€ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค.
    ํŒŒ์ด์–ดํญ์Šค 88 ๋ฆด๋ฆฌ์Šค
  • AV1 ๋น„๋””์˜ค ์ธ์ฝ”๋”ฉ ํ˜•์‹์˜ ํ”„๋ ˆ์ž„ ๋‚ด ์••์ถ• ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜๋Š” AVIF(AV1 ์ด๋ฏธ์ง€ ํ˜•์‹)์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ์ง€์› ํฌํ•จ์€ ํ–ฅํ›„ ๋ฆด๋ฆฌ์Šค๊นŒ์ง€ ์—ฐ๊ธฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Firefox 89๋Š” ๋˜ํ•œ ์—…๋ฐ์ดํŠธ๋œ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์ฃผ์†Œ ํ‘œ์‹œ์ค„์— ๊ณ„์‚ฐ๊ธฐ๋ฅผ ํ†ตํ•ฉํ•  ๊ณ„ํš์ž…๋‹ˆ๋‹ค(about:config์˜ presents.calculator๋ฅผ ํ†ตํ•ด ํ™œ์„ฑํ™”๋จ).

ํ˜์‹ ๊ณผ ๋ฒ„๊ทธ ์ˆ˜์ • ์™ธ์—๋„ Firefox 88์€ 17๊ฐœ์˜ ์ทจ์•ฝ์ ์„ ์ˆ˜์ •ํ–ˆ์œผ๋ฉฐ ๊ทธ ์ค‘ 9๊ฐœ๋Š” ์œ„ํ—˜ํ•˜๋‹ค๊ณ  ํ‘œ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. 5๊ฐœ ์ทจ์•ฝ์ (CVE-2021-29947๋กœ ์ˆ˜์ง‘๋จ)์€ ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ, ์ด๋ฏธ ํ•ด์ œ๋œ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ๋“ฑ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ จ ๋ฌธ์ œ๋กœ ์ธํ•ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ž ์žฌ์ ์œผ๋กœ ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋กœ ์ธํ•ด ํŠน๋ณ„ํžˆ ์„ค๊ณ„๋œ ํŽ˜์ด์ง€๋ฅผ ์—ด ๋•Œ ๊ณต๊ฒฉ์ž์˜ ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€