Archive for July, 2014

Version 1.0.0 released

After a few years of development version 1.0.0 has been released.  I previously referred to this release as 0.4.0 but after reading many comments and even blog posts that mentioned the low version number was a sign that gContactSync isn’t stable I decided to bump the version up to 1.0.  It should be significantly easier to use with the new account wizard, merge on the first sync (a cause of many complaints when switching from a different sync add-on), postal address synchronization, better error handling, and more.

Thanks to everyone on the beta channel who has helped me test this release!

And thanks to the hard work of the translators on Babelzilla who made gContactSync available to a wider audience:

Michal Stanke (michal.stanke at – cs
Sebastian Zartner – de
Mikael Hiort af Ornäs – sv-SE
Bert Visser – nl
markh van – nl
Scooter – es-ES
devezas – pt-PT


Some of the bug fixes and new features require an upgrade of all contacts.  The first time you sync with version 1.0 you will see a prompt.  Click OK and sync.  It may take some time because every contact has to be re-uploaded.

If you are on the development channel and already have one of the later 0.4.0 or 1.0 release candidates you already went through this upgrade.

Account Wizard

I received many comments over the years about how difficult gContactSync was to setup.  The new account wizard and the import on first sync feature should make it far easier to setup synchronization without creating duplicates.

The first time you start Thunderbird after installing 1.0 (assuming gContactSync wasn’t previously installed) you should see this.  You’ll also see it if you go to gContactSync -> New Account


You can pick an existing account.  Both IMAP and gContactSync accounts are listed, so most users will never have to enter their e-mail address and password.

After clicking next you’ll see this screen:


The address book field is populated with address books that aren’t already synchronzied with gContactSync and will suggest the e-mail address by default.  If it already exists it will add (X) to it where X is the first number for which no address book exists.  The groups/contacts to sync setting and sync direction are both available here.  More advanced settings such as which source has priority for conflicts can still be found in the Edit Accounts dialog.

Changes since version 0.3

Here’s a summary of the changes and fixes that went into version 1.0, this is far from a complete list, see github and mozdev if you’d like to see all the changes.


  • New Account Wizard
  • The first sync merges existing contacts and groups/mailing lists
  • Postal addresses are synchronized by default
  • gContactSync uses Thunderbird’s existing address fields now that Google parses addresses
  • Added Postbox 3 support
  • Minor Accounts dialog changes
  • Added an option to sync only the selected address book to the AB context menu
  • Prevents a duplicate master password prompt when Thunderbird is started
  • Miscellaneous improvements to importing contacts
    • Contacts are merged when possible.  Note that most sources only have display names and photos, so gContactSync only merges contacts with identical names
    • Better UI for picking the destination address book
    • Updated twitter import to use their newest API
    • Removed import sources that have taken down their APIs (Plaxo, MySpace, etc.)
  • Removed the “Other” tab on the preferences dialog.  This just caused confusion and I don’t know of anyone who actually used it.  The feature is still there, but only customizable through the Config Editor.
  • Better handling and mitigation of 503 (Service Unavailable) errors.
  • Button to clean up old contact photos (TB and gContactSync can both leave old photos behind)
  • Uses the new chat fields in Thunderbird instead of adding new fields
  • Website types/labels are now displayed in the contact view pane
  • Added a preference for a timeout for HTTP requests
  • Added a checkbox for the TB preference to show chrome errors in the error console
  • Added more People fields (number is configurable)
  • Added a button to reset all gContactSync settings
  • Added an Anniversary field that is synchronized with Google (reset/replace from server to get these fields)
  • Photos are only uploaded or downloaded if they have changed instead of if the contact has changed
  • Log rotation
  • Throttling to prevent 503 errors
  • New button to completely reset gContactSync to default settings

Bug Fixes

  • Treat infinite last modified dates as being older
  • Fixed a strict JavaScript warning (no functional change)
  • Support for empty extended property value names (Other tab of the Preferences dialog)
  • Prevents a duplicate master password prompt when Thunderbird is started
  • Makes sure that the dummy e-mail address is added to a contact if it is being edited from the mailing list.
  • Bug fix for the preference to not sync contact photos (if a new Thunderbird contact had a photo gContactSync would add it to Google)
  • Photos synchronized or imported by gContactSync will still work when gContactSync is disabled or uninstalled (NOTE – this only applies to contacts synchronized or imported starting with 0.4.0a3)
  • Last modified date not set at the correct time, potentially causing a conflict on the next sync after adding a contact
  • Fix for last modified date being updated when a contact is not successfully uploaded to Google
  • Bug fix for persistent “You must login to sync contacts” message after canceling an expired authentication token prompt (NOTE: if you ran into this bug you must follow the instructions here:,521.msg1680.html)
  • Bug fix for changing the type of a website or related person
  • Added a default delay between HTTP requests to mitigate 503 errors from Google (user over quota)
  • Various postal address bug fixes
  • Empty contacts are no longer synchronized since they cause errors
  • “null” stripped from contacts and groups
  • Last modified date warning if a new TB contact has a photo
  • Preferences are only logged if the AB window is opened
  • Fix for canceling the expired token prompt


No Comments