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 mikk.cz) – cs
Sebastian Zartner – de
Mikael Hiort af Ornäs – sv-SE
Bert Visser – nl
markh van BabelZilla.org – nl
Scooter – es-ES
devezas – pt-PT

Upgrading

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

wizard0

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:

wizard1

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.

Features

  • 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: http://pirules.org/forum/index.php/topic,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

Version 0.4.0rc6 Released

I have released version 0.4.0rc6 (click on Development Channel).  This contains the last planned features for version 0.4.0 so if all goes well I hope to release 0.4.0 in June.

Changes since 0.4.0rc5

  • 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 change

Changes since version 0.3

Features

  • 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

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: http://pirules.org/forum/index.php/topic,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

, , , ,

No Comments

New Account Wizard

Version 0.4 will have a new account wizard to make setting up gContactSync for the first time and adding accounts easier.  The first page is for selecting an account to sync.  It finds IMAP and POP3 accounts in addition to existing gContactSync tokens so most users won’t even have to sign in.  The second page lets you choose an address book and the group(s) to sync.

Please let me know what you think, particularly whether I should include the synchronization direction (read-only, write-only, or bidirectional) and whether Google or TB has priority during conflicts.

, ,

3 Comments

Version 0.4.0b4 Released

Version 0.4.0b4

Version 0.4.0b4 was released today.

You can download it here.  Scroll to the bottom and expand Developer Channel.  If you already downloaded a development version it will automatically update.

Changes since version 0.3

Features

  • 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 (or primary e-mail address for Plaxo).
    • Better UI for picking the destination address book
  • 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 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

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

Future Changes in 0.4

  • Include number of errors in the summary

No Comments

Moving to github

gContactSync is moving to github.  You can find the source code and report issues/request enhancements here.  Thanks to everyone at mozdev.org for hosting gContactSync these last 4.5 years!

Note: This announcement is only relevant to developers and others who would like to look at gContactSync’s source code.  The add-on should still be downloaded from addons.mozilla.org and will still automatically update.

 

, ,

No Comments

403 Errors

Several people have reported 403 errors when trying to sync contacts.  Some are using two stage authentication, others aren’t.  Some use Windows 7, others 8.1.  I haven’t been able to recreate it myself.

If you see 403 errors please send me an e-mail with more details on your OS, Thunderbird and gContactSync version, as well as whether you are using a normal Gmail account or a Google Apps account.

Please go here: https://security.google.com/settings/security/activity and let me know if you see anything unusual.

The ClientLogin method gContactSync uses has been deprecated for a while (2012) but Google said they would support it until 2015.

No Comments

Version 0.4.0 beta 1

Version 0.4.0b1

Note: Version 0.4.0b2 was released today with two fixes for adding contacts.

I’ve released version 0.4.0b1 with full support for the latest versions of Thunderbird, including the nightlies.

If you try it please let me know, I’d like to get 0.4.0 out early in 2013.

You can download it here.  Scroll to the bottom and expand Developer Channel.  If you already downloaded a development version it will automatically update.

Changes since version 0.3

Features

  • 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 (or primary e-mail address for Plaxo).
    • Better UI for picking the destination address book
  • 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

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)
  • Version 0.4.0b2 – Two bug fixes for adding contacts

Changes since 0.4.0a4

Features

  •  Switched to using Thunderbird’s new native chat fields.  This requires a one-time upgrade when moving from a pre-0.4.0b1 version to a version after this change.
  • Added support for the new “App Menu” in Thunderbird (versus the traditional menu bar)
  • Removed the use of some deprecated functions
  • Supports the newest daily build of Thunderbird
  • Groups feeds from Google are backed up

Bug fixes

  • Fixed a bug where IM addresses without a protocol or custom label would cause an error. (version 0.4.0a5)

Future Changes in 0.4

  • Include number of errors in the summary

2 Comments

gContactSync Version 0.4.0 Alpha 4

Version 0.4.0a4

I’ve released version 0.4.0a4 that adds contact merging during imports.  You can now import your Facebook friends into the address book you sync with Google to get their photos and let gContactSync merge your contacts.  The Facebook API doesn’t expose phone numbers or e-mail addresses, however.

If you try it please let me know.  I have a few more changes to make before releasing the beta.

You can download it here.  Scroll to the bottom and expand Developer Channel.  If you already downloaded a development version it will automatically update.

Changes since version 0.3

