Skip to content

Release v2.0.0

Compare
Choose a tag to compare
@desyncr desyncr released this 08 Apr 19:08
· 77 commits to develop since this release
v2.0.0
5a70b51

This release brings huge improvements in performance and usability, bugfixes and enhancements. We addressed long standing performance issues and added many enhancements to Antigen.

This release is NOT backward-compatible with previous versions. A few configuration options may need to be adapted or removed. See "Updating to V2" section below.

Highlights

Performance

As usual we're always looking to improve performance, in this release we've boosted performance greatly:

Antigen stats

Antigen's performance issues are a thing of the past now. See our wiki page for info about our stats.

Semantic versioning in bundles

Now you may require a bundle by tag, additionally to be able to require by branch. This, together with semver-like support for tags you may lock your bundles to a certain stability level, ex:

antigen bundle zsh-users/[email protected].*

Now everytime you update zsh-users/zsh-syntax-highlighting Antigen will look for the next release under v0.5.x, such as v0.5.1, v0.5.2, etc. But will not pull changes from v0.6.x.

This is a huge improvement on stability for your bundles.

Bundle update

In previous versions when you wanted to update your bundles you'd have to wait for every bundle to update. Now you can simply update the bundle you're interested in:

$ antigen update zsh-users/zsh-syntax-highlighting
Updating zsh-users/[email protected]... Done. Took 1s.

Theme completion

A small improvement over previous version is antigen theme command now supports tab completion.
This is available when you use oh-my-zsh library.

$ antigen theme <tab>
3den                 bira                 dieter               fino-time
Soliah               blinks               dogenpunk            fishy
<snip>

Listing output

antigen list output has been greatly improved to be as succinct and informative as possible. It now support three flags to determine it's output: simple, short and long.

$ antigen list [--short]
zsh-users/zsh-syntax-highlighting @ 0.5.0
zsh-users/zsh-autosuggestions @ master
psprint/zsh-navigation-tools @ master

$ antigen list --simple
zsh-users/zsh-syntax-highlighting
zsh-users/zsh-autosuggestions
psprint/zsh-navigation-tools

$ antigen list --long
https://github.com/zsh-users/zsh-syntax-highlighting.git|0.5.* / plugin true
https://github.com/zsh-users/zsh-autosuggestions.git|master / plugin true
https://github.com/psprint/zsh-navigation-tools.git / plugin true

Directory structure

Antigen previously had this hard to read directory structure for storing bundles that may give you a few headaches. Now the directory structure is more natural and easy to navigate:

$ tree -L 2
.
├── LuRsT
│   └── hr
├── Vifon
│   └── deer
├── ascii-soup
│   └── zsh-url-highlighter
├── ddollar
│   └── git-utils
├── sorin-ionescu
│   └── prezto
└── zsh-users
    ├── zsh-autosuggestions-master
    ├── zsh-completions
    ├── zsh-history-substring-search
    └── zsh-syntax-highlighting-0.5.x

Note: When you first run this release Antigen will try to migrate it's directory structure so you won't need to install your bundles again.

Improved tooling

Now all tests and performance metric scripts are run inside a Docker container. We're also building Docker images for multiple Zsh versions we continuously test against. See https://github.com/desyncr/zsh-docker and https://hub.docker.com/u/desyncr/.

Installation support

Thanks to @nicoulaj Antigen now can be easily installed across multiple OSes. See here.

Changes

Removed

  • Removed -antigen-lib, -antigen-prezto-lib (#197, #298)

Added

  • Use git shallow cloning to speed up bundle install (#309)
  • Handles $PATH (#299, #261)
  • Added link to multiple OS install methods (#415)
  • Support semver-like bundling (#423, #262)
  • Use Docker container for tests and stats generation (#461)
  • Add extended help text for antigen-help command (#462, #466)
  • Show version hash on antgen-version command (#467, #465)
  • Function to migrate old bundle paths to new format (#469)
  • Update wiki pages for new version (#464)

Changed

  • Support updating a single bundle (#326, #259)
  • Support antigen-update tab completion (#352)
  • Update Makefile release tasks (#351, #379)
  • antigen-list show version information (tag, branch, git hash) (#411, #371, #445)
  • Support reference cache (vs bundle cache) (#420)
  • Refactor _ANTIGEN_BUNDLE_RECORD (#450)
  • Simplify change detection (#454)
  • Change bundle path generation function (#457, #460)

Fixed

  • antigen-update properly handles --no-local-clone (#353)
  • Don't require confirmation when cleaning up (#419)
  • Fix antigen-selfupdate failing with sym-links (#439, #442, #438)
  • antigen-init command checks input (#441, #440)
  • Respect _ANTIGEN_COMPDUMP configuration (#453, #452)

And more.

See CHANGELOG.md for further details.

Thanks to everyone who reported issues and provided feedback.

Updating to V2

Some configuration options have been either renamed or removed all together. Please review our CHANGELOG.md for further details.

Upcoming changes

Please take a look at our Roadmap for pending issues and future ideas.

How Can I Contribute?

We welcome new contributors! We have a number of issues marked as "Help wanted" that are good places to jump in and get started. Take a look at our Roadmap to see future projects and discuss ideas.

Please be sure to check the Contribution guidelines to understand our workflow, and the Antigen
Coding conventions.