Firefox 28 will be released on March 18th. Here’s the list of changes that went into this version that can affect add-on compatibility. There is more information available in Firefox 28 for Developers, so you should read that too.
Global variables with the same name as window properties can’t accessed. If you define a global in theAs always, we recommend good namespacing when defining globals. Update: this was backed out but will probably be back in the future.
windowscope that has the same name as a
name), you will run into this bug. This was caused by bug 932322.
- Remove superfluous __SS_tabStillLoading property. This temporary property is used by a couple of add-ons but is going away. The bug includes possible alternatives.
- Warn for showModalDialog uses. This only introduces a console warning, but you should keep in mind that this is deprecated now.
removeDir()doesn’t default to
true. This is in the OS.File library, in case you use it.
- Rework DeferredTask to allow asynchronous tasks. This only affects you if you use the relatively new DeferredTask module.
- [Session Restore] Remove synchronous start up fallback.
- Profile local data dir (ProfLD / NS_APP_USER_PROFILE_LOCAL_50_DIR) is incorrect for a newly created profile. This is a very old bug, but it might make you happy to see it fixed.
console.assert. A new logging option that takes an assertion as first argument and the log message as second argument.
- Introduce a common JS Assert library. This introduces a new JS module that implements the CommonJS Unit Testing specification.
- Introduce Session Restore API for global data. This introduces a non-window, non-tab specific session store.
Please let me know in the comments if there’s anything missing or incorrect on these lists. If your add-on breaks on Firefox 28, I’d like to know.
The automatic compatibility validation and upgrade for add-ons on AMO will happen soon, so keep an eye on your email if you have an add-on listed on our site with its compatibility set to Firefox 27.