Skip to content

Releases: gopherust-io/goalign

v1.4.0

Choose a tag to compare

@gopherust-io gopherust-io released this 02 Aug 10:23

GoAlign v1.4.0

Highlights

  • Cacheguard — detect false sharing; --cacheguard / --cache-line pad isolation
  • Config.goalign.yml project defaults
  • --packages — resolve imported type sizes via go/packages
  • SARIF — GitHub Code Scanning output (-f sarif)
  • Policies--policy=atomics|density|stable
  • Fix UX--diff / --dry-run; opt-in --rewrite-bools
  • Multi-arch--arches summary matrix
  • Vet plugingoalign-analyzer

Hardening

  • Correct atomic.Value / Uintptr / Pointer / unsafe.Pointer sizes
  • Field-ignore full-struct metrics; safer fixer (atomic writes, slot mapping, comments)
  • Config arches rejected on fix; machine formats under --arches; min-waste keeps false-share/cacheguard

See CHANGELOG.md for the full list.

Install

go install github.com/gopherust-io/goalign@v1.4.0
go install github.com/gopherust-io/goalign/cmd/goalign-analyzer@v1.4.0

v1.3.0 — Parallelism and architecture docs

Choose a tag to compare

@gopherust-io gopherust-io released this 01 Aug 15:04
ea46f67

Highlights

  • --jobs / -j to control parallel file analyzes (default: min(GOMAXPROCS, 8))
  • goalign fix reuses analyze source bytes via FixContent (avoids a second disk read)
  • Faster // goalign:ignore handling with a per-file line index
  • New ARCHITECTURE.md documenting CLI layers and packages

Install

go install github.com/gopherust-io/goalign@v1.3.0

Notes

  • Latest stable release. Use this tag for new installs and CI pins.

v1.2.0 — Autofix and org move

Choose a tag to compare

@gopherust-io gopherust-io released this 01 Aug 15:03
e5392fd

Highlights

  • New goalign fix command to rewrite structs to the suggested field order
  • Colorized TTY text output; JSON and table formats retained
  • Module path moved to github.com/gopherust-io/goalign; Go 1.26.5
  • OpenSSF Scorecard pack, security policy, and Apache License 2.0
  • Hardened gRPC/protobuf decode paths and CodeQL integer-conversion fixes
  • Broader test coverage and shared alignmath / goarch helpers

Install

go install github.com/gopherust-io/goalign@v1.2.0

Notes

  • Prefer this release or newer for production installs under the gopherust-io org.

v1.1.0 — Layout engine and CI flags

Choose a tag to compare

@gopherust-io gopherust-io released this 01 Aug 15:03

Highlights

  • Zero-alloc layout math with reused buffers (Compute / suggest path)
  • NATS-style packing guidance (atomics-first, density packing notes)
  • CI-friendly analyze flags: --fail-on-findings, --min-waste, --arch
  • Improved layout correctness for multi-arch targets

Install

go install github.com/gopherust-io/goalign@v1.1.0

Notes

  • Suited for gating PRs in CI with a non-zero exit on findings.

v1.0.0 — Initial release

Choose a tag to compare

@gopherust-io gopherust-io released this 01 Aug 15:03

Highlights

  • Struct alignment analysis for Go sources (padding waste and field layout)
  • Output formats: text, JSON, and table
  • Support for // goalign:ignore on types
  • Recursive directory scanning with severity levels

Install

go install github.com/gopherust-io/goalign@v1.0.0

Notes

  • First public CLI release.
  • Historical: early builds used a pre-gopherust-io module path; install via the path above on this and later tags.