v1.6.0 Release

Rust, Terragrunt, make fix, pre-push hooks, make release, tool version manifests, and git-cliff – the biggest dev-toolchain release yet.

v1.6.0 is the largest dev-toolchain release since launch. It adds the eighth language ecosystem, a companion infrastructure tool, three new Makefile targets, and several workflow improvements. This post summarizes everything that shipped.

Language and Tool Additions

Rust is the eighth language ecosystem. The container ships clippy, rustfmt, cargo-audit, cargo-deny, and cargo test. The full toolchain is COPY’d from the official rust:1-slim-bookworm image, and security tools are installed via cargo-binstall. See the Rust support announcement for details.

Terragrunt ships as a companion tool to Terraform. Projects that use terragrunt.hcl files get automatic format checking with zero additional configuration. See the Terragrunt announcement for how detection and gating work.

New Makefile Targets

make fix runs formatters and auto-fixable linter rules in-place across all eight language ecosystems. The intended workflow: run make fix to auto-remediate, then make check to verify. See the make fix announcement for the full story.

make release VERSION=x.y.z automates the release process. It validates the version format, ensures the working tree is clean, creates a signed git tag, and pushes it to trigger the build pipeline. The tag push fires the existing GitHub Actions workflow that builds, signs, and publishes the container image.

$ make release VERSION=1.6.0
Validating version format...
Creating tag v1.6.0...
Pushing tag to origin...
Tag v1.6.0 pushed — build pipeline triggered.

Pre-push hooks run make check before every git push, catching issues before they reach CI. The hook is installed via make install-hooks and executes the full validation suite inside the container. If any check fails, the push is rejected with clear output about what needs fixing.

Workflow Improvements

Tool version manifests are now attached to every GitHub release. The report-tool-versions.sh script runs inside the published container image and produces a JSON manifest listing every tool and its exact version across all eight language ecosystems. The container versions page is automatically updated from these release assets.

git-cliff ships in the container for automated changelog generation. Projects that use conventional commits can generate changelogs with git-cliff --output CHANGELOG.md inside the container.

Conventional commit scopes were expanded in v1.1.0 of the pre-commit hook. The valid scope set grew from 8 to 15, adding ruby, go, javascript, rust, security, changelog, and release. All DevRail repositories were bumped to v1.1.0.

Upgrade

Pull the latest image:

docker pull ghcr.io/devrail-dev/dev-toolchain:v1

Or pin to the exact version:

docker pull ghcr.io/devrail-dev/dev-toolchain:1.6.0

Projects using the DevRail template Makefile with :v1 already get the latest release on next make check. To pin an exact version, set DEVRAIL_TAG in your Makefile.

Full Changelog

See the CHANGELOG for the complete list of additions, changes, and fixes in v1.6.0.