Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion files/en-us/glossary/gutters/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ page-type: glossary-definition
sidebar: glossarysidebar
---

**Gutters** or _alleys_ are spacing between content {{glossary("grid_tracks", "tracks")}}. These can be created in [CSS grid layout](/en-US/docs/Web/CSS/Guides/Grid_layout) using the {{cssxref("column-gap")}}, {{cssxref("row-gap")}}, or {{cssxref("gap")}} properties.
**Gutters** or _alleys_ are spacing between content {{glossary("grid_tracks", "tracks")}}. These can be created in [CSS grid layout](/en-US/docs/Web/CSS/Guides/Grid_layout), [flex layout](/en-US/docs/Web/CSS/Guides/Flexible_box_layout), and [multi-column layout](/en-US/docs/Web/CSS/Guides/Multicol_layout) using the {{cssxref("column-gap")}}, {{cssxref("row-gap")}}, or {{cssxref("gap")}} properties.

## Example

Expand Down
6 changes: 3 additions & 3 deletions files/en-us/mozilla/firefox/releases/146/index.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
---
title: Firefox 146 release notes for developers (Stable)
short-title: Firefox 146 (Stable)
title: Firefox 146 release notes for developers
short-title: Firefox 146
slug: Mozilla/Firefox/Releases/146
page-type: firefox-release-notes-active
page-type: firefox-release-notes
sidebar: firefox
---

Expand Down
56 changes: 10 additions & 46 deletions files/en-us/mozilla/firefox/releases/147/index.md
Original file line number Diff line number Diff line change
@@ -1,44 +1,36 @@
---
title: Firefox 147 release notes for developers (Beta)
short-title: Firefox 147 (Beta)
title: Firefox 147 release notes for developers (Stable)
short-title: Firefox 147 (Stable)
slug: Mozilla/Firefox/Releases/147
page-type: firefox-release-notes-active
sidebar: firefox
---

