Search code examples
google-chromegoogle-chrome-extensionupdateschrome-web-store

Is it enough to bump Chrome Extensions version to force upgrade?


Could anyone explain how Chrome Extension upgrading works?

Let's say I publish version 0.0.1. After a while I've some updates and I publish 0.0.2. Will all users having 0.0.1 be auto-upgraded to 0.0.2? If not, what is the process to sending/updating Chrome Extensions?

Thanks!


Solution

  • After a while I've some updates and I publish 0.0.2. Will all users having 0.0.1 be auto-upgraded to 0.0.2?

    Yes. By default, if you publish (not just submit a draft, actually publish and wait for the automated review process to complete) a new version then all users will get it.

    ..eventually.

    Chrome does not get push notifications about extension updates; it instead polls the Web Store for version information once every few hours.

    While it would be possible for Google to make this push-based, I think this remains in place as a natural load-balancer (not everyone trying to update at once) and a bit of a safety net in case you published something badly broken.


    On the extension side, there are 2 things in the chrome.runtime API that can influence the process.

    1. You can force a check for a new version with chrome.runtime.requestUpdateCheck(). Note that this is rate-limited - you can't check too often.

      In principle you could use some other method of delivering a notification to your extension (GCM, WebSockets to your server, polling your server etc.) to discover an update and trigger this check.

    2. You can delay an update after it was detected with a listener to chrome.runtime.onUpdateAvailable event. It can be delayed no longer than the next browser restart.


    If your extension has a lot of users (this starts at 10k users), there's an additional option available in the Dashboard's edit item interface.

    Is it possible to perform a partial roll out in the Chrome web store?

    CWS offers an option to only offer this version to a developer-specified percentage of users. This way you can limit the damage from a bad update.