Add-ons Blog

Background Themes have moved to AMO!

The move from getpersonas.com to addons.mozilla.org (AMO) is complete. If you have new themes piling up over the past two weeks, we have good news—you can submit them now! As one of the first to check out the results of the migration, please let us know in our forums if you run into any issues. We’re aware that there are still some kinks to work out, so please bear with us!

If you had a getpersonas account only, or had both getpersonas and AMO accounts and made sure your email addresses matched prior to the migration, you should be able to log in using the same credentials.

On your profile page, you will see any themes you designed previously under “Themes I’ve Created”. On the detail page of a theme you created, you will see an Edit button that will take you to a page with your editing options. You can also go to the Manage My Add-ons page to see a list of themes (and add-ons) you’ve created, along with helpful links to manage them.

To see your Favorites collection, click on My Favorites from the menu at the top.

favs

If you are using the Personas Plus add-on, we’ve updated it to work with AMO; however, due to resource constraints we kept only the most popular features (e.g. local themes and rotating themes), and dropped some of the browsing features. If you are using Personas Rotator, please note that it will not work until the developer has updated it for AMO.

If you’re new to themes and would like to try your hand at creating some, take a look at the tutorial!

Have fun!

Jetpack Project: weekly update for April 09, 2013

Project News

Help out Jetpack by using Stack Overflow! You may not be aware, but one of the most common sites where people ask questions about the Add-on SDK is actually on Stackoverflow.com. Questions are marked with the [firefox-addon-sdk] tag, and several new ones appear each week. While you are there, you should also check out the many questions tagged with [firefox-addon] as well. If you’ve got questions about add-on development yourself or don’t mind helping others, Stack Overflow is a great place to contribute.

Quick Stats

Note: the stats above are based on the queries I linked to for each item. If you have suggestions on how these queries might be made more accurate,please comment below. Stats generated at 2013-04-09 08:23:50 PDT

Meeting Brief

  • we’ve landed the final work to make Panels work with per-Window private browsing, to be released in Firefox 22.
  • we’re close to landing platform support for cross-domain xhr in content scripts
  • the Firefox team dropped by to talk about collaborating on new Add-on friendly features in Australis.

Full minutes are available here:
https://wiki.mozilla.org/Jetpack/Weekly_Meeting/2013-04-09#Minutes

Add-ons Update – Week of 2013/04/03

I post these updates every 3 weeks to inform add-on developers about the status of the review queues, add-on compatibility, and other happenings in the add-ons world.

The Review Queues

  • Most nominations for full review are taking less than 3 weeks to review.
  • Most updates are being reviewed within 2 weeks.
  • Most preliminary reviews are being reviewed within 2 weeks.

These stats are taken from the last queue report:

  • 68 nominations in the queue awaiting review.
  • 78 updates in the queue awaiting review.
  • 89 preliminary review submissions in the queue awaiting review.

Our new reviewer incentives program has become a great motivator for our review team. If you’re an add-on developer, please consider joining us. Add-on reviewers get invited to Mozilla events and earn cool gear with their work. Visit our wiki page for more information.

Firefox 20 Compatibility

The compatibility blog post for Firefox 20 was already posted, and the the compatibility bump for AMO add-ons was run. Keep in mind that major changes happened for Private Browsing Mode and the Download UI in this release.

Jetpack Project: weekly update for April 02, 2013

Project News

After last Tuesday’s release of Add-on SDK 1.14, we updated you on Wednesday about changes in console.log behaviour, and then again on Thursday once we’d updated the AMO Validator and Add-on Builder sites to correctly support SDK 1.14. The current status is that we’re tracking a bug in the AMO validator which produces two erroneous warnings from add-ons packed with SDK 1.14. We expect the validator will be updated to fix this on Thursday afternoon ( PST ).

Quick Stats

Note: the stats above are based on the queries I linked to for each item. If you have suggestions on how these queries might be made more accurate,please comment below. Stats generated at 2013-04-02 11:39:07 PDT

Meeting Brief

  • High priority: Irakli is closing out Panels support for Fx22, cross-domain work is moving ahead, other items are on track.
  • SDK: Wes proposes new Firefox-version-centric tagging scheme for > 1.14.
  • Roundtable: dcamp is changing the devtools to use Jetpack’s loader, is looking for alternatives to his chrome url hack

Full minutes are available here:
https://wiki.mozilla.org/Jetpack/Weekly_Meeting/2013-04-02#Minutes

Add-on SDK 1.14 now available on Add-on Builder

As you probably know, Add-on SDK 1.14 was released on Tuesday. I’m pleased to also announce that Add-on Builder has been updated to support SDK 1.14. As well, the AMO Add-on Validator has also been updated to support SDK 1.14.

The one caveat with using Add-on Builder with SDK 1.14 is that the behaviour of console.log changed. If you rely on the Error Console window to view messages from console.log, you have two options:

  1. Change all calls to console.log to console.error, which will print out scary looking red messages in the Error Console’s ‘Errors’ tab
  2. Follow the instructions detailed in my blog post from yesterday to ensure that any calls in your add-on code to appear as they previously did in the ‘Messages’ tab of the Error Console window.

We’ve logged a bug to improve this experience via an update to the Add-on Builder Helper add-on so this will not be an issue in the future.

Changes to console.log behaviour in SDK 1.14

One change in SDK 1.14 that has already surprised some people in the community is a change in the visibility of messages printed from console.log.

In 1.14 we added some additional features to the console API and also set the default log level to “error” instead of “info” for add-ons installed into Firefox via the Add-on Manager and Add-on Builder Helper as well as tools like the Extension Auto-installer.

