Skip to content

Releases

0.11.0

Choose a tag to compare

@mgumz mgumz released this 08 Nov 10:42

Features

  • Support git hosters other than GitHub: GitLab (gitlab.com), Forgejo
    (codeberg.org) and Gitea (gitea.com). update and check work for plugins
    hosted there. For self-hosted instances, name the software behind it with the
    new plugin option hoster=github|forgejo|gitea|gitlab.
  • Keep downloaded archives in the XDG cache: -cache (default
    $XDG_CACHE_HOME/vopher, falling back to ~/.cache/vopher). Archives are
    stored by host and path of their URL, so several lists or -dirs share them
    without colliding.
  • Reuse cached archives: vopher sends conditional requests (ETag /
    Last-Modified) and extracts the cached archive on "304 Not Modified". No
    request at all is made if the plugin is pinned to a commit id or its sha1=
    matches the cached archive.
  • New flag -offline: update, fupdate and fetch extract the cached
    archives only, without touching the network.
  • check shows the branch holding a #ref: for a pinned plugin, check now
    also shows the newer commits on the branch that contains the installed commit.

Changed behaviour

  • Without #ref and branch=, update asks the hoster for the archive of
    "main", then "master", and takes the first one found (previously: always
    "master"). #ref wins over branch=, branch= wins over the probe.
  • prune -all also removes cached archives not referenced in vopher.list.
  • The file holding the commit id inside the plugin folder is named
    git-commit now (previously: github-commit). check falls back to the old
    name, update removes it when writing the new one.

Improvements

  • Per-host request limits and timeouts: -http.jobs host=n (default *=8)
    and -http.timeout host=duration (default *=30s). Previously, check fired
    all feed requests at once without a timeout and could hang forever once GitHub
    throttled. check now reports progress and hints at rate limits (403/429).
  • check output contains fold markers per plugin, allowing to fold the
    already viewed plugins in Vim and Neovim.
  • check prints tag names in full (previously cut after 10 characters, like
    commit ids).
  • Short plugin URLs for all known hosts: codeberg.org/o/r or
    gitlab.com/group/repo get their "https://" automatically, like
    github.com/... did before.
  • Extract plugins atomically: the archive is extracted into a hidden sibling
    folder and only moved into place when complete. A failed extraction no longer
    leaves a mix of old and new files behind, and files not part of the new
    version are gone.
  • Show where the archive of a plugin came from: downloaded, unchanged (304) or
    taken from the cache. UI oneline shows counters in the progress line, UI
    simple appends it to the job line.
  • depends-on= in vim-packs / nvim-packs: a dependency can be referenced
    by its base name, e.g. depends-on=plugin-b for a plugin placed at
    my-packs/opt/plugin-b.

Fixes

  • check handles tag names containing "/": a plugin pinned with
    #firestore/v1.27.0 never got its * mark.

Internal

  • Upgrade dependencies: klauspost/compress 1.18.0 → 1.20.3, ulikunitz/xz
    0.5.15 → 0.5.17.

0.10.0

Choose a tag to compare

@mgumz mgumz released this 05 Oct 20:02

Features

  • Add branch=xyz option to allow to track specific upstream branches. This comes in handy when the upstream "main" branch is actually main and not master
  • New action "nvim-packs", "vim-packs": create VIM/NVIM helper scripts which packadd! referenced plugins/packs. Useful on conditional loading packs in VIM/NVIM.

Improvements

  • Treat duplicate entries in vopher.list as if they were uniquely given (with a warning). This allows for more freedom to specify plugins (for example, to put a plugin and its dependencies closely together).

Fixes

  • Fix status action: plugin name might consist of subfolders like nvim/opt/nvim-abc. status was not checking the pack/nvim/opt/nvim-abc folder and thus printed the wrong status. This is fixed now.

Internal

  • Upgrade dependencies
  • Improve Build-System

0.9.0

Choose a tag to compare

@mgumz mgumz released this 11 Mar 13:36

Features

  • New command "fast-update": A not-so-smart variant of "update", which just sets aside the current plugin folder (as backup) and fetches the whole vopher.list from scratch.

Improvements

  • Vertical align output of "check" command
  • Improve documentation

Fixes

  • Prevent duplicate output of UI "simple"

Internal

  • Upgrade dependencies
  • Improve Build-System

0.8.1

Choose a tag to compare

@mgumz mgumz released this 06 Oct 21:48

Features

  • Add support for .zst compressed plugin-archives
  • Sort output of "check" to match order of vopher.list

0.7.1

Choose a tag to compare

@mgumz mgumz released this 01 Feb 07:15

Fixes

  • Fix fetching on Windows

0.7.0

Choose a tag to compare

@mgumz mgumz released this 27 Jan 09:51

Features:

  • Read from remote vopher.list files. Just specify the remote file as -f "https://my.examples.com/vopher.list`
  • Support substrings in -filter: -filter git will make vopher to work on all plugins which contain the string git.
  • Any plugin URL starting with "github.com/" will be expanded to "https://github.com/" automatically. Yay, lazy typing!
  • The check action required the .zip files from Github to stay on disk since they contained the git revision. vopher now stores that information in the plugin folder itself as file git-commit. This allows to prune the .zip files while being able to check for updates upstream
  • Detect .vmb, .vmb.gz as Vimball archives
  • Add action version (short: v) as an alias to -version
  • Add action archives (short: la) to list the supported archive formats. Removed: -list-supported-archives.

Changed behaviour

  • Default action: status (previously: update). Motivation: update hits 3rd party resources in highly parallel fashion.
  • Default list file: "vopher.list" (previously: ""). Motivation: vopher is mainly operated in the .vim folder and the vopher.list file lives just there.
  • -list-supported-archives becomes action archives. Motivation: no one wants to type a long flag. Motivation 2: All other flags (except for -version) are modifies to actions.

Fixes

  • Fix Vimball extraction: the extracted files lacked newlines.
  • Fix downloads: If a download fails, a broken (empty) file overwrote an existing one.
  • Fix broken .lzma support, the old referenced library was hosted on the now disfunctional code.google.com

Internal

  • Reordering code
  • Fix spelling in documentation
  • Use github.com/golang/dep to vendor non-stdlib dependencies

0.6.0

Choose a tag to compare

@mgumz mgumz released this 07 Jan 13:27

Features:

  • Add new action fetch to be able to fetch (aha!) vim plugins in an adhoc fashion.

Changes:

  • Changed the default folder from . to ./pack/vopher/start which works much nicer out of the box with Vim8 or NeoVim.
  • Set the default -f to vopher.list. So, less typing is needed to work with vopher.

half there

Choose a tag to compare

@mgumz mgumz released this 09 Jul 16:31
0.5.0

add -v and Makefile to build releases