Repository navigation
Releases
Releases · mgumz/vopher
0.11.0
Features
- Support git hosters other than GitHub: GitLab (gitlab.com), Forgejo
(codeberg.org) and Gitea (gitea.com).updateandcheckwork for plugins
hosted there. For self-hosted instances, name the software behind it with the
new plugin optionhoster=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:
vophersends 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 itssha1=
matches the cached archive. - New flag
-offline:update,fupdateandfetchextract the cached
archives only, without touching the network. checkshows the branch holding a#ref: for a pinned plugin,checknow
also shows the newer commits on the branch that contains the installed commit.
Changed behaviour
- Without
#refandbranch=,updateasks the hoster for the archive of
"main", then "master", and takes the first one found (previously: always
"master").#refwins overbranch=,branch=wins over the probe. prune -allalso removes cached archives not referenced invopher.list.- The file holding the commit id inside the plugin folder is named
git-commitnow (previously:github-commit).checkfalls back to the old
name,updateremoves 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,checkfired
all feed requests at once without a timeout and could hang forever once GitHub
throttled.checknow reports progress and hints at rate limits (403/429). checkoutput contains fold markers per plugin, allowing to fold the
already viewed plugins in Vim and Neovim.checkprints tag names in full (previously cut after 10 characters, like
commit ids).- Short plugin URLs for all known hosts:
codeberg.org/o/ror
gitlab.com/group/repoget 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. UIonelineshows counters in the progress line, UI
simpleappends it to the job line. depends-on=invim-packs/nvim-packs: a dependency can be referenced
by its base name, e.g.depends-on=plugin-bfor a plugin placed at
my-packs/opt/plugin-b.
Fixes
checkhandles tag names containing "/": a plugin pinned with
#firestore/v1.27.0never got its*mark.
Internal
- Upgrade dependencies:
klauspost/compress1.18.0 → 1.20.3,ulikunitz/xz
0.5.15 → 0.5.17.
0.10.0
Features
- Add
branch=xyzoption to allow to track specific upstream branches. This comes in handy when the upstream "main" branch is actuallymainand notmaster - 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.listas 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
statusaction: plugin name might consist of subfolders likenvim/opt/nvim-abc.statuswas not checking thepack/nvim/opt/nvim-abcfolder and thus printed the wrong status. This is fixed now.
Internal
- Upgrade dependencies
- Improve Build-System
0.9.0
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
0.7.1
0.7.0
Features:
- Read from remote
vopher.listfiles. Just specify the remote file as -f "https://my.examples.com/vopher.list` - Support substrings in
-filter:-filter gitwill makevopherto work on all plugins which contain the stringgit. - Any plugin URL starting with "github.com/" will be expanded to "https://github.com/" automatically. Yay, lazy typing!
- The
checkaction required the.zipfiles from Github to stay on disk since they contained the git revision.vophernow stores that information in the plugin folder itself as filegit-commit. This allows toprunethe.zipfiles while being able tocheckfor updates upstream - Detect
.vmb,.vmb.gzas 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:updatehits 3rd party resources in highly parallel fashion. - Default list file: "vopher.list" (previously: ""). Motivation:
vopheris mainly operated in the.vimfolder and thevopher.listfile lives just there. -list-supported-archivesbecomes actionarchives. 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
.lzmasupport, 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
Features:
- Add new action
fetchto be able to fetch (aha!) vim plugins in an adhoc fashion.
Changes:
- Changed the default folder from
.to./pack/vopher/startwhich works much nicer out of the box with Vim8 or NeoVim. - Set the default
-ftovopher.list. So, less typing is needed to work with vopher.
half there
0.5.0 add -v and Makefile to build releases