Releases: u-root/gobusybox
v0.2.0
This release introduces breaking changes for users building commands across multiple modules. Gobusybox will now work exactly when go build
or go list
do. This includes support for Go workspaces, vendored Go workspaces, Go modules, and vendored Go module commands. A build with vendoring is fully offline.
This means a whole lot of dependency conflict resolution is now not a part of gobusybox anymore, but is off-loaded to the standard Go workspaces and Go module tooling.
The new README outlines some examples of multi-module builds.
Support Go versions in this release are Go 1.20, 1.21, and 1.22.
Bazel support has been dropped, as it seemed to have been unused and the work to maintain it wasn't worth it.
What's Changed
- fix command names being invalid package names by @orangecms in #42
- Go 1.16 by @hugelgupf in #44
- README: mention tested versions by @hugelgupf in #45
- Split bbinternal package by @hugelgupf in #47
- Place contact info at the top by @hugelgupf in #48
- go.mod gen: use modfile package by @hugelgupf in #49
- Fix failing Go module builds (Go 1.17) by @hugelgupf in #54
- makebb: and a generate code but do not build switch by @rminnich in #50
- bb: don't print module conflict error duplicates by @hugelgupf in #55
- bb: document Go module workings better by @hugelgupf in #56
- README: fix small typo by @hugelgupf in #57
- bb: be more specific in module dependency message by @hugelgupf in #58
- bb: clearer origin of dependency conflicts by @hugelgupf in #59
- Fix tests at HEAD; update to newer bazel by @hugelgupf in #67
- go:embed support by @hugelgupf in #66
- Ensure no regressions with Go 1.18 by @hugelgupf in #69
- monoimporter: fix package import attempt order by @hugelgupf in #70
- bazel: write out empty files for files excluded by build tag by @hugelgupf in #71
- Return error if adding a package fails. by @Prabhuk in #73
- src/pkg/bb: Resolve conflicting u-root by @walterchris in #72
- loadFSPackages: do not ignore errors from addPkg by @rminnich in #75
- Go 1.19 support & testing by @hugelgupf in #77
- Improve experience with package errors by @hugelgupf in #78
- findpkg: support for globs, GBB_PATH, UROOT_SOURCE by @hugelgupf in #79
- Ensure ExtraArgs are actually passed to
go build
by @hugelgupf in #80 - Support Go 1.17-1.20 by @hugelgupf in #84
- README: fix up command names in how it works section by @orangecms in #83
- Disable Go 1.17 u-root build -- u-root does not support 1.17 anymore by @hugelgupf in #87
- Improve bb main by @hugelgupf in #88
- Fix panic writing dependency packages by @hugelgupf in #89
- Provide standard flag to set build tags by @hugelgupf in #90
- use BuildTags in find package step by @rminnich in #82
- API: improve golang.Default by @hugelgupf in #91
- golang: provide common packages.Load API by @hugelgupf in #92
- CI: support 1.18-1.21 by @hugelgupf in #93
- Update rules_go; tested bazel Go version by @hugelgupf in #95
- ignore vendor directory in GO111MODULE=on|auto mode by @hugelgupf in #102
- Use -mod=readonly in all cases where GO111MODULE=on by @hugelgupf in #103
- Fix CI & pin commits to be reproducible by @hugelgupf in #105
- Drop support for bazel, drop Go 1.18 and 1.19 from tests, add Go 1.22 by @hugelgupf in #106
- Add golang Apply func by @hugelgupf in #107
- golang: add WithGOOS and WithBuildTag by @hugelgupf in #108
- Only allow builds when
go build
also works by @hugelgupf in #110
New Contributors
- @orangecms made their first contribution in #42
- @rminnich made their first contribution in #50
- @Prabhuk made their first contribution in #73
- @walterchris made their first contribution in #72
Full Changelog: v0.1.0...v0.2.0
v0.1.0 - first release - alpha
GOPATH/vendor support is fairly mature (forked from https://github.com/u-root/u-root/tree/master/pkg/bb)
bazel support is ported from a mature code base
Go module support is new & alpha-level