{"id":7693,"date":"2016-02-23T12:33:47","date_gmt":"2016-02-23T20:33:47","guid":{"rendered":"http:\/\/blog.mozilla.org\/addons\/?p=7693"},"modified":"2016-04-06T14:46:53","modified_gmt":"2016-04-06T21:46:53","slug":"compatibility-for-firefox-46","status":"publish","type":"post","link":"https:\/\/blog.mozilla.org\/addons\/2016\/02\/23\/compatibility-for-firefox-46\/","title":{"rendered":"Add-on Compatibility for Firefox 46"},"content":{"rendered":"<p>Firefox 46 will be <a href=\"https:\/\/wiki.mozilla.org\/RapidRelease\/Calendar\">released<\/a> on April <del>19th<\/del> 26th. Here&#8217;s the list of changes that went into this version that can affect add-on compatibility. There is more information available in <a href=\"https:\/\/developer.mozilla.org\/en-US\/Firefox\/Releases\/46\">Firefox 46 for Developers<\/a>, so you should also give it a look.<\/p>\n<h3>General<\/h3>\n<ul>\n<li><a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=1238685\">&lt;tabbrowser&gt;&#8217;s <code>mTabListeners<\/code> and <code>mTabFilters<\/code> properties should be Maps rather than arrays<\/a>. These are private properties, so they should be avoided in general. Note that they were also renamed to <code>_tabListeners<\/code> and <code>_tabFilters<\/code>.<\/li>\n<li><a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=1234700\">Hide window.showModalDialog, at least when e10s is enabled<\/a>. In previous versions, using this API with e10s enabled would throw an exception. Now it isn&#8217;t present at all, so it plays better with feature detection.<\/li>\n<li><a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=1220564\">Remove legacy array\/generator comprehension<\/a>. <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/JavaScript\/Reference\/Operators\/Array_comprehensions\">Array comprehensions<\/a> and <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/JavaScript\/Reference\/Operators\/Generator_comprehensions\">generator comprehensions<\/a> are non-standard. <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=1220564#c42\">Comment 42 in the bug<\/a> has some hints as to what to do instead.<\/li>\n<\/ul>\n<h3>Signing<\/h3>\n<ul>\n<li>Firefox is currently <a href=\"https:\/\/wiki.mozilla.org\/Add-ons\/Extension_Signing\">enforcing add-on signing<\/a>, with a preference to override it. Firefox 46 will remove the preference entirely\u00a0, which means your add-on will need to be signed in order to run in release versions of Firefox. You can <a href=\"https:\/\/developer.mozilla.org\/en-US\/Add-ons\/Distribution\">read about your options here<\/a>.<\/li>\n<\/ul>\n<h3>New<\/h3>\n<ul>\n<li><a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=1235352\">Add JavaScript module to check and request runtime permissions<\/a>. This is for Firefox for Android. <a href=\"https:\/\/developer.mozilla.org\/en-US\/Add-ons\/Firefox_for_Android\/API\/RuntimePermissions.jsm\">As documented<\/a>, this API lets you query which permissions Firefox for Android has been granted (for example, camera access), or request them, in case you need to make use of any APIs that require those permissions.<\/li>\n<\/ul>\n<p>Let me know in the comments if there&#8217;s anything missing or incorrect on these lists. If your add-on breaks on Firefox 46, I&#8217;d like to know.<\/p>\n<p>The automatic compatibility validation and upgrade for add-ons on AMO will happen in a few weeks (the one for Firefox 45 is still pending), so keep an eye on your email if you have an add-on listed on our site with its compatibility set to Firefox 45.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Firefox 46 will be released on April 19th 26th. Here&#8217;s the list of changes that went into this version that can affect add-on compatibility. There is more information available in &hellip; <a class=\"go\" href=\"https:\/\/blog.mozilla.org\/addons\/2016\/02\/23\/compatibility-for-firefox-46\/\">Read more<\/a><\/p>\n","protected":false},"author":173,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[388,44,295],"tags":[278877,278873,278876,278891,4260],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Add-on Compatibility for Firefox 46 - Mozilla Add-ons Community Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.mozilla.org\/addons\/2016\/02\/23\/compatibility-for-firefox-46\/\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jorge Villalobos\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.mozilla.org\/addons\/2016\/02\/23\/compatibility-for-firefox-46\/\",\"url\":\"https:\/\/blog.mozilla.org\/addons\/2016\/02\/23\/compatibility-for-firefox-46\/\",\"name\":\"Add-on Compatibility for Firefox 46 - Mozilla Add-ons Community Blog\",\"isPartOf\":{\"@id\":\"https:\/\/blog.mozilla.org\/addons\/#website\"},\"datePublished\":\"2016-02-23T20:33:47+00:00\",\"dateModified\":\"2016-04-06T21:46:53+00:00\",\"author\":{\"@id\":\"https:\/\/blog.mozilla.org\/addons\/#\/schema\/person\/a098261b4b5510d408ff31f492606925\"},\"breadcrumb\":{\"@id\":\"https:\/\/blog.mozilla.org\/addons\/2016\/02\/23\/compatibility-for-firefox-46\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.mozilla.org\/addons\/2016\/02\/23\/compatibility-for-firefox-46\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.mozilla.org\/addons\/2016\/02\/23\/compatibility-for-firefox-46\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blog.mozilla.org\/addons\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Add-on Compatibility for Firefox 46\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.mozilla.org\/addons\/#website\",\"url\":\"https:\/\/blog.mozilla.org\/addons\/\",\"name\":\"Mozilla Add-ons Community Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.mozilla.org\/addons\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.mozilla.org\/addons\/#\/schema\/person\/a098261b4b5510d408ff31f492606925\",\"name\":\"Jorge Villalobos\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/blog.mozilla.org\/addons\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/6d1966118f16e4b99a6e3ad07883be33?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/6d1966118f16e4b99a6e3ad07883be33?s=96&d=mm&r=g\",\"caption\":\"Jorge Villalobos\"},\"description\":\"Jorge is the Product Manager for addons.mozilla.org\",\"url\":\"https:\/\/blog.mozilla.org\/addons\/author\/jvillalobosmozilla-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Add-on Compatibility for Firefox 46 - Mozilla Add-ons Community Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blog.mozilla.org\/addons\/2016\/02\/23\/compatibility-for-firefox-46\/","twitter_misc":{"Written by":"Jorge Villalobos","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/blog.mozilla.org\/addons\/2016\/02\/23\/compatibility-for-firefox-46\/","url":"https:\/\/blog.mozilla.org\/addons\/2016\/02\/23\/compatibility-for-firefox-46\/","name":"Add-on Compatibility for Firefox 46 - Mozilla Add-ons Community Blog","isPartOf":{"@id":"https:\/\/blog.mozilla.org\/addons\/#website"},"datePublished":"2016-02-23T20:33:47+00:00","dateModified":"2016-04-06T21:46:53+00:00","author":{"@id":"https:\/\/blog.mozilla.org\/addons\/#\/schema\/person\/a098261b4b5510d408ff31f492606925"},"breadcrumb":{"@id":"https:\/\/blog.mozilla.org\/addons\/2016\/02\/23\/compatibility-for-firefox-46\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.mozilla.org\/addons\/2016\/02\/23\/compatibility-for-firefox-46\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/blog.mozilla.org\/addons\/2016\/02\/23\/compatibility-for-firefox-46\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blog.mozilla.org\/addons\/"},{"@type":"ListItem","position":2,"name":"Add-on Compatibility for Firefox 46"}]},{"@type":"WebSite","@id":"https:\/\/blog.mozilla.org\/addons\/#website","url":"https:\/\/blog.mozilla.org\/addons\/","name":"Mozilla Add-ons Community Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.mozilla.org\/addons\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/blog.mozilla.org\/addons\/#\/schema\/person\/a098261b4b5510d408ff31f492606925","name":"Jorge Villalobos","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blog.mozilla.org\/addons\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6d1966118f16e4b99a6e3ad07883be33?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6d1966118f16e4b99a6e3ad07883be33?s=96&d=mm&r=g","caption":"Jorge Villalobos"},"description":"Jorge is the Product Manager for addons.mozilla.org","url":"https:\/\/blog.mozilla.org\/addons\/author\/jvillalobosmozilla-com\/"}]}},"_links":{"self":[{"href":"https:\/\/blog.mozilla.org\/addons\/wp-json\/wp\/v2\/posts\/7693"}],"collection":[{"href":"https:\/\/blog.mozilla.org\/addons\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.mozilla.org\/addons\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/addons\/wp-json\/wp\/v2\/users\/173"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/addons\/wp-json\/wp\/v2\/comments?post=7693"}],"version-history":[{"count":0,"href":"https:\/\/blog.mozilla.org\/addons\/wp-json\/wp\/v2\/posts\/7693\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.mozilla.org\/addons\/wp-json\/wp\/v2\/media?parent=7693"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mozilla.org\/addons\/wp-json\/wp\/v2\/categories?post=7693"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mozilla.org\/addons\/wp-json\/wp\/v2\/tags?post=7693"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}