An unfortunate side-effect is that by default, developers using these tools will no longer see messages from console.log() in the jsconsole window.

We have provided the ability for developers to set preferences to control logging behavior both globally and for a specific add-on, and by setting one of these preferences you can override the default.

Logging levels

The console module now defines a range of logging levels:

  1. all: log calls to any console method
  2. debug: log calls to debug(), log(), info(), warn(), error()
  3. info: log calls to log(), info(), warn(), error()
  4. warn: log calls to warn() and error()
  5. error: log calls to error()
  6. off: log nothing

New Preferences

We have defined two new preferences, which set the logging level either globally for all SDK add-ons, or for a specific SDK add-on:

extensions.sdk.console.logLevel: this preference can be added to about:config to change the logging level of all installed SDK-based add-ons.

extensions.[extension-id].sdk.console.logLevel: this preference can be added to about:config to change the logging level of a specific add-on. This preference overrides the global preference.

The value for each preference is the desired logging level, given as a string. If neither preference is set, the logging level defaults to “error”.

Restoring the old behavior

If you want to restore the previous behavior in which console.log messages are visible in the error log, please do the following:

  1. open about:config
  2. right-click and select New -> String
  3. for the preference name, enter ‘extensions.sdk.console.logLevel’
  4. for the preference value, enter ‘all’
  5. restart Firefox

Here is a screenshot of what the result should look like:

about_config

Getpersonas.com is becoming read-only

We’re in the final stretch of the migration from getpersonas.com to AMO! On Thursday, 3/28 at approximately 2pm PDT, getpersonas.com will become read-only—this means you won’t be able to create an account or log in. It also means you won’t be able to submit any new themes until the migration is complete, in about 1-2 weeks.

Once the migration is done, traffic to getpersonas.com will be redirected to addons.mozilla.org/firefox/themes/, and you will be able to create accounts, log in, and submit new themes from there.

Thanks for your patience and understanding!

Jetpack Project: weekly update for March 26, 2013

Project News

The Jetpack team released Add-on SDK 1.14 a few hours ago! This is a huge step on our journey towards integrating Jetpack with Firefox.

Quick Stats

Note: the stats above are based on the queries I linked to for each item. If you have suggestions on how these queries might be made more accurate,please comment below. Stats generated at 2013-03-26 09:31:12 PDT

Meeting Brief

  • High Priority work: need to scope further PWPB work, gabor has nearly landed cross-domain content script support, panel positioning looks good to land this week, and discussion of next quarters batch of high-priority work.
  • SDK: we’re shipping software, also the tree is orange! On different branches, thankfully.
  • Roundtable: discussion on how to handle target releases for cfx vs the SDK apis now that we’ve landed. Looks like we should create a ‘cfx’ bug component.

Full minutes are available here:
https://wiki.mozilla.org/Jetpack/Weekly_Meeting/2013-03-26#Minutes

Announcing Add-on SDK 1.14!

I’m terribly pleased to announce the release of Add-on SDK 1.14! You can download the SDK directly in either zip or tarball format.

As I’ve written previously, SDK 1.14 will be the last release of the SDK to include the SDK APIs. Once Firefox 21 ships the version of Firefox you are using will always have the latest and greatest version of the SDK apis. What is more, add-ons packed with Add-on SDK 1.14 will always prefer the APIs embedded in Firefox if they exist, providing a forward-compatibility benefit to developers.

We are working to update Add-on Builder and the Add-on validator on AMO within the next couple of days so that they properly support 1.14. I’ll update the mailing list and twitter once this work has been completed.

What’s new?

  • Initial support for Per-window Private Browsing. Firefox 20 replaces the existing private browsing ‘mode’ with an new feature that allows users to open private windows. A significant amount of work has been done to make this work for SDK-based add-ons.
  • Unique tab ids on both Android and Desktop Firefox, for easier tracking of specific tabs.

You’ll find much more detail about SDK 1.14 in the release notes.

Some interesting stats about this release ( from the Github history between the 1.13.2 & 1.14 tags ):

  • 329 changes in 117 pull requests between tags 1.13.2 and 1.14
  • Special thanks to our community contributors Brett Zamir, Cykesiopka, Dan Stevens, Dương, H. Nguyễn, Gregg Lind, Marc Chevrier and slash_at_ac.auone-net.jp

As always, we’d love to hear from you about your experiences with this release. You can contact us in a variety of ways:

post to our discussion group
chat with us on irc.mozilla.org #jetpack
report a bug
check out the source and contribute bug fixes, enhancements, or documentation

For more information on the Jetpack Project check out our wiki.

Add-on Compatibility for Firefox 20

Firefox 20 will be released on April 2nd. Here’s the list of changes that went into this version that can affect add-on compatibility. There is more information available in Firefox 20 for Developers, so you should read that too.

General

Private Browsing

Private Browsing Mode is changing to support private and non-private windows opened at the same time. This means that many XPCOM interfaces and other functions are changing to support it.

  • Remove the global private browsing service. This removes nsIPrivateBrowsingService for all practical services. The interface is still there for backward compatibility purposes, but it’s completely empty, along with its observer notifications: private-browsing, private-browsing-transition-complete, private-browsing-cancel-vote, private-browsing-change-granted.

There’s more information about the new private browsing in these docs: Supporting PBM, and Updating add-ons broken by PB changes.

XPCOM

New!

Please let me know in the comments if there’s anything missing or incorrect on these lists. If your add-on breaks on Firefox 20, I’d like to know.

The automatic compatibility validation and upgrade for add-ons on AMO will happen very soon, so check your email if you have an add-on listed on AMO.