Releases: burrowers/garble
v0.9.3
v0.9.2
v0.9.1
v0.9.0
This release continues support for Go 1.19 and the upcoming Go 1.20.
Noteworthy changes include:
- Randomize the magic number header in
pclntab- #622 - Further reduce binary sizes with
-tinyby 4% - #633 - Reduce the size overhead of all builds by 2% - #629
- Reduce the binary size overhead of
-literalsby 20% - #637 - Support assembly references to the current package name - #619
- Support package paths with periods in assembly - #621
Note that the first two changes are done by patching and rebuilding Go's linker.
While this adds complexity, it enables more link time obfuscation.
v0.8.0
This release drops support for Go 1.18, continues support for Go 1.19, and adds initial support for the upcoming Go 1.20.
Noteworthy changes include:
GOGARBLE=*is now the default to obfuscate all packages - #594GOPRIVATEis no longer used, being deprecated in v0.5.0- Obfuscate assembly source code filenames - #605
- Randomize the lengths of obfuscated names
- Support obfuscating
timeandsyscall - Avoid reflect method call panics if
reflectis obfuscated
Thanks to @Azrotronik, @lu4p, and @capnspacehook for contributing to this release!
v0.7.2
v0.7.1
This bugfix release finishes support for Go 1.19 and features:
- Obfuscate all cgo filenames to not leak import paths
- Support obfuscating
netandruntime/debug - Don't leak temporary directories after obfuscating
- Fix an edge case resulting in broken import declarations
- Reduce allocations involved in obfuscating code
v0.7.0
This release drops support for Go 1.17, continues support for Go 1.18, and adds initial support for the upcoming Go 1.19.
Noteworthy changes include:
- Initial support for obfuscating generic code - #414
- Remove unused imports in
-literalsmore reliably - #481 - Support obfuscating package paths ending with
.go- #539 - Support installing garble in paths containing spaces - #544
- Avoid a panic when obfuscating variadic functions - #524
- Avoid a "refusing to list package" panic in
garble test- #522 - Some module builds are now used as regression tests - #240
Thanks to @lu4p, @pagran, and @shellhazard for their contributions in this release!
v0.6.0
This release adds support for Go 1.18 while continuing support for Go 1.17.x. Note that building generic code isn't supported just yet.
Noteworthy changes include:
- Obfuscation is now fully deterministic with a fixed
-seed- #449 - Improve support for type aliases to fix some build failures - #466
- Add support for quotes in
-ldflagsas pergo help build- #492 - Fail if the current Go version is newer than what built garble - #269
- Various optimizations resulting in builds being up to 5% faster - #456
Thanks to @lu4p and @capnspacehook for their contributions in this release!