WebExtension AddOn interface in Thunderbird >= 68.0
---------------------------------------------------

Starting with version 68.0 the only supported interface for Add-ons is the
WebExtension interface. No old XUL-based, sometimes called legacy Add-ons will
work anymore. Starting with 78.0 also no legacy WebExtensions will not work
any more.

This sentence is not only true for Debian packaged extensions but also for
previously pulled Add-ons from addons.thunderbird.net or some other external
resources.
If you encounter any incompatible packaged Add-ons please open a bug report for
the package, if not already a bug report is created.

If you are developing own WebExtension based Add-ons you might help to migrate
other still not ready to use Add-ons. Help is really appreciated in any way.

The API documentation of WebExtension can be found here.

  https://thunderbird-webextensions.readthedocs.io/en/68

Some guideline how to migrate to WebExtension from a Legacy Add-on you will
find here.

  https://developer.thunderbird.net/add-ons/tb68

Christopher Leidigh (a full-time Thunderbird contributor) has collected a list
of available Add-ons and their status. So you might find his list useful.

  https://cleidigh.github.io/ThunderKdB/index.html

OpenPGP support within Thunderbird >= 78.0
------------------------------------------

By dropping even support of the legacy WebExtension API in 78.x the typical
used Add-on Enigmail for GPG encryption would not fully working any more. This
is basically grounded on limitations of the WebExtension API to restrict full
access on file system level.
The developer ob Enigmail and MZLNA decided to include OpenPGP support within
Thunderbird directly starting with Thunderbird 78.0. But this now included
native OpenPGP support has some downside, Thunderbird is using it's own key
storage system within the users profile. This means, OpenPGG is working
independently of installed GPG related packages! Also no automatically sync
between Thunderbird and $(HOME)/.gnupg will happen!

Migration from Enigmail to native OpenPGP support:
This step is optional but user are encouraged to use the migration wizard of
Enigmail.
The Enigmail developer did create a final Enigmail version 2.2.x which is
helping to migrate from the old Enigmail supported workflow over to the OpenPGP
included support.
To use this migration wizard you will need to install Enigmail >= 2.2 as Debian
package (if available) or install this extension by using the menu
'Tools' -> 'Add-ons' and search for it.
There will be a pop up window directly after the installation which is asking
the user if he wanted to be guided through the GPG migration. The user can also
start the migration wizard later at any time by calling it from the 'Tool' menu
the entry 'Migrate Enigmail Settings'.

You can found more information about the OpenPGP support on the following web
resources.

  https://wiki.mozilla.org/Thunderbird:OpenPGP
  https://wiki.mozilla.org/Thunderbird:OpenPGP:2020
  https://wiki.mozilla.org/Thunderbird:OpenPGP:Smartcards
  https://wiki.mozilla.org/Thunderbird:OpenPGP:Status
  https://www.thunderbird.net/en-US/thunderbird/78.0/releasenotes/
  https://www.enigmail.net/index.php/en/home/news
  https://addons.thunderbird.net/en/thunderbird/addon/enigmail/

 -- Carsten Schoenert <c.schoenert@t-online.de>  Sun, 20 Oct 2020 9:05:00 +0200

De-Branding of Icedove, Reintroduce Thunderbird in Debian
---------------------------------------------------------

Debian and Mozilla has done some new rethinking and talking about the old legal
questions about trademark issues [1].
Based on this revaluation the Debian project got now an agreement from Mozilla
Corp. that the rebranded packages Iceweasel, Debian rebranded version for
Firefox, and Icedove, Debian rebranded version for Thunderbird are no longer
needed.

The maintainers of the Iceweasel package followed that agreement and did a
de-branding of Iceweasel back to Firefox. More information on this process can
be found on [1].
For Icedove the maintainers followed too the new agreement and remove the old
branding after almost 10 years for Icedove and Iceowl-Extension and switched
back to the official branding from Mozilla. The according bug for this process
can be found under [2].

For versions greater 1:45.6.0-2 the following packages were introduced as a
replacement.

old package .... --> new package         usage
---------------------------------------------------------------------------------
icedove ........ --> thunderbird        (Thunderbird Main application)
icedove-dev .... --> thunderbird-dev    (Thunderbird Development files)
icedove-dbg .... --> thunderbird-dbg    (Thunderbird with debugging symbols)
iceowl-extension --> lightning          (Lightning, aka Calendar for Thunderbird)
icedove-l10n-* . --> thunderbird-l10n-* (l10n localization for Thunderbird)
iceowl-l10n-* .. --> lightning-l10n-*   (l10n localization for Lightning)

The old packages were changed to transitional packages and can be safely
removed after the automatically installation of the new packages.

= Profile Migration =
=====================

Due the removing of the rebranding for Icedove Thunderbird will use the default
profile folder $HOME/.thunderbird for storing all the various user related
stuff!
With the new Thunderbird packages there is a wrapper script included, placed as
/usr/bin/thunderbird that will do a adoption of the existing profile folder
$HOME/.icedove into the new default folder for the user profile
$HOME/.thunderbird by setting up a symlink to the existing profile if possible.

