Changelog for Thunderbird 128.0

The following WebExtension API changes were introduced in Thunderbird 128.0.

accounts

api accounts

action

api action
  • function getBadgeTextColor — Gets the text color of the badge.

  • function setBadgeTextColor — Sets the text color for the badge.

  • property action.default_area — Defines the location the action button will appear. Deprecated and ignored. Replaced by allowed_spaces

addressBooks.contacts

The contacts API allows to access and manage the user’s contacts.

addressBooks.mailingLists

The mailingLists API allows to access and manage the user’s mailing lists.

compose

api compose
  • type ComposeDetails.additionalFccFolderId — An additional fcc folder which can be selected while composing the message. Cleared when set to null. The permission accountsRead is required to use this property.

  • type ComposeDetails.attachPublicPGPKey — Whether the public OpenPGP key of the sending identity should be attached to the message.

  • type ComposeDetails.isModified — Whether the composer is considered modified by the user. A modified composer asks for confirmation, when it is closed.

  • type ComposeDetails.overrideDefaultFccFolderId — This value overrides the default fcc setting (defined by the used identity) for this message only. Either a folders.MailFolderId specifying the folder for the copy of the sent message, or an empty string to not save a copy at all. Reset when set to null. The permission accountsRead is required to use this property.

  • type ComposeDetails.selectedEncryptionTechnology — The selected encryption technology (OpenPGP or S/MIME) which is to be used to sign and/or encrypt the message. If the sending identity does not support encryption at all, this will be undefined.

  • type ComposeRecipient.nodeId — The ID of a contact or mailing list node from the ../addressBook.contacts or ../addressBook.mailingLists.

composeAction

contextualIdentities

  • function move — Reorder one or more contextual identities by their cookieStoreIDs to a given position.

declarativeNetRequest

  • function getDisabledRuleIds — Returns the list of individual disabled static rules from a given static ruleset id.

  • function getDynamicRules.filter — An object to filter the set of dynamic rules for the extension.

  • function getSessionRules.filter — An object to filter the set of session scoped rules for the extension.

  • function updateStaticRules — Modified individual static rules enabled/disabled state. Changes to rules belonging to a disabled ruleset will take effect when the ruleset becomes enabled.

  • property MAX_NUMBER_OF_DISABLED_STATIC_RULES — The maximum number of static rules that can be disabled on each static ruleset.

  • property MAX_NUMBER_OF_DYNAMIC_RULES — The maximum number of dynamic session rules an extension can add.

  • property MAX_NUMBER_OF_SESSION_RULES — The maximum number of dynamic session rules an extension can add.

folders

api folders
  • function get — Returns the specified folder.

  • function getFolderCapabilities — Get capability information about a folder.

  • function getTagFolder — Get one of the special virtual tag folders, which are virtual search folders and group messages from all mail accounts based on their tags. Throws if the requested folder does not exist.

  • function getUnifiedFolder — Get one of the special unified mailbox folders, which are virtual search folders and return the content from all mail accounts. Throws if the requested folder does not exist.

  • function markAsRead — Marks all messages in a folder as read.

  • function query — Gets folders that match the specified properties, or all folders if no properties are specified.

  • function update — Updates properties of a folder.

  • event onUpdated — Fired when properties of a folder have changed (specialUse and isFavorite).

  • type MailFolder.id — An identifier for the folder.

  • type MailFolder.isFavorite — Whether this folder is a favorite folder.

  • type MailFolder.isRoot — Whether this folder is a root folder.

  • type MailFolder.isTag — Whether this folder is a virtual tag folder.

  • type MailFolder.isUnified — Whether this folder is a unified mailbox folder.

  • type MailFolder.isVirtual — Whether this folder is a virtual search folder.

  • type MailFolder.specialUse — The special use of this folder. A folder can have multiple special uses.

  • type MailFolderCapabilities — An object containing capability information about a folder.

  • type MailFolderId — A unique id representing a folders.MailFolder throughout a session. Renaming or moving a folder will invalidate its id.

  • type MailFolderInfo.lastUsed — Date the folder was last used. It is updated every time the folder was accessed, when the user moved or copied messages into the folder and when the folder received new messages. (precision: seconds).

  • type MailFolderInfo.newMessageCount — Number of new messages in this folder.

  • type MailFolderInfo.quota — Quota information, if available.

  • type MailFolderQuota — An object containing quota information.

  • type MailFolderSpecialUse — Supported values for the special use of a folder.

  • type QueryRange — An object defining a range for an integer value to be used in queries.

  • property DEFAULT_MOST_RECENT_LIMIT — The number of most recent folders used in Thunderbird’s UI. Controlled by the mail.folder_widget.max_recent preference.

