)]}'
{"features_by_type": {"Enabled by default": [{"id": 5153829504024576, "name": "Capability elements: <camera> and <microphone>", "summary": "The <camera> and <microphone> capability elements are declarative, user-activated HTML controls that share the same underlying mechanism as the <usermedia> MVP element, with one key distinction: they are designed to request a single capability. The <camera> element specifically requests video capture, while the <microphone> element specifically requests audio capture. Like the <usermedia> MVP, they embed a browser-controlled, strictly styled UI into the page, ensuring a strong, intentional user signal (a click) before a permission prompt is triggered or a stream is started.\n\nThe <camera> and <microphone> elements provide a dedicated, semantic HTML control for these single-capability use cases. They maintain the identical security model, strict styling constraints, and built-in permission recovery path as the <usermedia> MVP, but offer a more tailored and ergonomic API for developers who do not need mixed media access.", "feature_type_int": 1, "unlisted": false, "enterprise_impact": 1, "enterprise_product_category": 0, "breaking_change": false, "confidential": false, "first_enterprise_notification_milestone": null, "blink_components": ["UI>Browser>Permissions>Prompts"], "resources": {"samples": [], "docs": []}, "creator": "tungnh@google.com", "editors": [], "owners": ["tungnh@google.com", "ravjit@google.com"], "created": {"by": "tungnh@google.com", "when": "2026-07-06 14:09:35.781845"}, "updated": {"by": "tungnh@google.com", "when": "2026-08-19 15:08:19.175348"}, "accurate_as_of": "2026-07-06 14:09:35.781747", "standards": {"spec": "https://w3c.github.io/mediacapture-extensions/#the-camera-html-element", "maturity": {"text": "Specification currently under development in a Working Group", "short_text": "Working draft", "val": 4}}, "browsers": {"chrome": {"bug": "https://b.corp.google.com/issues/531672795", "blink_components": ["UI>Browser>Permissions>Prompts"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["tungnh@google.com", "ravjit@google.com"], "origintrial": false, "prefixed": null, "flag": false, "status": {"text": "Proposed", "val": 2}, "announced": false}, "ff": {"view": {"url": null, "notes": null, "text": "No signal", "val": 5}}, "safari": {"view": {"url": null, "notes": null, "text": "No signal", "val": 5}}, "webdev": {"view": {"text": "No signals", "val": 4, "url": null, "notes": null}}, "other": {"view": {"notes": null}}}, "is_released": false, "milestone": null, "roadmap_stage_ids": [5398507591696384], "finch_urls": []}, {"id": 5113656292540416, "name": "Immersive Audio Model and Formats (IAMF) decoding support", "summary": "Adds support for decoding and playing back the Immersive Audio Model and Formats (IAMF) container within HTML media elements via Media Source Extensions (MSE). IAMF is an open, royalty-free spatial audio format that supports channel-based, scene-based, and object-based audio presentations. Supporting this standard allows web developers to deliver consistent, immersive 3D audio experiences across different devices without relying on proprietary formats or managing complex discrete audio channel routing in JavaScript.", "feature_type_int": 0, "unlisted": false, "enterprise_impact": 1, "enterprise_product_category": 0, "breaking_change": false, "confidential": false, "first_enterprise_notification_milestone": null, "blink_components": ["Blink>Media>Audio"], "resources": {"samples": ["https://crsrc.org/c/media/test/data/iamf_alternating_sine_waves_stereo.mp4", "https://crsrc.org/c/media/test/data/iamf_alternating_sine_waves_714.mp4", "https://aomediacodec.github.io/iamf-tools/web_demo"], "docs": ["https://docs.google.com/document/d/1G4Km3hxEnXonvgiZo7got_DWIatBrpYbyzk3yIpaV6A/edit?usp=sharing&resourcekey=0-rS2fUcQM7tcKNDoQmk7Tmg"]}, "creator": "lowkey@google.com", "editors": ["sxm@google.com", "skmanickam@google.com"], "owners": ["lowkey@google.com", "tguilbert@chromium.org"], "created": {"by": "lowkey@google.com", "when": "2026-07-14 17:21:24.875867"}, "updated": {"by": "lowkey@google.com", "when": "2026-08-17 20:13:48.148984"}, "accurate_as_of": "2026-08-12 19:04:09.244940", "standards": {"spec": "https://aomediacodec.github.io/iamf/latest-approved.html", "maturity": {"text": "Final published standard: Recommendation, Living Standard, Candidate Recommendation, or similar final form", "short_text": "Published standard", "val": 5}}, "browsers": {"chrome": {"bug": "https://crbug.com/535279329", "blink_components": ["Blink>Media>Audio"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["lowkey@google.com", "tguilbert@chromium.org"], "origintrial": false, "prefixed": null, "flag": false, "status": {"text": "Proposed", "val": 2}, "announced": false}, "ff": {"view": {"url": "https://github.com/mozilla/standards-positions/issues/1437", "notes": null, "text": "No signal", "val": 5}}, "safari": {"view": {"url": "https://github.com/WebKit/standards-positions/issues/700", "notes": null, "text": "No signal", "val": 5}}, "webdev": {"view": {"text": "No signals", "val": 4, "url": null, "notes": "N/A, no changes in web APIs."}}, "other": {"view": {"notes": "Strong interest from external partners."}}}, "is_released": false, "milestone": null, "roadmap_stage_ids": [4706291898515456], "finch_urls": []}, {"id": 6312504658624512, "name": "Interoperable dispatch timing for transitionrun and media query events", "summary": "Aligns Blink's dispatch timing for animation \"transitionrun\" event and media query \"change\" event with the spec, making the timing interoperable with Gecko and WebKit. More precisely, as per HTML window event loop specification, \"transitionrun\" events will be fired at Step 3.11 even for animations created earlier in the same iteration (instead of delaying them for a later iteration), and the media query \"change\" event will be fired at Step 3.10 before firing any pending animation events (instead of intermixing them with animation events at Step 3.11).", "feature_type_int": 2, "unlisted": false, "enterprise_impact": 1, "enterprise_product_category": 0, "breaking_change": false, "confidential": false, "first_enterprise_notification_milestone": null, "blink_components": ["Blink>Animation"], "resources": {"samples": [], "docs": []}, "creator": "mustaq@google.com", "editors": [], "owners": ["mustaq@chromium.org"], "created": {"by": "mustaq@google.com", "when": "2026-07-29 14:57:42.032148"}, "updated": {"by": "mustaq@google.com", "when": "2026-08-05 12:16:45.441971"}, "accurate_as_of": "2026-07-29 14:57:42.032029", "standards": {"spec": "https://html.spec.whatwg.org/multipage/webappapis.html#event-loop-processing-model", "maturity": {"text": "Final published standard: Recommendation, Living Standard, Candidate Recommendation, or similar final form", "short_text": "Published standard", "val": 5}}, "browsers": {"chrome": {"bug": "https://crbug.com/397737222", "blink_components": ["Blink>Animation"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["mustaq@chromium.org"], "origintrial": false, "prefixed": null, "flag": false, "status": {"text": "Proposed", "val": 2}, "announced": false}, "ff": {"view": {"url": null, "notes": null, "text": "No signal", "val": 5}}, "safari": {"view": {"url": null, "notes": null, "text": "No signal", "val": 5}}, "webdev": {"view": {"text": "No signals", "val": 4, "url": null, "notes": null}}, "other": {"view": {"notes": null}}}, "is_released": false, "milestone": null, "roadmap_stage_ids": [5468079728492544], "finch_urls": []}, {"id": 5095183554314240, "name": "Iterator Join", "summary": "A TC39 proposal to add to JavaScript a means to concatenate the contents of an iterator into a string. The `join()` method of Iterator instances is similar to `Array.prototype.join()`: it returns a string that is the concatenation of all elements produced by the iterator, separated by commas or a specified separator string.", "feature_type_int": 1, "unlisted": false, "enterprise_impact": 1, "enterprise_product_category": 0, "breaking_change": false, "confidential": false, "first_enterprise_notification_milestone": null, "blink_components": ["Blink>JavaScript>Language"], "resources": {"samples": [], "docs": []}, "creator": "olivf@google.com", "editors": [], "owners": ["olivf@google.com"], "created": {"by": "olivf@google.com", "when": "2026-07-29 13:29:34.262347"}, "updated": {"by": "olivf@google.com", "when": "2026-08-12 15:39:41.871194"}, "accurate_as_of": "2026-07-29 13:29:34.262225", "standards": {"spec": "https://tc39.es/proposal-iterator-join", "maturity": {"text": "Specification currently under development in a Working Group", "short_text": "Working draft", "val": 4}}, "browsers": {"chrome": {"bug": "https://issues.chromium.org/issues/465715798", "blink_components": ["Blink>JavaScript>Language"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["olivf@google.com"], "origintrial": false, "prefixed": null, "flag": false, "status": {"text": "Proposed", "val": 2}, "announced": false}, "ff": {"view": {"url": "https://bugzilla.mozilla.org/show_bug.cgi?id=2047995", "notes": null, "text": "Shipped/Shipping", "val": 1}}, "safari": {"view": {"url": "https://bugs.webkit.org/show_bug.cgi?id=304586", "notes": null, "text": "In development", "val": 2}}, "webdev": {"view": {"text": "No signals", "val": 4, "url": null, "notes": null}}, "other": {"view": {"notes": null}}}, "is_released": false, "milestone": null, "roadmap_stage_ids": [6015393601814528], "finch_urls": []}, {"id": 6249068542164992, "name": "Joint Iteration", "summary": "A TC39 proposal to synchronise the advancement of multiple iterators, often called zip.", "feature_type_int": 1, "unlisted": false, "enterprise_impact": 1, "enterprise_product_category": 0, "breaking_change": false, "confidential": false, "first_enterprise_notification_milestone": null, "blink_components": ["Blink>JavaScript>Language"], "resources": {"samples": [], "docs": []}, "creator": "olivf@google.com", "editors": [], "owners": ["nikolaos@chromium.org", "olivf@google.com"], "created": {"by": "olivf@google.com", "when": "2026-01-05 09:03:07.446066"}, "updated": {"by": "olivf@google.com", "when": "2026-08-05 15:09:34.806647"}, "accurate_as_of": "2026-07-29 14:43:07.689256", "standards": {"spec": "https://github.com/tc39/proposal-joint-iteration", "maturity": {"text": "Final published standard: Recommendation, Living Standard, Candidate Recommendation, or similar final form", "short_text": "Published standard", "val": 5}}, "browsers": {"chrome": {"bug": "https://issues.chromium.org/issues/465357675", "blink_components": ["Blink>JavaScript>Language"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["nikolaos@chromium.org", "olivf@google.com"], "origintrial": false, "prefixed": null, "flag": false, "status": {"text": "Proposed", "val": 2}, "announced": false}, "ff": {"view": {"url": "https://bugzilla.mozilla.org/show_bug.cgi?id=2003333", "notes": null, "text": "Shipped/Shipping", "val": 1}}, "safari": {"view": {"url": "https://bugs.webkit.org/show_bug.cgi?id=303246", "notes": null, "text": "In development", "val": 2}}, "webdev": {"view": {"text": "No signals", "val": 4, "url": null, "notes": null}}, "other": {"view": {"notes": null}}}, "is_released": false, "milestone": null, "roadmap_stage_ids": [4852284309766144], "finch_urls": []}, {"id": 5078190552907776, "name": "WebAudio: Configurable render quantum", "summary": "Adds an optional renderSizeHint to AudioContext and OfflineAudioContext. This allows developers to customize the WebAudio render quantum size by passing a specific integer, use the default of 128 frames by omitting the hint or passing \"default\", or request that the User-Agent select an optimal size by specifying \"hardware\".", "feature_type_int": 1, "unlisted": false, "enterprise_impact": 1, "enterprise_product_category": 0, "breaking_change": false, "confidential": false, "first_enterprise_notification_milestone": null, "blink_components": ["Blink>WebAudio"], "resources": {"samples": [], "docs": ["https://github.com/WebAudio/web-audio-api/blob/main/explainer/user-selectable-render-size.md"]}, "creator": "mjwilson@chromium.org", "editors": ["ajayrahatekar@google.com"], "owners": ["hongchan@google.com", "mjwilson@chromium.org"], "created": {"by": "mjwilson@chromium.org", "when": "2025-07-31 23:26:12.578381"}, "updated": {"by": "mjwilson@chromium.org", "when": "2026-08-24 17:05:39.054907"}, "accurate_as_of": "2026-08-24 17:05:39.054907", "standards": {"spec": "https://webaudio.github.io/web-audio-api/#dom-baseaudiocontext-renderquantumsize", "maturity": {"text": "Specification currently under development in a Working Group", "short_text": "Working draft", "val": 4}}, "browsers": {"chrome": {"bug": "https://crbug.com/40637820", "blink_components": ["Blink>WebAudio"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["hongchan@google.com", "mjwilson@chromium.org"], "origintrial": false, "prefixed": null, "flag": false, "status": {"text": "Proposed", "val": 2}, "announced": false}, "ff": {"view": {"url": "https://github.com/mozilla/standards-positions/issues/1407", "notes": "A Firefox developer wrote the specification change (https://github.com/WebAudio/web-audio-api/pull/2469).", "text": "No signal", "val": 5}}, "safari": {"view": {"url": "https://github.com/WebKit/standards-positions/issues/662", "notes": null, "text": "No signal", "val": 5}}, "webdev": {"view": {"text": "Positive", "val": 2, "url": "https://github.com/WebAudio/web-audio-api/issues/1503", "notes": "Developers have requested a way to increase the render quantum size, and are looking forward to the feature being implemented."}}, "other": {"view": {"notes": null}}}, "is_released": false, "milestone": null, "roadmap_stage_ids": [5202762991927296], "finch_urls": []}, {"id": 5094091886034944, "name": "WebGPU: `buffer_view` feature", "summary": "WGSL language feature for reinterpreting data in variables.\n\nThe feature allows developers to divide a single uniform, storage, or workgroup variable into multiple logical variables. It also allows the type of the data in the variable to be interpreted as multiple types within the program.", "feature_type_int": 0, "unlisted": false, "enterprise_impact": 1, "enterprise_product_category": 0, "breaking_change": false, "confidential": false, "first_enterprise_notification_milestone": null, "blink_components": ["Blink>WebGPU"], "resources": {"samples": ["https://github.com/webgpu/webgpu-samples/pull/568"], "docs": []}, "creator": "alanbaker@google.com", "editors": ["jrprice@google.com", "cwallez@google.com", "fbeaufort@google.com"], "owners": ["alanbaker@google.com"], "created": {"by": "alanbaker@google.com", "when": "2026-06-23 17:38:09.433904"}, "updated": {"by": "alanbaker@google.com", "when": "2026-07-29 20:59:09.971487"}, "accurate_as_of": "2026-07-29 20:59:09.971487", "standards": {"spec": "https://github.com/gpuweb/gpuweb/pull/6291", "maturity": {"text": "Specification currently under development in a Working Group", "short_text": "Working draft", "val": 4}}, "browsers": {"chrome": {"bug": "https://crbug.com/tint/506523198", "blink_components": ["Blink>WebGPU"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["alanbaker@google.com"], "origintrial": false, "prefixed": null, "flag": false, "status": {"text": "Proposed", "val": 2}, "announced": false}, "ff": {"view": {"url": "https://github.com/mozilla/standards-positions/issues/1205#issuecomment-3312534193", "notes": null, "text": "No signal", "val": 5}}, "safari": {"view": {"url": "https://github.com/WebKit/standards-positions/issues/294#issuecomment-1877411933", "notes": null, "text": "Closed Without a Position", "val": 5}}, "webdev": {"view": {"text": "No signals", "val": 4, "url": null, "notes": null}}, "other": {"view": {"notes": null}}}, "is_released": false, "milestone": null, "roadmap_stage_ids": [6560391841841152], "finch_urls": []}, {"id": 5309598397497344, "name": "XML parsing in Rust for non-XSLT scenarios", "summary": "To improve browser security and protect users against memory-related vulnerabilities, Chrome 153 updates its XML parsing engine to a memory-safe [Rust](https://rust-lang.org/) implementation for several common scenarios. This foundational update eliminates potential memory corruption bugs while maintaining full compatibility with existing web standards.\n\nChrome has already begun to deprecate and remove [XSLT](https://www.w3.org/TR/xslt-30/). While this process continues, the new, safer parser will handle the following scenarios where no XSLT is required:\n\n1. DOMParser Web API.\n2. Accessing responseXML of XMLHttpRequest.\n3. SVG standalone images (that is, accessing a `image.svg` document directly as a top level navigation).\n4. SVG external images (including a main document embedding an SVG as an external image resource).\n", "feature_type_int": 2, "unlisted": false, "enterprise_impact": 2, "enterprise_product_category": 0, "breaking_change": false, "confidential": false, "first_enterprise_notification_milestone": 150, "blink_components": ["Blink>DOM"], "resources": {"samples": [], "docs": []}, "creator": "drott@chromium.org", "editors": [], "owners": ["drott@chromium.org"], "created": {"by": "drott@chromium.org", "when": "2026-02-09 17:20:48.281157"}, "updated": {"by": "siobhankeating@google.com", "when": "2026-08-26 11:54:44.639552"}, "accurate_as_of": "2026-08-10 09:07:37.293664", "standards": {"spec": "https://www.w3.org/TR/xml", "maturity": {"text": null, "short_text": "Unknown status", "val": 0}}, "browsers": {"chrome": {"bug": "https://crbug.com/466303347", "blink_components": ["Blink>DOM"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["drott@chromium.org"], "origintrial": false, "prefixed": null, "flag": false, "status": {"text": "Proposed", "val": 2}, "announced": false}, "ff": {"view": {"url": null, "notes": null, "text": "No signal", "val": 5}}, "safari": {"view": {"url": null, "notes": null, "text": "No signal", "val": 5}}, "webdev": {"view": {"text": "No signals", "val": 4, "url": null, "notes": null}}, "other": {"view": {"notes": null}}}, "is_released": false, "milestone": null, "roadmap_stage_ids": [6016127144689664], "finch_urls": []}, {"id": 5908461532610560, "name": "scroll-axis-lock", "summary": "scroll-axis-lock is a CSS property that authors can use to instruct browsers not to constrain a user's scrolling gesture to one axis.\n\nWeb browsers often \"lock\" a user's scrolling gesture to a single axis when that gesture starts with significantly more movement in one axis than in the perpendicular axis. In many cases, this behavior improves the user's experience by avoiding accidental scrolls along the perpendicular axis when the user's intent was to scroll only one axis. However, in cases where an author wishes their element to always be diagonally scrollable, this locking behavior forces the user to start their gesture at an angle that doesn't trigger the locking, often not in alignment with the author's intended user experience.", "feature_type_int": 0, "unlisted": false, "enterprise_impact": 1, "enterprise_product_category": 0, "breaking_change": false, "confidential": false, "first_enterprise_notification_milestone": null, "blink_components": ["Blink>Scroll"], "resources": {"samples": [], "docs": []}, "creator": "awogbemila@google.com", "editors": [], "owners": ["awogbemila@google.com"], "created": {"by": "awogbemila@google.com", "when": "2026-07-20 17:41:56.419317"}, "updated": {"by": "awogbemila@google.com", "when": "2026-08-24 14:02:03.088938"}, "accurate_as_of": "2026-08-24 14:02:03.088938", "standards": {"spec": "https://github.com/w3c/csswg-drafts/pull/14152", "maturity": {"text": null, "short_text": "Unknown status", "val": 0}}, "browsers": {"chrome": {"bug": "https://crbug.com/479472367", "blink_components": ["Blink>Scroll"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["awogbemila@google.com"], "origintrial": false, "prefixed": null, "flag": false, "status": {"text": "Proposed", "val": 2}, "announced": false}, "ff": {"view": {"url": "https://github.com/mozilla/standards-positions/issues/1435", "notes": null, "text": "No signal", "val": 5}}, "safari": {"view": {"url": "https://github.com/WebKit/standards-positions/issues/698", "notes": null, "text": "No signal", "val": 5}}, "webdev": {"view": {"text": "Positive", "val": 2, "url": "https://github.com/w3c/csswg-drafts/issues/13207#issuecomment-3746914407", "notes": null}}, "other": {"view": {"notes": null}}}, "is_released": false, "milestone": null, "roadmap_stage_ids": [5628957744562176], "finch_urls": []}], "Deprecated": [{"id": 6552486106234880, "name": "Deprecate and Remove Protected Audience", "summary": "The Protected Audience API provides a method of interest-group advertising without third-party cookies or user tracking across sites.\n\nFollowing Chrome's announcement that the current approach to third-party cookies will be maintained, we are now planning to deprecate and remove the Protected Audience API (along with certain other Privacy Sandbox APIs, as outlined on the Privacy Sandbox feature status page).", "feature_type_int": 3, "unlisted": false, "enterprise_impact": 1, "enterprise_product_category": 0, "breaking_change": false, "confidential": false, "first_enterprise_notification_milestone": null, "blink_components": ["Blink>InterestGroups"], "resources": {"samples": [], "docs": []}, "creator": "pauljensen@chromium.org", "editors": ["behamilton@chromium.org", "skmanickam@google.com", "behamilton@google.com"], "owners": ["pauljensen@chromium.org"], "created": {"by": "pauljensen@chromium.org", "when": "2025-11-05 14:28:46.962459"}, "updated": {"by": "skmanickam@google.com", "when": "2026-08-21 17:44:30.082100"}, "accurate_as_of": "2025-12-22 12:50:15.810850", "standards": {"spec": "https://wicg.github.io/turtledove", "maturity": {"text": null, "short_text": "Unknown status", "val": 0}}, "browsers": {"chrome": {"bug": null, "blink_components": ["Blink>InterestGroups"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["pauljensen@chromium.org"], "origintrial": false, "prefixed": null, "flag": false, "status": {"text": "Proposed", "val": 2}, "announced": false}, "ff": {"view": {"url": null, "notes": null, "text": "No signal", "val": 5}}, "safari": {"view": {"url": null, "notes": null, "text": "No signal", "val": 5}}, "webdev": {"view": {"text": "No signals", "val": 4, "url": null, "notes": null}}, "other": {"view": {"notes": null}}}, "is_released": false, "milestone": null, "roadmap_stage_ids": [6447608776228864], "finch_urls": []}, {"id": 5194473869017088, "name": "Deprecate and Remove: Related Website Sets (RWS)", "summary": "Related Website Sets (RWS), formerly known as First Party Sets, provides a framework for developers to declare relationships among sites, to enable limited cross-site cookie access for specific, user-facing purposes. This is facilitated through the use of the Storage Access API (SAA) and requestStorageAccessFor (rSAFor). RWS was designed for use in a browser without third-party cookies. Following Chrome's announcement that the current approach to third-party cookies will be maintained, we are now planning to deprecate and remove Related Website Sets (RWS). \n\n\nOnce RWS is deprecated; existing usage of SAA across contexts within a set will fall back to the API\u2019s behavior outside of RWS as specified here. The difference in SAA behavior outside of RWS is well illustrated in our developer blogpost here.\n\n\nThe companion rSAFor API will also be deprecated via a separate intent.  \n\n\nWe also intend to deprecate RWS-related Chrome Enterprise policies, as well as the chrome.privacy.relatedWebsiteSetsEnabled extension API; and will follow the relevant processes.", "feature_type_int": 3, "unlisted": false, "enterprise_impact": 1, "enterprise_product_category": 0, "breaking_change": false, "confidential": false, "first_enterprise_notification_milestone": null, "blink_components": ["Privacy"], "resources": {"samples": [], "docs": []}, "creator": "johannhof@chromium.org", "editors": [], "owners": ["johannhof@chromium.org", "kaustubhag@google.com"], "created": {"by": "johannhof@chromium.org", "when": "2025-11-07 20:13:49.093732"}, "updated": {"by": "johannhof@chromium.org", "when": "2026-08-21 18:42:00.866000"}, "accurate_as_of": "2026-07-27 20:58:04.372269", "standards": {"spec": "https://wicg.github.io/first-party-sets", "maturity": {"text": null, "short_text": "Unknown status", "val": 0}}, "browsers": {"chrome": {"bug": null, "blink_components": ["Privacy"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["johannhof@chromium.org", "kaustubhag@google.com"], "origintrial": false, "prefixed": null, "flag": false, "status": {"text": "Proposed", "val": 2}, "announced": false}, "ff": {"view": {"url": null, "notes": null, "text": "No signal", "val": 5}}, "safari": {"view": {"url": null, "notes": null, "text": "No signal", "val": 5}}, "webdev": {"view": {"text": "No signals", "val": 4, "url": null, "notes": null}}, "other": {"view": {"notes": null}}}, "is_released": false, "milestone": null, "roadmap_stage_ids": [5162413682982912], "finch_urls": []}, {"id": 5076349064708096, "name": "Deprecate and Remove: Shared Storage API", "summary": "The Shared Storage API is a privacy-preserving web API to enable storage that is not partitioned by first-party site.\n\nFollowing Chrome's announcement that the current approach to third-party cookies will be maintained, we are now planning to deprecate and remove the Shared Storage API (along with certain other Privacy Sandbox APIs, as outlined on the Privacy Sandbox feature status page).\n\n[0]: https://privacysandbox.com/news/privacy-sandbox-next-steps/", "feature_type_int": 3, "unlisted": false, "enterprise_impact": 1, "enterprise_product_category": 0, "breaking_change": false, "confidential": false, "first_enterprise_notification_milestone": null, "blink_components": ["Blink>Storage>SharedStorage"], "resources": {"samples": [], "docs": []}, "creator": "cammie@chromium.org", "editors": ["skmanickam@google.com"], "owners": ["cammie@chromium.org"], "created": {"by": "cammie@chromium.org", "when": "2025-11-05 01:01:47.795610"}, "updated": {"by": "skmanickam@google.com", "when": "2026-10-14 07:50:04.982477"}, "accurate_as_of": "2025-11-05 01:01:47.795512", "standards": {"spec": "https://wicg.github.io/shared-storage", "maturity": {"text": null, "short_text": "Unknown status", "val": 0}}, "browsers": {"chrome": {"bug": "https://issues.chromium.org/issues/462465887", "blink_components": ["Blink>Storage>SharedStorage"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["cammie@chromium.org"], "origintrial": false, "prefixed": null, "flag": false, "status": {"text": "Proposed", "val": 2}, "announced": false}, "ff": {"view": {"url": null, "notes": null, "text": "No signal", "val": 5}}, "safari": {"view": {"url": null, "notes": null, "text": "No signal", "val": 5}}, "webdev": {"view": {"text": "No signals", "val": 4, "url": null, "notes": null}}, "other": {"view": {"notes": null}}}, "is_released": false, "milestone": null, "roadmap_stage_ids": [5179256934105088], "finch_urls": []}, {"id": 5162221567082496, "name": "Deprecate and Remove: document.requestStorageAccessFor", "summary": "The requestStorageAccessFor (rSAFor) API is an extension to the Storage Access API that allows a top-level site to request access to unpartitioned (\"first-party\") cookies on behalf of embedded sites. Browsers will have discretion to grant or deny access, with mechanisms like Related Website Sets (RWS) membership as a potential signal. This allows for use of the Storage Access API by top-level sites. Following Chrome's announcement that the current approach to third-party cookies will be maintained, we are now planning to deprecate and remove rSAFor, as it is only usable in Chrome to request storage access between RWS sites. Related Website Sets will also be deprecated via a separate intent.  \n", "feature_type_int": 3, "unlisted": false, "enterprise_impact": 1, "enterprise_product_category": 0, "breaking_change": false, "confidential": false, "first_enterprise_notification_milestone": null, "blink_components": ["Blink>StorageAccessAPI"], "resources": {"samples": [], "docs": []}, "creator": "johannhof@chromium.org", "editors": [], "owners": ["johannhof@chromium.org", "kaustubhag@google.com"], "created": {"by": "johannhof@chromium.org", "when": "2025-11-07 20:20:50.457660"}, "updated": {"by": "johannhof@chromium.org", "when": "2026-08-21 18:41:01.416608"}, "accurate_as_of": "2026-07-27 20:57:41.438755", "standards": {"spec": "https://privacycg.github.io/requestStorageAccessFor", "maturity": {"text": null, "short_text": "Unknown status", "val": 0}}, "browsers": {"chrome": {"bug": null, "blink_components": ["Blink>StorageAccessAPI"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["johannhof@chromium.org", "kaustubhag@google.com"], "origintrial": false, "prefixed": null, "flag": false, "status": {"text": "Proposed", "val": 2}, "announced": false}, "ff": {"view": {"url": null, "notes": null, "text": "No signal", "val": 5}}, "safari": {"view": {"url": null, "notes": null, "text": "No signal", "val": 5}}, "webdev": {"view": {"text": "No signals", "val": 4, "url": null, "notes": null}}, "other": {"view": {"notes": null}}}, "is_released": false, "milestone": null, "roadmap_stage_ids": [5206060415713280], "finch_urls": []}, {"id": 6320639375966208, "name": "Deprecate and remove: Attribution Reporting API", "summary": "The Attribution Reporting API is a privacy-preserving web API designed to measure ad conversions without third-party cookies or user tracking across sites.\n\nFollowing Chrome's announcement that the current approach to third-party cookies will be maintained, we are now planning to deprecate and remove the Attribution Reporting API (along with other Privacy Sandbox APIs).\n\n[0]: https://privacysandbox.com/news/privacy-sandbox-next-steps/", "feature_type_int": 3, "unlisted": false, "enterprise_impact": 1, "enterprise_product_category": 0, "breaking_change": false, "confidential": false, "first_enterprise_notification_milestone": null, "blink_components": ["A-N/A"], "resources": {"samples": [], "docs": []}, "creator": "linnan@chromium.org", "editors": ["skmanickam@google.com"], "owners": ["linnan@chromium.org"], "created": {"by": "linnan@chromium.org", "when": "2025-10-21 23:30:10.815560"}, "updated": {"by": "skmanickam@google.com", "when": "2026-08-21 17:48:27.872312"}, "accurate_as_of": "2026-08-21 17:48:27.872312", "standards": {"spec": "https://wicg.github.io/attribution-reporting-api", "maturity": {"text": null, "short_text": "Unknown status", "val": 0}}, "browsers": {"chrome": {"bug": null, "blink_components": ["A-N/A"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["linnan@chromium.org"], "origintrial": false, "prefixed": null, "flag": false, "status": {"text": "Proposed", "val": 2}, "announced": false}, "ff": {"view": {"url": null, "notes": null, "text": "No signal", "val": 5}}, "safari": {"view": {"url": null, "notes": null, "text": "No signal", "val": 5}}, "webdev": {"view": {"text": "No signals", "val": 4, "url": null, "notes": null}}, "other": {"view": {"notes": null}}}, "is_released": false, "milestone": null, "roadmap_stage_ids": [5291282280873984], "finch_urls": []}, {"id": 5121089536262144, "name": "Remove non-standard navigations targeted at _current", "summary": "Blink currently supports navigations targeted at \"_current\", this feature should be removed as it is non-standard.\r\n\r\nUsage of this feature is minimal (less than ~0.00009%), see https://chromestatus.com/metrics/feature/timeline/popularity/2835.", "feature_type_int": 3, "unlisted": false, "enterprise_impact": 1, "enterprise_product_category": 0, "breaking_change": false, "confidential": false, "first_enterprise_notification_milestone": null, "blink_components": ["Blink"], "resources": {"samples": [], "docs": []}, "creator": "steve@stevestoffer.com", "editors": ["dom@chromium.org"], "owners": ["dom@chromium.org", "steve@stevestoffer.com"], "created": {"by": "steve@stevestoffer.com", "when": "2024-11-10 20:26:48.735950"}, "updated": {"by": "dom@chromium.org", "when": "2026-08-21 08:39:30.285189"}, "accurate_as_of": "2026-08-13 21:40:19.156594", "standards": {"spec": "https://html.spec.whatwg.org/#the-rules-for-choosing-a-navigable", "maturity": {"text": null, "short_text": "Unknown status", "val": 0}}, "browsers": {"chrome": {"bug": "https://crbug.com/539212797", "blink_components": ["Blink"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["dom@chromium.org", "steve@stevestoffer.com"], "origintrial": false, "prefixed": null, "flag": false, "status": {"text": "Proposed", "val": 2}, "announced": false}, "ff": {"view": {"url": null, "notes": null, "text": "Shipped/Shipping", "val": 1}}, "safari": {"view": {"url": null, "notes": null, "text": "Shipped/Shipping", "val": 1}}, "webdev": {"view": {"text": "No signals", "val": 4, "url": null, "notes": null}}, "other": {"view": {"notes": null}}}, "is_released": false, "milestone": null, "roadmap_stage_ids": [5192412400713728], "finch_urls": []}], "Removed": [], "Stepped rollout": [{"id": 5194473869017088, "name": "Deprecate and Remove: Related Website Sets (RWS)", "summary": "Related Website Sets (RWS), formerly known as First Party Sets, provides a framework for developers to declare relationships among sites, to enable limited cross-site cookie access for specific, user-facing purposes. This is facilitated through the use of the Storage Access API (SAA) and requestStorageAccessFor (rSAFor). RWS was designed for use in a browser without third-party cookies. Following Chrome's announcement that the current approach to third-party cookies will be maintained, we are now planning to deprecate and remove Related Website Sets (RWS). \n\n\nOnce RWS is deprecated; existing usage of SAA across contexts within a set will fall back to the API\u2019s behavior outside of RWS as specified here. The difference in SAA behavior outside of RWS is well illustrated in our developer blogpost here.\n\n\nThe companion rSAFor API will also be deprecated via a separate intent.  \n\n\nWe also intend to deprecate RWS-related Chrome Enterprise policies, as well as the chrome.privacy.relatedWebsiteSetsEnabled extension API; and will follow the relevant processes.", "feature_type_int": 3, "unlisted": false, "enterprise_impact": 1, "enterprise_product_category": 0, "breaking_change": false, "confidential": false, "first_enterprise_notification_milestone": null, "blink_components": ["Privacy"], "resources": {"samples": [], "docs": []}, "creator": "johannhof@chromium.org", "editors": [], "owners": ["johannhof@chromium.org", "kaustubhag@google.com"], "created": {"by": "johannhof@chromium.org", "when": "2025-11-07 20:13:49.093732"}, "updated": {"by": "johannhof@chromium.org", "when": "2026-08-21 18:42:00.866000"}, "accurate_as_of": "2026-07-27 20:58:04.372269", "standards": {"spec": "https://wicg.github.io/first-party-sets", "maturity": {"text": null, "short_text": "Unknown status", "val": 0}}, "browsers": {"chrome": {"bug": null, "blink_components": ["Privacy"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["johannhof@chromium.org", "kaustubhag@google.com"], "origintrial": false, "prefixed": null, "flag": false, "status": {"text": "Proposed", "val": 2}, "announced": false}, "ff": {"view": {"url": null, "notes": null, "text": "No signal", "val": 5}}, "safari": {"view": {"url": null, "notes": null, "text": "No signal", "val": 5}}, "webdev": {"view": {"text": "No signals", "val": 4, "url": null, "notes": null}}, "other": {"view": {"notes": null}}}, "is_released": false, "milestone": null}, {"id": 5162221567082496, "name": "Deprecate and Remove: document.requestStorageAccessFor", "summary": "The requestStorageAccessFor (rSAFor) API is an extension to the Storage Access API that allows a top-level site to request access to unpartitioned (\"first-party\") cookies on behalf of embedded sites. Browsers will have discretion to grant or deny access, with mechanisms like Related Website Sets (RWS) membership as a potential signal. This allows for use of the Storage Access API by top-level sites. Following Chrome's announcement that the current approach to third-party cookies will be maintained, we are now planning to deprecate and remove rSAFor, as it is only usable in Chrome to request storage access between RWS sites. Related Website Sets will also be deprecated via a separate intent.  \n", "feature_type_int": 3, "unlisted": false, "enterprise_impact": 1, "enterprise_product_category": 0, "breaking_change": false, "confidential": false, "first_enterprise_notification_milestone": null, "blink_components": ["Blink>StorageAccessAPI"], "resources": {"samples": [], "docs": []}, "creator": "johannhof@chromium.org", "editors": [], "owners": ["johannhof@chromium.org", "kaustubhag@google.com"], "created": {"by": "johannhof@chromium.org", "when": "2025-11-07 20:20:50.457660"}, "updated": {"by": "johannhof@chromium.org", "when": "2026-08-21 18:41:01.416608"}, "accurate_as_of": "2026-07-27 20:57:41.438755", "standards": {"spec": "https://privacycg.github.io/requestStorageAccessFor", "maturity": {"text": null, "short_text": "Unknown status", "val": 0}}, "browsers": {"chrome": {"bug": null, "blink_components": ["Blink>StorageAccessAPI"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["johannhof@chromium.org", "kaustubhag@google.com"], "origintrial": false, "prefixed": null, "flag": false, "status": {"text": "Proposed", "val": 2}, "announced": false}, "ff": {"view": {"url": null, "notes": null, "text": "No signal", "val": 5}}, "safari": {"view": {"url": null, "notes": null, "text": "No signal", "val": 5}}, "webdev": {"view": {"text": "No signals", "val": 4, "url": null, "notes": null}}, "other": {"view": {"notes": null}}}, "is_released": false, "milestone": null}], "Origin trial": [{"id": 5201297767792640, "name": "JS Self-Profiling Markers", "summary": "The JavaScript Self-Profiling API lets a web application sample its own call stacks to measure performance on real user devices. This feature adds an optional marker field to each captured sample that identifies the type of browser activity running when the sample was taken: script, gc, style, layout, paint, or other. A trace normally shows gaps between stacks that cannot be interpreted, markers let developers attribute that time to browser work happening outside their JavaScript, for example distinguishing script execution from style recalculation, layout, or a garbage collection pause, making slow traces easier to analyze and optimize.", "feature_type_int": 0, "unlisted": false, "enterprise_impact": 1, "enterprise_product_category": 0, "breaking_change": false, "confidential": false, "first_enterprise_notification_milestone": null, "blink_components": ["Blink>PerformanceAPIs"], "resources": {"samples": ["https://github.com/victorhuangwq/js-profiler-markers-demo"], "docs": ["https://github.com/WICG/js-self-profiling/blob/main/markers.md", "https://github.com/WICG/js-self-profiling/pull/89"]}, "creator": "monicach@microsoft.com", "editors": ["monicach@microsoft.com", "victorhuang@microsoft.com"], "owners": ["monicach@microsoft.com", "victorhuang@microsoft.com"], "created": {"by": "monicach@microsoft.com", "when": "2026-07-22 21:02:30.667206"}, "updated": {"by": "monicach@microsoft.com", "when": "2026-11-04 09:05:05.257777"}, "accurate_as_of": "2026-07-22 21:02:30.667101", "standards": {"spec": "https://github.com/WICG/js-self-profiling/pull/89", "maturity": {"text": "Specification being incubated in a Community Group", "short_text": "Incubation", "val": 3}}, "browsers": {"chrome": {"bug": "https://issues.chromium.org/issues/40800459", "blink_components": ["Blink>PerformanceAPIs"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["monicach@microsoft.com", "victorhuang@microsoft.com"], "origintrial": false, "prefixed": false, "flag": false, "status": {"text": "Proposed", "val": 2}, "announced": false}, "ff": {"view": {"url": null, "notes": null, "text": "No signal", "val": 5}}, "safari": {"view": {"url": null, "notes": null, "text": "No signal", "val": 5}}, "webdev": {"view": {"text": "No signals", "val": 4, "url": null, "notes": null}}, "other": {"view": {"notes": null}}}, "is_released": false, "milestone": null, "roadmap_stage_ids": [5385642394648576], "origin_trial_id": "2442639847895072769", "finch_urls": []}], "In developer trial (Behind a flag)": [{"id": 5811907077472256, "name": "SpeechRecognitionResult Timestamps (WebSpeech API)", "summary": "The Web Speech API currently does not expose the acoustic timing bounds of recognized speech segments, making it difficult to associate transcribed text with media timelines or generate synchronized subtitle cues. We propose adding speechStartTime and speechEndTime (double, in seconds relative to stream start) attributes on the SpeechRecognitionResult interface.", "feature_type_int": 0, "unlisted": false, "enterprise_impact": 1, "enterprise_product_category": 0, "breaking_change": false, "confidential": false, "first_enterprise_notification_milestone": null, "blink_components": ["Blink>Speech"], "resources": {"samples": ["https://alan33d.github.io/web-speech-demos/live_meeting_recording_demo.html", "https://alan33d.github.io/web-speech-demos/webrtc_caption_sync_test.html"], "docs": []}, "creator": "alanding@chromium.org", "editors": ["evliu@chromium.org"], "owners": ["alanding@chromium.org"], "created": {"by": "alanding@chromium.org", "when": "2026-07-13 22:38:10.359785"}, "updated": {"by": "alanding@chromium.org", "when": "2026-11-07 07:39:13.908411"}, "accurate_as_of": "2026-07-13 22:38:10.359647", "standards": {"spec": "https://github.com/WebAudio/web-speech-api/pull/192", "maturity": {"text": "Specification currently under development in a Working Group", "short_text": "Working draft", "val": 4}}, "browsers": {"chrome": {"bug": "https://crbug.com/528037568", "blink_components": ["Blink>Speech"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["alanding@chromium.org"], "origintrial": false, "prefixed": null, "flag": false, "status": {"text": "Proposed", "val": 2}, "announced": false}, "ff": {"view": {"url": "https://github.com/WebAudio/web-speech-api/pull/192", "notes": "Unofficial approval from @padenot (Mozilla) on spec update.", "text": "No signal", "val": 5}}, "safari": {"view": {"url": null, "notes": "", "text": "No signal", "val": 5}}, "webdev": {"view": {"text": "Positive", "val": 2, "url": "https://github.com/WebAudio/web-speech-api/issues/191", "notes": "Requested by internal and external web developers building real-time captioning, media recording alignment, and latency-sensitive conferencing applications (including Google Meet). For example, speechStartTime and speechEndTime are used to generate synchronized VTTCue captions and interactive click-to-seek transcripts and developer specifically needed this feature to properly map results to the timeline to know when the speech that generated the text in the result started and ended for applications such as Subtitling & Closed Captions, Meeting Transcripts, Live WebRTC Video Sync (see crbug.com/551992211#comment3)."}}, "other": {"view": {"notes": null}}}, "is_released": false, "milestone": null, "roadmap_stage_ids": [4974370402467840], "finch_urls": []}, {"id": 6185007701557248, "name": "Spell check custom dictionary API", "summary": "Adds document.spellCheckCustomDictionary, which lets a page add words to and remove words from a per-document dictionary that the browser's spell checker consults alongside its built-in dictionaries. Matching words are no longer flagged as misspelled in that document, so sites with domain-specific vocabulary, such as product names, technical terms or proper nouns, can suppress false positives without asking users to edit their browser dictionary. The words last only for the document's lifetime and cannot be read back.", "feature_type_int": 0, "unlisted": false, "enterprise_impact": 1, "enterprise_product_category": 0, "breaking_change": false, "confidential": false, "first_enterprise_notification_milestone": null, "blink_components": ["Blink>Editing>Spellcheck"], "resources": {"samples": ["https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/web_tests/wpt_internal/spell-check-custom-dictionary/add-remove-words-manual.html"], "docs": ["https://github.com/Igalia/explainers/tree/main/spell-check-dictionary", "https://docs.google.com/document/d/1ND1a1Z4i6kXMHqMwEyRkHSj5VVTWgX5Ya0aNLgVQYGw/edit?tab=t.0#heading=h.kmfizh6cwyy4"]}, "creator": "jihye@igalia.com", "editors": ["zsun@igalia.com", "schenney@chromium.org"], "owners": ["zsun@igalia.com", "schenney@chromium.org"], "created": {"by": "jihye@igalia.com", "when": "2025-07-18 09:47:17.249360"}, "updated": {"by": "zsun@igalia.com", "when": "2026-10-26 12:47:35.653110"}, "accurate_as_of": "2026-10-26 12:47:35.653110", "standards": {"spec": "https://github.com/whatwg/html/pull/12590", "maturity": {"text": "Specification currently under development in a Working Group", "short_text": "Working draft", "val": 4}}, "browsers": {"chrome": {"bug": "https://issues.chromium.org/issues/428005649", "blink_components": ["Blink>Editing>Spellcheck"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["zsun@igalia.com", "schenney@chromium.org"], "origintrial": false, "prefixed": null, "flag": false, "status": {"text": "Proposed", "val": 2}, "announced": false}, "ff": {"view": {"url": "https://github.com/mozilla/standards-positions/issues/1384", "notes": "https://github.com/mozilla/standards-positions/issues/1384#issuecomment-5997330337", "text": "Neutral", "val": 8}}, "safari": {"view": {"url": "https://github.com/WebKit/standards-positions/issues/646", "notes": "https://github.com/WebKit/standards-positions/issues/646#issuecomment-6054915329", "text": "Support", "val": 3}}, "webdev": {"view": {"text": "Positive", "val": 2, "url": null, "notes": "- Bloomberg requested this feature and sponsors Igalia's work on it.\n- Related demand elsewhere:\n    * whatwg/dom#547: a developer with a canvas-based editor asks to add page-specific words to the browser spellchecker: \nhttps://github.com/whatwg/dom/issues/547#issuecomment-3969379684\n    * Electron added session.addWordToSpellCheckerDictionary() so apps can add custom words:   https://www.electronjs.org/docs/latest/api/session#sesaddwordtospellcheckerdictionaryword\n"}}, "other": {"view": {"notes": null}}}, "is_released": false, "milestone": null, "roadmap_stage_ids": [5247813474320384], "finch_urls": []}, {"id": 5387465121726464, "name": "Support Long Animation Frames API in Web Workers", "summary": "This feature extends the existing Long Animation Frames (LoAF) API to Web Workers. Today LoAF reports only on the main thread and is anchored to rendering frames, so it cannot observe work that blocks a worker's event loop. With this change, a long task that blocks a worker's event loop is reported as a long-animation-frame entry that is observable from inside the worker via PerformanceObserver, with the usual per-script attribution.\n\nThe prototype starts with dedicated workers, reporting a single long task that blocks the worker's event loop. The broader goal is to surface congested moments, intervals where an event loop remains busy and runnable work is delayed. This includes detecting a flood of many small tasks that keeps the event loop busy and reporting it as a long-animation-frame entry, as well as supporting the main thread. This is planned as follow-up work.", "feature_type_int": 0, "unlisted": false, "enterprise_impact": 1, "enterprise_product_category": 0, "breaking_change": false, "confidential": false, "first_enterprise_notification_milestone": null, "blink_components": ["Blink>PerformanceAPIs"], "resources": {"samples": [], "docs": ["https://docs.google.com/document/d/13tERlM0Cd8gKUDC01-lQeW4oNllKs4AKdEGw41bnH4k/edit?usp=sharing"]}, "creator": "joone@chromium.org", "editors": [], "owners": ["joone@chromium.org", "joonehur@microsoft.com"], "created": {"by": "joone@chromium.org", "when": "2026-07-16 00:53:29.523936"}, "updated": {"by": "joone@chromium.org", "when": "2026-08-04 20:25:41.149059"}, "accurate_as_of": "2026-07-16 00:53:29.523843", "standards": {"spec": null, "maturity": {"text": null, "short_text": "Unknown status", "val": 0}}, "browsers": {"chrome": {"bug": "https://issues.chromium.org/issues/534893134", "blink_components": ["Blink>PerformanceAPIs"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["joone@chromium.org", "joonehur@microsoft.com"], "origintrial": false, "prefixed": null, "flag": false, "status": {"text": "Proposed", "val": 2}, "announced": false}, "ff": {"view": {"url": null, "notes": null, "text": "No signal", "val": 5}}, "safari": {"view": {"url": null, "notes": null, "text": "No signal", "val": 5}}, "webdev": {"view": {"text": "No signals", "val": 4, "url": null, "notes": null}}, "other": {"view": {"notes": null}}}, "is_released": false, "milestone": null, "roadmap_stage_ids": [6388931739385856], "finch_urls": []}, {"id": 6427766428925952, "name": "WebTransport draining", "summary": "WebTransport.draining is a promise that resolves when the server indicates that the WebTransport session will be gracefully retired. Applications can use this signal to establish a replacement session while existing streams and the current session remain usable.", "feature_type_int": 1, "unlisted": false, "enterprise_impact": 1, "enterprise_product_category": 0, "breaking_change": false, "confidential": false, "first_enterprise_notification_milestone": null, "blink_components": ["Blink>Network>WebTransport"], "resources": {"samples": [], "docs": ["https://github.com/w3c/webtransport/blob/main/explainer.md#11-handling-session-draining"]}, "creator": "vbryhider@microsoft.com", "editors": [], "owners": ["vbryhider@microsoft.com"], "created": {"by": "vbryhider@microsoft.com", "when": "2026-09-22 18:38:37.344386"}, "updated": {"by": "vbryhider@microsoft.com", "when": "2026-10-19 23:36:39.934794"}, "accurate_as_of": "2026-09-22 18:38:37.344220", "standards": {"spec": "https://w3c.github.io/webtransport/#dom-webtransport-draining", "maturity": {"text": "Final published standard: Recommendation, Living Standard, Candidate Recommendation, or similar final form", "short_text": "Published standard", "val": 5}}, "browsers": {"chrome": {"bug": "https://issues.chromium.org/issues/564353368", "blink_components": ["Blink>Network>WebTransport"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["vbryhider@microsoft.com"], "origintrial": false, "prefixed": null, "flag": false, "status": {"text": "Proposed", "val": 2}, "announced": false}, "ff": {"view": {"url": "https://bugzilla.mozilla.org/show_bug.cgi?id=2007160", "notes": "WebTransport.draining\u00a0shipped in Firefox 155 - https://chromium.googlesource.com/external/github.com/mdn/browser-compat-data/%2B/HEAD/api/WebTransport.json#804", "text": "Shipped/Shipping", "val": 1}}, "safari": {"view": {"url": "https://bugs.webkit.org/show_bug.cgi?id=302762", "notes": "WebTransport.draining\u00a0 is available in Safari 26.4 - https://chromium.googlesource.com/external/github.com/mdn/browser-compat-data/%2B/HEAD/api/WebTransport.json#811", "text": "Shipped/Shipping", "val": 1}}, "webdev": {"view": {"text": "Positive", "val": 2, "url": "https://github.com/web-platform-tests/interop/issues/1121", "notes": "The Interop 2026 WebTransport proposal received 28 positive reactions. Developers also reported active WebTransport use and significant cross-engine differences."}}, "other": {"view": {"notes": null}}}, "is_released": false, "milestone": null, "roadmap_stage_ids": [5363286634790912], "finch_urls": []}, {"id": 5194104408506368, "name": "WebTransport headers and responseHeaders", "summary": "Adds support for passing custom HTTP request headers via WebTransportOptions and inspecting server response headers through the WebTransport instance. This allows web applications to supply metadata, authentication tokens, and custom parameters during the initial CONNECT handshake and access server-provided headers once the connection is established.", "feature_type_int": 1, "unlisted": false, "enterprise_impact": 1, "enterprise_product_category": 0, "breaking_change": false, "confidential": false, "first_enterprise_notification_milestone": null, "blink_components": ["Blink>Network>WebTransport"], "resources": {"samples": [], "docs": []}, "creator": "ricea@google.com", "editors": ["nidhijaju@google.com", "ricea@chromium.org", "nidhijaju@chromium.org"], "owners": ["ricea@google.com"], "created": {"by": "ricea@google.com", "when": "2026-08-17 19:47:04.693625"}, "updated": {"by": "ricea@google.com", "when": "2026-09-23 02:02:01.664339"}, "accurate_as_of": "2026-09-23 02:02:01.664339", "standards": {"spec": "https://www.w3.org/TR/webtransport/#dom-webtransportoptions-headers", "maturity": {"text": "Final published standard: Recommendation, Living Standard, Candidate Recommendation, or similar final form", "short_text": "Published standard", "val": 5}}, "browsers": {"chrome": {"bug": "https://issues.chromium.org/issues/551850821", "blink_components": ["Blink>Network>WebTransport"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["ricea@google.com"], "origintrial": false, "prefixed": null, "flag": false, "status": {"text": "Proposed", "val": 2}, "announced": false}, "ff": {"view": {"url": null, "notes": "No official position, but Firefox developers were involved in standardisation of the feature.", "text": "No signal", "val": 5}}, "safari": {"view": {"url": "https://github.com/WebKit/WebKit/pull/61874", "notes": "Not an official position, but WebKit has landed a change implementing the feature without flag guarding.", "text": "In development", "val": 2}}, "webdev": {"view": {"text": "Positive", "val": 2, "url": "https://github.com/w3c/webtransport/issues/263", "notes": "There was a lot of interest from developers on the original issue. There are no known negative opinions from developers."}}, "other": {"view": {"notes": "Consensus to add this feature was achieved at the W3C TPAC conference in November 2025: https://www.w3.org/wiki/WebTransport/Meetings2023#2025_W3C_TPAC_Meeting_-_Kobe,_Japan"}}}, "is_released": false, "milestone": null, "roadmap_stage_ids": [5066290845843456], "finch_urls": []}, {"id": 5235261159112704, "name": "WebTransport send groups and send-stream prioritization", "summary": "WebTransport already lets sites send data through WritableStreams. This feature lets applications assign outgoing streams to send groups and use sendOrder\u00a0to prioritize streams within each group. It also provides sending statistics for streams and groups while preserving WritableStream transfer behavior.", "feature_type_int": 1, "unlisted": false, "enterprise_impact": 1, "enterprise_product_category": 0, "breaking_change": false, "confidential": false, "first_enterprise_notification_milestone": null, "blink_components": ["Blink>Network>WebTransport"], "resources": {"samples": [], "docs": []}, "creator": "vbryhider@microsoft.com", "editors": [], "owners": ["vbryhider@microsoft.com"], "created": {"by": "vbryhider@microsoft.com", "when": "2026-10-02 22:26:52.187117"}, "updated": {"by": "vbryhider@microsoft.com", "when": "2026-11-04 16:29:42.974328"}, "accurate_as_of": "2026-10-02 22:26:52.186999", "standards": {"spec": "https://www.w3.org/TR/webtransport/#webtransportsendstream", "maturity": {"text": "Final published standard: Recommendation, Living Standard, Candidate Recommendation, or similar final form", "short_text": "Published standard", "val": 5}}, "browsers": {"chrome": {"bug": "https://crbug.com/568825278", "blink_components": ["Blink>Network>WebTransport"], "devrel": ["devrel-chromestatus-all@google.com"], "owners": ["vbryhider@microsoft.com"], "origintrial": false, "prefixed": null, "flag": false, "status": {"text": "Proposed", "val": 2}, "announced": false}, "ff": {"view": {"url": "https://bugzilla.mozilla.org/show_bug.cgi?id=2007165", "notes": "Firefox exposes \u00a0WebTransportSendStream\u00a0as a \u00a0WritableStream\u00a0 subclass for outgoing WebTransport streams, including streams created by createUnidirectionalStream(). It added WebTransportSendGroup\u00a0and createSendGroup()\u00a0in Firefox 155, released September 1, 2026; group assignments are passed to its network implementation - https://www.firefox.com/en-US/firefox/155.0/releasenotes/\n\nFirefox does not yet provide equivalent statistics behavior. In its current source, WebTransportSendStream.getStats()\u00a0rejects with NotSupportedError.", "text": "Shipped/Shipping", "val": 1}}, "safari": {"view": {"url": "https://github.com/mdn/browser-compat-data/blob/main/api/WebTransportSendGroup.json#L52", "notes": "WebKit implements WebTransportSendGroup, WebTransportSendStream, sendGroup/sendOrder, both statistics methods, transferability, and the specialized writer. Safari 26.4 includes these WebTransport additions.", "text": "Shipped/Shipping", "val": 1}}, "webdev": {"view": {"text": "Positive", "val": 2, "url": "https://github.com/web-platform-tests/interop/issues/1121", "notes": "The Interop 2026 WebTransport proposal received 28 positive reactions. Developers also reported active WebTransport use and significant cross-engine differences."}}, "other": {"view": {"notes": null}}}, "is_released": false, "milestone": null, "roadmap_stage_ids": [6242425520652288], "finch_urls": []}]}, "total_count": 24}