Googleμμ Chrome 106 μΉ λΈλΌμ°μ λ₯Ό μΆμνμ΅λλ€. λμμ Chromeμ κΈ°λ°μ΄ λλ λ¬΄λ£ Chromium νλ‘μ νΈμ μμ μ μΈ λ²μ λ μΆμλμμ΅λλ€. Chrome λΈλΌμ°μ λ Google λ‘κ³ λ₯Ό μ¬μ©νκ³ , μΆ©λ λ°μ μ μλ¦Ό μμ€ν , λ³΅μ¬ λ°©μ§ λΉλμ€ μ½ν μΈ (DRM) μ¬μ λͺ¨λ, μλ μ λ°μ΄νΈ μ€μΉ μμ€ν , μ§μμ μΈ μλλ°μ€ 격리, Google API ν€ μ 곡, κ²μ μ€ RLZ λ§€κ°λ³μ μ μ‘ λ±μ κΈ°λ₯μ μ 곡νλ€λ μ μμ Chromiumκ³Ό λ€λ¦ λλ€. μ λ°μ΄νΈμ λ λ§μ μκ°μ΄ νμν μ¬μ©μλ₯Ό μν΄ 8μ£Ό λμ μ§μλλ νμ₯ μμ λ²μ μ΄ λ³λλ‘ μ 곡λ©λλ€. Chrome 107μ λ€μ 릴리μ€λ 25μ XNUMXμΌλ‘ μμ λμ΄ μμ΅λλ€.
Chrome 106μ μ£Όμ λ³κ²½ μ¬ν:
- λ°μ€ν¬ν± μ¬μ©μμ κ²½μ°, Prerender2κ° κΈ°λ³Έμ μΌλ‘ νμ±νλμ΄ κ²μμ£Όμμ°½ μ£Όμμ°½μ μΆμ² μ½ν μΈ λ₯Ό 미리 λ λλ§ν©λλ€. μ΄ μ¬μ λ λλ§ κΈ°λ₯μ μ¬μ©μ ν΄λ¦μ κΈ°λ€λ¦¬μ§ μκ³ λ νλ‘μ°ν κ°λ₯μ±μ΄ κ°μ₯ λμ μΆμ² μ½ν μΈ λ₯Ό λ€μ΄λ‘λνλ κΈ°μ‘΄ κΈ°λ₯μ 보μν©λλ€. λ€μ΄λ‘λ μΈμλ, μ΄μ μΆμ²κ³Ό κ΄λ ¨λ νμ΄μ§μ μ½ν μΈ λ₯Ό λ²νΌμ λ λλ§ν μ μμ΅λλ€(μ€ν¬λ¦½νΈ μ€ν λ° DOM νΈλ¦¬ μμ± ν¬ν¨). μ΄λ₯Ό ν΅ν΄ ν΄λ¦ μ§ν μΆμ² μ½ν μΈ κ° νμλ©λλ€.
- μ΄λλ°μ€ μ£Όμμ°½μμ λ°λ‘ λ°©λ¬Έ κΈ°λ‘, λΆλ§ν¬, νμ κ²μν μ μμ΅λλ€. κ²μ μ§μνλ₯Ό μν΄ @history, @bookmarks, @tabs μ μ΄ νκ·Έκ° μ 곡λ©λλ€. μλ₯Ό λ€μ΄ λΆλ§ν¬μμ κ²μνλ €λ©΄ "@bookmarks κ²μμ΄"λ₯Ό μ
λ ₯ν΄μΌ ν©λλ€. μ£Όμμ°½μμ κ²μμ λΉνμ±ννλ €λ©΄ κ²μ μ€μ μ νΉλ³ μ΅μ
μ΄ μ 곡λ©λλ€.


