Skip to content

Releases: reteps/dockerfmt

v0.5.4

Choose a tag to compare

@reteps reteps released this 27 Jun 21:58

Fixes npm packaging so the platform binaries are actually included in the @reteps/dockerfmt-* tarballs (0.5.3 shipped them empty, breaking the npx launcher). Also upgrades the JS toolchain (TypeScript 6, @types/node 24) and makes the publish workflow reproducible and idempotent.

Full Changelog: v0.5.2...v0.5.4

v0.5.3

Choose a tag to compare

@reteps reteps released this 27 Jun 21:53

What's Changed

  • fix: preserve blank line after ONBUILD by @reteps in #53
  • feat: release multiarch container images by @slrz in #54
  • Various improvements by @reteps in #57

New Contributors

  • @slrz made their first contribution in #54

Full Changelog: v0.5.2...v0.5.3

v0.5.2

Choose a tag to compare

@reteps reteps released this 06 Apr 04:42
bf2867e

What's new

  • # dockerfmt-ignore directive โ€” place this comment before any directive to skip formatting for it. Useful as an escape hatch for command grouping, unescaped semicolons, or intentional formatting.
  • EditorConfig support โ€” indent_size, insert_final_newline, and custom space_redirects are read from .editorconfig files. CLI flags take precedence.

See the README for usage details.

v0.5.1

Choose a tag to compare

@reteps reteps released this 06 Apr 04:24
97ce884

Fix: Go WASM global constructor conflict

Problem: Importing @reteps/dockerfmt overwrote globalThis.Go, breaking other Go WASM packages (e.g. sh-syntax) that rely on their own wasm_exec.js with different capabilities like WASI support.

Fix: The Go class is now scoped under globalThis.__dockerfmt_Go instead of clobbering globalThis.Go. Any previously set Go constructor is preserved.

v0.5.0

Choose a tag to compare

@reteps reteps released this 06 Apr 04:02
14b03a2

What's Changed

Fix JS/WASM bindings (#25)

The JS bindings (@reteps/dockerfmt) have been broken since the initial release due to TinyGo bugs:

  • reflect.AssignableTo panics with interfaces, breaking encoding/json used by the buildkit parser (tinygo#4277)
  • \s regexp failures in newer TinyGo versions, also breaking the buildkit parser

This release switches from TinyGo to standard Go (GOOS=js GOARCH=wasm), which has full reflect and regexp support. The WASM binary is larger (2 MB โ†’ 6.9 MB) but the bindings now work correctly for all Dockerfile forms โ€” both shell-form (CMD echo hello) and JSON-form (CMD ["echo", "hello"]).

Other changes

  • Added CI workflow (Go tests + JS build/test) on PRs and main pushes
  • Added JS integration tests
  • Replaced encoding/json with reflection-free []string JSON marshal/unmarshal
  • Simplified JS bindings by using syscall/js instead of manual memory management
  • Switched npm publish to OIDC trusted publishing

v0.4.0

Choose a tag to compare

@reteps reteps released this 06 Apr 03:14
990e19b

What's Changed

  • Refactored formatting engine โ€” Cleaned up core formatting with better structure and comprehensive unit tests
  • Fixed multiline flag duplication โ€” RUN instruction flags (e.g. --mount) are no longer duplicated when formatting line breaks (#42)
  • Version tagging โ€” Docker images and Go binaries are now tagged with the release version (#47)
  • Version set via ldflags โ€” Version is now set at build time instead of being hardcoded
  • Improved CLI help โ€” Documents stdin input processing in the command help message (#43)

v0.3.9

Choose a tag to compare

@reteps reteps released this 19 Oct 19:00

What's Changed

New Contributors

Full Changelog: v0.3.8...v0.3.9

v0.3.8

Choose a tag to compare

@reteps reteps released this 05 Oct 17:50

v0.3.7-alpha

Choose a tag to compare

@reteps reteps released this 28 Apr 04:09
b557697
  • Release docker container

v0.3.7

Choose a tag to compare

@reteps reteps released this 28 Apr 04:26
Update release