files/en-us/mozilla/firefox/releases/10/updating_add-ons/index.md
Although a lot of things have changed in Firefox 10 that, in theory, can cause add-on compatibility breakage, most of them are relatively obscure, so they're not very likely to affect you. This article will help guide you as you update your add-on.
The first and most important thing to note is that starting in Firefox 10, add-ons are assumed to be compatible by default. Unless you use the <em:strictCompatibility> flag in your manifest, Firefox will no longer mark your add-on as incompatible after an upgrade to Firefox 10 or later. You can use that flag to ensure that an add-on that is likely to break will not try to run in updated copies of Firefox. It's worth noting that add-ons that have binary components will always be strictly checked for compatibility, since binary components always need to be recompiled for each major Firefox release.
[!NOTE] You should still test your add-on on Firefox 10, even in the world of compatibility by default. Read over the rest of this article to see if there's anything you need to change.
Some obsolete APIs have been removed from the DOM:
{{ domxref("Node.isSameNode()") }}
=== operator to compare nodes instead of this obsolete method. This method was made obsolete by the DOM4 specification.text.isElementContentWhitespace, text.replaceWholeText()
{{ domxref("Document.xmlEncoding") }}, {{ domxref("Document.xmlStandalone") }}, {{ domxref("Document.xmlVersion") }}
The most significant change is that everywhere that previously used the PRBool data type now uses the standard C++ bool type instead.
The following interfaces have been removed:
nsIDOMNSHTMLFrameElement
nsIDOMHTMLFrameElement interface.nsIDOMNSHTMLElement
nsIDOMHTMLElement.nsIDocumentViewer
nsIContentViewernsNavHistory no longer implements the nsICharsetResolver interface. Note that nsICharsetResolver is no longer used and is being removed in Firefox 11.0.mozISpellCheckingEngine and nsIEditorSpellCheck interfaces have been updated to let restartless add-ons add dictionaries to the spell checker. See Using an external spell checker for details (note this article has not yet been updated, but will be soon).nsIBrowserHistory.lastPageVisited attribute has been removed, as it hasn't been supported for some time.mouseenter and mouseleave events are now supported.