Releases: Masterminds/glide
Release 0.8.1
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.
0.7.2
0.7.1
- Fixed #136: Fixed infinite recursion in list and tree commands.
- Fixed issue where glide guess listed a null parent.
- Fixed #135: Hard failure when home directory not found for cache.
- Fixed #137: Some messages not ending in "\n".
- Fixed #132 and #133: Build from source directions incorrect (thanks hyPiRion).
0.7.0
- Fixed #110: Distribution as .tag.gz instead of .zip.
- Issue #126: Added --no-color option to remove color for systems that do not
work well with color codes (thanks albrow). - Added caching functionality (some opt-in).
- Added global debug flag.
- Moved yaml parsing and writing to gopkg.in/yaml.v2 and separated
config handling into separate package. - Better godep import handling.
- Fixed #98: Godep command name fix (thanks jonboulle).
- #52 and #114: Add semantic version (SemVer) support.
- #108: Flatten the dependency tree by default.
- Fixed #107: Allow
glide get
to retrieve insecure packages with--insecure
flag. - #105: Import commands accept a filename with the
-f
flag. - Fixed #97: Fixed misspellings (thanks jonboulle).
- #96: Allow multiple packages in
glide get
. - #92: Added support to
glide update
to only update a specific package. - #91:
glide list
now displays if a pkg is in vendor, GOPATH, or missing. - Issue #89: More robust GOPATH handling (thanks gcmt).
- Fixed #65: Hg commands were not checking out the codebase on the first update.
- Fixed #95: Added more detail for errors previously reporting "Oops! exit
status 128". - Fixed #86 and #71: Imported package names including a sub-package were checked
out to the wrong location. They are not checked out to the right place and
multiple instances of the top level repo are merged with error checking.
0.6.1
0.6.0
- #53: Add support for gb-vendor manifest files.
- Added
glide tree
command to inspect the code and see the imported packages. - Added
glide list
to see an alphabetized list of imported projects. - Added flatten feature to flatten the vendor tree (thanks interlock).
- Fixed #74: Glide guess using the wrong GOROOT locations in some environments
(thanks janeczku). - Fixed #76: Glide tree doesn't exclude core libraries with the GOROOT is
incorrect (thanks janeczku). - Fixed #81: rebuild command did not look in vendor/ directory.
- Fixed #77: update failed when a commit id was set for the ref.
0.5.1
This is a bug fix release. The largest of which is that now Glide works properly with vendored packages and can properly update them.
- Fixed #58: Guess command not working.
- Fixed #56: Unable to use glide get on golang.org/x/[name]/[subpackage]
- Fixed #61: The wrong version of a dependency can be pinned when packages are vendored (no VCS repo associated with them).
- Fixed #67: Unable to work go-get redirects.
- Fixed #66: 'glide up' now has an --update-vendored (-u) flag to update vendored directories.
- Fixed #68: Handling the base where the GOPATH has multiple separated directories.
0.5.0
Glide 0.5 is a major update breaking some backwards compatibility with
previous releases to support the new vendor
setup in Go 1.5. Glide 0.5
does not work on versions of Go prior to 1.5.
- Migrated to using the vendor/ directory and the go tools for vendor
package management. To leverage this you'll need to set the
environment variable GO15VENDOREXPERIMENT=1 and use Go 1.5. glide up
is now recursive and walks installed packages if there is
no vendor directory. Use the --no-recursive flag to skip this.- Removed GOPATH management. This was needed for vendor package
management that's not built into the go toolchain. - Switched to github.com/Masterminds/vcs for VCS integration.
- When updating packages are now deleted if the --delete flag is set.
This feature is now opt-in. - Fixed #32: Detects VCS type and endpoint changes along with a --force flag
to replace the checkout if desired.
0.5.0-beta1
Glide .5 is a major update breaking some backwards compatibility with
previous releases.
- Migrated to using the vendor/ directory and the go tools for vendor
package management. To leverage this you'll need to set the
environment variable GO15VENDOREXPERIMENT=1 and use Go 1.5. glide up
is now recursive and walks installed packages if there is
no vendor directory. Use the --no-recursive flag to skip this.- Removed GOPATH management. This was needed for vendor package
management that's not built into the go toolchain. - Switched to github.com/Masterminds/vcs for VCS integration.
- When updating packages are now deleted if the --delete flag is set.
This feature is now opt-in.