To test the latest developer features of Firefox,
install Firefox Developer Edition
Firefox 45 was released on March 8, 2016. This article lists key changes that are useful not only for web developers, but also Firefox and Gecko developers as well as add-on developers.

Changes for Web developers

Developer Tools

Highlights:

All devtools bugs fixed between Firefox 44 and Firefox 45.

HTML

CSS

JavaScript

Interfaces/APIs/DOM

DOM & HTML DOM

WebGL

Our implementation of WebGL 2 has been extended:

  • Support of programs and shaders has been added (bug 1048743).
  • Support for uniforms and attributes has been added (bug 1048745).
  • Framebuffer objects have been implemented (bug 1048732).
  • Renderbuffer objects have been implemented (bug 1048733).

IndexedDB

No change.

Service Workers

  • Clients.get() and FetchEvent.clientId have been implemented (bug 1222464.)
  • Clients.openWindow() has been implemented (bug 1172870.)
  • The options object that can be passed as a parameter when invoking Clients.matchAll() can now include an includeUncontrolled property. This is a Boolean — if set to true, the matching operation will return all service worker clients who share the same origin as the current service worker. Otherwise, it returns only the service worker clients controlled by the current service worker. The default is false.

WebRTC

No change.

New APIs

No change.

Miscellaneous

MathML

No change.

SVG

  • SVG stroke hit-testing is buggy when cairo is the Moz2D backend (bug 676001).
  • Unable to interact with elements who have large transform / translate values (bug 1217012).

Audio/Video

  • Fixed: Regression (since Firefox 41) whereby audio playback was stuttering due to duration time rounding errors (bug 1222866.)

HTTP

Networking

No change.

Security

Changes for add-on and Mozilla developers

Interfaces

No change.

XUL

JavaScript code modules

No change.

XPCOM

No change.

Search plugins

Starting in Firefox 45, search plugins located in the user's profile's searchplugins directory are no longer automatically loaded on startup. Instead, a list of user-installed plugins is maintained and only those plugins are loaded. In effect, this means that the only ways to install new search plugins are for the user to do so in the Firefox UX (via OpenSearch discovery, for instance) or for an add-on to install it. Also, when a new search plugin is installed, more information is recorded about where it came from, for future use by profile debugging and cleaning tools.

Other

  • WebIDL constructors could be called without the new operator in chrome context.  Now such code will raise a TypeError as in Web content since Firefox 30. For example, var req = XMLHttpRequest(); needs to be var req = new XMLHttpRequest();.

See also

Older versions

Document Tags and Contributors

Tags: 
 Last updated by: Sebastianz,