   getUnreadPlugins: ->
     @getFilteredPlugins_ (plugin) -> not plugin.isRead
 
-  # get all unread plugin names, base on package settings or path
-  # @return {Promise<Array<string>>}
-  getUnreadPluginNames: ->
-    @getUnreadPluginPaths_().then (paths) =>
-      paths.map (path) =>
-        basename = path.basename path
-        if @requirements_[basename]?
-          return @requirements_[basename][language]
-        else
-          return basename
-
   # get all valid plugins, see comment of @isValid_
   # @return {Promise<Array<Plugin>>}
   getValidPlugins: ->

          task = plugins.map (plugin) =>
            new Promise (resolve) =>
              npm.commands.distTag ['ls', plugin.packageName], (err, distTag) =>
                latest = plugin.version
                if @config_.betaCheck && distTag.beta?
                  if semver.gt distTag.beta, latest
                    latest = distTag.beta
                    if semver.gt distTag.latest, latest
                      latest = distTag.latest
                else
                  if semver.gt distTag.latest, latest
                    latest = distTag.latest
                if semver.gt latest, plugin.version
                  outdatedPlugins.push plugin
                  index = @plugins_.indexOf(plugin)
                  @plugins_[index].isOutdated = true
                  @plugins_[index].lastestVersion = latest
                  outdatedList.push plugin.stringName
                resolve()
          Promise.all(task).then =>
            if isNotif
              content = "#{outdatedList.join(' ')} #{__ "have newer version. Please update your plugins."}"
              notify content,
                type: 'plugin update'


    plugin.isInstalled = true
    plugin.isOutdated = false
    if plugin.packageData?.version? && plugin.isRead
      plugin.version = plugin.packageData.version
    plugin.lastestVersion = plugin.version
    return plugin
