Changelog for Thunderbird 140.0

The following WebExtension API changes were introduced in Thunderbird 140.0.

commands

api commands

folders

api folders
  • function query.queryInfo.lastUsed — Date the folder was last used (folder was accessed, user moved or copied messages into the folder or folder received new messages).

  • function query.queryInfo.lastUsedAsDestination — Date the folder was last used as a destination (user moved or copied messages into the folder).

  • function query.queryInfo.sort — The sort order of the returned folders. If not specified, folders will be sorted by path. Sorting by name is case-insensitive.

  • type MailFolderInfo.lastUsedAsDestination — Date the folder was last used as a destination. It is updated every time the user moved or copied messages into the folder. (precision: seconds).

  • type QueryDateRange — An object defining a range for a date value to be used in queries.

messages

api messages
  • function delete.options.deletePermanently — Whether the message will be deleted permanently, regardless of the account’s deletion behavior settings. A permanently deleted message cannot be restored, even if the action is defined as a user action. Use this with care!

  • function delete.options.isUserAction — Whether this copy operation should be treated as a user action, for example allowing undo.

  • function getFull.options.decodeContent — Whether to decode quoted-printable or base64 encoded content of message parts. Defaults to true.

  • function getFull.options.decodeHeaders — Whether to decode RFC 2047 encoded headers of message parts. Defaults to true.

  • function query.queryInfo.online — Query the server directly instead of the local message database. Online queries currently only support querying the headerMessageId property. Currently only supported for NNTP accounts.

  • type MessageAttachment.contentDisposition — The content disposition of the attachment, for example attachment for normal attachments, or inline for inline attachments.

  • type MessageAttachment.headers — A dictionary object of RFC 2047 decoded attachment headers as key-value pairs, with the header name as key, and an array of headers as value.

  • type MessagePart.rawBody — The raw content of the part. Only present if requested, see the decodeContent option of messages.getFull.

  • type MessagePart.rawHeaders — A dictionary object of raw part headers as key-value pairs, with the header name as key, and an array of headers as value. Only present if requested, see the decodeHeaders option of messages.getFull.

messages.tags

  • event onCreated — Fired when a new message tag has been created.

  • event onDeleted — Fired when a message tag has been deleted.

  • event onUpdated — Fired when one or more properties of a message tag have been updated.

messengerSettings

The messengerSettings API allows to access global messenger settings.

  • setting messageLineLengthLimit — The line length limit for outgoing messages, to comply with requirements from RFC 2822. See description of messengerSettings.messagePlainTextFlowedOutputEnabled.

  • setting messagePlainTextFlowedOutputEnabled — Whether long lines in outgoing plain text messages will get soft line breaks (​ \n) or hard line breaks (\n), to comply with requirements from RFC 2822. Soft line breaks will be ignored when displayed by the receiving client. When flowed output is enabled, add-ons should not create plain text messages with manually inserted hard or soft line breaks to achieve a certain text width, as that will most probably interfere with the default line break handling and generate ridged text. When flowed output is disabled, add-ons could add hard line breaks to have control over the final message, but any line longer than the maximum line length will still receive additional hard line breaks. See messengerSettings.messageLineLengthLimit.

messengerUtilities

The messengerUtilities API provides helpful methods for working with messages and emails.

oauthProvider

  • property oauth_provider — Describes an OAuth authentication provider for Thunderbird to use when connecting to mail/address book/calendar services. You will need to have a client ID registered with the provider to use this API.

runtime

api runtime
  • event onUserScriptConnect — Fired when a connection is made from a USER_SCRIPT world registered through the userScripts API.

  • event onUserScriptMessage — Fired when a message is sent from a USER_SCRIPT world registered through the userScripts API.

spaces

api spaces
  • type SpaceTabProperties — Properties for the new tab being opened by clicking on the associated button in the spaces toolbar.

storage

api storage
  • property session.QUOTA_BYTES — The maximum amount of data (in bytes, currently at 10MB) that can be stored in session storage, as measured by the StructuredCloneHolder of every value plus every key’s length.

tabs

api tabs
  • function create.createProperties.linkHandler — Thunderbird is a mail client, not a browser. It is possible to load a web page, but opening follow-up pages through hyperlinks should be handled by the user’s default browser. This property specifies to what extent this behavior should be enforced. The default balanced link handler will open links to the same host directly in Thunderbird, everything else will be opened in the user’s default browser. A relaxed link handler will open all links inside of Thunderbird, a strict link handler will open all links in the user’s default browser, except links to the same page.

  • type Tab.groupId — The ID of the group that the tab belongs to. -1 if the tab does not belong to a tab group.

windows

api windows
  • function create.createData.linkHandler — Thunderbird is a mail client, not a browser. It is possible to load a web page, but opening follow-up pages through hyperlinks should be handled by the user’s default browser. This property specifies to what extent this behavior should be enforced. The default balanced link handler will open links to the same host directly in Thunderbird, everything else will be opened in the user’s default browser. A relaxed link handler will open all links inside of Thunderbird, a strict link handler will open all links in the user’s default browser, except links to the same page.