LogoLogo
  • About Thunderbird
  • Contributing to Thunderbird
    • Getting Started Contributing
    • Setting Up A Build Environment
    • Building Thunderbird
      • Windows Build Prerequisites
      • Linux Build Prerequisites
      • macOS Build Prerequisites
      • Artifact Builds
    • Codebase Overview
      • Account Configuration
      • Address Book
      • Chat Core
        • Notifications
        • Message Styles
        • Keyboard shortcuts
        • Chat Core Protocols
        • Contacts
      • Mail Front-End
    • Tutorials and Examples
      • Hello World Example
      • Thunderbird Live Development Videos
    • Fixing a Bug
      • Bug Triaging 101
        • Bug Status Classicification
        • Bug Types
        • Garbage Collection
        • Narrow the Scope
      • Using Mercurial Bookmarks
      • Using Mercurial Queues
      • Lint and Format Code
      • Using ESLint to Format Javascript Code
      • Try Server
      • Landing a Patch
      • Care and Feeding of the Tree
    • Testing
      • Running Tests
      • Adding Tests
      • Writing Mochitest Tests
  • Planning
    • Roadmap
    • Android Roadmap
    • Supported Standards
  • Add-on Development
    • Introduction
    • What's new?
      • Manifest Version 3
    • A "Hello World" Extension Tutorial
      • Using WebExtension APIs
      • Using a Background Page
      • Using Content Scripts
    • A Guide to Extensions
      • Supported Manifest Keys
      • Supported UI Elements
      • Supported WebExtension APIs
      • Thunderbird's WebExtension API Documentation
      • Thunderbird WebExtension Examples
      • Introducing Experiments
    • A Guide to Themes
    • Developer Community
    • Documentation & Resources
      • Tips and Tricks
    • Add-on Update Guides
      • Update for Thunderbird 128
      • Update for Thunderbird 115
        • Adapt to Changes in Thunderbird 103-115
      • Update for Thunderbird 102
        • Adapt to Changes in Thunderbird 92-102
      • Update for Thunderbird 91
        • Adapt to Changes in Thunderbird 79-91
      • Update for Thunderbird 78
        • Adapt to Changes in Thunderbird 69-78
      • Update for Thunderbird 68
        • Adapt to Changes in Thunderbird 61-68
      • How to convert legacy extensions?
        • Convert wrapped WebExtensions to modern WebExtensions
        • Convert legacy WebExtensions to modern WebExtensions
        • Convert legacy overlay extension to legacy WebExtension
        • Convert legacy bootstrapped extension to legacy WebExtension
  • Releases
    • Thunderbird Channels
    • Release Cadence
    • Uplifting Fixes
    • Feature Flags
    • Tracking Fixes for Releases
    • Contributing to Release Notes
Powered by GitBook
On this page
  • MailExtension Development
  • Experiment Development

Was this helpful?

Edit on GitHub
Export as PDF
  1. Add-on Development

Documentation & Resources

A collection of the most important developer resources outside of developer.thunderbird.net.

MailExtension Development

A few helpful resources relevant for developing add-ons for Thunderbird.

Description

The official Thunderbird add-on repository.

A list of all supported values, which can be used as strict_min_version and strict_max_version values in add-on manifest files.

A guide from the extension workshop with the most recent information on debugging add-ons. It is written for Mozilla Firefox but applies for Thunderbird as well.

A guide how to use Visual Studio Code to debug Thunderbird extension.

WebExtension API Documentation for Thunderbird

Documentation of all WebExtension APIs supported by Thunderbird.

A collection of explanatory WebExtension examples for Thunderbird.

A collection of WebExtension examples for Firefox and other browsers. They probably won’t work directly in Thunderbird, but they may provide hints on how to use some of the WebExtension APIs that Thunderbird inherited from Firefox.

The WebExtension support repository provides additional tools, scripts, custom elements, Experiment APIs and other resources, to simplify the development of WebExtensions for Thunderbird.

Central bug tracking for Mozilla projects. Some useful pages related to Thunderbird:

The main documentation for Mozilla developers. As Thunderbird is based on the Mozilla platform, some Mozilla documentation is valid for Thunderbird as well. Useful MDN pages on WebExtension are:

Experiment Development

Useful resources for converting legacy extensions or for creating Experiments.

Description

The current Firefox code documentation, which might be needed when converting legacy extensions.

The archived Mozilla documentation includes information about internal components and functions used by legacy extensions. Please be aware, that those pages are not maintained and are potentially outdated. Some useful direct links:

PreviousDeveloper CommunityNextTips and Tricks

Last updated 8 months ago

Was this helpful?

Thunderbird Beta (, )

Thunderbird 128 (, )

Note: The documentation for Thunderbird 128 and newer are available for (MV3) and Manifest Version 2 (MV2).

An online viewer to search the Firefox code base () and the Thunderbird code base ().

The current Thunderbird code documentation, in addition to comments in . This is still work in progress.

addons.thunderbird.net
List of Thunderbird app versions
Debugging Guide
Supercharge your Thunderbird extension debugging
MV3
MV2
MV3
MV2
Manifest Version 3
Thunderbird WebExtension Examples
Firefox WebExtension Examples
Thunderbird WebExtension Support Repository
Bugzilla
List of bugs related to Extension APIs
List of all Thunderbird Components
Mozilla Developer Documentation (MDN)
Introduction to WebExtensions
manifest.json
permissions
Searchfox
mozilla-central
comm-central
Firefox Source Tree documentation
Thunderbird Source Tree documentation
idl files on comm-central
Archived XUL and XPCOM Documentation
Archived JavaScript Code Modules
Archived XUL Documentation
Archived XPCOM Interface Reference