Release 0.8.0
The 0.8.0 release of Glide brings with it some new major features. The most important of these is the glide.lock
file, generated when running glide update
. The glide.lock
file contains the complete dependency tree and the commit id each package is pinned with. Where the glide.yaml
file contains the dependencies of a project the glide.lock
file, which is generated automatically, contains all the dependencies.
Instead of using glide update
(or glide up
) to install dependencies you should use the glide install
command. This will install the dependencies and versions listed in the glide.lock
file. This command is quite fast as it doesn't need to determine the dependency tree and does some actions concurrently to speed up performance. glide up
should be used to update the pinned versions. When no glide.lock
file is present the glide install
command will perform an update.
We recommend you check the glide.lock
file into your version control system.
In addition to locking by default, Glide 0.8.0 detects dependencies in dependencies not managed by a package manager (Glide, GPM, Godep, GB) and properly pins them.
This is a major step forward for Glide as you can now easily have reproducible builds while maintaining semantic version range support and usage.
- Issues #156 and #85: Added lockfile support (glide.lock). This file records
commit id pinned versions of the entire dependency tree. Theglide install
command installs the pinned dependencies from theglide.lock
file while
glide update
updates the tree and lockfile. Most people should useglide install
unless they want to intentionally updated the pinned dependencies.
glide install
is able to use concurrency to more quickly install update. - Issues #33 and #159: Glide notifies if a dependency checkout has uncomitted
changes. - Issue #146: Glide scans projects not managed by a dependency manager, fetches
their dependencies, and pins them in the glide.lock file. - Issue #99: Glide
get
pins dependencies by default and allows a version to
be passed in. For example,glide get github.com/Masterminds/convert#^1.0.0
will fetchgithub.com/Masterminds/convert
with a version of^1.0.0
. - Issue #155: Copying packages from the
GOPATH
is now opt-in. - Removed the pin command as it's not longer needed now that there are lockfiles.