This article provides information about the changes in Firefox 147 that affect developers.
Firefox 147 is the current [Beta version of Firefox](https://www.firefox.com/en-US/channel/desktop/#beta) and ships on [January 13, 2026](https://whattrainisitnow.com/release/?version=147).

> [!NOTE]
> The release notes for this Firefox version are still a work in progress.

<!-- Authors: Please uncomment any headings you are writing notes for -->
Firefox 147 was released on [January 13, 2026](https://whattrainisitnow.com/release/?version=147).

## Changes for web developers

### Developer Tools

- When you select a [pseudo-element](/en-US/docs/Web/CSS/Reference/Selectors/Pseudo-elements) (such as {{cssxref("::before")}} or {{cssxref("::after")}}) in the HTML pane of the Inspector, you can now edit the selector of the corresponding rule in the CSS pane.
([Firefox bug 1998704](https://bugzil.la/1998704)).
- During a view transition, {{cssxref("::view-transition")}} pseudo-elements now appear in the elements view. ([Firefox bug 1996608](https://bugzil.la/1996608)).
- During a view transition, the associated animations now appear in the animations panel. ([Firefox bug 1995296](https://bugzil.la/1995296)).
- Elements with a valid {{cssxref("anchor-name")}} get an 'anchor' badge in the elements view. ([Firefox bug 1895196](https://bugzil.la/1895196)).
- A highlighted element's associated {{cssxref("@position-try")}} rules are now displayed in the CSS rules panel. ([Firefox bug 1895176](https://bugzil.la/1895176)).
- JSON payloads can be imported into Firefox Profiler from the JSON viewer using a new button. This provides a breakdown of the size of the resource. ([Firefox bug 1997209](https://bugzil.la/1997209)).

<!-- ### HTML -->

<!-- No notable changes. -->

<!-- #### Removals -->

<!-- ### MathML -->
### HTML

<!-- #### Removals -->
No notable changes.

### SVG

- When an SVG file is used as an [image source](/en-US/docs/Web/SVG/Guides/SVG_as_an_image) (for example, embedded into a page via an {{htmlelement("img")}} element or as a CSS {{cssxref("background-image")}}), the SVG URL now supports [media fragments](/en-US/docs/Web/URI/Reference/Fragment/Media_fragments). ([Firefox bug 1999989](https://bugzil.la/1999989)). This means that:
- When the SVG includes a [SMIL animation](/en-US/docs/Web/SVG/Guides/SVG_animation_with_SMIL), you can use [temporal dimension](/en-US/docs/Web/URI/Reference/Fragment/Media_fragments#temporal_dimension_fragment_syntax) syntax to play a portion of the animation from a specific start time to a specific end time, after which the animation will pause.
- You can use [spatial dimension](/en-US/docs/Web/URI/Reference/Fragment/Media_fragments#spatial_dimension_fragment_syntax) syntax to display a specific area of the SVG document.

<!-- #### Removals -->

### CSS

- [CSS anchor positioning](/en-US/docs/Web/CSS/Guides/Anchor_positioning) is now enabled by default.
Expand All @@ -56,27 +48,13 @@ Firefox 147 is the current [Beta version of Firefox](https://www.firefox.com/en-
- The following [relative length units based on root element's font](/en-US/docs/Web/CSS/Reference/Values/length#relative_length_units_based_on_root_elements_font) are now supported: `rcap`, `rch`, `rex`, and `ric`. These units allow you to define `<length>` values based on the size of a particular character or font attribute of the [root](/en-US/docs/Web/CSS/Reference/Selectors/:root) element.
([Firefox bug 1740584](https://bugzil.la/1740584)).

<!-- #### Removals -->

### JavaScript

- CSS module scripts are now supported, allowing a stylesheet to be loaded into a script as a {{domxref("CSSStyleSheet")}} instance using the [`import`](/en-US/docs/Web/JavaScript/Reference/Statements/import) keyword and the [`type` import attribute](/en-US/docs/Web/JavaScript/Reference/Statements/import/with) set to `type="css"`.
([Firefox bug 1986681](https://bugzil.la/1986681)).
- The {{jsxref("Iterator.concat()")}} method is now supported. This method enables you to create a new iterator that combines multiple input iterables into a single sequence.
([Firefox bug 1986672](https://bugzil.la/1986672)).

<!-- No notable changes. -->

<!-- #### Removals -->

<!-- ### HTTP -->

<!-- #### Removals -->

<!-- ### Security -->

<!-- #### Removals -->

### APIs

- The {{domxref("Document.activeViewTransition")}} property is now supported, which returns a {{domxref("ViewTransition")}} instance representing the [view transition](/en-US/docs/Web/API/View_Transition_API) currently active on the document. This provides a consistent way to access an active view transition in any context without having to manually store a reference to it for later use. ([Firefox bug 2001836](https://bugzil.la/2001836)).
Expand All @@ -90,16 +68,6 @@ Firefox 147 is the current [Beta version of Firefox](https://www.firefox.com/en-
To load a service worker module, specify a [`type`](/en-US/docs/Web/API/ServiceWorkerContainer/register#type) of `'module'` when calling {{domxref("ServiceWorkerContainer.register()")}}.
([Firefox bug 1360870](https://bugzil.la/1360870)).

<!-- #### DOM -->

<!-- #### Media, WebRTC, and Web Audio -->

<!-- #### Removals -->

<!-- ### WebAssembly -->

<!-- #### Removals -->

### WebDriver conformance (WebDriver BiDi, Marionette)

#### General
Expand All @@ -124,10 +92,6 @@ Firefox 147 is the current [Beta version of Firefox](https://www.firefox.com/en-

- Temporarily loaded Manifest Version 3 extensions can now load scripts from localhost, as explained in [Scripts from localhost](/en-US/docs/Mozilla/Add-ons/WebExtensions/Content_Security_Policy#scripts_from_localhost) in the Content Security Policy article. ([Firefox bug 1864284](https://bugzil.la/1864284))

<!-- ### Removals -->

<!-- ### Other -->

## Experimental web features

These features are shipping in Firefox 147 but are disabled by default.
Expand Down
6 changes: 3 additions & 3 deletions files/en-us/mozilla/firefox/releases/148/index.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
---
title: Firefox 148 release notes for developers (Nightly)
short-title: Firefox 148 (Nightly)
title: Firefox 148 release notes for developers (Beta)
short-title: Firefox 148 (Beta)
slug: Mozilla/Firefox/Releases/148
page-type: firefox-release-notes-active
sidebar: firefox
---

This article provides information about the changes in Firefox 148 that affect developers.
Firefox 148 is the current [Nightly version of Firefox](https://www.firefox.com/en-US/channel/desktop/#nightly) and ships on [February 24, 2026](https://whattrainisitnow.com/release/?version=148).
Firefox 148 is the current [Beta version of Firefox](https://www.firefox.com/en-US/channel/desktop/#beta) and ships on [February 24, 2026](https://whattrainisitnow.com/release/?version=148).

> [!NOTE]
> The release notes for this Firefox version are still a work in progress.
Expand Down
83 changes: 83 additions & 0 deletions files/en-us/mozilla/firefox/releases/149/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
---
title: Firefox 149 release notes for developers (Nightly)
short-title: Firefox 149 (Nightly)
slug: Mozilla/Firefox/Releases/149
page-type: firefox-release-notes-active
sidebar: firefox
---

This article provides information about the changes in Firefox 149 that affect developers.
Firefox 149 is the current [Nightly version of Firefox](https://www.firefox.com/en-US/channel/desktop/#nightly) and ships on [March 24, 2026](https://whattrainisitnow.com/release/?version=149).

> [!NOTE]
> The release notes for this Firefox version are still a work in progress.

<!-- Authors: Please uncomment any headings you are writing notes for -->

## Changes for web developers

<!-- ### Developer Tools -->

<!-- ### HTML -->

<!-- No notable changes. -->

<!-- #### Removals -->

<!-- ### MathML -->

<!-- #### Removals -->

<!-- ### SVG -->

<!-- #### Removals -->

<!-- ### CSS -->

<!-- #### Removals -->

<!-- ### JavaScript -->

<!-- No notable changes. -->

<!-- #### Removals -->

<!-- ### HTTP -->

<!-- #### Removals -->

<!-- ### Security -->

<!-- #### Removals -->

<!-- ### APIs -->

<!-- #### DOM -->

<!-- #### Media, WebRTC, and Web Audio -->

<!-- #### Removals -->

<!-- ### WebAssembly -->

<!-- #### Removals -->

<!-- ### WebDriver conformance (WebDriver BiDi, Marionette) -->

<!-- #### General -->

<!-- #### WebDriver BiDi -->

<!-- #### Marionette -->

## Changes for add-on developers

<!-- ### Removals -->

<!-- ### Other -->

## Experimental web features

These features are shipping in Firefox 149 but are disabled by default.
To experiment with them, search for the appropriate preference on the `about:config` page and set it to `true`.
You can find more such features on the [Experimental features](/en-US/docs/Mozilla/Firefox/Experimental_features) page.
8 changes: 6 additions & 2 deletions files/en-us/web/api/fedcm_api/idp_integration/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ The following table summarizes the different requests made by the FedCM API:

### The accounts list endpoint

The browser sends credentialed requests (i.e., with a cookie that identifies the user that is signed in) to this endpoint via the `GET` method. The request has no `client_id` parameter, {{httpheader("Origin")}} header, or {{httpheader("Referer")}} header. This effectively prevents the IdP from learning which RP the user is trying to sign in to. The list of accounts returned is RP-agnostic.
The browser sends requests to this endpoint using the `GET` method. The request has no `client_id` parameter, {{httpheader("Origin")}} header, or {{httpheader("Referer")}} header. This effectively prevents the IdP from learning which RP the user is trying to sign in to.

For example:

Expand All @@ -117,7 +117,11 @@ Cookie: 0x23223
Sec-Fetch-Dest: webidentity
```

The response to a successful request returns a list of all the IdP accounts that the user is currently signed in with (not specific to any particular RP), with a JSON structure that matches the following:
The request is credentialed: that is, it includes cookies for the IdP's site, which the IdP can use to identify which IdP accounts the user is signed into.

Note that because the browser's request to this endpoint is a cross-site request, cookies will only be included if they have a [`SameSite`](/en-US/docs/Web/HTTP/Reference/Headers/Set-Cookie#samesitesamesite-value) attribute value of `None`. This means that IdP's can't use `SameSite` as part of their defense against [Cross-Site Request Forgery(CSRF)](/en-US/docs/Web/Security/Attacks/CSRF) attacks, so they must implement alternative defenses.

The response returns a list of all the IdP accounts that the user is currently signed in with (not specific to any particular RP), with a JSON structure that matches the following:

```json
{
Expand Down
7 changes: 6 additions & 1 deletion files/en-us/web/api/webgpu_api/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,12 @@ async function init() {
throw Error("WebGPU not supported.");
}

const adapter = await navigator.gpu.requestAdapter();
let adapter;
try {
adapter = await navigator.gpu.requestAdapter();
} catch (error) {
console.error(error);
}
if (!adapter) {
throw Error("Couldn't request WebGPU adapter.");
}
Expand Down
Loading