Changelog for Thunderbird 102.0

The following WebExtension API changes were introduced in Thunderbird 102.0.

accounts

api accounts
  • event onCreated — Fired when a new account has been created.

  • event onDeleted — Fired when an account has been removed.

  • event onUpdated — Fired when a property of an account has been modified. Folders and identities of accounts are not monitored by this event, use the dedicated folder and identity events instead. A changed defaultIdentity is reported only after a different identity has been assigned as default identity, but not after a property of the default identity has been changed.

browserSettings

  • setting overrideContentColorScheme — This setting controls whether a light or dark color scheme overrides the page’s preferred color scheme.

cloudFile

api cloudFile
  • event onFileRename — Fired when a previously uploaded file should be renamed.

  • event onFileUpload.relatedFileInfo — Information about an already uploaded file, which is related to this upload.

  • type CloudFileTemplateInfo.download_expiry_date — If set, the cloud file entry for this upload will include a hint, that the link will only be available for a limited time.

  • type CloudFileTemplateInfo.download_limit — If set, the cloud file entry for this upload will include a hint, that the file has a download limit.

  • type CloudFileTemplateInfo.download_password_protected — If set to true, the cloud file entry for this upload will include a hint, that the download link is password protected.

  • type RelatedCloudFile — Information about an already uploaded cloud file, which is related to a new upload. For example if the content of a cloud attachment is updated, if a repeatedly used cloud attachment is renamed (and therefore should be re-uploaded to not invalidate existing links) or if the provider has its manifest property reuse_uploads set to false.

  • property cloud_file.reuse_uploads — If a previously uploaded cloud file attachment is reused at a later time in a different message, Thunderbird may use the already known url and templateInfo values without triggering the registered cloudFile.onFileUpload listener again. Setting this option to false will always trigger the registered listener, providing the already known values through the relatedFileInfo parameter of the cloudFile.onFileUpload event, to let the provider decide how to handle these cases.

commands

api commands

Use the commands API to add keyboard shortcuts that trigger actions in your extension, for example opening one of the action popups or sending a command to the extension.

  • property commands — A dictionary object defining one or more commands as name-value pairs, the name being the name of the command and the value being a CommandsShortcut.

compose

api compose
  • function getActiveDictionaries — Returns a compose.ComposeDictionaries object, listing all installed dictionaries, including the information whether they are currently enabled or not.

  • function getAttachmentFile — Gets the content of a compose.ComposeAttachment as a File object.

  • function saveMessage — Saves the message currently being composed as a draft or as a template. If the save mode is not specified, the message will be saved as a draft. The returned Promise fulfills once the message has been successfully saved.

  • function setActiveDictionaries — Updates the active dictionaries. Throws if the activeDictionaries array contains unknown or invalid language identifiers.

  • event onActiveDictionariesChanged — Fired when one or more dictionaries have been activated or deactivated.

  • type ComposeDetails.attachVCard — Whether or not the vCard of the used identity will be attached to the message during send.

  • type ComposeDetails.customHeaders — Array of custom headers. Headers will be returned in Http-Header-Case (a.k.a. Train-Case). Set an empty array to clear all custom headers.

  • type ComposeDetails.deliveryFormat — Defines the MIME format of the sent message (ignored on plain text messages). Defaults to auto, which will send html messages as plain text, if they do not include any formatting, and as both otherwise (a multipart/mixed message).

  • type ComposeDetails.deliveryStatusNotification — Let the sender know when the recipient’s server received the message. Not supported by all servers.

  • type ComposeDetails.priority — The priority of the message.

  • type ComposeDetails.returnReceipt — Add the Disposition-Notification-To header to the message to requests the recipients email client to send a reply once the message has been received. Recipient server may strip the header and the recipient might ignore the request.

  • type ComposeDictionaries — A dictionary object with entries for all installed dictionaries, having a language identifier as key (for example en-US) and a boolean expression as value, indicating whether that dictionary is enabled for spellchecking or not.

  • type CustomHeader — A custom header definition.

  • type FileAttachment — Object used to add, update or rename an attachment in a message being composed.

cookies

api cookies
  • type Cookie.partitionKey — The cookie’s storage partition, if any. null if not partitioned.

downloads

api downloads

messageDisplay

  • function open — Opens a message in a new tab or in a new window.

messages

api messages
  • type MessageAttachment — Represents an attachment in a message.

  • type MessageHeader.headersOnly — Some account types (for example pop3) allow to download only the headers of the message, but not its body. The body of such messages will not be available.

privacy.network

  • setting globalPrivacyControl — Allow users to query the status of ‘Global Privacy Control’. This setting’s value is of type boolean, defaulting to false.

runtime

api runtime
  • function getFrameId — Get the frameId of any window global or frame element.

  • event onSuspend — Sent to the event page just before it is unloaded. This gives the extension opportunity to do some clean up. Note that since the page is unloading, any asynchronous operations started while handling this event are not guaranteed to complete. If more activity for the event page occurs before it gets unloaded the onSuspendCanceled event will be sent and the page won’t be unloaded.

  • event onSuspendCanceled — Sent after onSuspend to indicate that the app won’t be unloaded after all.

scripting

api scripting

Use the scripting API to execute script in different contexts.

storage

api storage
  • type StorageArea.onChanged — Fired when one or more items change.

theme

api theme