v200 - 2024-11-12
- go1.23 defaults to 1.23.3
- go1.22 defaults to 1.22.9
v199 - 2024-11-11
- Add go1.23.3
- Add go1.22.9
v198 - 2024-10-01
- Add go1.23.2
- Add go1.22.8
- go1.23 defaults to 1.23.2
- go1.22 defaults to 1.22.8
- Add go1.23.1
- Add go1.22.7
- go1.23 defaults to 1.23.1
- go1.22 defaults to 1.22.7
v196 - 2024-09-03
- Deprecate support for unmaintained dependency managers:
dep
,gb
,glide
,godep
andgovendor
. Support for these dependency managers will be removed on March 1, 2025. Apps using these dependency managers should migrate to Go modules as soon as possible. Learn more about using Go modules on Heroku here. - Add support for wwwauth[] git credential arguments
v195 - 2024-08-13
- Add go1.23.0
- go1.23 defaults to go1.23.0
v194 - 2024-08-07
- Add go1.22.6
- Add go1.21.13
- go1.22 defaults to go1.22.6
- go1.21 defaults to go1.21.13
- Source GOFLAGS from the environment
- Add go1.22.5
- Add go1.21.12
- go1.22 defaults to go1.22.5
- go1.21 defaults to go1.22.12
- Add go1.22.4
- Add go1.21.11
- go1.22 defaults to go1.22.4
- go1.21 defaults to go1.21.11
v191 - 2024-05-07
- Add go1.22.3
- Add go1.21.10
- go1.22 defaults to go1.22.3
- go1.21 defaults to go1.21.10
- Add support for heroku-24
- Drop support for installing bzr-hosted dependencies directly; bzr-hosted
v190 - 2024-04-05
- Add go1.22.2
- Add go1.21.9
- go1.22 defaults to go1.22.2
- go1.21 defaults to go1.21.9
v189 - 2024-03-06
- Add go1.22.1
- Add go1.21.8
- go1.22 defaults to go1.22.1
- go1.21 defaults to go1.21.8
v188 - 2024-02-28
- Defaults to go1.20.14 when Go version is not specified
- Defaults to go1.20.14 when bootstrapping Go development releases
v187 - 2024-02-08
- Add go1.21.7
- Add go1.20.14
- go1.21 defaults to go1.21.7
- go1.20 defaults to go1.20.14
v186 - 2024-02-08
- Add go1.22.0
- Use go1.22.0 for go1.22
v185 - 2024-02-06
- Add go1.22rc1, go1.22rc2
v184 - 2024-01-16
- Added
--show-error
flag to all curl commands - Add go1.20.13
- Add go1.21.6
- go1.20 defaults to go1.20.13
- go1.21 defaults to go1.21.5
v183 - 2024-01-02
- Add go1.20.12
- Add go1.21.5
- go1.20 defaults to go1.20.12
- go1.21 defaults to go1.21.45
v182 - 2023-11-13
- Add go1.20.11
- Add go1.21.4
- go1.20 defaults to go1.20.11
- go1.21 defaults to go1.21.4
v181 - 2023-10-11
- Add go1.20.9
- Add go1.20.10
- Add go1.21.2
- Add go1.21.3
- go1.20 defaults to go1.20.10
- go1.21 defaults to go1.21.3
v180 - 2023-09-18
- Add go1.19.13
- Add go1.20.8
- go1.19 defaults to go1.19.13
- go1.20 defaults to go1.20.8
v179 - 2023-09-18
- Add go1.21.1
- go1.21 defaults to go1.21.1
v178 - 2023-08-14
- Add go1.21.0
- Use go1.21.0 for go1.21
v177 - 2023-08-07
- Add go1.20.7
- Add go1.19.12
- go1.20 defaults to go1.20.7
- go1.19 defaults to go1.19.12
v176 - 2023-08-01
- Add go1.20.6
- Add go1.19.11
- go1.20 defaults to go1.20.6
- go1.19 defaults to go1.19.11
v175 - 2023-06-26
- Add go1.20.5
- Add go1.19.10
- go1.20 defaults to go1.20.5
- go1.19 defaults to go1.19.10
- Drop support for the heroku-18 stack
v174 - 2023-05-09
- Add go1.20.4
- Add go1.19.9
- go1.20 defaults to go1.20.4
- go1.19 defaults to go1.19.9
v173 - 2023-04-11
- Add go1.20.3
- Add go1.19.8
- go1.20 defaults to go1.20.3
- go1.19 defaults to go1.19.8
v172 - 2023-03-23
- Add go1.20.1 and go1.20.2
- Add go1.19.6 and go1.19.7
- go1.20 defaults to 1.20.2
- go1.19 defaults to 1.19.7
v171 - 2023-02-06
- Add go1.20, use for go1.20 and go1.20.0
v170 - 2023-01-23
- Add go1.19.4, go1.19.5
- Add go1.18.9, go1.18.10
- go1.19 defaults to go1.19.5
- go1.18 defaults to go1.18.10
v169 - 2022-11-09
- Add go1.19.2, and go1.19.3
- Add go1.18.4, go1.18.5, go1.18.7, and go1.18.8
- Add go1.17.11, go1.17.12, and go1.17.13
- go1.19 defaults to go1.19.3
- go1.18 defaults to go1.18.8
- go1.17 defaults to go1.17.13
v168 - 2022-09-08
- Add go1.19
- Add go1.19.1
- Add go1.18.6
- go1.18 defaults to 1.18.6
- go1.19 defaults to 1.19.1
v166 - 2022-06-15
- Re-release of the changes in v164.
v165 - 2022-06-14
- Temporary rollback of the v164 release.
v164 - 2022-06-14
- Adjust curl retry and connection timeout handling
- Switch to the recommended regional S3 domain instead of the global one
v163 - 2022-06-09), v167 (published by mistake 2022-09-08
- Use the go version in
go.mod
if no+heroku
comment is found (#378/#411) - Add go1.18.3
- go1.18 defaults to 1.18.3
v162 - 2022-03-23
- Add go1.17.9
- Add go1.17.10
- Add go1.18.1
- Add go1.18.2
- go1.17 defaults to 1.17.10
- go1.18 defaults to 1.18.2
- Add Heroku-22 to the Circle CI test matrix.
v161 - 2022-03-15
- Add go1.15.11
- Add go1.15.12
- Add go1.15.13
- Add go1.15.14
- Add go1.15.15
- Add go1.16.11
- Add go1.16.12
- Add go1.16.13
- Add go1.16.14
- Add go1.16.15
- Add go1.17.4
- Add go1.17.5
- Add go1.17.6
- Add go1.17.7
- Add go1.17.8
- Add go1.18
- go1.18 defaults to 1.18
- go1.17 defaults to 1.17.8
- go1.16 defaults to 1.16.15
- go1.15 defaults to 1.15.15
v160 - 2021-11-30
- Stop suppressing error output from
go list
- Document how to install additional tools with go modules
v159 - 2021-11-30
- Republish v157 (with missing binaries)
v158 - 2021-11-30
- Rollback v157 to v156 (binaries were missing)
v157 - 2021-11-30
- Add go1.16.10, use for go1.16
- Add go1.17.3, use for go1.17
v156 - 2021-10-11
- Add go1.16.9, use for go1.16
- Add go1.17.2, use for go1.17
v155 - 2021-09-13
- Add go1.16.8, use for go1.16
- Add go1.17.1, use for go1.17
v154 - 2021-08-18
- Add go1.17
- Add go1.16.7, use for go1.16
- Add go 1.16.6
- Add go 1.16.5
- Add go 1.16.4
- Add go 1.16.3
- Add go 1.16.2
- Add go1.15.10, use for go 1.15
- Drop Heroku-16 from CI test matrix
v153 - 2021-03-11
- Add go1.16.1, use for go1.16
- Add go1.15.9, use for go1.15
v152 - 2021-02-17
- Drop cedar-14 from test matrix
- Remove skipping of tests on cedar-14
- Update Makefile's default IMAGE to heroku/heroku:20-build
- Install patter in a Go 1.16+ compatible way
- Add go1.16, use for go1.16 and go1.16.0
- Add go1.14.15, use for go1.14
- Add go1.15.8, use for go1.15
v151 - 2021-02-01
- Add go1.16rc1, use for go1.16
v150 - 2021-01-21
- Add go1.14.14, use for go1.14
- Add go1.15.7, use for go1.15
- Add go1.14.11
- Add go1.15.4
- Add go1.14.12
- Add go1.15.5
- Add go1.14.13, use for go1.14
- Add go1.15.6, use for go1.15
- Add go1.14.10, use for go1.14
- Add go1.15.3, use for go1.15
- GoModules Private proxy support via
GOPROXY
,GOPRIVATE
, andGONOPROXY
- Add go1.14.9, use for go1.14
- Add go1.15.2, use for go1.15
- Update glide-with-hg-dep test fixture to use a new dependency, bitbucket.org/pkg/inflect is gone
- Add go1.14.8, use for go1.14
- Add go1.15.1, use for go1.15
- Switch
heroku-buildpack-go
's default branch frommaster
tomain
. - Add go1.13.15, use for go1.13
- Add go1.14.7, use for go1.14
- Add go1.15
- Add go1.13.13
- Add go1.14.5
- Add go1.13.14, use for go1.13
- Add go1.14.6, use for go1.14
- Add go1.13.11
- Add go1.14.3
- Add go1.13.12, use for go1.13
- Add go1.14.4, use for go1.14
- Set GOPATH earlier when using modules, which fixes issues when using Heroku CI
- Add Heroku-20 to the Travis test matrix
- Add go1.13.10, use for go1.13
- Add go1.14.2, use for go1.14
- Only pass -mod=vendor to
go list
if a vendor directory is present (#394)
- Update shunit2
- sbin/sync-files.sh: verify checksums serially
- Add go1.12.17, use for go1.12 and as the default
- Add go1.13.9, use for go1.13
- Add go1.14.1, use for go1.14
- Add go1.13.8
- Add go1.14
- Expand go1.13 to go1.13.8
- Expand go1.14 to go1.14
- Add go1.12.15 and go1.12.16
- Add go1.13.6 and go1.13.7
- Add go1.14rc1
- Default to go1.12.16
- Expand go1.13 to go1.13.7
- Expand go1.14 to go1.14rc1
- Add go1.12.13
- Add go1.13.4
- Add go1.13.5, use for go1.13
- Add go1.12.14, expand go1.12 to go1.12.14, and default to go1.12.14
- Add go1.14beta1 expand go1.14 to go1.14beta1
- Remove duplicate deploy docs.
- Same as 134, which looks like a misfire.
- Add go1.13.3, use for go1.13
- Add go1.12.12, expand go1.12 to go1.12.12, and default to go1.12.12
- Add go1.13.2, use for go1.13
- Add go1.12.11, expand go1.12 to go1.12.11, and default to go1.12.11
- Remove hg and bzr installation as they are now part of the heroku-16 and heroku-18 build images.
- Bump golangci-lint to v1.20.0
- Add go1.13.1, use for go1.13
- Add go1.12.10, expand go1.12 to go1.12.10, and default to go1.12.10
- Add go1.13rc2, use for go1.13
- Add go1.13, use for go1.13
- Bump Glide to 0.13.3
- Download and install bzr when modules are in use.
- Add go1.12.9, expand go1.12 to go1.12.9, and default to go1.12.9
- Add go1.11.13, expand go1.11 to go1.11.13
- Add go1.13rc1, expand go1.13 to go1.13rc1
- Add go1.12.8, expand go1.12 to go1.12.8, and default to go1.12.8
- Set the public bit on files uploaded by ./sbin/sync-files.sh so that the files are publicly available.
- Rollback to v119
- Rollback attempt
- Rollback attempt
- Add go1.12.7, expand go1.12 to go1.12.7, and default to go1.12.7
- Add go1.11.12 and expand go1.11 to go 1.11.12
- Botched release
- Botched release
- Add go1.13beta1 and make it the default when go1.13 is specified
- Add -r to xargs so that xargs doesn't run commands when there is no input.
- Add go1.12.6, expand go1.12 to go1.12.6, and default to go1.12.6
- Add go1.11.11 and expand go1.11 to go1.11.11
- Dep Dep bumped to v0.5.2. Dep v0.5.1 & v0.5.0 also made available.
- Cleanup how the stdlib is sourced.
- GoModules Make read-only module files writable so they can be deleted during cache cleaning on Go version upgrade.
- GoModules TestPack When .golangci.{yml,toml,json} exist run
golangci-lint -v --build-tags heroku run
during test. Use your .golangci.{yml,toml,json} to configure golangci-lint. - Add go1.12.5, expand go1.12 to go1.12.5, and default to go1.12.5
- Add go1.11.10 and expand go1.11 to go1.11.10
- GoModules When no Procfile exists and only a single main package exists, setup the resulting executable as the web process type.
- GoModules When no Procfile exists and multiple main packages exist, setup the resulting executables as process types of the same name.
- GoModules This means that a main package in a
web
directory will be setup as the web process type, a package in aworker
directory will be setup as the worker process type, etc.
- GoModules Set GOPATH to capture downloaded dependencies.
- Add go1.12.4, expand go1.12 to go1.12.4, and default to go1.12.4
- Add go1.11.9 and expand go1.11 to go1.11.9
- Restore vendored mattes migrate teset on cedar:14 (finally fixed in ^)
- Add go1.12.3, expand go1.12 to go1.12.3, and default to go1.12.3
- Add go1.11.8 and expand go1.11 to go1.11.8
- GoModules Handle quoted module names in go.mod
- Add go1.12.2, expand go1.12 to go1.12.2, and default to go1.12.2
- Add go1.11.7 and expand go1.11 to go1.11.7
- GoModules Drop 'Go.SupportsModuleExperiment' from data.json, instead error for go versions < go1.11 when using modules.
- Drop 'Go.Supported' from data.json since the buildpack is no longer using it for anything.
- Skip vendored mattes migrate compile on cedar:14 due to gcc error.
- Handle non files in bin/ (symlinks, directories, etc) when diffing to determine contents of bin/
- GoModules Fixed flag handling, which has been broken since -mod=vendor was added (at least)
- GoModules Detect main packages in the repo and install them when there isn't a specified package spec.
- Only list the contents of bin/ that were installed/modified by the buildpack, instead of everything in bin/
- Small updates to the readme
- Add go1.12.1 & go1.11.6
- Default to go1.12.1
- If ./cmd exists and no package spec is set, then set package spec to ./cmd/...
- GoModules Fix up Go modules testing to include mod=vendor or mod=readonly and set GOPATH to a temporary directory so downloaded deps' tests aren't executed.
- Move publish script to /sbin/publish / don't push to master since it's disabled.
- Add Codeowners to automate PR reviews.
- Removed warnings on command line
- Added info about compiled binaries
- Add go1.12 and default to it when go1.12 is specified.
- Add go1.12 to the list of supported versions.
- Deprecate go1.10*
- Track count of go versions being deployed
- Add go1.10.8 and default to it when go1.10 is specified
- Add go1.11.5 and default to it when go1.11 is specified or no version is specified.
- GoModules Support go modules on Heroku CI (bin/test-compile & bin/test).
- Add pre/post compile run hooks: /bin/go-pre-compile & /bin/go-post-compile
- Add go1.12rc1 and default to it when go1.12 is specified.
- Add go1.12beta1 and default to it when go1.12 is specified
- Add go1.12beta2 and default to it when go1.12 is specified
- Fix git Credential Helper for go module use (missing brackets) - @chrisroberts
- Fix dep help text for package install - @andrewslotin
- Add go1.11.3 & go1.11.4 using go1.11.4 as the default for go1.11
- Add go1.10.6 & go1.10.7 using go1.10.7 as the default for go1.10
- Re-apply v95
- Rollback
- Add go1.11.2, use it as the default for go1.11
- Add go1.10.5, use it as the default for go1.10
- Remove the need for Procfiles in simple situations for go modules
- Add go1.11.1, use it as the default for go1.11
- Promote go1.11.1 as the default install
- Deprecate go1.9.X
- Be clearer about what version of go is chosen if none is specified. Addresses #266.
- Handle version stuff in the right place for go modules.
- Add go1.11 and mark it as supported
- Add go1.10.4 and make it the default, supported version
- Add go1.11rc2 (unsupported) for experimenters
- Add basic support for go modules (unsupported) for experimenters
- Adds support for Golang Migrate (github.com/golang-migrate/migrate) as an additional tool
- Deprecates support for Mattes Migrate (is now Golang Migrate)
- Add go1.11beta1 (unsupported) for experimenters
- Add go1.11beta2 (unsupported) for experimenters
- Add go1.11rc1 (unsupported) for experimenters
- GOCACHE support
- Add go1.10.3 and go1.9.7
- Default to go1.10.3
- go1.10 expands to go1.10.3 and go1.9 expands to go1.9.7
- Add go1.10.2 and go1.9.6
- Default to go1.10.2
- go1.10 expands to go1.10.2 and go1.9 expands to go1.9.6
- Add go1.10.1 and go1.9.5
- Default to go1.10.1
- go1.10 expands to go1.10.1 and go1.9 expands to go1.9.5
- Deprecate go1.8*
- Check to see if the buildpack knows about a file before trying to download it. Fixes #227.
- Fixed GO_LINKER_SYMBOL handling for go1.10+ (Thanks @djui)
- Better naked version expansion that allows not only for 1.9 -> go1.9.4, but also 1.9.4 -> go1.9.4, which was missing previously.
- Add support for go1.10 (which will expand to the current go1.10.X version) and go1.10.0 (which pins to go1.10).
- Add
make sync
target and update README around syncing.
- Add go1.10rc2 and default go1.10 to it.
- Add
1.X
versions expansions. Previously the full version string needed to start withgo
. Example:go1.9
was required instead of1.9
. Now both expand to the current go 1.9 version (currentlygo1.9.4
).
- Add go1.9.4 & 1.8.7 and default go1.9/go1.8 to them.
- Bump dep to v0.4.0
- Bump dep to v0.4.1
- Add go1.10rc1 and default it as the version for go1.10
- Add go1.9.3 and make it the default
- Add go1.10beta1 and go1.10beta2
- Add go1.9.2 and go1.8.5 and default go1.9/go1.8 to them.
- Add support for Git credentials specified via config vars. See here for more info. So far this has only been tested with Github and personal access tokens over https, but should work for other methods as well.
- Tests now use a local file:// URL for most dependencies. This enables offline mode for most tests and makes it easier to test local changes before syncing the production bucket.
- Tests now better us shunit2 setup/teardown, instead of not cleaning up after themselves.
- Run tests against both the older heroku/cedar:14 image and the new heroku/heroku:16-build image.
- Because of the three changes above, tests are now faster.
- Allow
go1.X.0
versions that expand togo1.X
, effectively pinning the minor version to the first version in the X series.
- Actually make go1.9.1 supported
- Actually make go1.8.4 supported
- Preliminary dep support.
- Update tq to v0.5
- Add tq and dep to s3 to ease dep integration.
- Update go to 1.9.1 & 1.8.4 & default to them.
- Promote go1.9 to supported.
- Add go1.9 and default go1.9 to it.
- Add go1.9rc2 and default go1.9 to it.
- Add go1.9rc1 and default go1.9 to it.
- Add go1.9beta2 and default go1.9 to it.
- Support "go1.9" as a possible version, mapping to "go1.9beta1".
- Support "go1.9beta1" as a possible version.
- Add
$GLIDE_SKIP_INSTALL
for when glide users need to skip theglide install
step.
- Support go1.8.3 and default to it.
- Support go 1.8.2 and go1.7.6. Default to both.
- Support
heroku.additionalTools
forgithub.com/mattes/migrate
for govendor.
- Support go 1.8.1. Default to go1.8.1.
- Add $GO_TEST_SKIP_BENCHMARK, that when set to anything skips the benchmark during test execution.
- Go 1.8 final support
- Update gb to 0.4.4-pre (made up from master @ 137520c0f2217d8b7f934dc307865488ef31b551)
- Ensure there is a
${build}/bin
after moving things around to setup$GOPATH
- Default go1.7 to go1.7.5 (was actually missing from last release :-()
- Bump go1.8 to go1.8rc3
- Default go1.7 to go1.7.5
- Bump go1.8 to go1.8rc2
- Ensure glide is in the PATH, even when using from the cache.
- go1.8 support (beta / rc atm).
- Start using our own s3 bucket instead of various internet locations.
- Verify SHAs of filesdownloaded.
- Fix erroneous warning about go1.7.4 / go1.6.4 being deprecated
- Default to go1.7.4 for go1.7
- Default to go1.6.4 for go1.6
- Default to go1.7.3 for go1.7
- Add support for testpack (bin/test-compile & bin/test)
- Bump versions of GB (0.4.3), Glide (0.12.2) & govendor (1.0.8)
- govendor: set
.heroku.sync = false
to prevent agovendor sync
from being run before go install. - When
GO_INSTALL_TOOLS_IN_IMAGE=true
the go tool chain (and dep tool) will be installed in$HOME/.heroku/go
($GOROOT=$HOME/.heroku/go
). $GOROOT/bin is added to the$PATH
. - When
GO_SETUP_GOPATH_IN_IMAGE=true
(except for GB) the provided code is setup in a proper $GOPATH ($GOPATH=$HOME
) and user's code is placed in$GOPATH/src/$PROJECT NAME
.
- Bump govendor to v1.0.6
- Bump to go1.7.1
- When using glide, install hg
- go1.7 released, drop support for go1.5.X
- go1.7rc5 is the default for go1.7
GOVERSION
&GO_INSTALL_PACKAGE_SPEC
take priority over config files for godep/govendor. This is to help people deploying the same repo to multiple apps, allowing them to compile only specific packages and choose different go versions.
- go1.7rc3 is the default for go1.7
- go1.7rc1 is the default for go1.7
- Use go1.7rc2 and go1.6.3
- Official README image
- glide support
- go1.7beta2 is the default for go1.7
- Release notes for internal people
- Remove the need for Procfiles in simple situations
- GB: .go files only in src/ aren't valid and we shouldn't detect them as such. So -mindepth 2 added to GB detection
- Make detection and compile ordering the same
- Normalize names and location of functions
- Support go1.7beta1
- Add Travis CI image to README
- Bump govendor to 1.0.3
- Support govendor sync.
- Add '${build_dir}' substitution to build time environment variables. This is mainly useful for CGO support of vendored libs/includes
- No longer set
GOMAXPROCS
defaults for go1.5+
- Bump GB to 0.4.1, remove beta warning
- Fix a bug in vendor path massaging
-
Re-did the tests to use the same docker based testing that the nodejs buildpack uses. Added tests for most bits of the buildpack. This resulted in a few minor changes in bin/compile. These cleanups are:
- warn goes to stdout, not stderr
- a new function 'err' writes to stderr (in red)
- 'warn'ing that used to exit 1 after now 'err' instead
- UNSET VendorExperiment if a Godeps/_workspace/src directory exists
- installs now 2>&1
-
Add LICENSE files for jq and godep, which this buildpack bundles.
- Massage the installable package spec to include the name + vendor directory when vendor is used
- Support the downloading and compilation of development versions of go go1.6.2 released, set as default for go1.6
- Initial support for govendor
- Retry curls up to 15 times with a 2 second wait between retries
- go1.6.1 released, set as default for go1.6
- go1.5.4 released, set as default for go1.5
- go1.6 released, 1.4.3 deprecated
- Bump to go1.6rc2
- Update support link
- Support for GB, A project based build tool for the Go programming language.
- Fix the download of older go versions (< go1.3) now that googlecode is dead.
- Only make/use env_dir if it's passed
- Remove support for .godir and
Godeps
file (used by way old, unsupported versions of godep)
- Fix incorrect reporting of go1.6rc1 as deprecated
- Add a LICENSE file
- Bump default go1.6 version to go1.6rc1
- Default to
go1.5.3
whengo1.5
is specified.
- Better support for go1.6: Support
GO15VENDOREXPERIMENT=0
, go.1.6 uses newer-X $GO_LINKER_SYMBOL=$GO_LINKER_VALUE
ldflag, like 1.5
- Deprecate .godir, Godeps file (not Godeps/Godeps.json) and older Go versions.
- Specifying a major version of go (e.g. go1.5) in Godeps/Godeps.json will cause the buildpack to select the current minor rev of Go (for bugfix goodness).
- Support go1.6 via go1.6beta1
- Default back to
./...
when not using Godeps/Godeps.json at all (.godir & old Godeps file).
- Always detect packages from Godeps.json file. Previously this was only done for projects using
GO15VENDOREXPERIMENT
.
- Default to Package "." when using
GO15VENDOREXPERIMENT
- Use new linker -X option format for go1.5
- Fix a typo (wanr -> warn)
- Support
GO15VENDOREXPERIMENT
flag (experimentally) & jq updated from 1.3 to 1.5
- Default to Go 1.5 if no version is specified
- Update godeps (bug fixes and version command)
- Set
GOMAXPROCS
based on dyno size.