Thunderbird/Add-ons Guide 63: Difference between revisions
(moz63 stringbundle) |
(Reshuffled completely based on current knowledge as of Dec. 2018) |
||
Line 1: | Line 1: | ||
<big>'''Add-ons Guide for Thunderbird 63 and beyond'''</big> | <big>'''Add-ons Guide for Thunderbird 63 and beyond'''</big> | ||
If you have programming questions or wish to discuss the future can be posted in the mozilla.dev.apps.thunderbird newsgroup, see [[Thunderbird/CommunicationChannels#If_you.27re_a_developer|Communication Channels]]. | |||
The | __TOC__ | ||
The following extension types are supported in from Thunderbird 63 and beyond: | |||
=== WebExtensions === | |||
WebExtensions with a manifest.json. The following WebExtension APIs are available in Thunderbird: | |||
* Tabs and Windows API, {{bug|1455471}}, TB 60 and TB 63+ | |||
* Address Book API, {{bug|1469238}}, TB 60 and TB 63+ | |||
* FileLink API, {{bug|1481052}}, TB 64+, will be in TB 60.4 | |||
* Toolbar buttons WebExtensions API, {{bug|1487008}}, TB 64+ | |||
* Folder tab (3-pane) API, {{bug|1499617}}, in preparation | |||
* Composition API, {{bug|1503423}}, in preparation | |||
* And more, check meta-{{bug|1396172}} | |||
WebExtension Experiments can be used for any API that is not yet provided. You can read more information at https://github.com/thundernest/tb-web-ext-experiments/ | |||
=== Bootstrapped extensions === | |||
Bootstrapped/restartless extensions with an install.rdf manifest. The code to handle bootstrapped extension and install.rdf has been moved to comm-central in {{bug|1510097}} and should be stable now. Important: Bootstrapped legacy extensions continue to work without a manifest.json file and will in fact break if you add that file. | |||
=== "Legacy" XUL extensions with overlays === | |||
"Legacy" XUL extensions with overlays are still "somewhat" supported in Thunderbird 63 and beyond. An inbuilt overlay loader will load XUL overlays for extensions but may cause graphical glitches or malfunctions. We're tracking this in {{bug|1476259}}. | |||
To use this overlay loader, XUL overlay legacy extensions must replace install.rdf file with a WebExtensions style manifest.json file, which includes the key "legacy" set to true. See Lightning as an example:<br />https://hg.mozilla.org/comm-central/rev/e81f4b59a00a7d3e18d50fd3851ecbd47762a186#l2.5 <small>(Note: In this changeset the @variables@ are build variables, add-ons need to use fixed strings)</small>.<br /> | |||
<br | |||
Examples of extensions converted to this type include "Lightning", "Compact Header", "Signature Switch" and "ThunderHTMLedit" (as of 3rd December 2018). | |||
== Removed in Thunderbird == | == Removed in Thunderbird == |
Revision as of 15:45, 3 December 2018
Add-ons Guide for Thunderbird 63 and beyond
If you have programming questions or wish to discuss the future can be posted in the mozilla.dev.apps.thunderbird newsgroup, see Communication Channels.
The following extension types are supported in from Thunderbird 63 and beyond:
WebExtensions
WebExtensions with a manifest.json. The following WebExtension APIs are available in Thunderbird:
- Tabs and Windows API, bug 1455471, TB 60 and TB 63+
- Address Book API, bug 1469238, TB 60 and TB 63+
- FileLink API, bug 1481052, TB 64+, will be in TB 60.4
- Toolbar buttons WebExtensions API, bug 1487008, TB 64+
- Folder tab (3-pane) API, bug 1499617, in preparation
- Composition API, bug 1503423, in preparation
- And more, check meta-bug 1396172
WebExtension Experiments can be used for any API that is not yet provided. You can read more information at https://github.com/thundernest/tb-web-ext-experiments/
Bootstrapped extensions
Bootstrapped/restartless extensions with an install.rdf manifest. The code to handle bootstrapped extension and install.rdf has been moved to comm-central in bug 1510097 and should be stable now. Important: Bootstrapped legacy extensions continue to work without a manifest.json file and will in fact break if you add that file.
"Legacy" XUL extensions with overlays
"Legacy" XUL extensions with overlays are still "somewhat" supported in Thunderbird 63 and beyond. An inbuilt overlay loader will load XUL overlays for extensions but may cause graphical glitches or malfunctions. We're tracking this in bug 1476259.
To use this overlay loader, XUL overlay legacy extensions must replace install.rdf file with a WebExtensions style manifest.json file, which includes the key "legacy" set to true. See Lightning as an example:
https://hg.mozilla.org/comm-central/rev/e81f4b59a00a7d3e18d50fd3851ecbd47762a186#l2.5 (Note: In this changeset the @variables@ are build variables, add-ons need to use fixed strings).
Examples of extensions converted to this type include "Lightning", "Compact Header", "Signature Switch" and "ThunderHTMLedit" (as of 3rd December 2018).
Removed in Thunderbird
From Thunderbird version 60, overlays have been progressively removed, in version 63 there are no overlays left in Thunderbird. Due to Thunderbird's own overlay loader, XUL add-ons can still use overlays, but they can of course not overlay the removed Thunderbird overlays any more. For example, if you add-on overlaid mailWindowOverlay.xul, that needs to be changed; in this example you most likely need to overlay messenger.xul now.
Removed in mozilla61
- insertItemAt and removeItemAt methods from XUL elements. -- Replacement: insertBefore and remove.
- temporary workaround, .setUnsafeInnerHTML or |document.allowUnsafeHTML = true;|, see here.
Removed in mozilla63
- XUL element listbox together with listboxitem and listcell. -- Replacement: richlistbox.
- XUL stringbundleset/stringbundle -- Replacement: Services.strings.createBundle(..)