Firefox 56 for developers
Firefox 56 was released on September 28, 2017. This article lists key changes that are useful for web developers.
Changes for Web developers
Developer Tools
- Display Negative Line Numbers in CSS Grid Inspector (Firefox bug 1369942).
- The new CSS Grid Layout Panel is now available, allowing much better CSS Grid debugging facilities (Firefox bug 1181227). See Powerful New Additions to the CSS Grid Inspector in Firefox Nightly for more details.
HTML
- Implemented the
labels
property for labelable form controls, for exampleHTMLInputElement.labels
(Firefox bug 556743). - Implemented
<link rel="preload">
; see Preloading content with rel="preload" for more details (Firefox bug 1222633). Note that currently Firefox only supports preloading of cacheable resources.
CSS
- Implemented the proprietary Mozilla-specific
<color>
values-moz-win-accentcolor
and-moz-win-accentcolortext
(see Firefox bug 1344910), and the proprietary media query-moz-windows-accent-color-in-titlebar
(see Firefox bug 1379938).
SVG
No changes.
JavaScript
- The Intl API has been enabled on Firefox for Android (Firefox bug 1344625).
APIs
New APIs
No changes.
DOM
- On Mac,
Document.hidden
is now true when the window is behind another non-translucent application Firefox bug 1236512. - The
Gamepad.displayId
property has been implemented (Firefox bug 1375816). - The
PerformanceTiming.secureConnectionStart
property has been implemented (Firefox bug 772589). - Firefox used to accept
iso-2022-jp-2
sequences silently when aniso-2022-jp
TextDecoder()
was instantiated, however this has now been removed to simplify the API, as no other browsers support it and no pages seem to use it. (Firefox bug 715833). - The 4ms clamping behavior of
setTimeout()
andsetInterval()
has been updated to be more in line with other browsers, as described in Timeouts throttled to >=4ms (Firefox bug 1378586). - The Page Visibility API's
onvisibilitychange
handler has been added (Firefox bug 1333912). - The
Window.showModalDialog()
method has been removed (Firefox bug 981796). - The implementation of the
HTMLFormElement.action
,HTMLInputElement.formAction
, andHTMLButtonElement.formAction
properties has been updated so that they return the correct form submission URL, as per spec (Firefox bug 1366361).
DOM events
onwheel
is now available onHTMLElement
— it wasn't before (Firefox bug 1370550).
Media and WebRTC
- Firefox now supports the
RTCPeerConnection
properties which let you examine the current and pending configurations of the local and remote ends of the connection, to help manage changes in configuration:currentLocalDescription
,pendingLocalDescription
,currentRemoteDescription
, andpendingRemoteDescription
. - Hardware encoding of media is now enabled by default on Android; it was available but disabled by default in Firefox 55 (Firefox bug 1386974). This supports higher-efficiency encoding of VP8 media on devices that provide support for it. This saves battery life and processor power, generally improving the performance of the user's device.
Canvas and WebGL
- The
CanvasRenderingContext2D.drawImage()
method has been updated so that smoothing occurs when downscaling even ifimageSmoothingEnabled
isfalse
. This is not mandatory as per spec, but follows Chrome's behavior. See Firefox bug 1360415. - An
SVGImageElement
can now be used as the image source in adrawImage()
call (Firefox bug 1382027).
Security
No changes.
Plugins
- Firefox for Android has removed all support for plugins (bug 1381916).
Other
- Gecko now encodes URLs internally as punycode, to avoid URL encoding problems (see Firefox bug 945240, also see discussion in Firefox bug 942074).
- Firefox on Windows and macOS can now be made to run in headless mode using the
-headless
flag (see Firefox bug 1355150 and Firefox bug 1355147).
Removals from the web platform
HTML
- The
<isindex>
element has been removed from the HTML parser, and from form submission (Firefox bug 1266495). - The
<applet>
element has been removed (Firefox bug 1279218).
APIs
No changes.
SVG
No changes.
Changes for add-on and Mozilla developers
WebExtensions
- browsingData.RemovalOptions gets "hostnames" option for cookies
- browsingData.settings() and browsingData.removeCookies() are now supported on Firefox for Android
- browserSettings.cacheEnabled
- browser_style usage is changed
- chrome_settings_overrides.search_provider.is_default
- contextMenus renamed to menus
- cookies.set() and cookies.remove() now work in private browsing mode
- devtools.panels.elements.onSelectionChanged
- downloads.open() can now only be called from a user action
- FindProxyForURL "DIRECT" return type no longer takes an argument
- history.onVisited now includes the page title if it is known.
- management.get() and management.getAll()
- menus now supports the "tools_menu" context
- menus.OnClickData now has "linkText"
- menus.create() now has an "icons" option
- notifications.onShown
- pageAction.show() and pageAction.hide() are now supported on Firefox for Android
- permissions now supports "unlimitedStorage"
- privacy.services now includes passwordSavingEnabled
- privacy.websites.referrersEnabled
- protocol_handlers now supports "gopher"
- proxy.registerProxyScript() is renamed to proxy.register()
- proxy.unregister()
- runtime.onInstalled gets
temporary
flag - tabs.print(), tabs.PageSettings, tabs.printPreview(), tabs.saveAsPDF()
- tabs.Tab.lastAccessed
- theme.reset()
- windows.create() and windows.update() now support prefacing window title
Older versions
- Firefox 55 for developers
- Firefox 54 for developers
- Firefox 53 for developers
- Firefox 52 for developers
- Firefox 51 for developers
- Firefox 50 for developers
- Firefox 49 for developers
- Firefox 48 for developers
- Firefox 47 for developers
- Firefox 46 for developers
- Firefox 45 for developers
- Firefox 44 for developers
- Firefox 43 for developers
- Firefox 42 for developers
- Firefox 41 for developers
- Firefox 40 for developers
- Firefox 39 for developers
- Firefox 38 for developers
- Firefox 37 for developers
- Firefox 36 for developers
- Firefox 35 for developers
- Firefox 34 for developers
- Firefox 33 for developers
- Firefox 32 for developers
- Firefox 31 for developers
- Firefox 30 for developers
- Firefox 29 for developers
- Firefox 28 for developers
- Firefox 27 for developers
- Firefox 26 for developers
- Firefox 25 for developers