{"id":8905,"date":"2020-09-14T13:16:16","date_gmt":"2020-09-14T20:16:16","guid":{"rendered":"http:\/\/blog.mozilla.org\/addons\/?p=8905"},"modified":"2020-09-14T13:16:16","modified_gmt":"2020-09-14T20:16:16","slug":"extensions-in-firefox-81","status":"publish","type":"post","link":"https:\/\/blog.mozilla.org\/addons\/2020\/09\/14\/extensions-in-firefox-81\/","title":{"rendered":"Extensions in Firefox 81"},"content":{"rendered":"<p>In Firefox 81, we have improved error messages for extension developers and updated user-facing notifications\u00a0 to provide more information on how extensions are modifying their settings.<\/p>\n<p>For developers, the <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Mozilla\/Add-ons\/WebExtensions\/API\/menus\/create\">menus.create<\/a> API now provides more meaningful error messages when supplying invalid match or url patterns.\u00a0 This updated message should make it easier for developers to quickly identify and fix the error. In addition, <a href=\"https:\/\/wiki.developer.mozilla.org\/en-US\/docs\/Mozilla\/Add-ons\/WebExtensions\/API\/webNavigation\/getAllFrames\">webNavigation.getAllFrames<\/a> and <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Mozilla\/Add-ons\/WebExtensions\/API\/webNavigation\/getFrame\">webNavigation.getFrame<\/a> will return a promise resolved with null in case the tab is discarded, which is how these APIs behave in Chrome.<\/p>\n<p>For users, we\u2019ve added a notification when an add-on is controlling the \u201cAsk to save logins and passwords for websites\u201d setting, using the <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Mozilla\/Add-ons\/WebExtensions\/API\/privacy\/services\">privacy.services.passwordSavingEnabled<\/a> settings API. Users can see this notification in their preferences or by navigating to <code>about:preferences#privacy<\/code>.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter\" src=\"https:\/\/lh6.googleusercontent.com\/Sy7Q3cLUc8lkcMvj6HI1hUKA7dM0YjkZnlHkFxVM3UeNjmGUzAeqbxTDlDdL2rCdZgKNa9KCkbioBvo_rQSHWkTcnSoAUIyxeBa4z7kkghffAvwfseVFopCmnJ1KX-ZF8FatwLSI\" alt=\"https:\/\/lh6.googleusercontent.com\/Sy7Q3cLUc8lkcMvj6HI1hUKA7dM0YjkZnlHkFxVM3UeNjmGUzAeqbxTDlDdL2rCdZgKNa9KCkbioBvo_rQSHWkTcnSoAUIyxeBa4z7kkghffAvwfseVFopCmnJ1KX-ZF8FatwLSI\" width=\"561\" height=\"220\" \/><\/p>\n<p>Thank you <a href=\"https:\/\/mozillians.org\/en-US\/u\/deepika_karanji\/\">Deepika Karanji<\/a> for improving the error messages, and our WebExtensions and security engineering teams for making these changes possible. We\u2019re looking forward to seeing what is next for Firefox 82.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In Firefox 81, we have improved error messages for extension developers and updated user-facing notifications\u00a0 to provide more information on how extensions are modifying their settings. For developers, the menus.create &hellip; <a class=\"go\" href=\"https:\/\/blog.mozilla.org\/addons\/2020\/09\/14\/extensions-in-firefox-81\/\">Read more<\/a><\/p>\n","protected":false},"author":333,"featured_media":8750,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[44,227,278886],"tags":[278873,322934,278875,278871],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Extensions in Firefox 81 - 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\/2020\/09\/14\/extensions-in-firefox-81\/\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Philipp Kewisch\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.mozilla.org\/addons\/2020\/09\/14\/extensions-in-firefox-81\/\",\"url\":\"https:\/\/blog.mozilla.org\/addons\/2020\/09\/14\/extensions-in-firefox-81\/\",\"name\":\"Extensions in Firefox 81 - Mozilla Add-ons Community Blog\",\"isPartOf\":{\"@id\":\"https:\/\/blog.mozilla.org\/addons\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/blog.mozilla.org\/addons\/2020\/09\/14\/extensions-in-firefox-81\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/blog.mozilla.org\/addons\/2020\/09\/14\/extensions-in-firefox-81\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blog.mozilla.org\/addons\/files\/2019\/10\/Fx-Browser-icon-fullColor.png\",\"datePublished\":\"2020-09-14T20:16:16+00:00\",\"dateModified\":\"2020-09-14T20:16:16+00:00\",\"author\":{\"@id\":\"https:\/\/blog.mozilla.org\/addons\/#\/schema\/person\/86ecef4a5de728e6d3ffe72a25077a94\"},\"breadcrumb\":{\"@id\":\"https:\/\/blog.mozilla.org\/addons\/2020\/09\/14\/extensions-in-firefox-81\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.mozilla.org\/addons\/2020\/09\/14\/extensions-in-firefox-81\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/blog.mozilla.org\/addons\/2020\/09\/14\/extensions-in-firefox-81\/#primaryimage\",\"url\":\"https:\/\/blog.mozilla.org\/addons\/files\/2019\/10\/Fx-Browser-icon-fullColor.png\",\"contentUrl\":\"https:\/\/blog.mozilla.org\/addons\/files\/2019\/10\/Fx-Browser-icon-fullColor.png\",\"width\":2048,\"height\":2048,\"caption\":\"Firefox logo\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.mozilla.org\/addons\/2020\/09\/14\/extensions-in-firefox-81\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blog.mozilla.org\/addons\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Extensions in Firefox 81\"}]},{\"@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\/86ecef4a5de728e6d3ffe72a25077a94\",\"name\":\"Philipp Kewisch\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/blog.mozilla.org\/addons\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/c2d92d64a4b77306c45df1c9be647621?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/c2d92d64a4b77306c45df1c9be647621?s=96&d=mm&r=g\",\"caption\":\"Philipp Kewisch\"},\"description\":\"Twitter: @pkewisch\",\"sameAs\":[\"https:\/\/twitter.com\/pkewisch\",\"https:\/\/x.com\/pkewisch\"],\"url\":\"https:\/\/blog.mozilla.org\/addons\/author\/calendar\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Extensions in Firefox 81 - 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\/2020\/09\/14\/extensions-in-firefox-81\/","twitter_misc":{"Written by":"Philipp Kewisch","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/blog.mozilla.org\/addons\/2020\/09\/14\/extensions-in-firefox-81\/","url":"https:\/\/blog.mozilla.org\/addons\/2020\/09\/14\/extensions-in-firefox-81\/","name":"Extensions in Firefox 81 - Mozilla Add-ons Community Blog","isPartOf":{"@id":"https:\/\/blog.mozilla.org\/addons\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blog.mozilla.org\/addons\/2020\/09\/14\/extensions-in-firefox-81\/#primaryimage"},"image":{"@id":"https:\/\/blog.mozilla.org\/addons\/2020\/09\/14\/extensions-in-firefox-81\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.mozilla.org\/addons\/files\/2019\/10\/Fx-Browser-icon-fullColor.png","datePublished":"2020-09-14T20:16:16+00:00","dateModified":"2020-09-14T20:16:16+00:00","author":{"@id":"https:\/\/blog.mozilla.org\/addons\/#\/schema\/person\/86ecef4a5de728e6d3ffe72a25077a94"},"breadcrumb":{"@id":"https:\/\/blog.mozilla.org\/addons\/2020\/09\/14\/extensions-in-firefox-81\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.mozilla.org\/addons\/2020\/09\/14\/extensions-in-firefox-81\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blog.mozilla.org\/addons\/2020\/09\/14\/extensions-in-firefox-81\/#primaryimage","url":"https:\/\/blog.mozilla.org\/addons\/files\/2019\/10\/Fx-Browser-icon-fullColor.png","contentUrl":"https:\/\/blog.mozilla.org\/addons\/files\/2019\/10\/Fx-Browser-icon-fullColor.png","width":2048,"height":2048,"caption":"Firefox logo"},{"@type":"BreadcrumbList","@id":"https:\/\/blog.mozilla.org\/addons\/2020\/09\/14\/extensions-in-firefox-81\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blog.mozilla.org\/addons\/"},{"@type":"ListItem","position":2,"name":"Extensions in Firefox 81"}]},{"@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\/86ecef4a5de728e6d3ffe72a25077a94","name":"Philipp Kewisch","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blog.mozilla.org\/addons\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/c2d92d64a4b77306c45df1c9be647621?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c2d92d64a4b77306c45df1c9be647621?s=96&d=mm&r=g","caption":"Philipp Kewisch"},"description":"Twitter: @pkewisch","sameAs":["https:\/\/twitter.com\/pkewisch","https:\/\/x.com\/pkewisch"],"url":"https:\/\/blog.mozilla.org\/addons\/author\/calendar\/"}]}},"_links":{"self":[{"href":"https:\/\/blog.mozilla.org\/addons\/wp-json\/wp\/v2\/posts\/8905"}],"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\/333"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/addons\/wp-json\/wp\/v2\/comments?post=8905"}],"version-history":[{"count":0,"href":"https:\/\/blog.mozilla.org\/addons\/wp-json\/wp\/v2\/posts\/8905\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/addons\/wp-json\/wp\/v2\/media\/8750"}],"wp:attachment":[{"href":"https:\/\/blog.mozilla.org\/addons\/wp-json\/wp\/v2\/media?parent=8905"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mozilla.org\/addons\/wp-json\/wp\/v2\/categories?post=8905"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mozilla.org\/addons\/wp-json\/wp\/v2\/tags?post=8905"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}