Features

  • 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 (or primary e-mail address for Plaxo).
  • Better UI for picking the destination address book
  • 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)
  • 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)

    Changes since 0.4.0a1

    Features

    • 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 (or primary e-mail address for Plaxo).
      • Better UI for picking the destination address book
    • Added an option to sync only the selected address book to the AB context menu
    • 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)

    Bug fixes

    • 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)

    Future Changes in 0.4

    • Include number of errors in the summary
    • New first sign in dialog (this is probably going to pushed out to v0.5)
    • Minor Accounts dialog improvements

    1 Comment

    Version 0.4.0 Alpha 1 Released

    Version 0.4.0 Alpha 1 has been released.  If you’re already using a pre-release of 0.4.0 it should automatically update, everyone else can get it here (go down to Development Channel at the bottom).  This is an alpha release, meaning it doesn’t have all the features that 0.4.0 will have, and hasn’t been as thoroughly tested as the latest stable version, version 0.3.4.

    Changes since version 0.3

    Features

    • 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
    • Prevents a duplicate master password prompt when Thunderbird is started

    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.

    Changes since 0.4.0a1pre2

    Features

    • Cleaned up contact merging during the first sync
    • Added group/mailing list merging during the first sync
    • Moved the disable synchronization checkbox to the basic settings section of the Accounts dialog
    • Added Postbox 3 support

    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)

    No Comments

    Version 0.3 Feedback, Version 0.4

    Version 0.3 and Duplicates

    Version 0.3 is getting a bad reputation for creating duplicates.  I haven’t heard from any of these people–please send me an e-mail at least explaining any problems you may have instead of just posting a review without enough details for me to help you.  Feel free to post reviews but please let me help you or at least others by giving me some details.

    I believe that at least one of those problems may be due to syncing the same address book with the same account using two add-ons.  This is a bad idea; don’t try it.  Other than that I think people are importing their contacts from Google into TB either manually or with Google’s CSV export then synchronizing those contacts (or switching synchronization add-ons and reusing their old address book without deleting contacts).  gContactSync 0.3 expects an empty address book and treats any contacts in it as brand new, so it adds Thunderbird’s contacts to Google and adds Google’s contacts to Thunderbird during the first sync without attempting to merge contacts. You should start with a new address book when synchronizing contacts.  One exception to this is if you’ve already sync’ed that AB with gContactSync in which case it will recognize contacts it synchronized in the past.

    I plan on addressing this in 0.4 by, during the first sync only, getting all Google contacts and checking each TB contact to see if any names or e-mail addresses match.  If so it’ll pretend that contact was already synchronized a very long time ago.  It’s going to be a very dumb/simplistic merge, and during the actual first sync those contacts in TB will be updated from their Google contact.  This will probably be in 0.4.0a1, release date TBA.

    Resetting Address Books

    There was some confusion over what exactly “resetting” an address book does in gContactSync which resulted in a 1 star review.  There are two types of resets in gContactSync:

    • Reset (replace from server) – this is also what the button in the Advanced preferences tab does and what happens if your mailing lists break.

    This deletes the local copy of all contacts and mailing lists from Thunderbird only.  Your Google contacts are not deleted and gContactSync backs up your address book first.  Due to multiple bugs in Thunderbird with mailing lists and deleting address books you must restart Thunderbird after choosing this reset option.  After you restart Thunderbird and sync, gContactSync will pull in your contacts and groups from Google then sync like normal.

    • Replace to server

    This option tells gContactSync to push all your local Thunderbird contacts to Google.  No contacts are deleted in either location.

    Fake e-mail Addresses (nobody…@nowhere.invalid)

    I’ve also received several e-mails and forum posts, along with some bad reviews, about the fake e-mail addresses that gContactSync adds to some contacts.  Thunderbird does not allow contacts without e-mail addresses in mailing lists, so in order to sync groups with mailing lists, gContactSync adds a fake e-mail address to that contact in Thunderbird only. These fake e-mail addresses will never be added to Google. I know it is ugly, but the alternative is having a broken, unsynchronizable address book.  I often refer to these as dummy e-mail addresses.

    Postal Addresses

    Google is now converting postal addresses between their structured (separate fields for street address/city/state/zip/country) and formatted (one field for everything) flavors.  When I created version 0.3 Google had said they would do this, but didn’t implement it yet so I turned off postal address synchronization by default and left in the new formatted address fields that gContactSync 0.2.0 added.  It should be safe to turn it on now, but you still do so at your own risk.  See this for instructions – http://pirules.org/addons/gcontactsync/faq.php#addresses

    Version 0.4

    I’m starting to work on version 0.4, which will turn on postal address synchronization by default.  It also removes the formatted address fields that gContactSync 0.2 and 0.3 added since they are no longer needed.  I will put development versions of 0.4 on addons.mozilla.org (look at the bottom of the page under Development Channel).

    I’d like to make it more difficult for people to get duplicates, so I will push back my plans to sync with other sources to version 0.5.

    I don’t know when I’ll get the basic merging done.  I’m going to be an uncle any day now and I will be spending some time with my family next weekend.

    Roadmap

    0.4.0a1pre has been released on AMO (under Development Channel) with postal address synchronization enabled.  It also removes formatted address fields.

    0.4.0a1 – Basic merging during first sync

    0.4.0a2 – Basic merging during imports

    , , , , ,

    1 Comment