- HTTP/2 λ° HTTP/3 νμ€μ μ μλ μλ² νΈμ κΈ°μ μ μ§μνλ©°, μ΄λ₯Ό ν΅ν΄ μ¬κΈ°λ μ¬λ λͺ μμ μΈ μμ²μ κΈ°λ€λ¦¬μ§ μκ³ ν΄λΌμ΄μΈνΈμ 리μμ€λ₯Ό μ μ‘ν©λλ€. μ§μ μ€λ¨ μ¬μ λ νκ·Έμ κ°μ΄ λ κ°λ¨νκ³ ν¨κ³Όμ μΈ λμμ΄ μμμλ λΆκ΅¬νκ³ ν΄λΉ κΈ°μ ꡬνμ΄ λΆνμνκ² λ³΅μ‘νλ€λ μ μ λλ€. HTTP μλ΅ μ½λ 103κ³Ό μΉ μ μ‘ νλ‘ν μ½(WebTransport)μ΄ μλ² νΈμ(Server Push)μ μ¬μ©λ©λλ€. κ΅¬κΈ ν΅κ³μ λ°λ₯΄λ©΄ 2021λ μλ HTTP/2 κΈ°λ° μ¬μ΄νΈ μ€ μ½ 1.25%κ° μλ² νΈμλ₯Ό μ¬μ©νκ³ , 2022λ μλ μ΄ μμΉκ° 0.7%λ‘ κ°μνμ΅λλ€. μλ² νΈμ κΈ°μ μ HTTP/3 μ¬μμλ ν¬ν¨λμ΄ μμ§λ§, μ€μ λ‘ ν¬λ‘¬ λΈλΌμ°μ λ₯Ό λΉλ‘―ν λ§μ μλ² λ° ν΄λΌμ΄μΈνΈ μννΈμ¨μ΄ μ νλ€μ΄ μ΄κΈ°μλ μ΄λ₯Ό ꡬννμ§ μμμ΅λλ€.
- μΏ ν€ ν€λμ μ§μ λ λλ©μΈμμ ASCII μ΄μΈμ λ¬Έμλ₯Ό μ¬μ©ν μ μλλ‘ νμ΅λλ€(IDN λλ©μΈμ κ²½μ° μ§μ μ§μ ν΄μΌ ν©λλ€). λλ©μΈ (νΈλμ½λ νμ). μ΄ λ³κ²½ μ¬νμ λΈλΌμ°μ λ₯Ό RFC 6265bis λ° Firefoxμμ ꡬνλ λμκ³Ό μΌμΉμν΅λλ€.
- λ€μ€ λͺ¨λν° κ΅¬μ±μμ νλ©΄μ μλ³νκΈ° μν΄ λ λͺ νν λ μ΄λΈμ΄ μ μλμμ΅λλ€. μ΄λ¬ν λ μ΄λΈμ μΈλΆ λμ€νλ μ΄μμ μ°½μ μ΄ μ μλ κΆνμ λΆμ¬νλ λν μμμ νμλ μ μμ΅λλ€. μλ₯Ό λ€μ΄, μΈλΆ λμ€νλ μ΄ λ²νΈ('μΈλΆ λμ€νλ μ΄ 1') λμ λͺ¨λν° λͺ¨λΈλͺ ('HP Z27n')μ΄ νμλ©λλ€.
- λ€μ λ²μ μ κ°μ μ¬ν Android:
- λ°©λ¬Έ κΈ°λ‘μ΄ μλ νμ΄μ§λ μ΄μ μ μνλ κ²μ 쿼리μ μ΄λν νμ΄μ§μ λν μ 보λ₯Ό κ·Έλ£Ήννμ¬ κ³Όκ±° νλμ μμ½νλ "κ²½λ‘" λ©μ»€λμ¦μ μ§μν©λλ€. μ£Όμμ°½μ ν€μλλ₯Ό μ λ ₯ν λ, μ΄μ μ κ²μμ μ¬μ©λ μ μ΄ μλ κ²½μ° μ€λ¨λ μμΉμμ κ²μμ κ³μν μ μμ΅λλ€.
- ν΄λΉ νλ«νΌμ΄ μ€μΉλ κΈ°κΈ°μμ Android Windows 11μμλ λ€λ₯Έ μ±μΌλ‘ μ νν ν μν¬λ¦Ώ λͺ¨λμμ μ΄λ¦° νμ΄μ§λ₯Ό μ°¨λ¨ν μ μμ΅λλ€. μ°¨λ¨ ν λΈλΌμ°μ§μ μ¬κ°νλ €λ©΄ μΈμ¦μ΄ νμν©λλ€. μ°¨λ¨ κΈ°λ₯μ κΈ°λ³Έμ μΌλ‘ λΉνμ±νλμ΄ μμΌλ©°, κ°μΈμ 보 μ€μ μμ νμ±νν΄μΌ ν©λλ€.
- μν¬λ¦Ώ λͺ¨λμμ νμΌμ λ€μ΄λ‘λνλ €κ³ νλ©΄ νμΌμ μ μ₯ν κ²μΈμ§μ λν μΆκ° νμΈ μμ²κ³Ό λ€μ΄λ‘λλ νμΌμ΄ λ€μ΄λ‘λ κ΄λ¦¬μ μμμ μ μ₯λλ―λ‘ μ₯μΉμ λ€λ₯Έ μ¬μ©μμκ²λ νμλλ€λ κ²½κ³ κ° νμλ©λλ€.