The automatism in the script will check the following parts:

  1. Check if there is a folder or a symbolic link $HOME/.icedove existing and
     there is NO folder or symbolic link $HOME/.thunderbird.

  2. Create a symlink from $HOME/.thunderbird to $HOME/.icedove .

  3. Fixing Mime type registration for' http(s)' and 'file' inside mimeTypes.rdf
     if they registered for iceweasel. Before starting the fixup a backup will
     be created name $FILE.backup_thunderbird_migration-${DATE}.

  4. Also check for desktop type registrations of 'userapp-icedove*.desktop' in
     '$HOME/.config/mimeapps.list' and $HOME/.local/share/applications/mimeapps.list,
     but only if this file exists, users of tiling window managers won't have
     this file. Read further for more information on this.
     Like above, a backup of the existing file with same schema will be created
     if needed.

  7. If all was going well, starting Thunderbird.

  8. If there is no folder $HOME/.icedove or $HOME/.thunderbird exists the
     wrapper script will start Thunderbird without any extra action.

  9. The above steps from 3.) will be also done if you already have a symlink
     $HOME/.thunderbird that is pointing to $HOME/.icedove or the opposite,
     $HOME/.thunderbird is pointing to $HOME/.icedove.

     So if you don't have one of the following four cases the wrapper script
     will exit with a error message.

     1. $HOME/.icedove is existing and holds valid profile data
     2. $HOME/.thunderbird points to $HOME/.icedove and 1. is true
     3. $HOME/.icedove points to $HOME/.thunderbird and 1. is true
     4. $HOME/.thunderbird is existing and holds valid profile data
        (Note: Not the script, but Thunderbird will error out here if no
         profiles are found!)

If there is anything going wrong there will be splash screens displayed with
some additional notes, the logger mechanism will write some information about
what's going wrong into /var/log/syslog.

So don't panic if there is something not working automatically. If the starter
script can't do the adoptions you will need to look by yourself and solve the
situation. Mostly there can be already a folder or symlink $HOME/.thunderbird
that prevents a automatic migration by the script. In such a case save a
existing folder $HOME/.thunderbird else where if needed and restart the
Thunderbird application. Other things like extra special mountpoints by the
system administrator can't also be handled by the script. Please ask the
service desk if you have trouble then.

What else can you do?
You can call '/usr/bin/thunderbird --verbose' from a command line to see a
verbose output of the wrapper script. For more options of the wrapper script
and how to use them call '/usr/bin/thunderbird --help'.

The Debian wiki is holding also extra information about the migration of
Icedove to Thunderbird.

  https://wiki.debian.org/Thunderbird

For backward compatibility whithin the Stretch release there will be that
migration functionality until the release of Buster (aka Debian 10).
Afterwards you can still do this on your on by moving the folders manually.

= Avoid the pop-up information about migration globally =
=========================================================

Within some use cases (e.g. bigger company environments) it can sometimes not
be useful that a user will see the dialogue window about the profile migration
as this can be more confusing than helpful.
To avoid this dialogue for all users on the system the administrator can create
a file '/etc/thunderbird/no_migration_popup' and the starting wrapper will
not pop-up the information dialogue if the migration isn't already done.

= User specific MIME Associations =
===================================

The desktop environment (usually Gnome, KDE, Mate etc.) is holding the
specific associations between MIME types and applications in various
places.  In order the user can override system settings and adding new
ones the according place in the users home is the file
'$(HOME)/.config/mimeapps.list'.

The migration is taking care for old 'icedove.desktop' associations and
is rewriting them to 'thunderbird.desktop'.
Like already done for the user profile, there will be always a backup
of the existing file created before the replacement can be done. In case
of problems you can safely move back to the original file. You will lost
then the needed association for the thunderbird binary.

You can call '/usr/bin/thunderbird --show-backup' to see created backups from
the various possible modified files while the profile adoption.

See also:

 https://specifications.freedesktop.org/mime-apps-spec/mime-apps-spec-1.0.html

= Migration of global configurations =
======================================

If you have some own special preferences files placed in '/etc/icedove/pref/'
they will be moved to '/etc/thunderbird/pref/'.
In case you have a modified file '/etc/icedove/pref/icedove.js' it will be
moved to '/etc/thunderbird/pref/icedove.js.dpkg-backup' to keep your changes.
Please adjust this file to the Thunderbird specific configuration file
'/etc/thunderbird/pref/thunderbird.js'. The old folder '/etc/icedove' is gone
be removed only if it is completely empty.

There are still some corner cases where this automatism with configuration
files in /etc/thunderbird/pref is not fully working. Please note #806955 [4]
about such issues.

[1] https://en.wikipedia.org/wiki/Mozilla_software_rebranded_by_Debian
[2] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=815006
[3] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=816679
[4] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=806955

 -- Carsten Schoenert <c.schoenert@t-online.de>  Sun, 21 Aug 2016 10:12:00 +0200

Mozilla Crash Reporter for Thunderbird
--------------------------------------

The crash reporter for Thunderbird is enabled since version > 1:45.6.0-3. By
this a possible crash could be automatically send to Mozilla if the user is
accepting this. There is nothing send to Mozilla without a user action. More
information about the crash reporter can be found on:

https://support.mozilla.org/en-US/kb/mozilla-crash-reporter-tb

Please consider to use the crash reporter for getting crashes reported
upstream, this also helps the maintainers if Thunderbird to get crash reports
send upstream.
Submitted crash reports can be found, if any was send, in

  ~/.thunderbird/Crash Reports/submitted/

 -- Carsten Schoenert <c.schoenert@t-online.de>  Sun, 29 Jan 2017 14:15:00 +0100
