Changelog for Thunderbird 153.0
The following WebExtension API changes were introduced in Thunderbird 153.0.
browserSettings
setting verticalTabs — This boolean setting controls whether vertical tabs are enabled.
compose
event onAfterSave.saveInfo.details — The compose.ComposeDetails of the saved message.
event onAfterSend.sendInfo.details — The compose.ComposeDetails of the send message.
composeScripts
type ComposeScript — A script and/or CSS to inject into compose windows via the manifest.
type MessageDisplayScript — A script and/or CSS to inject into message display pages via the manifest.
property compose_scripts — Scripts and CSS to inject into compose windows.
property message_display_scripts — Scripts and CSS to inject into message display pages.
contacts
event onManyCreated — Fired when a large number of contacts are added. The contacts are not emitted for performance reasons. The event indicates significant changes, and consumers should rebuild any cached representation of the address book.
contextualIdentities
function getSupportedColors — Retrieves the list of colors supported by contextual identities.
function getSupportedIcons — Retrieves the list of icons supported by contextual identities.
i18n
function getPreferredSystemLanguages — Gets the preferred locales of the operating system. This is different from the locales set in the browser; to get those, use i18n.getAcceptLanguages.
mailTabs
function getListedMessages.options.sortOrder — The sort order for the returned messages. Ignored if sortType is not specified.
function getListedMessages.options.sortType — Specifies how the returned messages should be sorted. This does not change the actual sort of the displayed messages. Default sort order is descending, if not specified otherwise. Returning sorted messages is faster than manually sorting the messages afterwards, but slower than returning the messages in their original order.
messageDisplayScripts
type ComposeScript — A script and/or CSS to inject into compose windows via the manifest.
type MessageDisplayScript — A script and/or CSS to inject into message display pages via the manifest.
property compose_scripts — Scripts and CSS to inject into compose windows.
property message_display_scripts — Scripts and CSS to inject into message display pages.
messages
function getHeaders — Returns all message headers of the specified message, without MIME structure parsing. Throws an error if the message cannot be read, for example due to network issues. This function is significantly faster than messages.getFull when only the header information is required.
function list.options.sortOrder — The sort order for the returned messages. Ignored if sortType is not specified.
function list.options.sortType — Specifies how the returned messages should be sorted. Default sort order is descending, if not specified otherwise. Returning sorted messages is faster than manually sorting the messages afterwards, but slower than returning the messages in their original order.
function saveMessage — Saves a message programmatically as a draft or as a template in the background without user interaction. The save mode defaults to <value>draft</value>. The returned Promise fulfills once the message has been successfully saved. Throws when there has been an error while saving the message.\n**Note:** If no <value>deliveryFormat</value> is specified, the message is saved as plain text when the body contains no HTML formatting.
function sendMessage — Sends a message programmatically in the background without user interaction. If the send mode is not specified or set to <value>default</value>, the message will be sent directly if the user is online and placed in the user’s outbox otherwise. The returned Promise fulfills once the message has been successfully sent or placed in the user’s outbox. Throws when there has been an error while sending the message to the outgoing mail server.\n**Note:** If no <value>deliveryFormat</value> is specified, the message is sent as plain text when the body contains no HTML formatting.\n**Note:** It is possible to pass in a compose.ComposeDetails object as the <value>details</value> parameter, and it will be interpreted as a messages.NewMessageDetails object.
type AttachmentType — The type of an attachment in a message.
type HeadersDictionary — A dictionary object of headers as key-value pairs, with the header name as key, and an array of headers as value.
type MessageAttachment.cloudFileUrl — The remote location a cloudFile attachment’s content is stored at. Present for cloudFile attachments (see messages.AttachmentType), whose content is not part of the message.
type MessageAttachment.linkUrl — The remote location the attachment’s content is linked to. Present for linked attachments (see messages.AttachmentType), whose content is not part of the message and can be fetched from this url.
type MessageAttachment.type — The type of this attachment.
type MessageHeader.priority — The priority of the message.
type NewMessageDetails — Details of a message to be sent.
messengerSettings
setting composeInlineSpellCheckEnabled — Whether the inline (real-time) spell checker is enabled in the message compose window.
setting readerDisplayAttachmentsInline — Whether supported attachments (for example, media files) are shown inline within the body of displayed messages. This property is read-only.
messengerUtilities
function parseMailboxString.options.expandMailingLists — Expand Thunderbird mailing lists (specified as ListName <ListName>) and include the parsed primary email addresses of all members. When used together with preserveGroups, the mailing list’s name and hierarchy are preserved. If the mailing list does not exist, or the permission is not granted, the entries are not expanded and returned unchanged.
function parseMailboxString.options.preserveGroups — Keep grouped hierarchies. Groups may be specified in a mailbox string as follows: GroupName : user1 <user1@example.com>, user2@example,com ;.
oauthProvider
property oauth_provider.issuerIdentifier — The OAuth authorization server issuer identifier, as defined by RFC 9207. If provided, it must be an exact string match to what the provider gives in the iss field.
property oauth_provider.useExternalBrowser — If the login flow should use the system web browser. If true, the redirectionEndpoint must be a loopback address, so an origin of http://127.0.0.1 or http://localhost.
proxy
Provides access to global proxy settings for Thunderbird and proxy event listeners to handle dynamic proxy implementations.
runtime
function getDocumentId — Get the documentId of any window global or frame element. Throws for invalid targets, such as unloaded frames.
type MessageSender.documentId — A UUID of the document that opened the connection.
scripting
type InjectionTarget.documentIds — The IDs of specific documents to inject into. This must not be set if frameIds or allFrames is set.
storage
type StorageArea.getKeys — Gets the keys of all items in storage.
tabs
function connect.connectInfo.documentId — Open a port to a specific document identified by documentId instead of all frames in the tab.
function sendMessage.options.documentId — Send a message to a specific document identified by documentId instead of all frames in the tab.
type Tab.splitViewId — The ID of the Split View that the tab belongs to. -1 if the tab does not belong to a split view.
webRequest
event onAuthRequired.details.documentId — The UUID of the document making the request.
event onAuthRequired.details.parentDocumentId — The UUID of the parent document owning this frame. This is not set if there is no parent.
event onBeforeRedirect.details.documentId — The UUID of the document making the request.
event onBeforeRedirect.details.parentDocumentId — The UUID of the parent document owning this frame. This is not set if there is no parent.
event onBeforeRequest.details.documentId — The UUID of the document making the request.
event onBeforeRequest.details.parentDocumentId — The UUID of the parent document owning this frame. This is not set if there is no parent.
event onBeforeSendHeaders.details.documentId — The UUID of the document making the request.
event onBeforeSendHeaders.details.parentDocumentId — The UUID of the parent document owning this frame. This is not set if there is no parent.
event onCompleted.details.documentId — The UUID of the document making the request.
event onCompleted.details.parentDocumentId — The UUID of the parent document owning this frame. This is not set if there is no parent.
event onErrorOccurred.details.documentId — The UUID of the document making the request. This value is not present if the request is a navigation of a frame.
event onErrorOccurred.details.parentDocumentId — The UUID of the parent document owning this frame. This is not set if there is no parent.
event onHeadersReceived.details.documentId — The UUID of the document making the request.
event onHeadersReceived.details.parentDocumentId — The UUID of the parent document owning this frame. This is not set if there is no parent.
event onResponseStarted.details.documentId — The UUID of the document making the request.
event onResponseStarted.details.parentDocumentId — The UUID of the parent document owning this frame. This is not set if there is no parent.
event onSendHeaders.details.documentId — The UUID of the document making the request.
event onSendHeaders.details.parentDocumentId — The UUID of the parent document owning this frame. This is not set if there is no parent.