identities

mailTabs

api mailTabs
  • function create — Creates a new mail tab. Standard tab properties can be adjusted via tabs.update after the mail tab has been created. A new mail window can be created via windows.create.

  • function getListedMessages — Lists the messages in the current view, honoring sort order and filters.

  • function getSelectedFolders — Lists the selected folders in the folder pane. Does not include folders which are context-clicked, but not selected. The context-clicked folders are always returned by the menus.onClicked event of the menus API.

  • type FolderMode — A supported folder mode in the folder pane.

  • type MailTab.folderMode — The folder mode of the currently displayed folder.

  • type MailTab.folderModesEnabled — The enabled folder modes in the folder pane, and their sort order.

  • type MailTab.groupType — Grouping type of the message list.

messageDisplayAction

messages

api messages
  • function abortList — Finalizes the specified list and terminates any process currently still adding messages.

  • function deleteAttachments — Deletes the specified attachments and replaces them by placeholder text attachments with meta information about the original attachments and a text/x-moz-deleted content type. This permanently modifies the message.

  • function getFull.options.decrypt — Whether the message should be decrypted. If the message could not be decrypted, its parts are omitted. Defaults to true.

  • function getRaw.options.decrypt — Whether the message should be decrypted. Throws, if the message could not be decrypted.

  • function listInlineTextParts — Lists all inline text parts of a message. These parts are not returned by messages.listAttachments and usually make up the readable content of the message, mostly with content type text/plain or text/html. If a message only includes a part with content type text/html, the method messengerUtilities.convertToPlainText can be used to retreive a plain text version.

  • function query.queryInfo.accountId — Limits the search to the specified account(s). Accounts are searched in the specified order.

  • function query.queryInfo.autoPaginationTimeout — Set the timeout in ms after which results should be returned, even if the nominal number of messages-per-page has not yet been reached. Defaults to 1000 ms. Setting it to 0 will disable auto-pagination.

  • function query.queryInfo.folderId — Limits the search to the specified folder(s). Folders are searched in the specified order. The accountsRead permission is required.

  • function query.queryInfo.junk — Returns only messages whith the specified junk state.

  • function query.queryInfo.junkScore — Returns only messages with a junk score in the specified range.

  • function query.queryInfo.messagesPerPage — Set the nominal number of messages-per-page for this query. Defaults to 100 messages.

  • function query.queryInfo.new — Returns only messages with the specified new state.

  • function query.queryInfo.read — Returns only messages with the specified read state.

  • function query.queryInfo.returnMessageListId — The messageListId is usually returned together with the first page, after some messages have been found. Enabling this option will change the return value of this function and return the messageListId directly.

  • function query.queryInfo.size — Returns only messages with a size in the specified byte range.

  • type InlineTextPart — An inline part with content type text/*. These parts are not returned by messages.listAttachments and usually make up the readable content of the message, mostly with content type text/plain or text/html

  • type MessageAttachment.contentId — The content-id of this part. Available for related parts, which are referenced from other places inside the same message (e.g. inline images).

  • type MessageId — A unique id representing a messages.MessageHeader and the associated message. This id doesn’t refer to the Message-ID email header. It is an internal tracking number that does not remain after a restart. Nor does it follow an email that has been moved to a different folder.

  • type MessagePart.decryptionStatus — The decryption status, only available for the root part.

  • type QueryRange — An object defining a range.

messages.tags

The messages.tags API allows to manage the user’s message tags.

runtime

api runtime
  • function getContexts — Fetches information about active contexts associated with this extension

  • event onPerformanceWarning — Fired when a runtime performance issue is detected with the extension. Observe this event to be proactively notified of runtime performance problems with the extension.

  • type OnPerformanceWarningCategory — The performance warning event category, e.g. ‘content_script’.

  • type OnPerformanceWarningSeverity — The performance warning event severity. Will be ‘high’ for serious and user-visible issues.

scripting

api scripting
  • type RegisteredContentScript.matchOriginAsFallback — If matchOriginAsFallback is true, then the code is also injected in about:, data:, blob: when their origin matches the pattern in ‘matches’, even if the actual document origin is opaque (due to the use of CSP sandbox or iframe sandbox). Match patterns in ‘matches’ must specify a wildcard path glob. By default it is false.

  • type RegisteredContentScript.world — The JavaScript world for a script to execute within. Defaults to “ISOLATED”.

spaces

api spaces

tabs

api tabs
  • type TabType — Tab types supported by the tabs API.