- λͺ¨λ μ¬μ΄νΈμμ chrome.runtime APIκ° μ€λ¨λμμ΅λλ€. μ΄ APIλ μ΄μ λΈλΌμ°μ μΆκ° κΈ°λ₯μ ν΅ν΄μλ§ μ¬μ©ν μ μμ΅λλ€. μ΄μ μλ U2F API ꡬνμ μ¬μ©νλ λ΄μ₯ CryptoToken μΆκ° κΈ°λ₯μμ chrome.runtimeμ μ¬μ©νκΈ° λλ¬Έμ λͺ¨λ μ¬μ΄νΈμμ μ¬μ©ν μ μμμ§λ§, λ μ΄μ μ§μλμ§ μμ΅λλ€.
- λͺ κ°μ§ μλ‘μ΄ APIκ° Origin Trials λͺ¨λμ μΆκ°λμμ΅λλ€(λ³λμ νμ±νκ° νμν μ€ν κΈ°λ₯). Origin νκ°νμ localhost λλ 127.0.0.1μμ λ€μ΄λ‘λν μ ν리μΌμ΄μ
μμ λλ νΉμ μ¬μ΄νΈμ λν΄ μ νλ μκ° λμ μ ν¨ν νΉμ ν ν°μ λ±λ‘ λ° μμ ν ν μ§μ λ APIλ‘ μμ
ν μ μλ κΈ°λ₯μ μλ―Έν©λλ€.
- μ΅λͺ iframeμ΄λΌλ κ°λ μ λ€λ₯Έ iframeμ΄λ κΈ°λ³Έ λ¬Έμμ κ΄λ ¨ μλ λ³λμ 컨ν μ€νΈμμ λ¬Έμλ₯Ό λ‘λν μ μκ² ν΄μ€λλ€.
- νμ APIλ μΈν°νμ΄μ€ μμλ₯Ό λ€λ₯Έ μμ μμ νμνλλ‘ κ΅¬μ±νλ λ° μ¬μ©λ©λλ€. μλ₯Ό λ€μ΄, λνν λ©λ΄, λꡬ μ€λͺ , μ½ν μΈ μ ν λꡬ, κ΅μ‘ μμ€ν λ±μ κΈ°λ₯μ ꡬμ±ν μ μμ΅λλ€. μ΅μμ λ μ΄μ΄μ μμλ₯Ό νμνλ €λ©΄ μλ‘μ΄ μμ± "popup"μ μ¬μ©ν©λλ€. μμλ₯Ό μ¬μ©νμ¬ λ§λ λν μμμλ λ€λ¦ λλ€. μλ‘μ΄ APIλ₯Ό μ¬μ©νλ©΄ λͺ¨λΈλ¦¬μ€ λν μμλ₯Ό λ§λ€κ³ , μ΄λ²€νΈλ₯Ό μ²λ¦¬νκ³ , μ λλ©μ΄μ μ μ¬μ©νκ³ , μ μ°ν νμ 컨νΈλ‘€μ λ§λ€ μ μμ΅λλ€.
- CSS Gridμμ μ¬μ©λλ 'grid-template-columns' λ° 'grid-template-rows' μμ±μ μ΄μ μλ‘ λ€λ₯Έ 그리λ μν κ°μ μνν μ νμ κ°λ₯νκ² νλ 보κ°μ μ§μν©λλ€.
- 'forced-color-adjust' CSS μμ±μ΄ 'preserve-parent-color' κ°μ μ§μνλλ‘ μ λ°μ΄νΈλμμ΅λλ€. μ΄λ₯Ό ν΅ν΄ 'color' μμ±μ λΆλͺ¨ μμμμ κ°μ κ°μ Έμ΅λλ€.
- "-webkit-" μ λμ¬μμ "-webkit-hyphenate-character" μμ±μ΄ μ κ±°λμ΄ μ΄μ "hyphenate-character"λΌλ μ΄λ¦μΌλ‘ μ 곡λ©λλ€. μ΄ μμ±μ μ¬μ©νλ©΄ λ¨μ΄ λΆλ¦¬ λ¬Έμ("-") λμ μ¬μ©ν λ¬Έμμ΄μ μ€μ ν μ μμ΅λλ€.
- Intl.NumberFormat APIμ μΈ λ²μ§Έ λ²μ μ΄ κ΅¬νλμμΌλ©°, μ¬κΈ°μλ μλ‘μ΄ ν¨μ formatRange(), formatRangeToParts() λ° selectRange(), μ§ν© κ·Έλ£Ήν, μλ‘μ΄ λ°μ¬λ¦Ό λ° μ λ°λ μ΅μ , λ¬Έμμ΄μ 10μ§μλ‘ ν΄μνλ κΈ°λ₯μ΄ ν¬ν¨λ©λλ€.
- ReadableStream APIλ μ΄μ λ΄λΆ νμ λ²νΌλ₯Ό μ°ννμ¬ μ§λ ¬ ν¬νΈμμ λ°μ΄λ리 λ°μ΄ν°λ₯Ό ν¨μ¨μ μΌλ‘ μ§μ μ μ‘ν μ μλλ‘ μ§μν©λλ€. BYOB λͺ¨λ("port.readable.getReader({ mode: 'byob' })")λ₯Ό μ€μ νλ©΄ μ§μ μ μ‘μ΄ νμ±νλ©λλ€.
- μ€λμ€ λ° λΉλμ€ API(AudioDecoder, AudioEncoder, VideoDecoder λ° VideoEncoder)λ μ΄μ μ½λ±μ΄ λκΈ° μ€μΈ μ½ν μΈ μΈμ½λ© λλ λμ½λ© μμ μ μ€νν λ νΈλ¦¬κ±°λλ "dequeue" μ΄λ²€νΈ λ° κ΄λ ¨ μ½λ°±μ μ§μν©λλ€.
- WebXR μ₯μΉ APIλ κ°μ νκ²½μ νμ¬ μμΉμ λκΈ°νλ μΉ΄λ©λΌ μ΄λ―Έμ§ ν μ€μ²μ λν μμ μ‘μΈμ€ κΈ°λ₯μ ꡬνν©λλ€.
- μΉ κ°λ°μ λκ΅¬κ° κ°μ λμμ΅λλ€. μ΄μ μμ€ ν¨λμμ νμΌμ μμ€λ³λ‘ κ·Έλ£Ήνν μ μμ΅λλ€. λΉλκΈ° μμ
μ λν μ€ν μΆμ κΈ°λ₯μ΄ ν₯μλμμ΅λλ€. μ΄μ λλ²κΉ
μ μλ €μ§ νμ¬ μ€ν¬λ¦½νΈλ₯Ό μλμΌλ‘ 무μν μ μμ΅λλ€. λ©λ΄ λ° ν¨λμμ 무μλ νμΌμ μ¨κΈ°λ κΈ°λ₯μ΄ μΆκ°λμμ΅λλ€. λλ²κ±°μ νΈμΆ μ€ν μμ
μ΄ κ°μ λμμ΅λλ€.

