files/en-us/mozilla/firefox/releases/38/index.md
Firefox 38 was released on May 12th, 2015. 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.
Highlights:
All devtools bugs fixed between Firefox 37 and Firefox 38.
Support for {{cssxref("ruby-position")}} and {{cssxref("ruby-align")}} have been added and is available by default (Firefox bug 1055676 Firefox bug 1123917 and Firefox bug 1039006).
The :unresolved pseudo-class has been implemented for custom elements (Firefox bug 1111633).
The predefined style {{cssxref("list-style-type", "ethiopic-numeric")}} now uses a space, instead of a dot, as the suffix to match a recent change to the spec (Firefox bug 1120721).
CSS transitions on generated content (with {{cssxref("::before")}} and {{cssxref("::after")}}) on both an inline and the block that splits them now start as expected by the specification (Firefox bug 1110277).
The implementation of CSS Logical Properties made big progress. The following properties are available behind the layout.css.vertical-text.enabled flag (false by default):
offset-block-end, offset-inline-start and offset-inline-end (Firefox bug 1120283).How CSS transitions start has been modified to match a recent change of the specifications, aiming at having an interoperable behavior between browsers (Firefox bug 960465).
<meta name="referrer"> is supported for navigations from the context menu or via a middle-click (Firefox bug 1113431).{{jsxref("Generator/return", "Generator.prototype.return()")}} is implemented (Firefox bug 1115868).
{{jsxref("Functions/set", "Setter")}} with a {{jsxref("Functions/rest_parameters", "rest parameter", "", 1)}} is now a {{jsxref("SyntaxError")}} (Firefox bug 1089632).
The {{jsxref("Function/name", "name")}} property of functions is configurable now (Firefox bug 1084019).
Several {{jsxref("Array")}} methods have been implemented for typed arrays as well:
Duplicated parameter name is no longer allowed when rest-parameter is present (Firefox bug 1096376).
Duplicated parameter name is no longer allowed in arrow functions (Firefox bug 1096377).
Duplicated parameter name is no longer allowed in concise method definitions (Firefox bug 1096378).
Warning is shown when {{jsxref("Map")}}/{{jsxref("Set")}}/{{jsxref("WeakMap")}} constructor is called without {{jsxref("Operators/new", "new")}} (Firefox bug 1108930).
The {{jsxref("WeakMap.get", "get")}}, {{jsxref("WeakMap.has", "has")}}, and {{jsxref("WeakMap.delete", "delete")}} methods of {{jsxref("WeakMap")}} objects no longer throw when the key parameter is not an object (Firefox bug 1127827).
The optional and non-standard second fallback parameter for {{jsxref("WeakMap.prototype.get()")}} has been removed (Firefox bug 1127827).
When defining a generator method, set and get are no longer invalid names (Firefox bug 1073809).
{{jsxref("RegExp.prototype.source")}} now returns "(?:)" instead of an empty string for empty regular expressions (Firefox bug 1130798).
{{jsxref("RegExp.prototype.source")}} and {{jsxref("RegExp.prototype.toString()")}} now escape regular expression patterns properly (e.g., line terminators, "\n") (Firefox bug 1130860).
The {{jsxref("Regexp")}} {{jsxref("Regexp.global", "global")}}, {{jsxref("Regexp.ignoreCase", "ignoreCase")}}, {{jsxref("Regexp.multiline", "multiline")}}, and {{jsxref("Regexp.sticky", "sticky")}} properties are now prototype accessor properties rather than own data properties of RegExp instances (Firefox bug 1120169).
The {{jsxref("RegExp.prototype.source")}} property is now prototype accessor property rather than own data property of RegExp instances (Firefox bug 1120169). Available only in non-Release version, due to Firefox bug 1150297.
{{jsxref("Function.prototype.toString()")}} now throws for {{jsxref("Proxy")}} objects (Firefox bug 1100936).
CanvasRenderingContext2D.clearHitRegions() has been implemented (Firefox bug 1119527).DOM_KEY_LOCATION_MOBILE and DOM_KEY_LOCATION_JOYSTICK, have been removed, since they were removed from the DOM Level 3 Spec (Firefox bug 936313.RangeError {{domxref("DOMException")}} is now raised, rather than the erroneous {{jsxref("TypeError")}} (Firefox bug 1125766).mozIndexedDB, has been removed (Firefox bug 975699).No change.
No change.
No change.
No change.
autocomplete=false attribute is now ignored when dealing with a login form (Firefox bug 1025703). This is intended to encourage the use of more secure passwords by allowing password manager tools to work more reliably.security.tls.unrestricted_rc4_fallback preference, true by default for the moment (Firefox bug 1138882).security.tls.insecure_fallback_hosts.use_static_list to false.sdk/context-menu@2 was implemented (Firefox bug 1070952).sdk/addon/bootstrap was implemented (Firefox bug 1075541).sdk/windows/loader was removed (Firefox bug 970135).toolkit/loader now has opt-in module compatibility checking, which is enabled for all jpm add-ons (Firefox bug 1037235).sdk/page-worker e10s updates (Firefox bug 1116004).sdk/content/worker e10s updates (Firefox bug 1116544).sdk/tabs e10s updates (Firefox bug 1033838).No change.
DownloadTarget objects now have exists and size properties, allowing you to determine the existence of and the size of the download's target file on disk, as well as a new refresh() method, which asks that these values be updated."@mozilla.org/network/atomic-file-output-stream;1" and "@mozilla.org/network/safe-file-output-stream;1" now throw an exception if PR_APPEND is passed without PR_TRUNCATE (Firefox bug 1117580).nsICompositionStringSynthesizer and nsIDOMWindowUtils.sendCompositionEvent() have been removed. Instead, use nsITextInputProcessor. (Firefox bug 917322)nsIDOMWindowUtils.sendKeyEvent() is now deprecated. Instead, use nsITextInputProcessor (Firefox bug 1119609).