CORS (experimental)
CORS is off by default. Enable it with --experimental-features cors.
- CORS implementation: obey cross-origin checks on fetch/XHR instead of allowing them unconditionally
Originheader + request header validation- XHR changes for the CORS WPT tests
IndexedDB
- WPT conformance pass
setNameonIDBObjectStoreandIDBIndexnextunique/prevuniquecursor directions- Keep the
upgradeneededevent alive past dispatch; better error handling - Fix use-after-free reading
txn._dbafterreleaseReffrees it
New Web APIs
CountQueuingStrategyandByteLengthQueuingStrategyresource-timing;Performanceis now anEventTargetwindow.stop()img.decode()navigator.sendBeaconreturnstrueHeaders.getSetCookie,customElements.getName,Element.partHTMLInputElementvalueAsNumber,valueAsDate,stepUp/stepDown,showPickerSVGGraphicsElement.getCTMandgetScreenCTMcanvasmeasureTextand the drawing methods chart libraries probematchMediachange events and realaddListener/removeListener- Reflect
HTMLElement.contentEditable - Basic support for CSS custom properties
Forms / input
- Text entry: move the cursor on caret keys and to the end on value set; clamp selections against the current value
- Trusted
beforeinputis cancelable - A disabled
fieldsetdisables its controls' activation and validation option.selected = truedeselects its siblings in a single select- Fix select value assignment with no matching option
Custom elements
- Upgrade autonomous custom-element clones in place
- Don't upgrade custom elements in a windowless document
- Skip null nodes when a create callback fails
CSS / rendering / performance
- Memoize
StyleManagervisibility per element - Append inserted rules to the buckets instead of rebuilding
- Materialize inline styles where layout reads them
--strip-modegainsshellandclutteroptions- Faster
nth-*selectors, class matching, attribute lookup, and pseudo-class parsing
Ad blocker
- Run
/regex/filters with PCRE2 - Request engine
Protocols
- WebDriver: HTTP WebDriver session management
- CDP:
DOM.focus; honorrunImmediately,screenWidth/screenHeight,browserContextId - CDP: request interception patterns; a context per isolated world per frame
- CDP: wheel events scroll the viewport unless over a scroll container
- CDP: fix message lifetimes and console argument serialization; remove a terminate/disconnect race
HTTP / Networking
- Keep connections alive across navigations; better redirect handling; timeout tweaks
- Enable
CURLOPT_PIPEWAITon every easy handle - Update curl to 8.22.0
- Cookies: accept
Secureand__Host-on loopback origins; apply theSameSite=Laxexception only on safe methods; compute site-for-cookies from a frame's ancestor chain - Guard WebSocket message-length parsing against integer overflow
- Fix drive-letter lookalike URL segments on non-file schemes
CLI / tools
--localeand--timezone, with language signals derived from one value- Suggest the closest flag or command on a typo
notelog level can be silenced; log CLI tips- Scroll the nearest scroll container from the
scrolltool - Click dispatches a full pointer/mouse sequence, not a bare click event
- Agent: route REPL output per tool and align page tables of any size
Stability / memory
- Crash fixes:
TryCatchcopied by value,history.state/Navigation.currentEntry, V8 re-entry on an unhandled promise - Fix
Notificationuse-after-free - Disconnect runaway intersection observers; raise timer caps
- Leak fixes: robot store, JS terminated during MutationObserver/IntersectionObserver delivery, cloned HTTP responses, V8 backing store
- V8: notify isolate shutdown, restore the initial heap limit, avoid rearming heap termination during teardown
- Disarm the watchdog before protocol teardown