νμ΄μ§ μνΈμμ©μ μκ°ννκ³ μ μ¬μ μΈ λ°μμ± λ¬Έμ λ₯Ό μλ³νκΈ° μν΄ μ±λ₯ ν¨λμ μλ‘μ΄ μνΈμμ© νΈλμ΄ μΆκ°λμμ΅λλ€.

μλ‘μ΄ λ²μ μ νμ κ³Ό λ²κ·Έ μμ μΈμλ 20κ°μ μ·¨μ½μ μ μ κ±°ν©λλ€. λλΆλΆμ μ·¨μ½μ μ AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer, AFL λꡬλ₯Ό μ¬μ©ν μλνλ ν
μ€νΈλ₯Ό ν΅ν΄ λ°κ²¬λμμ΅λλ€. λͺ¨λ μμ€μ λΈλΌμ°μ 보μμ μ°ννκ³ μλλ°μ€ νκ²½ μΈλΆμμ μμ€ν
λ΄ μ½λλ₯Ό μ€νν μ μλ μ¬κ°ν λ¬Έμ λ λ°κ²¬λμ§ μμμ΅λλ€. νμ¬ λ¦΄λ¦¬μ€μ μ·¨μ½μ νμ§μ λν νκΈ λ³΄μ νλ‘κ·Έλ¨μ μΌνμΌλ‘ Googleμ μ΄ 16λ¬λ¬(38500λ¬λ¬, 9000λ¬λ¬, 7500λ¬λ¬, 7000λ¬λ¬, 5000λ¬λ¬, 4000λ¬λ¬, 3000λ¬λ¬, 2000λ¬λ¬)μ 1000κ° λ³΄μμ μ§κΈνμ΅λλ€. XNUMXκ° λ³΄μμ κΈμ‘μ μμ§ κ²°μ λμ§ μμμ΅λλ€.
μΆμ² : opennet.ru





