Firefox 30 for developers
=========================

Changes for Web developers
--------------------------

### Developer Tools

* A Box Model Highlighter has been implemented (Firefox bug 663778).
* Anywhere a DOM node appears in the console output, it is highlighted when you hover over that console output (Firefox bug 757866). Similarly all JS functions and objects are highlighted in the console output (Firefox bug 584733). More information about the console improvement can be found in this blog post.
* Support for `console.count()` has been added (Firefox bug 922208).
### CSS

* The property `background-blend-mode` has been enabled by default (Firefox bug 970600).
* The non-standard `overflow-clip-box` property has been implemented for use in UA stylesheets only (Firefox bug 966992).
* The `line-height` property now affects single-line text inputs (`<input type=text|password|email|search|tel|url|unknown>` types) although it cannot shrink them below a line height of `1.0` (Firefox bug 349259).
* The `line-height` property now also affects `type=button`, with no restrictions (Firefox bug 697451).
* Change to keyframes' name does not affect current elements (Firefox bug 978648).
* positioned internal table elements not abs pos containing block(relative position for table rows) (Firefox bug 63895).
### HTML

*No change.*

### JavaScript

* New ES2015-compatible array comprehensions `[for (item of iterable) item]` and generator comprehensions `(for (item of iterable) item)` have been implemented (Firefox bug 979865).
* Typed arrays are now extensible and support new named properties (Firefox bug 695438).
* The `Error.prototype.stack` property now contains column numbers (Firefox bug 762556) and has been improved when using `Function()` and `eval()` calls. This can help you to better debug minified or generated JavaScript code.
* The `Promise.cast()` method has been renamed to `Promise.resolve()` (Firefox bug 966348).
### Interfaces/APIs/DOM

* `Navigator.sendBeacon` has been implemented, easing telemetry collection (Firefox bug 936340).
* Added a `relList` property returning a `DOMTokenList` to `HTMLLinkElement`, `HTMLAreaElement` and `HTMLAnchorElement` (Firefox bug 968637).
* As per the latest specification, the first argument of `AudioScheduledSourceNode.start` and `AudioScheduledSourceNode.stop` is now optional and defaults to `0` (Firefox bug 982541).
* The method `Navigator.requestWakeLock()` and the non-standard `MozWakeLock` are no longer available from the Web on Desktop (Firefox bug 963366).
* The `DOM_VK_ENTER` constant has been removed from `KeyboardEvent` (Firefox bug 969247).
* Web components' `Document.register()` has been adapted to follow the behavior described in the latest version of the specification (Firefox bug 856140).
* The non-standard, and deprecated since Firefox 15, `Blob.mozSlice` is no longer supported (Firefox bug 961804).
* The non-standard `ArchiveReader` and `ArchiveRequest` are no longer exposed to the Web (Firefox bug 968883).
* WebIDL constructors cannot be called as functions anymore. They need to be preceded by the keyword `new`. (Firefox bug 916644)
* Added support for a new value (`alpha`) for the second, optional, parameter of the `HTMLCanvasElement.getContext()` method allowing to define if alpha blending must be stored or not for this context. When not, the per-pixel alpha value in this store is always `1.0`. This allows the back-end to implement a fast-track. (Firefox bug 982480)
* `WorkerGlobalScope.console` now returns for the regular `console`; `WorkerConsole` has been removed (Firefox bug 965860).
* The `WebGL_debug_shaders` WebGL extension has been implemented (Firefox bug 968374).
### MathML

*No change.*

### SVG

* `<feDropShadow>`, and its interface `SVGFEDropShadowElement`, from the Filter Effects Module are now supported (Firefox bug 964200).
### Audio/Video

* On Linux, Gstreamer 1.0 is now supported (instead of 0.10) (Firefox bug 806917).
Security
--------

*No change.*

Changes for add-on and Mozilla developers
-----------------------------------------

* The interface `nsIDOMWindowUtils` now supports the Boolean attribute `audioMuted` and `audioVolume`, a float in the range `[0.0 , 1.0]`, allowing to control the sound produced by a window (that is any tab or iframe). There is no UI for this, but is available to add-ons. (Firefox bug 923247)
### Older versions

* Firefox 29 for developers
* Firefox 28 for developers
* Firefox 27 for developers
* Firefox 26 for developers
* Firefox 25 for developers
* Firefox 24 for developers
* Firefox 23 for developers
* Firefox 22 for developers
* Firefox 21 for developers
* Firefox 20 for developers
* Firefox 19 for developers
* Firefox 18 for developers
* Firefox 17 for developers
* Firefox 16 for developers
* Firefox 15 for developers
* Firefox 14 for developers
* Firefox 13 for developers
* Firefox 12 for developers
* Firefox 11 for developers
* Firefox 10 for developers
* Firefox 9 for developers
* Firefox 8 for developers
* Firefox 7 for developers
* Firefox 6 for developers
* Firefox 5 for developers
* Firefox 4 for developers
* Firefox 3.6 for developers
* Firefox 3.5 for developers
* Firefox 3 for developers
* Firefox 2 for developers
* Firefox 1.5 for developers