Changes up to Thunderbird 115 ESR
Thunderbird 106 Beta
browserAction API
Introduced a
default_windows
manifest property, to allow a browserAction buttons to be displayed in stand alone message windows.
commands API
Added the
tab
parameter to onCommand, to get information about the active tab, when a command occurs.
compose API
Added onAfterSave event, to be notified when saving a message as a draft or a template succeeded or failed.
Added onAfterSend event, to be notified when sending a message succeeded or failed.
contacts API
Added getPhoto(id) to be able to retrieve the photo of a contact.
mailTabs API
messages API
Added the
message
member to the MessageAttachment type, to provide access to attached messages.Added the
external
member to the MessageHeader type, to indicate if a message is an external message, not stored in a message folder (message attachments or messages opened from file).Added the
new
member to the MessageHeader type, to indicate if a message has been received recently and is marked as new.Added import(file, destination, [properties]) to import messages into Thunderbird (currently only supported for local folders).
Renamed
MessageChangeProperties
to MessageProperties, as it is now also used by import(file, destination, [properties]), to define the properties of the imported message.Added the
new
member to the MessageProperties type (currently only supported by import(file, destination, [properties])).
messageDisplay API
Fixed onMessageDisplayed to be triggered for external messages.
Thunderbird 107 Beta
contacts API
Added setPhoto(id, file) to be able to set the photo of a contact.
Thunderbird 111 Beta
messageDisplay API
Improved open(openProperties) to honour the
location
property also for external messages. They can now also be opened in tabs.
protocol_handler API
Fix Thunderbird to properly support the protocol_handlers API.
windows API
Fix create([createData]) to properly support
top
andleft
properties.Fix
beforeunload
event not fired in popup windows. Note: There must have been some sort of interaction with the window (for example a mouse click into the window), for this event to be fired when the window is closed.
Thunderbird 113 Beta
action APIs
Removed the user input requirement from openPopup([options]), openPopup([options]) and openPopup([options]). Also added support for the
windowId
property, to open the popup of a specific window. Furthermore,openPopup()
now returns a boolean value, indicating whether opening of the popup has failed, because the action button or the entire toolbar has been removed by the user.Fixed the annoying issue on MacOS, where the popup was opened empty after the second time it was opened. A big shout out to Arnd Issler for helping to track this down.
Added
allowed_spaces
manifest entry, to let extensions define in which space the action button should be allowed in.
compose API
Fix compose API to no longer clear all (!) headers, if setComposeDetails(tabId, details) is used to update the non-standard
X-
headers.
protocol_handler API
Add support for WebExtension defined protocols to be accepted as command line arguments. More details can be found in the bug.
Thunderbird 115.0 ESR
WebExtensions usually are not reviewed when submitted but instead are made available instantly. The WebExtension permission system should guard against malicious actors. However, the data available to extensions is very sensitive and if a user granted access to messages and contacts he mostly assumes the data is only used locally. Extensions however, can unknowingly send this data to remote servers. We therefore started to enforce review of all extensions, which request sensitive permissions like
or . We also introduce an additional permission, which allows to by-pass this human review, but prompts the user for the following permission: Transfer sensitive user data (if access has been granted) to a remote server for further processing.If an extension is not requesting that permission, but a reviewer concludes that it is indeed sending data to a remote server not under the control of the user, the reviewer may request the permission to be added.
browserAction API
Deprecate the
default_area
manifest entry in favour of the recently addedallowed_spaces
manifest entry.Add support for the
type
manifest entry to define amenu
button, whose menu entries can be controlled through the menus API and a newbrowser_action_menu
context.
addressBooks API
commands API
Add the onChanged event to be notified when a command shortcut has been changed.
compose API
Add support for the
type
manifest entry to define amenu
button, whose menu entries can be controlled through the menus API and a newcompose_action_menu
context.
messages API
The
queryInfo
parameter for query([queryInfo]) is now optional.Added openAttachment(messageId, partName, tabId) to open message attachments with the registered application. A big thank you to Mark Banner.
Add support for the
type
manifest entry to define amenu
button, whose menu entries can be controlled through the menus API and a newmessage_display_action_menu
context.
messageDisplay API
Added support for open(openProperties) to open messages from a DOM File object.
sessions API
Add a first simple version of the sessions API to allow extensions to store tab related session data, which is restored on app restart.
spaces API
Add spaces API which supersedes the spacesToolbar API and allows to manage built-in and custom spaces.
spacesToolbar API
Add clickButton(id, [windowId]) to trigger a click on the button of a space in the spaces toolbar. In Manifest V3 the button-centric
spacesToolbar API
was removed and replaced by the space-centricspaces API
, where the corresponding method is named spaces.open().
tabs API
The
queryInfo
parameter for query([queryInfo]) is now optional.Add a
spaceId
member to the Tab type.Add a
cookieStoreId
member to the Tab type. A big thank you to Neil Rashbrook.Add support for the
previousTabId
parameter to the onActivated event.Changed handling of URLs in update([tabId], updateProperties): If the URL points to a content page (a web page, an extension page or a registered WebExtension protocol handler page), the tab will navigate to the requested page. All other URLs will be opened externally without changing the tab. Note: The function will throw an error, if a content page is loaded into a non-content tab (its type must be either content or mail).
Thunderbird 115.3.2 ESR
messages API
Backported the optional
data_format
parameter to getRaw(messageId, [options]) to request the message as a DOMFile
object.