docs: def list_upgrades(refresh=True, **kwargs):
      '''
      List all available package upgrades on this system
  
      Args:
          refresh (bool): Refresh package metadata. Default ``True``
  
      Kwargs:
          saltenv (str): Salt environment. Default ``base``
  
      Returns:
          dict: A dictionary of packages with available upgrades
  
      CLI Example:
  
      .. code-block:: bash
  
          salt '*' pkg.list_upgrades
      '''
      saltenv = kwargs.get('saltenv', 'base')
      refresh = salt.utils.data.is_true(refresh)
      _refresh_db_conditional(saltenv, force=refresh)
  
      installed_pkgs = list_pkgs(refresh=False, saltenv=saltenv)
      available_pkgs = get_repo_data(saltenv).get('repo')
      pkgs = {}
      for pkg in installed_pkgs:
          if pkg in available_pkgs:
              # latest_version() will be blank if the latest version is installed.
              # or the package name is wrong. Given we check available_pkgs, this
              # should not be the case of wrong package name.
              # Note: latest_version() is an expensive way to do this as it
              # calls list_pkgs each time.
              latest_ver = latest_version(pkg, refresh=False, saltenv=saltenv)
              if latest_ver:
                  pkgs[pkg] = latest_ver
  
      return pkgs