Skip to content

Commit f0308e3

Browse files
bsmthpepelsbeyrebloorhamishwilleedipikabh
authored
Fx139: Firefox/139 release notes (#39600)
* Add Firefox 139 release notes page * Release notes for Bug-1381580 multiple locales fallbacks (#39188) * Bug-1792685 Content scripts and styles guaranteed execution order release note (#39245) * FF139 Relnote: HTMLDialogElement.requestClose() (#39362) * FF139 Relnote: HTMLDialogElement.requestClose() * Update files/en-us/mozilla/firefox/releases/139/index.md --------- Co-authored-by: Dipika Bhattacharya <[email protected]> * FF139 Relnote - Escape < and > in attributes when serializing HTML (#39364) * FF139 Relnote: ExprFeat Escape < and > in attributes when serialize HTML * Apply suggestions from code review Co-authored-by: Dipika Bhattacharya <[email protected]> --------- Co-authored-by: Dipika Bhattacharya <[email protected]> * FF139Relnote - Reenable Prioritized Scheduling API (#39395) * FF139Relnote: Expr reenable Prioritized Scheduling API * Update files/en-us/mozilla/firefox/releases/139/index.md Co-authored-by: Brian Smith <[email protected]> --------- Co-authored-by: Brian Smith <[email protected]> * Ff139 unship (before/after)scriptexecute in nightly (#39391) * FF139 Relnote/Exp - unship (before/after)scriptexecute events * Update files/en-us/mozilla/firefox/releases/139/index.md Co-authored-by: Brian Smith <[email protected]> --------- Co-authored-by: Brian Smith <[email protected]> * tabGroups API release note (#39430) * tabGroups API * Revert "tabGroups API" This reverts commit 561bd38. * tabGroups API * Feedback update * Remove indication of user release version Co-authored-by: Rob Wu <[email protected]> * Removed indication of user shipped version Co-authored-by: Rob Wu <[email protected]> --------- Co-authored-by: Rob Wu <[email protected]> * 39303 ship temporal ff release (#39520) * Added Firefox release note for Temporal API * added firefox release notes for the Temporal API * FF139 Relnote: WebAuthn Extn largeBlob, credProps, prf (#39572) * FF139 Relnote: WebAuthn Extn largeBlob, credProps, prf * Update files/en-us/mozilla/firefox/releases/139/index.md Co-authored-by: Brian Smith <[email protected]> --------- Co-authored-by: Brian Smith <[email protected]> * docs(Fx139): Add relnote for hidden until found, beforematch (#39590) * docs(Fx139): Add relnote for hidden until found, beforematch * Update files/en-us/mozilla/firefox/releases/139/index.md Co-authored-by: Dipika Bhattacharya <[email protected]> --------- Co-authored-by: Dipika Bhattacharya <[email protected]> * added experimental release note for view transition api (#39588) * added experimental release note for view transition api * Update files/en-us/mozilla/firefox/experimental_features/index.md Co-authored-by: Dipika Bhattacharya <[email protected]> * Update files/en-us/mozilla/firefox/releases/139/index.md Co-authored-by: Dipika Bhattacharya <[email protected]> --------- Co-authored-by: Brian Smith <[email protected]> Co-authored-by: Dipika Bhattacharya <[email protected]> * WebDriver conformance changes for Firefox 139 (#39599) --------- Co-authored-by: Vadim Makeev <[email protected]> Co-authored-by: rebloor <[email protected]> Co-authored-by: Hamish Willee <[email protected]> Co-authored-by: Dipika Bhattacharya <[email protected]> Co-authored-by: Rob Wu <[email protected]> Co-authored-by: Dave Letorey <[email protected]> Co-authored-by: Henrik Skupin <[email protected]>
1 parent 2fdcabd commit f0308e3

File tree

2 files changed

+166
-17
lines changed

2 files changed

+166
-17
lines changed

files/en-us/mozilla/firefox/experimental_features/index.md

Lines changed: 47 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -917,21 +917,11 @@ An SVG viewer can use this information to conserve memory by discarding elements
917917

918918
### Temporal API
919919

920-
The [Temporal object](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Temporal) aims to simplify working with dates and times in various scenarios, with built-in time zone and calendar representations ([Firefox bug 1912511](https://bugzil.la/1912511)).
921-
This includes:
922-
923-
- A **duration** (difference between two time points): {{jsxref("Temporal.Duration")}}
924-
- **Points in time**:
925-
- As a unique instant in history:
926-
- A timestamp: {{jsxref("Temporal.Instant")}}
927-
- A date-time with a time zone: {{jsxref("Temporal.ZonedDateTime")}}
928-
- **Time-zone-unaware date/time ("Plain")**:
929-
- Date (year, month, day) + time (hour, minute, second, millisecond, nanosecond): {{jsxref("Temporal.PlainDateTime")}}
930-
- Date (year, month, day): {{jsxref("Temporal.PlainDate")}}
931-
- Year, month: {{jsxref("Temporal.PlainYearMonth")}}
932-
- Month, day: {{jsxref("Temporal.PlainMonthDay")}}
933-
- Time (hour, minute, second, millisecond, nanosecond): {{jsxref("Temporal.PlainTime")}}
934-
- **Now** (current time) as various class instances, or in a specific format: {{jsxref("Temporal.Now")}}
920+
The `withCalendar()` method for [`PlainDate`](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Temporal/PlainDate/withCalendar), [`PlainDateTime`](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Temporal/PlainDateTime/withCalendar), and [`ZonedDateTime`](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Temporal/ZonedDateTime/withCalendar) objects within the [Temporal object](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Temporal) currently have the following [`calendar` types](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/supportedValuesOf#supported_calendar_types) disabled in all versions other than Firefox Nightly ([Firefox bug 1912511](https://bugzil.la/1912511) and [Firefox bug 1954138](https://bugzil.la/1954138)):
921+
922+
- `islamic`
923+
- `islamic-rgsa`
924+
- `islamic-umalqura`
935925

936926
<table>
937927
<thead>
@@ -944,7 +934,7 @@ This includes:
944934
<tbody>
945935
<tr>
946936
<th>Nightly</th>
947-
<td>137</td>
937+
<td>139</td>
948938
<td>Yes</td>
949939
</tr>
950940
<tr>
@@ -964,7 +954,7 @@ This includes:
964954
</tr>
965955
<tr>
966956
<th>Preference name</th>
967-
<td colspan="2"><code>javascript.options.experimental.temporal</code></td>
957+
<td colspan="2">N/A</td>
968958
</tr>
969959
</tbody>
970960
</table>
@@ -2011,6 +2001,46 @@ Notifications have the [`requireInteraction`](/en-US/docs/Web/API/Notification/r
20112001
</tbody>
20122002
</table>
20132003

2004+
### View Transition API
2005+
2006+
The [View Transition API](/en-US/docs/Web/API/View_Transition_API) provides a mechanism for easily creating animated transitions between different website views. This is especially useful for [SPAs (single-page applications)](/en-US/docs/Glossary/SPA). ([Firefox bug 1950759](https://bugzil.la/1950759)).
2007+
2008+
<table>
2009+
<thead>
2010+
<tr>
2011+
<th>Release channel</th>
2012+
<th>Version changed</th>
2013+
<th>Enabled by default?</th>
2014+
</tr>
2015+
</thead>
2016+
<tbody>
2017+
<tr>
2018+
<th>Nightly</th>
2019+
<td>139</td>
2020+
<td>Yes</td>
2021+
</tr>
2022+
<tr>
2023+
<th>Developer Edition</th>
2024+
<td>—</td>
2025+
<td>No</td>
2026+
</tr>
2027+
<tr>
2028+
<th>Beta</th>
2029+
<td>—</td>
2030+
<td>No</td>
2031+
</tr>
2032+
<tr>
2033+
<th>Release</th>
2034+
<td>—</td>
2035+
<td>No</td>
2036+
</tr>
2037+
<tr>
2038+
<th>Preference name</th>
2039+
<td colspan="2">N/A</td>
2040+
</tr>
2041+
</tbody>
2042+
</table>
2043+
20142044
## Security and privacy
20152045

20162046
### Block plain text requests from Flash on encrypted pages
Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
---
2+
title: Firefox 139 for developers
3+
slug: Mozilla/Firefox/Releases/139
4+
page-type: firefox-release-notes
5+
sidebar: firefoxsidebar
6+
---
7+
8+
This article provides information about the changes in Firefox 139 that affect developers. Firefox 139 was released on [May 27, 2025](https://whattrainisitnow.com/release/?version=139).
9+
10+
## Changes for web developers
11+
12+
### Developer Tools
13+
14+
### HTML
15+
16+
- The [`hidden=until-found`](/en-US/docs/Web/HTML/Reference/Global_attributes/hidden#the_hidden_until_found_state) HTML attribute and the [`beforematch` event](/en-US/docs/Web/API/Element/beforematch_event) are now supported.
17+
The _hidden until found_ state allows you to hide the contents of an element until it is found by user search (for example, using "Find in page") or by fragment navigation.
18+
The `beforematch` event fires just before the `hidden` attribute is removed ([Firefox bug 1761043](https://bugzil.la/1761043) and [Firefox bug 1955379](https://bugzil.la/1955379)).
19+
20+
#### Removals
21+
22+
### CSS
23+
24+
#### Removals
25+
26+
### JavaScript
27+
28+
- The Temporal API is now supported, this aims to simplify working with dates and times in various scenarios, with built-in time zone and calendar representations ([Firefox bug 1912511](https://bugzil.la/1912511) and [Firefox bug 1954138](https://bugzil.la/1954138)).
29+
This includes:
30+
- A **duration** (difference between two time points): {{jsxref("Temporal.Duration")}}
31+
- **Points in time**:
32+
- As a unique instant in history:
33+
- A timestamp: {{jsxref("Temporal.Instant")}}
34+
- A date-time with a time zone: {{jsxref("Temporal.ZonedDateTime")}}
35+
- **Time-zone-unaware date/time ("Plain")**:
36+
- Date (year, month, day) + time (hour, minute, second, millisecond, nanosecond): {{jsxref("Temporal.PlainDateTime")}}
37+
- Date (year, month, day): {{jsxref("Temporal.PlainDate")}}
38+
- Year, month: {{jsxref("Temporal.PlainYearMonth")}}
39+
- Month, day: {{jsxref("Temporal.PlainMonthDay")}}
40+
- Time (hour, minute, second, millisecond, nanosecond): {{jsxref("Temporal.PlainTime")}}
41+
- **Now** (current time) as various class instances, or in a specific format: {{jsxref("Temporal.Now")}}
42+
- Currently the following calendar types are disabled for the `withCalendar()` method for [`PlainDate`](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Temporal/PlainDate/withCalendar), [`PlainDateTime`](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Temporal/PlainDateTime/withCalendar), and [`ZonedDateTime`](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Temporal/ZonedDateTime/withCalendar) objects:
43+
- `islamic`
44+
- `islamic-rgsa`
45+
- `islamic-umalqura`
46+
47+
#### Removals
48+
49+
### SVG
50+
51+
#### Removals
52+
53+
### HTTP
54+
55+
#### Removals
56+
57+
### Security
58+
59+
#### Removals
60+
61+
### APIs
62+
63+
#### DOM
64+
65+
- The {{domxref("HTMLDialogElement/requestClose", "requestClose()")}} method of the {{domxref("HTMLDialogElement")}} interface is now supported.
66+
This allows developers to conditionally prevent a dialog from closing by providing a [`cancel` event](/en-US/docs/Web/API/HTMLDialogElement/cancel_event) handler.
67+
([Firefox bug 1960556](https://bugzil.la/1960556)).
68+
- The [`largeBlob`](/en-US/docs/Web/API/Web_Authentication_API/WebAuthn_extensions#largeblob) and [`credProps`](/en-US/docs/Web/API/Web_Authentication_API/WebAuthn_extensions#credprops) Web Authentication extensions are now supported, while the [`prf`](/en-US/docs/Web/API/Web_Authentication_API/WebAuthn_extensions#prf) extension is supported on all desktop platforms.
69+
These respectively provide support for large blob storage associated with a credential, additional information about a credential, and a mechanism for generating a random number associated with a credential and a particular input.
70+
([Firefox bug 1795020](https://bugzil.la/1795020), [Firefox bug 1844449](https://bugzil.la/1844449), [Firefox bug 1935280](https://bugzil.la/1935280)).
71+
72+
#### Media, WebRTC, and Web Audio
73+
74+
#### Removals
75+
76+
### WebAssembly
77+
78+
#### Removals
79+
80+
### WebDriver conformance (WebDriver BiDi, Marionette)
81+
82+
#### General
83+
84+
- The priority manager (on macOS, the background QoS manager) in Firefox, which manages IPC message prioritization between the parent and content processes, has been temporarily disabled for all supported Remote Protocols. This change resolves an issue where, under high system load, initial page loads in newly opened background tabs were not being scheduled, resulting in certain commands hanging ([Firefox bug 1960734](https://bugzil.la/1960734)).
85+
86+
#### WebDriver BiDi
87+
88+
- Implemented the `emulation.setGeolocationOverride` command, allowing tests and automation tools to simulate geographic locations across specified browsing contexts or user contexts. This enables consumers to test location-aware features such as geofencing for local recommendations ([Firefox bug 1954992](https://bugzil.la/1954992)).
89+
90+
## Changes for add-on developers
91+
92+
- Localized extensions now cascade through locale subtags to find translations before reverting to the extension's default language. Previously, the extension used the extension default if a translation couldn't be found for a language with subtags. See [Localized string selection](/en-US/docs/Mozilla/Add-ons/WebExtensions/Internationalization#localized_string_selection) in the Internationalization article for more details of the new behavior. ([Firefox bug 1381580](https://bugzil.la/1381580))
93+
- Content scripts and styles are now guaranteed to execute in the order of registration (i.e., their order in the [`content_scripts` manifest key array](/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/content_scripts)). Previously, the order was only guaranteed for scripts within the same `js` array. ([Firefox bug 1792685](https://bugzil.la/1792685))
94+
- The {{WebExtAPIRef("tabGroups")}} API is now available. This API enables extensions to modify and rearrange [tab groups](https://support.mozilla.org/en-US/kb/tab-groups). For more information, see [WebExtensions Support for Tab Groups](https://blog.mozilla.org/addons/2025/04/30/webextensions-support-for-tab-groups/). ([Firefox bug 1940631](https://bugzil.la/1940631))
95+
96+
### Removals
97+
98+
### Other
99+
100+
## Experimental web features
101+
102+
These features are newly shipped in Firefox 139 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.
103+
104+
- **Prioritized Task Scheduling API** (Nightly release).
105+
The [Prioritized Task Scheduling API](/en-US/docs/Web/API/Prioritized_Task_Scheduling_API) provides a standardized way to prioritize all tasks belonging to an application, whether they are defined in a website developer's code, or in third-party libraries and frameworks.
106+
This adds support for the {{domxref("scheduler.yield()")}} method and re-enables the whole API in the Nightly release.
107+
([Firefox bug 1958943](https://bugzil.la/1958943), [Firefox bug 1920115](https://bugzil.la/1920115)).
108+
- **View Transition API** (Nightly release).
109+
The [View Transition API](/en-US/docs/Web/API/View_Transition_API) has been enabled for [SPAs (single-page applications)](/en-US/docs/Glossary/SPA). It provides a mechanism for easily creating animated transitions between different website views. ([Firefox bug 1950759](https://bugzil.la/1950759)).
110+
- **Support for escaping `<` and `>` in attributes when serializing HTML**: `dom.security.html_serialization_escape_lt_gt`.
111+
Firefox now replaces the `<` and `>` characters with `&lt;` and `&gt;`, respectively, in attributes when serializing HTML. This helps prevent certain exploits where HTML is serialized and then injected back into the DOM.
112+
The affected methods and properties are: {{domxref("Element.innerHTML")}}, {{domxref("Element.outerHTML")}}, {{domxref("Element.getHTML()")}}, {{domxref("ShadowRoot.innerHTML")}}, and {{domxref("ShadowRoot.getHTML()")}}. ([Firefox bug 1941347](https://bugzil.la/1941347)).
113+
- **Disable non-standard `beforescriptexecute` and `afterscriptexecute`**: `dom.events.script_execute.enabled`.
114+
The events have been disabled on Nightly only, allowing browser testing prior to their removal.
115+
The affected events are: [`beforescriptexecute`](/en-US/docs/Web/API/Document/beforescriptexecute_event) and [`afterscriptexecute`](/en-US/docs/Web/API/Document/afterscriptexecute_event) on the {{domxref("Document")}} interface, and [`afterscriptexecute`](/en-US/docs/Web/API/Element/afterscriptexecute_event) and [`beforescriptexecute`](/en-US/docs/Web/API/Element/beforescriptexecute_event) on the {{domxref("Element")}} interface. ([Firefox bug 1954685](https://bugzil.la/1954685)).
116+
117+
## Older versions
118+
119+
{{Firefox_for_developers}}

0 commit comments

Comments
 (0)