Platform/Roadmap2026: Difference between revisions
< Platform
Jump to navigation
Jump to search
(status, update release calendar link) |
(far more than a stub now) |
||
| (18 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
<span style="float:right">__TOC__</span> | <span style="float:right">__TOC__</span> | ||
= | =Platform 2026 Roadmap= | ||
{{warning|This is page is actively in-progress and is incomplete.}} | {{warning|This is page is actively in-progress and is incomplete.}} | ||
| Line 7: | Line 6: | ||
Related Links: | Related Links: | ||
* [https://whattrainisitnow.com/calendar/ Firefox Release Calendar] (future) | * [https://whattrainisitnow.com/calendar/ Firefox Release Calendar] (future) | ||
* [https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases Firefox release notes for developers] (past)<!-- Fx147-... --> | * [https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases Firefox release notes for developers] (past)<!-- Fx147-149, 150wd-, 151api-... --> | ||
* [https://firefox-source-docs.mozilla.org/contributing/pocket-guide-shipping-firefox.html Pocket Guide: Shipping Firefox] | * [https://firefox-source-docs.mozilla.org/contributing/pocket-guide-shipping-firefox.html Pocket Guide: Shipping Firefox] | ||
| Line 16: | Line 15: | ||
== HTML == | == HTML == | ||
* <code>popover=hint</code> ([https://bugzil.la/1867743 1867743]) | |||
* <code>alpha</code> & <code>colorspace</code> attributes in <code><input type=color></code>; elements ([https://bugzil.la/1919718 1919718]) | |||
* <code>shadowrootslotassignment</code> attribute on <code><template></code> ([https://bugzil.la/2031295 2031295], [https://bugzil.la/2023824 2023824]) | |||
* <code><img sizes=auto></code> ([https://bugzil.la/1819581 1819581]) | |||
* ... | * ... | ||
== CSS == | == CSS == | ||
* units: <code>rcap</code>, <code>rch</code>, <code>rex</code>, <code>ric</code> ([https://bugzil.la/1740584 1740584]) | |||
* <code><attr-type></code> values in <code>attr()</code> function ([https://bugzil.la/1986631 1986631], [https://bugzil.la/1998245 1998245]) | |||
* <code>color-mix()</code> function multiple (2+) color arguments ([https://bugzil.la/2007772 2007772], [https://bugzil.la/2024171 2024171]) | |||
* <code>light-dark()</code> function <code><image></code> type for images, gradients ([https://bugzil.la/2023569 2023569]) | |||
* <code>shape()</code> function on by default ([https://bugzil.la/1982941 1982941]) | |||
* <code>:buffering</code>, <code>:muted</code>, <code>:paused</code>, <code>:playing</code>, <code>:seeking</code>, <code>:stalled</code>, <code>:volume-locked</code> allow you to style <code><audio></code> <code><video></code> elements ([https://bugzil.la/1707584 1707584], [https://bugzil.la/2014512 2014512], [https://bugzil.la/2020775 2020775]) | |||
* <code>::before</code> and <code>::after</code> on replaced elements ([https://bugzil.la/1931309 1931309]) | |||
* <code>::marker</code> pseudo-element support <code>counter-increment</code>, <code>counter-reset</code>, <code>counter-set</code>, <code>quotes</code> properties ([https://bugzil.la/2000404 2000404]) | |||
* <code>revert-rule</code> keyword ([https://bugzil.la/2017307 2017307]) | |||
* <code>@container</code> <code>style()</code> queries ([https://bugzil.la/2014404 2014404], [https://bugzil.la/2016929 2016929], [https://bugzil.la/2019254 2019254], [https://bugzil.la/2024601 2024601], [https://bugzil.la/2030645 2030645]) | |||
* CSS Anchor Positioning ([https://bugzil.la/1988225 1988225]) | |||
** <code>align-items</code>, <code>align-self</code>, <code>justify-items</code>, <code>justify-self</code>, <code>place-items</code>, and <code>place-self</code> properties support <code>anchor-center</code> value ([https://bugzil.la/1909339 1909339]) | |||
** <code>position-anchor: none</code> ([https://bugzil.la/1999972 1999972]) | |||
** <code>position-anchor: normal</code> ([https://bugzil.la/2030351 2030351]) | |||
* <code>overflow</code>, <code>overflow-x</code>, <code>overflow-y</code> properties supported on replaced elements ([https://bugzil.la/1999100 1999100]) | |||
* <code>overscroll-behavior</code>, <code>overscroll-behavior-x</code>, <code> overscroll-behavior-y</code>, <code> overscroll-behavior-block</code>, <code> and overscroll-behavior-inline</code> apply to scroll containers that have no scrollable overflow ([https://bugzil.la/1837436 1837436]) | |||
* <code>position-try-order</code> ([https://bugzil.la/2008537 2008537]) | |||
* <code>shape-outside</code> property support <code>xywh()</code> and <code>rect()</code> functions ([https://bugzil.la/1983187 1983187]) | |||
* <code>vertical-align</code> as shorthand property for <code>alignment-baseline</code>, <code>baseline-shift</code>, and <code>baseline-source</code> properties ([https://bugzil.la/1830771 1830771]) | |||
* CSS properties and rendering of <code><nowiki><fieldset></nowiki></code> and <code><nowiki><legend></nowiki></code> ([https://bugzil.la/1935129 1935129]) | |||
** margins, generated content, custom <code>display</code> values | |||
* View transition types ([https://bugzil.la/2001878 2001878]) | |||
* ... | |||
WebCompat: | |||
* <code>-webkit-perspective</code> property ([https://bugzil.la/1362499 1362499]) | |||
* ... | |||
=== CSSOM === | |||
* CSS Typed Object Model Level 1 ([https://bugzil.la/1278697 1278697]) | |||
* ... | * ... | ||
== SVG == | == SVG == | ||
* SVG URL media fragments ([https://bugzil.la/1999989 1999989]) | |||
* ... | * ... | ||
== Rendering == | |||
WebGPU: | |||
* ... | |||
== Media == | |||
* JPEG XL Rust decoder prototype ([https://bugzil.la/1986393 1986393]) | |||
Media-related APIs like WebRTC | |||
* <code>HTMLMediaElement.captureStream()</code> ([https://bugzil.la/2017708 2017708]) | |||
* <code>RTCError</code> and <code>RTCErrorEvent</code> ([https://bugzil.la/1814459 1814459]) | |||
* <code>RTCIceTransport.role</code> ([https://bugzil.la/2018843 2018843]) | |||
* <code>RTCPeerConnectionIceErrorEvent</code> and <code>RTCPeerConnection.icecandidateerror</code> event ([https://bugzil.la/1561441 1561441]) | |||
* WebRTC MediaStreamTrackProcessor ([https://bugzil.la/1749532 1749532]) | |||
* WebRTC VideoTrackGenerator ([https://bugzil.la/1749533 1749533]) | |||
== DOM == | == DOM == | ||
* more characters for element and attribute names in methods ([https://bugzil.la/1773312 1773312]) | |||
** Document.createAttribute(), Document.createAttributeNS(), Document.createElement(), Document.createElementNS() | |||
** Element.toggleAttribute(), Element.setAttribute(), Element.setAttributeNS() | |||
** DOMImplementation.createDocument() | |||
** customElements.define(), customElements.whenDefined() | |||
* <code>ariaNotify()</code> method on <code>Document</code> and <code>Element</code> ([https://bugzil.la/2018095 2018095]) | |||
* <code>CloseWatcher</code> interface ([https://bugzil.la/1966073 1966073]) | |||
* <code>CSSFontFaceDescriptors</code> interface ([https://bugzil.la/2019904 2019904]) | |||
* <code>Document.caretPositionFromPoint()</code> including argument <code>options.shadowRoots</code> ([https://bugzil.la/1550635 1550635], [https://bugzil.la/1914596 1914596]) | |||
* <code>Document.execCommand()</code> "<code>paste</code>" command in web content ([https://bugzil.la/1998195 1998195]) | |||
* <code>HTMLSelectElement.showPicker()</code> support list of options in <code><datalist></code> ([https://bugzil.la/1998668 1998668]) | |||
* ... | * ... | ||
== JS == | == JS == | ||
* CSS module scripts ([https://bugzil.la/1986681 1986681]) | |||
* <code>islamic-umalqura</code> calendar support in <code>Intl</code> ([https://bugzil.la/2011505 2011505]) | |||
* <code>Iterator.concat()</code> method ([https://bugzil.la/1986672 1986672]) | |||
* <code>Iterator.zip()</code> and <code>Iterator.zipKeyed()</code> static methods ([https://bugzil.la/2003333 2003333]) | |||
* ... | * ... | ||
== APIs == | == APIs == | ||
* <code>CompressionStream</code> and <code>DecompressionStream</code> support Brotli compression ([https://bugzil.la/1921583 1921583]) | |||
* <code>Document.activeViewTransition</code> property ([https://bugzil.la/2001836 2001836]) | |||
* Document Picture-in-Picture API ([https://bugzil.la/1858562 1858562]) | |||
* HTML Sanitizer API ([https://bugzil.la/1650370 1650370]) | |||
** <code>setHTML()</code> | |||
* <code>Location.ancestorOrigins</code> property ([https://bugzil.la/1085214 1085214]) | |||
* Navigation API ([https://bugzil.la/1997962 1997962]) | |||
** <code>NavigationPrecommitController.addHandler()</code> ([https://bugzil.la/2009004 2009004]) | |||
* <code>options.resizeQuality</code> parameter support in <code>Window.createImageBitmap()</code> and <code>WorkerGlobalScope.createImageBitmap()</code> ([https://bugzil.la/2010125 2010125]) | |||
* <code>pointerrawupdate</code> event <code>movementX</code> and <code>movementY</code> properties ([https://bugzil.la/1987671 1987671]) | |||
* Reporting API ([https://bugzil.la/1976074 1976074], [https://bugzil.la/2008916 2008916]) | |||
** <code>CSPViolationReport</code> and <code>IntegrityViolationReport</code> objects using a <code>ReportingObserver</code>, can be filtered on type <code>"csp-violation"</code> or <code>"integrity-violation"</code> | |||
* Trusted Types API ([https://bugzil.la/1994690 1994690]) | |||
* ... | |||
Add-on gated: | |||
* WebSerial API ([https://bugzil.la/926940 926940]) | |||
* ... | |||
=== Add-ons === | |||
* split view support ([https://bugzil.la/1993037 1993037]) | |||
* <code>tabId</code> parameter support in <code>action.isEnabled</code> and <code>browserAction.isEnabled</code> ([https://bugzil.la/2013477 2013477]) | |||
* ... | |||
=== WebDriver === | |||
* <code>browser.setDownloadBehavior</code> command ([https://bugzil.la/1989022 1989022]) | |||
* <code>browsingContext.getTree</code> command now accepts the vendor specific <code>moz:scope</code> ([https://bugzil.la/1944568 1944568], [https://bugzil.la/1944570 1944570]) | |||
* <code>input.fileDialogOpened</code> event ([https://bugzil.la/1855045 1855045]) | |||
* <code>emulation.setScreenSettingsOverride</code> command ([https://bugzil.la/2000651 2000651]) | |||
* <code>script.realmCreated</code> and <code>script.realmDestroyed</code> events ([https://bugzil.la/1936770 1936770]) | |||
* ... | |||
Marionette: | |||
* <code>Reporting:GenerateTestReport</code> command ([https://bugzil.la/1909662 1909662]) | |||
* <code>implicit</code> and <code>pageLoad</code> timeouts supported in line with script timeout; <code>null</code> values to disable the timeouts ([https://bugzil.la/2008345 2008345]) | |||
* ... | * ... | ||
== Protocols == | == Protocols == | ||
=== HTTP === | |||
* ... | * ... | ||
== | == Security == | ||
* ... | * ... | ||
== | == Interop == | ||
[https://wpt.fyi/interop-2026 Interop 2026] ([https://bugzil.la/2018559 2018559]) | |||
* Our announcement blog post: https://hacks.mozilla.org/2026/02/launching-interop-2026/ | |||
Interop Focus Areas for implementation: | |||
* [https://bugzil.la/2017321 2017321]: CSS Anchor Positioning | |||
* [https://bugzil.la/2017328 2017328]: CSS attr() | |||
* [https://bugzil.la/2017330 2017330]: CSS contrast-color | |||
* [https://bugzil.la/2017331 2017331]: Container style queries | |||
* [https://bugzil.la/2017332 2017332]: Custom highlights | |||
* [https://bugzil.la/2017335 2017335]: Dialogs and Popovers | |||
* [https://bugzil.la/2017337 2017337]: Fetch | |||
* [https://bugzil.la/2017340 2017340]: IndexedDB | |||
* [https://bugzil.la/2017341 2017341]: JSPI for WASM | |||
* [https://bugzil.la/2017344 2017344]: Navigation | |||
* [https://bugzil.la/2017353 2017353]: Scoped custom element registries | |||
* [https://bugzil.la/2017354 2017354]: Scroll-driven animations | |||
* [https://bugzil.la/2017355 2017355]: scroll-snap | |||
* [https://bugzil.la/2017356 2017356]: CSS shape | |||
* [https://bugzil.la/2017359 2017359]: View transitions | |||
* [https://bugzil.la/2017360 2017360]: zoom | |||
* [https://bugzil.la/2017361 2017361]: Web compat | |||
* [https://bugzil.la/2017363 2017363]: WebRTC | |||
* [https://bugzil.la/2017364 2017364]: WebTransport | |||
== Prototyping == | |||
We have plans to prototype the following but no commitment (nor official "intent") to ship yet. Alphabetical, no indication of ordering of implementation or consideration for shipping. | |||
* Fullscreen Keyboard Lock ([https://bugzil.la/700123 700123]) | |||
* ... | * ... | ||
Add-on gated: | |||
* | * Web Bluetooth API ([https://bugzil.la/2022433 2022433]) | ||
* | * WebUSB API ([https://bugzil.la/2022432 2022432]) | ||
* ... | * ... | ||
| Line 50: | Line 176: | ||
Edit and publish new and updated specifications and notes. See [[Standards]] for our ongoing work in this area. | Edit and publish new and updated specifications and notes. See [[Standards]] for our ongoing work in this area. | ||
* ... | * ... | ||
== See Also == | == See Also == | ||
* [[Platform]] | * [[Platform]] | ||
* [[Platform/ | * Previously: [[Platform/Roadmap2025]] | ||
* Next: [[Platform/Roadmap2027]] | |||
Latest revision as of 19:07, 2 June 2026
Platform 2026 Roadmap
Related Links:
- Firefox Release Calendar (future)
- Firefox release notes for developers (past)
- Pocket Guide: Shipping Firefox
These are areas of work planned for Gecko in 2026 for the Web Platform.
For current web platform documentation of these areas, see the subsections at:
HTML
popover=hint(1867743)alpha&colorspaceattributes in<input type=color>; elements (1919718)shadowrootslotassignmentattribute on<template>(2031295, 2023824)<img sizes=auto>(1819581)- ...
CSS
- units:
rcap,rch,rex,ric(1740584) <attr-type>values inattr()function (1986631, 1998245)color-mix()function multiple (2+) color arguments (2007772, 2024171)light-dark()function<image>type for images, gradients (2023569)shape()function on by default (1982941):buffering,:muted,:paused,:playing,:seeking,:stalled,:volume-lockedallow you to style<audio><video>elements (1707584, 2014512, 2020775)::beforeand::afteron replaced elements (1931309)::markerpseudo-element supportcounter-increment,counter-reset,counter-set,quotesproperties (2000404)revert-rulekeyword (2017307)@containerstyle()queries (2014404, 2016929, 2019254, 2024601, 2030645)- CSS Anchor Positioning (1988225)
overflow,overflow-x,overflow-yproperties supported on replaced elements (1999100)overscroll-behavior,overscroll-behavior-x,overscroll-behavior-y,overscroll-behavior-block,and overscroll-behavior-inlineapply to scroll containers that have no scrollable overflow (1837436)position-try-order(2008537)shape-outsideproperty supportxywh()andrect()functions (1983187)vertical-alignas shorthand property foralignment-baseline,baseline-shift, andbaseline-sourceproperties (1830771)- CSS properties and rendering of
<fieldset>and<legend>(1935129)- margins, generated content, custom
displayvalues
- margins, generated content, custom
- View transition types (2001878)
- ...
WebCompat:
-webkit-perspectiveproperty (1362499)- ...
CSSOM
- CSS Typed Object Model Level 1 (1278697)
- ...
SVG
- SVG URL media fragments (1999989)
- ...
Rendering
WebGPU:
- ...
Media
- JPEG XL Rust decoder prototype (1986393)
Media-related APIs like WebRTC
HTMLMediaElement.captureStream()(2017708)RTCErrorandRTCErrorEvent(1814459)RTCIceTransport.role(2018843)RTCPeerConnectionIceErrorEventandRTCPeerConnection.icecandidateerrorevent (1561441)- WebRTC MediaStreamTrackProcessor (1749532)
- WebRTC VideoTrackGenerator (1749533)
DOM
- more characters for element and attribute names in methods (1773312)
- Document.createAttribute(), Document.createAttributeNS(), Document.createElement(), Document.createElementNS()
- Element.toggleAttribute(), Element.setAttribute(), Element.setAttributeNS()
- DOMImplementation.createDocument()
- customElements.define(), customElements.whenDefined()
ariaNotify()method onDocumentandElement(2018095)CloseWatcherinterface (1966073)CSSFontFaceDescriptorsinterface (2019904)Document.caretPositionFromPoint()including argumentoptions.shadowRoots(1550635, 1914596)Document.execCommand()"paste" command in web content (1998195)HTMLSelectElement.showPicker()support list of options in<datalist>(1998668)- ...
JS
- CSS module scripts (1986681)
islamic-umalquracalendar support inIntl(2011505)Iterator.concat()method (1986672)Iterator.zip()andIterator.zipKeyed()static methods (2003333)- ...
APIs
CompressionStreamandDecompressionStreamsupport Brotli compression (1921583)Document.activeViewTransitionproperty (2001836)- Document Picture-in-Picture API (1858562)
- HTML Sanitizer API (1650370)
setHTML()
Location.ancestorOriginsproperty (1085214)- Navigation API (1997962)
NavigationPrecommitController.addHandler()(2009004)
options.resizeQualityparameter support inWindow.createImageBitmap()andWorkerGlobalScope.createImageBitmap()(2010125)pointerrawupdateeventmovementXandmovementYproperties (1987671)- Reporting API (1976074, 2008916)
CSPViolationReportandIntegrityViolationReportobjects using aReportingObserver, can be filtered on type"csp-violation"or"integrity-violation"
- Trusted Types API (1994690)
- ...
Add-on gated:
- WebSerial API (926940)
- ...
Add-ons
- split view support (1993037)
tabIdparameter support inaction.isEnabledandbrowserAction.isEnabled(2013477)- ...
WebDriver
browser.setDownloadBehaviorcommand (1989022)browsingContext.getTreecommand now accepts the vendor specificmoz:scope(1944568, 1944570)input.fileDialogOpenedevent (1855045)emulation.setScreenSettingsOverridecommand (2000651)script.realmCreatedandscript.realmDestroyedevents (1936770)- ...
Marionette:
Reporting:GenerateTestReportcommand (1909662)implicitandpageLoadtimeouts supported in line with script timeout;nullvalues to disable the timeouts (2008345)- ...
Protocols
HTTP
- ...
Security
- ...
Interop
- Our announcement blog post: https://hacks.mozilla.org/2026/02/launching-interop-2026/
Interop Focus Areas for implementation:
- 2017321: CSS Anchor Positioning
- 2017328: CSS attr()
- 2017330: CSS contrast-color
- 2017331: Container style queries
- 2017332: Custom highlights
- 2017335: Dialogs and Popovers
- 2017337: Fetch
- 2017340: IndexedDB
- 2017341: JSPI for WASM
- 2017344: Navigation
- 2017353: Scoped custom element registries
- 2017354: Scroll-driven animations
- 2017355: scroll-snap
- 2017356: CSS shape
- 2017359: View transitions
- 2017360: zoom
- 2017361: Web compat
- 2017363: WebRTC
- 2017364: WebTransport
Prototyping
We have plans to prototype the following but no commitment (nor official "intent") to ship yet. Alphabetical, no indication of ordering of implementation or consideration for shipping.
- Fullscreen Keyboard Lock (700123)
- ...
Add-on gated:
Specifications and Notes
Edit and publish new and updated specifications and notes. See Standards for our ongoing work in this area.
- ...
See Also
- Platform
- Previously: Platform/Roadmap2025
- Next: Platform/Roadmap2027