           emit 'update-not-available'
           return
 
+        latest = updateInfo.releasesToApply[updateInfo.ReleasesToApply.length-1]
+
         # We don't have separate "check for update" and "download" in Squirrel,
         # we always just download
         emit 'update-available'
-        emit 'update-downloaded', {}
+        emit 'update-downloaded',
+          releaseNotes: latest.releaseNotes,
+          releaseName: "Atom " + latest.version,
+          releaseDate: "",   # NB: Squirrel doesn't provide this :(
+          updateUrl: "https://atom.io",
+          quitAndUpdate: @quitAndInstall

      stdout: (output) -> updateOutput += output
      exit: (exitCode) ->
        unless exitCode is 0
          console.log 'Failed to update: ' + exitCode + ' - ' + updateJson
          emit 'update-not-available'
          return


    @updateUrl = url

  quitAndInstall: ->
    updateDotExe = path.join(path.dirName(process.execPath), '..', 'update.exe')
      unless fs.existsSync(updateDotExe)
        console.log 'Running developer or Chocolatey version of Atom, skipping'
        return

    updateOutput = ""
    ps = new BufferedProcess
      command: updateDotExe,
      args: ['--update', @updateUrl]
      stdout: (o) -> updateOutput += o
      exit: (exitCode) ->
        unless exitCode is 0
          console.log 'Failed to update: ' + exitCode + ' - ' + updateOutput
          return

        dontcare = new BufferedProcess
          command: updateDotExe,
          args: ['--processStart', 'atom.exe']

        shellAutoUpdater.quitAndInstall()

  checkForUpdates: ->
    throw new Error("Update URL is not set") unless @updateUrl
