gb v0.4.4 Release Notes

Release Date: 2017-02-22 // almost 8 years ago
  • The 0.4 series focuses on improvements to project dependency management.

    ๐Ÿ†• New features (since 0.4.3)

    • ๐Ÿ‘€ depfile now supports tag=sometag in addition to version=semver. See #629
    • ๐Ÿ— gb now uses the go/build package for parsing source code. The previous importer introduced over the Dec 2015 break has been removed. No user visible change is expected.
    • ๐Ÿ’… @gliptak has added a bunch of code hygiene tools to the CI process, and subsequently fixed a lot of style and hygiene issues. Thanks!

    ๐Ÿ› Bug fixes (since 0.4.3)

    • ๐Ÿ“ฆ gb-vendor no longer gets tripped up when a package refers to the copy of golang.org/x/net/http2/hpack vendored in the Go standard library after Go 1.6. Fixes #635
    • ๐Ÿ“œ gb-vendor now ignores invalid XML after tag when parsing vanity imports. Fixes #643. Thanks @seh
    • ๐Ÿ— gb now builds cgo packages correctly on distributions that default to -PIE mode. Fixes #607. Thanks @rdwilliamson
    • gb-vendor now refuses to accept more than one argument when the -all flag is used. Thanks @nubunto
    • โช gb-vendor restore now operates in parallel. Thanks @gsquire
    • โœ… gb test now works with Go 1.8. Fixes #690. Thanks to @freeformz for the test case.

Previous changes from v0.4.3

  • The 0.4 series focuses on improvements to project dependency management.

    ๐Ÿ†• New features (since 0.4.2)

    ๐Ÿš€ gb now has the ability to automatically download released dependencies.

    Briefly summarised, if a dependency is listed in $PROJECT/depfile but is not present in the users' cache, gb will attempt to fetch it.

    ๐Ÿ‘ NOTE: currently only dependencies hosted on github are fetched. Vanity import paths, bitbucket, private git repos, etc. are not yet supported.

    $PROJECT/depfile syntax

    A valid depfile lives at $PROJECT/depfile. It contains one or more lines of text. The format of the line is:

    name key=value [key=value]...
    

    ๐Ÿš€ name is an import path representing a remote repository. The only supported key is version, a valid version value is any SemVer 2.0.0 value. This version must match a release tag in the format

    v\<semver version\>
    

    For example:

    github.com/pkg/profile version=1.1.0
    

    ๐Ÿš€ Will fetch the github release tagged v1.1.0.

    Sample $PROJECT/depfile

    Elements can be separated by whitespace. Lines that do not begin with a letter or number are ignored. This provides a simple mechanism for commentary.

    # some comment
    github.com/pkg/profile version=1.1.0
    
    ; some other comment
    // third kind of comment
    lines starting with blank lines are also ignored
    github.com/pkg/errors version=0.7.0
    

    ๐Ÿ“š Full documentation is available on the getgb.io website. Updates #536

    Please leave feadback on this feature via the issue tracker.

    gb now depends has an external dependency on github.com/pkg/errors.