Chrome Version
约 15 分钟阅读
标签:版本
| version | date | notes |
|---|---|---|
| Chrome 131 | Direct Sockets API | |
| Chrome 130 | 2024-10-09 | |
| Chrome 125 | 2024-05-08 | css anchor |
| Chrome 123 | WebSocketStream | |
| Chrome 123 | css field-sizing | |
| Chrome 122 | zstd | |
| Chrome 121 | EditContext | |
| Chrome 120 | 2023-12-29 | |
| Chrome 119 | ||
| Chrome 118 | ||
| Chrome 117 | @starting-style | |
| Chrome 116 | ||
| Chrome 115 | ||
| Chrome 114 | popovertarget,popover | |
| Chrome 113 | ||
| Chrome 112 | ||
| Chrome 111 | ||
| Chrome 110 | <popup> | |
| Chrome 109 | ||
| Chrome 108 | ||
| Chrome 107 | ||
| Chrome 106 | ||
| Chrome 105 | 2022-08-30 | Container Query, , import.meta.resolve, HEVC |
| Chrome 104 | ||
| Chrome 103 | Local Font Access | |
| Chrome 102 | 2022-05-24 | DNS HTTPS, Navigation |
| Chrome 101 | ||
| Chrome 100 | 2022-03-29 | |
| Chrome 99 | OPFS, @layer | |
| Chrome 98 | ||
| Chrome 97 | ||
| Chrome 96 | ||
| Chrome 95 | 2021-09-20 | |
| Chrome 94 | ||
| Chrome 93 | ||
| Chrome 92 | ||
| Chrome 91 | ||
| Chrome 90 | 2021-02-28 | |
| Chrome 89 | ||
| Chrome 88 | ||
| Chrome 87 | ||
| Chrome 86 | 2020-10-06 | File System Access API |
| Chrome 86 | ||
| Chrome 85 | ||
| Chrome 84 | ||
| Chrome 83 | ||
| Chrome 81 | ||
| Chrome 80 | 2019-12-05 | |
| Chrome 70 | 2018-08-29 | AV1 |
| Chrome 60 | 2017-05-23 | |
| Chrome 49 | 2016-03-02 | last Windows XP, Vista; Mac OS X 10.6, 10.7, 10.8 |
| Chrome 28 | 2013-07-09 | Blink |
| Chrome 1 | 2008-12-11 |
- 基本一年 8-10 个版本, 大约 30 天一个版本
- chromestatus.com/features
- chromestatus.com/roadmap
- 每个版本的特性变化
- 关注 Enabled by default
- webstatus.dev
- bugs.chromium.org/p/chromium/issues/list
- chromiumdash.appspot.com/schedule
- What's New in DevTools
- 参考
- Getting started with Trust Tokens
- combat fraud, distinguish bot without passive tracking
- Getting started with Chrome's origin trials
- test a new or experimental web platform feature
- Chrome Origin Trials
- Web on Android Trusted Web Activity
- PWA Android
- web.dev/reporting-api
- Google Chrome version historyWikipediaGoogle Chrome version history
- Getting started with Trust Tokens
- 2023 CSS 总结
- 暴露 Socket - 支持 TCP 和 UDP - Raw Sockets API
- Container Query - Chrome 105
- - Chrome 105 - chromestatus.com/feature/5794378545102848
- Sanitizer API
- OPFS - Origin Private File System, CSS @layer - Chrome 99
- structuredClone - Chrome 98
- WebTransport - Chrome 97
- blocked ports
- 989, 990 - FTPS
- 10080, 554
- NAT Slipstream 2.0 attack
- samy.pl/slipstream/
- 5060, 5061 - SIP
- slipstream attack
- 69, 137, 161, 1719, 1720, 1723, 6566
- NAT Slipstream 2.0 attack
- 1720 - H.323
- 部分特性受 Feature-Policy/Permissions-Policy 控制
- 需要服务端返回 Header 包含
- 避免被 iframe 滥用
- mdn Feature Policy
- 外部设备
- SerialPort, HIDDevice, WebUSB, WebMIDI, WebBluetooth, GamePad
Interop
- URL interop 2023
Interop 2023
Interop 2022
- 2022 Focus Areas
- Cascade Layers - @layer
- Collor Spaces and Functions - accent-color, color-schema
- Containment
- Dialog Element
- Forms
- Scrolling - scroll snap, scroll-behavior, overscroll-behavior
- Subgrid
- Typography and Encodings - font-variant-alternates, font-variant-position, ic
- Viewport Units - {d,l,s}v{h,w,min,max}
- Web Compat
- 2021 Focus Areas
- Aspect Ratio
- Flexbox
- Grid
- Sticky Positioning
- Transforms
- 2022 Investigation
- Editing, contentEditable, execCommand
- Pointer and Mouse Events
- Vieport Measurement
- 参考
- web.dev/interop-2022
- wpt.fyi/interop-2022
- What's new for the web platform 2022 年 5 月 12 日
Versions
Chrome 145
- 支持开启 Remote Debugging
- chrome://inspect/#remote-debugging
- ChromeDevTools/chrome-devtools-mcpGitHubChromeDevTools/chrome-devtools-mcp 能直连
- --autoConnect/--auto-connect
- Chrome 145+
- --autoConnect/--auto-connect
Chrome 137
- CSS if()
- CSS reading-flow, reading-order
- Ed25519 in Web Cryptography
- Canvas Floating Point Color Types
- CanvasRenderingContext2D, OffscreenCanvasRenderingContext2D, ImageData
- 高精度、高动态范围颜色
Chrome 136
- Explicit Compile Hints with Magic Comments
//# allFunctionsCalledOnLoad
- H265 (HEVC) codec support in WebRTC
Chrome 135
- rel=facilitated-payment push payments
- Float16Array
- 伪元素 ::scroll-button()
- Carousel
- CSS Inertness
- CSS Logical Overflow
- overflow 基于 writing-mode
- fetchLater
- 用于发送监控数据
- Invoker Commands
- command commandfor 属性
- 未来的 request-close 属性
- developer.mozilla.org/en-US/docs/Web/API/Invoker_Commands_API
<button commandfor="mypopover" command="toggle-popover">Toggle the popover</button>
<!-- popover 内置 command -->
<div id="mypopover" popover>
<button commandfor="mypopover" command="hide-popover">Close</button>
Popover content
</div><!-- 自定义 command 处理 -->
<button commandfor="my-img" command="--rotate-left">Rotate left</button>
<button commandfor="my-img" command="--rotate-right">Rotate right</button>
<img id="my-img" src="photo.jpg" alt="[add appropriate alt text here]" />const myImg = document.getElementById('my-img');
myImg.addEventListener('command', (event) => {
if (event.command === '--rotate-left') {
myImg.style.rotate = '-90deg';
} else if (event.command === '--rotate-right') {
myImg.style.rotate = '90deg';
}
});Chrome 134
- 自定义
<select>元素- open-ui.org/components/customizableselect
- 依赖 SelectParserRelaxation 解析保留额外的 tag
- 允许
<option>,<optgroup>,<hr>之外的元素
- 允许
- Dialog light dismiss
<dialog closedby=none|closerequest|any>- closerequest - ESC 或 close trigger
- any - closereques+点击外部 - 类似于 popover=auto
- Explicit resource management
using res = createResource()- tc39.es/proposal-explicit-resource-management
Symbol.disposeSymbol.asyncDispose
- fetchLater API
- 用于发送监控数据
- highlightsFromPoint API
CSS.highlights.highlightsFromPoint(mouseX, mouseY)
- LLM-powered on-device detection of abusive notifications on Android
- Support Web Locks API in Shared Storage
- worklet 环境支持
navigator.locks.request { withLock: <resource>}选项
- worklet 环境支持
Chrome 133
- Animation.overallProgress
- Atomics.pause
- CSS
- Scroll State Container Queries
container-type: scroll-state@contaner scroll-state(stuck: top){}
- text-box, text-box-trim, text-box-edge
- DOM State-Preserving Move
moveBefore- iframe 保留加载状态
- 保留 focus
- popover, 全屏, 模态对话框 依然开启
- 保留 CSS transition 和 动画
- React 目前支持 moveBefore
- FileSystemObserver interface
- 监听文件系统变化
- popover=hint
- 实现类似 tooltip 的效果
- 之前支持 auto|manual
- ESM Multiple import maps
Chrome 132
- CSS Anchor Positioning: allow anchor-size() in inset and margin Properties
- Device Posture API
- 可用于折叠屏
- www.w3.org/TR/device-posture
- Dialog Toggle Events
- newState=open|close
- 之前是检测 open 属性
- MediaStreamTrack Element Capture
- fetch Request,Response .bytes()
- 返回 Uint8Array
- File System Access for Android
- Keyboard-focusable scroll containers
Chrome 131
- CSS font-variant-emoji
- CSS Anchor Positioning: anchor-scope
- @page margin
- Direct Sockets API
- for Isolated Web AppsGitHubWICG/isolated-web-apps - IWAs
- 基于 Web 技术的小程序
isolated-app:
- usecase WebUSB, WebMIDI, WebBluetooth
- TCPSocket, UDPSocket, TCPServerSocket
- wicg.github.io/direct-sockets
- GoogleChromeLabs/telnet-clientGitHubGoogleChromeLabs/telnet-client
- for Isolated Web AppsGitHubWICG/isolated-web-apps - IWAs
Chrome 130
Chrome 129
- Intl.DurationFormat
scheduler.yield()- 让长时间运行的任务让出时间片
- mdn Scheduler
- postTask, Chrome 94+
Chrome 128
- Isolated Web Apps
- by admin policy on enterprise-managed ChromeOS devices
- Promise.try
- CSS zoom
Chrome 127
- CSS
- font-size-adjust
- based on the height of lowercase letters rather than the height of capital letters.
- font-size-adjust
Chrome 125
- WebSocket 接受 http/https URL
- Compute Pressure - 检测当前 PC 的压力 - cpu/内存
- PressureObserver
- PressureRecord
- developer.chrome.com/docs/web-platform/compute-pressure
- CSS anchor
anchor-nameposition-anchoranchor()inset-area- 能实现 floating-ui.com 类似的浮动效果 - 通过锚点定位,确保内容在页面内,避免滚动导致内容不可见
- anchor-tool.com
- CSS steeped value -
rounded(),mod(),rem() - Declarative shadow DOM serialization
getHTML({serializableShadowRoots:bool, shadowRoots:[roots]})- 能够将 shadowDOM 序列化出来
- Direct Sockets API in Chrome Apps
- TCPSocket, UDPSocket
- wicg.github.io/direct-sockets
- WICG/direct-sockets/docs/explainer.mdGitHub 文件WICG/direct-sockets/docs/explainer.md
- Extending Storage Access API (SAA) to non-cookie storage
- Keyboard-focusable scroll containers
Chrome 124
- setHTMLUnsafe,parseHTMLUnsafe
- ReadableStream async iteration - 支持
for await...of - WebSocketStream
- 和 WebSocket 目的类似,但暴露为 Stream 类似的接口
- 不在基于 Event 而是作为 stream 的方式处理
- 能支持 backpressure
- web.dev/websocketstream
- CarterLi/websocketstream-polyfillGitHubCarterLi/websocketstream-polyfill
- SVG context-fill, context-stroke
- Document Render-Blocking - chromestatus.com/feature/5113053598711808
- 主要用于 View Transitions
- 等待资源加载完成
- Event pageswap - chromestatus.com/feature/5479301497749504
- 用于 View Transitions
- HTTP 支持 priority 头
- Windows ClearType Text Tuner Integration
[writingsuggestions]可关闭拼写建议
const wss = new WebSocketStream(url, {
// 扩展协议选择
protocols: ['chat', 'chatv2'],
// 避免长时间 handshake
signal: AbortSignal.timeout(1000),
});
const { readable, writable, protocol, extensions } = await wss.opened;
const reader = readable.getReader();
while (true) {
const { value, done } = await reader.read();
if (done) break;
await process(value);
}
//
wss.close({ closeCode: 4000, reason: 'Game over' });
const { closeCode, reason } = await wss.closed;Chrome 123
- import with
import data from 'data.json' with {type:'json'}- Chrome 91 增加的 import assert
- pagereveal 事件
- 支持 zstd
- CSS
light-dark(a,b)- 根据 prefers-color-scheme 选择 a 或 b- align-content 支持 block, list-item, table-cell
- 不再需要 flex 或者 grid 也能方便 center 了
- text-spacing-trim
- 主要用于 CJK 的括号等,让括号之类的变窄,更好看
- drafts.csswg.org/css-text-4
- output.jsbin.com/figixaq
- field-sizing=content
- 让输入内容自动调整输入框的大小
- textarea
Chrome 122
navigator.clipboard.read({ unsanitized: ['text/html'] })- 读取未经过清理的剪贴板内容
- Iterator helperGitHubtc39/proposal-iterator-helpers
- iterator 增加
map,filter,take,drop,flatMap,reduce,toArray,forEach,some,every,find Iterator.from(object)
- iterator 增加
- Set methodsGitHubtc39/proposal-set-methods
- Set 增加
intersection,union,difference,symmetricDifference,isSubsetOf,isSupersetOf,isDisjointFrom
- Set 增加
- Storage Buckets API
Chrome 121
- Array.fromAsync
- EditContextAPI
- 影响如何实现编辑器
- w3c.github.io/edit-context
- HTMLSelectElement.showPicker()
- 手动 select 的 option popover
ClipboardItem.supports('text/html')- 检测 ClipboardItem 支持的类型
- 以前需要尝试写入
- CSS
- font-palette 支持动画
- scrollbar-color
- scrollbar-width
::spelling-error- 拼写错误::grammar-error- 语法错误
Chrome 120
- CSS
:dir()- 数学函数 pow(), sqrt(), hypot(), log(), exp()
- 字体 FontFaceSet: check()
- document.fonts.check()
- 修改逻辑
- masking
- document.requestStorageAccess
- CloseWatcherGitHubWICG/close-watcher
- dialog 修改为使用 CloseWatcher
- Attribution Reporting API: further gating for trigger verbose debug reports
Chrome 119
- CSS
:user-valid,:user-invalid- 类似于
:valid, 但是在用户交互过后
- 类似于
- Relative Color Syntax (RCS)
- www.w3.org/TR/css-color-5
background: rgb(from var(--bg-color) r g b / 80%);
- www.w3.org/TR/css-color-5
- HTML
- select 内可以有 hr 来分割选项
- WebAssembly Garbage Collection (WasmGC)
- Read Chrome device attributes
- WICG/WebApiDevice/README.mdGitHub 文件WICG/WebApiDevice/README.md
navigator.managed.getManagedConfiguration
WebSQLSanitizer API
Chrome 118
- CSS
@scope- logical flow-relative values
- float: inline-start|inline-end
- clear: inline-start|inline-end
- resize: block|inline
prefers-reduced-transparency
- HTML search element
- 容器元素,在 form 之外,表示这部分内容为搜索相关
- developer.mozilla.org/en-US/docs/Web/HTML/Element/search
- whatwg/html#7320GitHub PRwhatwg/html#7320
- HTTP/3 protocol upgrade for HTTPS DNS records with h3 alpn parameter
- 尝试连接 H3 协议
- 通过 HTTPS DNS 记录路的 alpn 参数发现
- chromestatus.com/feature/5154357283651584
- Enrollment for Privacy Sandbox (PSB)
- WebUSB in Extension Service Workers
Chrome 117
- Array grouping
- Back/forward cache NotRestoredReason API
- Clear Client Hints via Clear-Site-Data header
- Clear-Site-Data header wildcard syntax
- contain-intrinsic-size: auto none support
- CSS
- cap and rcap font units
- overlay property
- @starting-style Rule
- Subgrid
- text-wrap: pretty
- transition-behavior property
- CustomElementsGetName
- Iterator helpers
- Iterator.from
- Iterator.prototype.{map,filter,take,drop,flatMap,reduce,toArray,forEach,some,every,find}
- developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Iterator
- tc39/proposal-iterator-helpersGitHubtc39/proposal-iterator-helpers
- tc39.es/proposal-iterator-helpers
- zloirock/core-jsGitHubzloirock/core-js
- Make CaptureController derive from the EventTarget interface
- RFC 7616 Digest auth: Support SHA-256 and username hashing
- TLS Encrypted Client Hello (ECH)
- tls-ech.dev
- chrome://flags/#encrypted-client-hello
Chrome 116
- AbortSignal.any()
- BYOB support for Fetch
- CSS Motion Path
- Display and content-visibility animations
- Document picture-in-picture
Chrome 115
- CSS
- display 支持多个值
display: inline flow->inline-blockdisplay: block flex->flex
- Scroll-driven animations
- scroll-timeline
- scroll-driven-animations.style
- display 支持多个值
- HTTPS Upgrades - 优先尝试 HTTPS
- WebAssembly
- Module 8MB 限制
- wanderview/quota-storage-partitioning/explainer.mdGitHub 文件wanderview/quota-storage-partitioning/explainer.md
Chrome 114
- DOM
- popover
- Scrollend Event
- CSS
overflow:overlay作为overflow:auto别名
Chrome 113
- WebGPU
- CSS
- media - overflow-inline, overflow-block
- media update - print, slow, fast
- image-set
- Linear easing -
linear()
- Fetch: Headers.getSetCookie()
- Storage Access API
- for iframe
document.hasStorageAccess()document.requestStorageAccess()
Chrome 112
- CSS
- CSS animation-composition property
- CSS Nesting
- Javascript
- RegExp v
- v8.dev/features/regexp-v-flag
(/^\p{RGI_Emoji}$/v).test('⚽')- www.unicode.org/reports/tr18
- RegExp v
- WebAssembly
- Tail Call
- DOM
- FormData submitter 参数
Chrome 111
- CSS
- oklch - 比 rgb,hsl 多 30% 颜色
- baseline-source
- CSS Color Module Level 4 and color-mix()
- CSS Root Font Units: 'rex', 'rch', 'ric', 'rlh'
- CSS Selectors 4 Pseudo-Class (an + b of S)
- CSS Trigonometric functions
- font-variant-alternates and the @font-feature-values at-rule
- Style Container Queries for CSS Custom Properties
- Javascript
- String.prototype.isWellFormed, toWellFormed
- ArrayBuffer.prototype.{resize,resizable,maxByteLength}
- DOM
- View Transitions API
- Media
- WebRTC Scalable Video Coding extensions
Chrome 110
- HTMLPopupElement - Pop-Up API
- 类似于 dialog 效果 - 使用页面元素
- 显示为弹出窗口
- MicrosoftEdge/MSEdgeExplainers/Popup/explainer.mdGitHub 文件MicrosoftEdge/MSEdgeExplainers/Popup/explainer.md
Chrome 109
- Anonymous iframes
- COEP credentialless
- CSS
- lh 长度单位
hyphenate-limit-charsproperty
- Private State Token API
- propagating user signals across sites
- Snap border, outline and column-rule widths before layout
Chrome 108
- Federated Credentials Management - WebID
- FileSystemHandle::remove()
- ContentVisibilityAutoStateChanged event
content-visibility: auto- 辅助检测是否可见,代码控制是否渲染 - 例如: React, canvas
- vmpstr/web-proposals/explainers/cv-auto-event.mdGitHub 文件vmpstr/web-proposals/explainers/cv-auto-event.md
- CSS
- break-after, break-before, break-inside
- Overflow for replaced elements
- CSS Values and Units Module Level 4: Small/Large/Dynamic/Logical viewport units
- LayoutNG printing
- Variable COLRv1
Chrome 107
- HEVC
- CSS
- grid-template interpolation
<form rel="noreferrer">
Chrome 106
- CSS
- ic 长度单位 - CJK 文字单位
- Intl.NumberFormat v3
Chrome 105
- CSS
- Container Query
- ESM
import.meta.resolve() fetch()上传流- Federated Credentials Management/FedCM/WebID
- script,style,link - blocking=render - 避免 FOUC
- Writable directory prompts for the File System Access API
showDirectoryPicker可以请求返回一个 可写 的目录
- Sanitizer API MVP - web.dev/sanitizer
- 目前主流库 cure53/DOMPurifyGitHubcure53/DOMPurify
// Sanitizer API
$div.setHTML(
`<em>hello world</em><img src="" onerror=alert(0)>`,
new Sanitizer({
allowElements: ['b', 'em'],
allowAttributes: { style: ['span'] },
}),
);Chrome 104
- CSS
- object-view-box
- visual-box on overflow-clip-margin
- Media Queries Level 4 Syntax & Evaluation
- Region Capture - 部分截取媒体流
CropTarget.fromElement()- cropTo
- Multi-Screen Window Placement: Fullscreen Companion Window
- Web Custom formats for Async Clipboard API
Chrome 103
AbortSignal.timeout()- Block external protocol in sandboxed iframe
- 恢复 allow-top-navigation-to-custom-protocols
- allow-popups
- allow-top-navigation
- allow-top-navigation-with-user-activation
- 恢复 allow-top-navigation-to-custom-protocols
- Local Font Access - web.dev/local-fonts
- deflate-raw
- Speculation Rules - 探测可预加载的 URL
- Trial
- Multi-Screen Window Placement: Fullscreen Companion Window
- Focusgroup
Chrome 102
- Navigation API - window.navigation - WICG/navigation-apiGitHubWICG/navigation-api| spec | Chrome | Safari | NodeJS | Spec | · | container-query | Chrome 105 | | · | window.navigation | Chrome 102 | | | WICG/navigation-api |笔记:浏览器兼容
- 焦点管理
- 提升 history 体验
- DNS HTTPS 记录触发跳转 HTTP->HTTPS
- Capture Handle
- File Handling - Web 定义有能力处理指定类型文件
- Secure Payment Confirmation API V3 w3c/secure-payment-confirmationGitHubw3c/secure-payment-confirmation
- inert 属性 WICG/inertGitHubWICG/inert
- 性能优化
- polyfill wicg-inert
- Temporarily offscreen/hidden content
- On-screen but non-interactive content - pointer-events: none,user-select: none
Chrome 101
- MediaCapabilities API for WebRTC
- Priority Hints - fetchpriority=auto|low|high
- @font-palette-values
Chrome 100
- AbortSignal.prototype.throwIfAborted
- Capability Delegation API - 类似
<iframe allow> - Digital Goods API - Android Play Billing API
- Hints delegation for third-party content -
<meta name="accept-ch" content="sec-ch-width=( https://foo.bar )"> - Multi-Screen Window Placement - w3c/window-placementGitHubw3c/window-placement
Chrome 99
- CSS
@layer- cacl 允许 infinity,-infinity,NaN
- text-emphasis: text-emphasis-{color,position,style}
- ShadowDOM
- adoptedStyleSheets: FrozenArray -> ObservableArray
- 可以 push 而不需要整个替换
- adoptedStyleSheets: FrozenArray -> ObservableArray
- HTMLInputElement.showPicker - 显示 input 的选择器
- Handwriting Recognition API - WICG/handwriting-recognitionGitHubWICG/handwriting-recognition
- Intl Enumeration API
- Intl.Locale
- New Canvas 2D API - fserb/canvas2dGitHubfserb/canvas2d
Chrome 98
- CSS
- color-scheme: only light
- self.structuredClone
- COLRv1 Color Gradient Vector Fonts
- FS
- FileSystemHandle::Remove - 之前需要获取到 Parent 来删除
Chrome 97
- JavaScript Array, TypedArray: findLast, findLastIndex
- HTMLScriptElement.supports(type)
- WebTransport
- 类似 WebSocket 和 RTCDataChannel 的角色
- 期望未来替代 WebSockets
- 基于 HTTP/3 UDP
- web.dev/webtransport
Chrome 96
- Clipboard: Preserve PNG metadata
- 之前没有元数据 - 且很慢
- HTTP->HTTPS redirect for HTTPS DNS records
- 支持直接访问 HTTPS
- WebAssembly Reference Types
- URL Protocol Handler Registration for PWAs
- DevTool
- CSS Overview panel
- Emulate the Chrome’s Auto Dark Theme feature
- 复制 CSS 为 JS 格式
- 网络面板新的 Payload
Chrome 95
- Cookie size limits
- RFC 6265
- 总 4K, 单个最大 1K
- EyeDropper API -
<input type=color>支持屏幕取色 - Note taking new note URL
- Remove FTP support
- URLPattern链接developer.mozilla.org/en-US/docs/Web/API/URLPatternwicg urlpattern · 语法基于 path-to-regexp · - · , · - · - · - · , · - · - · - · - data url · - · Chrome 95+ · polyfill kenchris/urlpattern-polyfill笔记:URLPattern
- URL 匹配接口
- self.reportError()
- DevTool
- CSS 长度单位选择、滑动修改
- 自定义属性会粗体优先显示
Chrome 94
- Idle Detection
- VirtualKeyboard API
- WebCodecs
- DevTool
- 支持 本地化 - 多语言
- CSS @container badage
- Shift + click 颜色 切换显示格式
Chrome 93
- CSS Flexbox: alignment start, end, self-start, self-end, left, right
- CSS module scripts
import styleSheet from "./styles.css" assert { type: "css" };
- Error.cause
meta[name="theme-color"]- Object.hasOwn
Object.hasOwn(o,'key')等同于o.hasOwnProperty('key')
- 从新添加
contain:strict和contain:content- mdn contain
- WebOTP API: cross-device support
- User Preference Media Features Client Hints Headers
- http 请求带客户端的 prefers-color-scheme
- Sec-CH-Prefers-Color-Scheme: dark
- DevTool
- 预览 Web bundle - chrome://flags#enable-experimental-web-platform-features
- 格式化响应 JSON
Chrome 92
- Relative indexing method for Array, String, and TypedArrays
[1,2,3,4].at(-1)返回 4
crypto.randomUUID()- 生成 UUIDv4- DevTool
- CSS Grid editor
- console 允许 const 重复定义
- Elements iframe 右键详情
- Network 新增 Wasm 资源类型
- 实验 Puppeteer Recorder
Chrome 91
- Class static initializer blocks
- Clipboard: read-only files support
- 剪切板支持读取文件
- ES Modules for service workers
- service worker 支持 ESM
- GravitySensor API
- Import Assertions
- JSON Modules
- 请求使用 cors + strict MIME type checking
- WebAssembly SIMD
- WebOTP API: cross-origin iframe support
- WebSockets over HTTP/2
- RFC 8441
- DevTool
- Performance 显示 Web Vitals
- CSS scroll-snap 可视化
- ArrayBuffer Memory inspector
- Styles 右键查看计算后的值
// import 断言 - JSON Module
import json from './foo.json' assert { type: 'json' };
class C {
static s_field;
// 新支持
static {
this.s_field = doSomeInitialization();
}
}Chrome 90
- AV1 Encoder
- AbortSignal in addEventListener
- 可以更方便移除 listener
- CSS
overflow: clip,overflow-clip-margin- 完全禁止 scroll
- Declarative Shadow DOM - 直接 HTML 定义 ShadowDOM
- Protect
application/x-protobuffervia Cross-Origin-Read-Blocking - DevTool
- CSS flexbox 编辑器
- Core Web Vitals overlay
- Network Remote Address Space 列
- fn.displayName -> fn.name
<!-- 声明式 Shadow DOM -->
<template shadowroot="open">
<!-- 只影响内部 -->
<style>
button {
color: seagreen;
}
</style>
<link rel="stylesheet" href="/comicsans.css" />
<button>
<slot></slot>
</button>
</template>// 获取包含 shadowdom 的 HTML
const html = element.getInnerHTML({ includeShadowRoots: true, closedRoots: [] });Chrome 89
- SameParty cookie attribute
- 限定允许的 cookie
- 避免三方钓鱼
- CSS
::target-text- style scroll-to-text fragments
- CSS flow-relative Corner Rounding properties
border-*-radius- 新支持 逻辑角落定义 - border-start-start-radius, border-start-end-radius, border-end-start-radius, border-end-end-radius
- 映射为 physical
- 受 writing-mode, direction, text-orientation 影响
- 之前支持 物理 角落定义 top-left, bottom-left, top-right, bottom-right
- FLoC - Federated Learning of Cohorts
- Import maps
- ESM Import 映射
- Sec-CH-UA Client Hints
- Top-level await
- Web NFC
- Web Serial API
- Web Share API
- Web Share API Level 2
- Web Share Target
- Web Share Target Level 2
- WebHID - Human Interface Device
- navigator.webdriver === false
- 检测是否自动化
- performance.measureUserAgentSpecificMemory()
GET /downloads HTTP/1.1
Host: example.site
Sec-CH-UA: "Chromium";v="84", "Google Chrome";v="84"
Sec-CH-UA-Mobile: ?0Chrome 88
- CSS (), ()
- CSS 复杂 () - 例如
:not(.a + .b .c) - CSS aspect-ratio
- Remove Flash Player
Chrome 87
- Cookie Store API - HTTPS only
- Intl.Segmenter - 分词,支持中文
- isInputPending
- Local Font Access
- Pan/Tilt support for Camera
- Portals
- seamless transitions across navigations
const segmenter = new Intl.Segmenter('zh', { granularity: 'word' });
// 输出 ['你好', '世界']
Array.from(segmenter.segment('你好世界')).map((v) => v.segment);
// 可用于优化 CPU 重场景
navigator.scheduling.isInputPending({ includeContinuous: true });Chrome 86
- well-known URL for changing passwords
- /.well-known/change-password
- beforematch 事件
- find-in-page (ctrl+f)
- element fragment navigation (example.com/#foo)
- scroll-to-text navigation (example.com/#:~=foo)
- CSS Selectors 4 Pseudo-Class
- 避免隐藏全部 focus outlines,可以针对 a 和 button 设置
:not(:focus-visible)隐藏 outline - 例如 给 button
:focus-visible样式只有在键盘 tab 过去的时候会显示,鼠标不会显示
- 避免隐藏全部 focus outlines,可以针对 a 和 button 设置
- Document-Policy: force-load-at-top
- FetchEvent.handled
- File System Access - 访问本地文件目录
- Imperative Shadow DOM Distribution API
- Intensive throttling of Javascript timer wake ups
- DOM ParentNode.replaceChildren
- registerProtocolHandler 包含 cabal, dat, did, dweb, ethereum, hyper, ipfs, ipns, ssb
- Third-party origin trials
- WebRTC Insertable Streams
- Clipboard API 支持 async text/html
- HTML is sanitized
- document.fragmentDirective - scroll-to-text-fragment
- #:~=
- 滚动到文字
var portal = document.createElement('portal');
portal.src = 'http://example.com';
document.body.appendChild(portal);
window.onportalactivated = function (oldPortal) {};
// 替换当前页面
portal.activate();Chrome 85
- CSS @property
- 直接通过 CSS 自定义属性
- 之前已经支持 CSS.registerProperty
- 使用 自定义属性 让变量更有意义
- web.dev/at-property
- developer.mozilla.org/en-US/docs/Web/CSS/@property
- AVIF Image Decode
- App shortcuts
- CSS content-visibility
- CSS counter-set
- Cookies default to SameSite=Lax
- Event Timing API
- JavaScript logical assignment operators - ||=, &&=, ??=
- Media Feeds
- Promise.any
- Referrer Policy: Default to strict-origin-when-cross-origin
- Reject insecure SameSite=None cookies
- String.prototype.replaceAll
- Web Bluetooth getDevices()
Chrome 84
- Content Indexing API
- 用于离线场景
- web.dev/content-indexing-api
- CSS flexbox: row-gap, column-gap
- JavaScript WeakReferences
- JavaScript 私有 方法 和 accessors
- Screen Wake Lock API
- 用于避免电脑休眠
- web.dev/wake-lock
- CSS appearance unprefixed
- CSS ruby-position unprefixed
- Web Animations API
- WebOTP
- navigator.credentials
- 短信包含内容,自动验证 - 最后一行格式
@www.example.com #123456 - web.dev/web-otp
- CSS revert 关键字 - 恢复属性
Chrome 83
- CSS
font-display: optionalwithout relayout - CSS @supports selector() 特性检测
- Barcode Detection API
- 可直接检测 image, video, canvas
- web.dev/shape-detection
- CSS contain-intrinsic-size
- 优化渲染
- Cross-Origin-Embedder-Policy
- Cross-Origin-Opener-Policy
- ES Modules for shared workers
- IndexedDB relaxed durability transactions
Chrome 81
- CSS image-orientation property
Chrome 80
- Compression Streams
- Contacts API
- ES Modules for dedicated workers
- 移除 Custom Elements V0
- 移除 HTML Imports
- JavaScript optional chaining -
o?.func() - JavaScript Nullish coalescing -
a ?? b - Media Capabilities: decoding encrypted media
- Periodic Background Sync
- Scroll to Text Fragment -
#:~: - 移除 Shadow DOM v0
- SVG in favicons
- WebAssembly Multi-Value
- WebVR v1.1
- Payments shipping address and contact info delegation
- CSS line-break: anywhere
- CSS overflow-wrap: anywhere
关联信息
反向链接、本文链接的其他页面和外部资料。
反向链接
- 系统升级笔记 · Chrome 版本变化
避免常见 CVE · 例如: 借助 quay 扫描版本 CVE https://quay.io/repository/wener/base?tab=tags · 避免手生 - 太久不升级就再也不敢升级 · 小版本升级可解决一些 Bug 也值得升级
参考资料
GitHub24 条
- tc39/proposal-iterator-helpersgithub.com/tc39/proposal-iterator-helpers
- CarterLi/websocketstream-polyfillgithub.com/CarterLi/websocketstream-polyfill
- ChromeDevTools/chrome-devtools-mcpgithub.com/ChromeDevTools/chrome-devtools-mcp
- cure53/DOMPurifygithub.com/cure53/DOMPurify
- flackr/carousel/inertgithub.com/flackr/carousel/tree/main/inert
- fserb/canvas2dgithub.com/fserb/canvas2d
- GoogleChromeLabs/telnet-clientgithub.com/GoogleChromeLabs/telnet-client
- MicrosoftEdge/MSEdgeExplainers/Popup/explainer.mdgithub.com/MicrosoftEdge/MSEdgeExplainers/blob/main/Popup/explainer.md
- privacycg/storage-accessgithub.com/privacycg/storage-access
- tc39/proposal-set-methodsgithub.com/tc39/proposal-set-methods
- vmpstr/web-proposals/explainers/cv-auto-event.mdgithub.com/vmpstr/web-proposals/blob/main/explainers/cv-auto-event.md
- w3c/secure-payment-confirmationgithub.com/w3c/secure-payment-confirmation
- w3c/window-placementgithub.com/w3c/window-placement
- wanderview/quota-storage-partitioning/explainer.mdgithub.com/wanderview/quota-storage-partitioning/blob/main/explainer.md
- whatwg/html#7320github.com/whatwg/html/pull/7320
- WICG/attribution-reporting-api#1088github.com/WICG/attribution-reporting-api/pull/1088
- WICG/close-watchergithub.com/WICG/close-watcher
- WICG/direct-sockets/docs/explainer.mdgithub.com/WICG/direct-sockets/blob/main/docs/explainer.md
- WICG/handwriting-recognitiongithub.com/WICG/handwriting-recognition
- WICG/inertgithub.com/WICG/inert
- WICG/isolated-web-appsgithub.com/WICG/isolated-web-apps
- WICG/navigation-apigithub.com/WICG/navigation-api
- WICG/WebApiDevice/README.mdgithub.com/WICG/WebApiDevice/blob/main/README.md
- zloirock/core-jsgithub.com/zloirock/core-js
Wikipedia1 条
- Google Chrome version historyWikipedia:Google Chrome version history
标准文档1 条
- RFC 7616datatracker.ietf.org/doc/html/rfc7616RFC
IETF Request for Comments standard document.
其他外链93 条
- web.dev/local-fontsweb.dev/local-fonts
- web.dev/sanitizerweb.dev/sanitizer
- wicg.github.io/direct-socketswicg.github.io/direct-sockets
- anchor-tool.comanchor-tool.com/
- bugs.chromium.org/p/chromium/issues/listbugs.chromium.org/p/chromium/issues/list
- chromestatus.com/feature/5092796566601728chromestatus.com/feature/5092796566601728
- chromestatus.com/feature/5113053598711808chromestatus.com/feature/5113053598711808
- chromestatus.com/feature/5154357283651584chromestatus.com/feature/5154357283651584
- chromestatus.com/feature/5479301497749504chromestatus.com/feature/5479301497749504
- chromestatus.com/feature/5794378545102848chromestatus.com/feature/5794378545102848
- chromestatus.com/feature/6398297361088512chromestatus.com/feature/6398297361088512
- chromestatus.com/featureschromestatus.com/features
- chromestatus.com/roadmapchromestatus.com/roadmap
- chromiumdash.appspot.com/schedulechromiumdash.appspot.com/schedule
- developer.chrome.com/blog/announce-enrollment-privacy-sandboxdeveloper.chrome.com/blog/announce-enrollment-privacy-sandbox
- developer.chrome.com/blog/css-wrapped-2023developer.chrome.com/blog/css-wrapped-2023
- developer.chrome.com/blog/introducing-popover-apideveloper.chrome.com/blog/introducing-popover-api
- developer.chrome.com/blog/origin-trialsdeveloper.chrome.com/blog/origin-trials
- developer.chrome.com/docs/android/trusted-web-activitydeveloper.chrome.com/docs/android/trusted-web-activity
- developer.chrome.com/docs/web-platform/compute-pressuredeveloper.chrome.com/docs/web-platform/compute-pressure
- developer.chrome.com/origintrialsdeveloper.chrome.com/origintrials
- developer.chrome.com/tags/new-in-devtoolsdeveloper.chrome.com/tags/new-in-devtools
- developer.mozilla.org/en-US/docs/Web/API/CookieStoredeveloper.mozilla.org/en-US/docs/Web/API/CookieStore
- developer.mozilla.org/en-US/docs/Web/API/Document/requestStorageAccessdeveloper.mozilla.org/en-US/docs/Web/API/Document/requestStorageAccess
- developer.mozilla.org/en-US/docs/Web/API/HTML_Sanitizer_APIdeveloper.mozilla.org/en-US/docs/Web/API/HTML_Sanitizer_API
- developer.mozilla.org/en-US/docs/Web/API/Invoker_Commands_APIdeveloper.mozilla.org/en-US/docs/Web/API/Invoker_Commands_API
- developer.mozilla.org/en-US/docs/Web/API/Schedulerdeveloper.mozilla.org/en-US/docs/Web/API/Scheduler
- developer.mozilla.org/en-US/docs/Web/API/Storage_Access_APIdeveloper.mozilla.org/en-US/docs/Web/API/Storage_Access_API
- developer.mozilla.org/en-US/docs/Web/API/URLPatterndeveloper.mozilla.org/en-US/docs/Web/API/URLPattern
- developer.mozilla.org/en-US/docs/Web/CSS/@propertydeveloper.mozilla.org/en-US/docs/Web/CSS/@property
- developer.mozilla.org/en-US/docs/Web/CSS/containdeveloper.mozilla.org/en-US/docs/Web/CSS/contain
- developer.mozilla.org/en-US/docs/Web/CSS/content-visibilitydeveloper.mozilla.org/en-US/docs/Web/CSS/content-visibility
- developer.mozilla.org/en-US/docs/Web/CSS/image/image-setdeveloper.mozilla.org/en-US/docs/Web/CSS/image/image-set
- developer.mozilla.org/en-US/docs/Web/HTML/Element/searchdeveloper.mozilla.org/en-US/docs/Web/HTML/Element/search
- developer.mozilla.org/en-US/docs/Web/HTTP/Feature_Policydeveloper.mozilla.org/en-US/docs/Web/HTTP/Feature_Policy
- developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Iteratordeveloper.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Iterator
- drafts.csswg.org/css-text-4drafts.csswg.org/css-text-4
- evilmartians.com/chronicles/oklch-in-css-why-quit-rgb-hslevilmartians.com/chronicles/oklch-in-css-why-quit-rgb-hsl
- floating-ui.comfloating-ui.com/
- open-ui.org/components/customizableselectopen-ui.org/components/customizableselect
- output.jsbin.com/figixaqoutput.jsbin.com/figixaq
- privacycg.github.io/saa-non-cookie-storageprivacycg.github.io/saa-non-cookie-storage
- scroll-driven-animations.stylescroll-driven-animations.style/
- tc39.es/proposal-explicit-resource-managementtc39.es/proposal-explicit-resource-management
- tc39.es/proposal-iterator-helperstc39.es/proposal-iterator-helpers
- tls-ech.devtls-ech.dev/
- unicode.org/reports/tr29unicode.org/reports/tr29
- user-agent-client-hints.glitch.meuser-agent-client-hints.glitch.me/
- v8.dev/features/regexp-v-flagv8.dev/features/regexp-v-flag
- w3c.github.io/edit-contextw3c.github.io/edit-context
- web.dev/add-manifestweb.dev/add-manifest
- web.dev/app-shortcutsweb.dev/app-shortcuts
- web.dev/at-propertyweb.dev/at-property
- web.dev/browser-nativefsweb.dev/browser-nativefs
- web.dev/camera-pan-tilt-zoomweb.dev/camera-pan-tilt-zoom
- web.dev/contact-pickerweb.dev/contact-picker
- web.dev/content-indexing-apiweb.dev/content-indexing-api
- web.dev/declarative-shadow-domweb.dev/declarative-shadow-dom
- web.dev/file-system-accessweb.dev/file-system-access
- web.dev/idle-detectionweb.dev/idle-detection
- web.dev/interop-2022web.dev/interop-2022
- web.dev/periodic-background-syncweb.dev/periodic-background-sync
- web.dev/reporting-apiweb.dev/reporting-api
- web.dev/shape-detectionweb.dev/shape-detection
- web.dev/third-party-origin-trialsweb.dev/third-party-origin-trials
- web.dev/trust-tokensweb.dev/trust-tokens
- web.dev/user-agent-client-hintsweb.dev/user-agent-client-hints
- web.dev/wake-lockweb.dev/wake-lock
- web.dev/web-bundlesweb.dev/web-bundles
- web.dev/web-otpweb.dev/web-otp
- web.dev/web-shareweb.dev/web-share
- web.dev/websocketstreamweb.dev/websocketstream
- web.dev/webtransportweb.dev/webtransport
- webstatus.devwebstatus.dev/
- wicg.github.io/scroll-to-text-fragmentwicg.github.io/scroll-to-text-fragment
- wpt.fyi/interop-2022wpt.fyi/interop-2022
- wpt.fyi/interop-2023wpt.fyi/interop-2023
- www.chromestatus.com/features/4590256452009984www.chromestatus.com/features/4590256452009984
- www.chromestatus.com/features/4718288976216064www.chromestatus.com/features/4718288976216064
- www.chromestatus.com/features/4828882419056640www.chromestatus.com/features/4828882419056640
- www.chromestatus.com/features/5151703944921088www.chromestatus.com/features/5151703944921088
- www.chromestatus.com/features/5205972320518144www.chromestatus.com/features/5205972320518144
- www.chromestatus.com/features/5485544526053376www.chromestatus.com/features/5485544526053376
- www.chromestatus.com/features/5629962485760000www.chromestatus.com/features/5629962485760000
- www.chromestatus.com/features/5634523220934656www.chromestatus.com/features/5634523220934656
- www.chromestatus.com/features/5669293909868544www.chromestatus.com/features/5669293909868544
- www.chromestatus.com/features/5680057076940800www.chromestatus.com/features/5680057076940800
- www.chromestatus.com/features/5695114963845120www.chromestatus.com/features/5695114963845120
- www.chromestatus.com/features/5777880099323904www.chromestatus.com/features/5777880099323904
- www.unicode.org/reports/tr18www.unicode.org/reports/tr18
- www.w3.org/TR/css-color-5www.w3.org/TR/css-color-5
- www.w3.org/TR/device-posturewww.w3.org/TR/device-posture
- youtu.be/5b4YcLB4DVIyoutu.be/5b4YcLB4DVI