files/en-us/mozilla/firefox/releases/52/index.md
Firefox 52 was released on March 7, 2017. 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.
All devtools bugs fixed between Firefox 51 and Firefox 52.
rel="noopener" Link type has been implemented (see Firefox bug 1222516).Added {{cssxref(":focus-within")}} pseudo-class (Firefox bug 1176997).
Added support for display:flex/grid and columnset layout inside {{HTMLElement("button")}} elements (Firefox bug 984869).
Implemented interpolation between numeric color and currentColor (Firefox bug 1299741).
Implemented flexbox layout for {{cssxref("justify-content")}}: space-evenly and {{cssxref("align-content")}}: space-evenly (Firefox bug 1235922).
Added support for subpixel antialiasing in CSS {{cssxref("mask")}} / {{cssxref("clip-path")}} (Firefox bug 1305259).
Implemented CSS Text 3 segment break transformation rules (Firefox bug 1081858).
Basic shape clipping (as applied via the {{cssxref("clip-path")}} property) can now be applied to SVG content (Firefox bug 1246741).
Implemented Flexbox layout for {{cssxref("align-self")}} and {{cssxref("justify-self")}} (Firefox bug 1221524).
The {{cssxref("touch-action")}} property is now enabled by default on all platforms. (For the full story, see intent to ship mail #1 and intent to ship mail #2.)
Flexbox {{cssxref("align-content")}} handling & single-line-sizing should depend on {{cssxref("flex-wrap")}}, not number of lines (Firefox bug 1090031).
CSS Animations can now be used to animate non-interpolated properties (see Firefox bug 1064937).
Changed baseline|last-baseline to [ first | last ]? baseline (Firefox bug 1313254).
The used value for left/right is start for the block-axis (Firefox bug 1221565).
Stretching flexible tracks with an indefinite containing block length now respects the min/max size(Firefox bug 1309407).
The initial values of {{cssxref("mask-position")}} and {{cssxref("mask-repeat")}} have been changed to 0% 0% and repeat, respectively (Firefox bug 1308963).
There have been a number of changes to CSS {{cssxref("<color>")}} values (see Firefox bug 1295456):
rgba() and hsla() have now been redefined as aliases of rgb() and hsl(); both accept the same parameter syntax.rgb() and hsl() now accept an optional alpha value, e.g., rgb(255, 0, 0, 0.5).rgb(255 0 0 / 0.5).rgb(255 0 0 / 50%).hsl() colors can now be specified as an angle, as well as a number, e.g., hsl(120deg, 60%, 70%).Firefox's implementation of child-indexed pseudo-classes (such as {{cssxref(":nth-child")}}, {{cssxref(":first-child")}}, and so forth) has been updated to match the CSS selectors level 4 specification: these pseudo-classes now match the appropriate sibling elements rather than the children of their parent element. This allows these pseudo-classes to be used when there is no parent, or the parent is not an {{domxref("Element")}} (Firefox bug 1300374.
-moz prefixed versions as aliases, for now) (Firefox bug 1300895).<flex> min-sizing from the style system (Firefox bug 1305244).layout.css.masking.enabled (Firefox bug 1308239).-moz-images-in-menus and -moz-images-in-buttons media types have been removed (see Firefox bug 1302157).-moz-use-text-color value from color properties; use currentColor instead (Firefox bug 1306214).**) is now enabled by default (Firefox bug 1291212).timeZone option of date related APIs like {{jsxref("Intl/DateTimeFormat", "DateTimeFormat")}} or {{jsxref("Date.toLocaleString()")}} (Firefox bug 837961).__proto__ properties are now allowed in object destructuring (Firefox bug 1204024).locales and options (Firefox bug 1130636).this values are valid Typed Array constructors (Firefox bug 1122396).let \u{61} = 123, see Firefox bug 1314037).\u2e2f and ⸯ now throw when used as identifier, for details see Firefox bug 917436 and Firefox bug 1197230.loadstart and loadend events are now fired on {{htmlelement("img")}} elements (see Firefox bug 1264769).noopener window feature available (see Firefox bug 1267339), which mirrors the functionality of the rel="noopener" Link type.Identity interface has been removed (Firefox bug 1309030).MozVoicemail, MozVoicemailEvent, MozVoicemailStatus, Navigator.mozVoicemail) has been removed (Firefox bug 1309723).MozCellBroadcast, MozCellBroadcastEvent, MozCellBroadcastMessage, Navigator.mozCellBroadcast) has been removed (Firefox bug 1306772).FMRadio, Navigator.mozFMRadio) has been removed (Firefox bug 1306779).Headers.getAll() method has been removed, and {{domxref("Headers.get()")}} now retrieves all values of the specified header, not just the first one (see Firefox bug 1278275). This is in accordance with the latest Fetch API spec updates."disconnected"; this indicates a transitory failure that may resolve itself shortly, with the connection returning to the "connected" state afterward (Firefox bug 852665).MediaDevices {{domxref("MediaDevices.devicechange_event", "devicechange")}} event and its corresponding handler, which were implemented but disabled by default on Mac only in Firefox 51, have been implemented on Windows and Linux and are now enabled by default on all platforms.Apps installation/management APIs have been removed from the platform (see Firefox bug 1261019).Web Telephony API has been removed from the platform (see Firefox bug 1309719).Web Bluetooth API has been removed from the platform (see Firefox bug 1310020).ImageBitmapRenderingContext.transferImageBitmap() has been renamed to {{domxref("ImageBitmapRenderingContext.transferFromImageBitmap()")}} (see Firefox bug 1304767).mozDash and mozDashOffset members have been removed from {{domxref("CanvasRenderingContext2D")}} (see Firefox bug 931389).same-origin, strict-origin, and strict-origin-when-cross-origin (Firefox bug 1276836).'strict-dynamic' source expression is now supported for {{HTTPHeader("Content-Security-Policy")}} directives, such as {{CSP("script-src")}} (Firefox bug 1299483).http:) can't set cookies with the "secure" directive anymore as per the Strict Secure Cookies specification (Firefox bug 976073).Large-Allocation header has been added (Firefox bug 1304140).<input type="password"> field) are created so that they would be submitted insecurely, Firefox displays an in-context warning message below the password field to warn users (Firefox bug 1319119). Autofill is also disabled on insecure login forms (Firefox bug 1217152).Untrusted Connection error (Firefox bug 1330043).All NPAPI plugin support except Flash has been dropped. Flash usage is also set to be phased out in the future.
New APIs:
sessions APItopSites APIomnibox APIruntime.onInstalled and runtime.onStartup eventsbookmarks.onMoved, bookmarks.onCreated, bookmarks.onChanged events_execute_browser_action and _execute_page_action in the commands manifest keymatch_about_blank in the content_scripts manifest keynsIDroppedLinkHandler.dropLinks method and nsIDroppedLinkItem interface have been added to handle dropping multiple items (Firefox bug 92737).tabbrowser.loadTabs(uris, params) method overload has been added (Firefox bug 92737).browser.droppedLinkHandler function signature has been changed (Firefox bug 92737).