|
| 1 | +--- |
| 2 | +title: "v1.6.0 Release" |
| 3 | +date: 2026-03-09 |
| 4 | +description: "Rust, Terragrunt, make fix, pre-push hooks, make release, tool version manifests, and git-cliff -- the biggest dev-toolchain release yet." |
| 5 | +--- |
| 6 | + |
| 7 | +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. |
| 8 | + |
| 9 | +## Language and Tool Additions |
| 10 | + |
| 11 | +**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](/blog/2026-03-04-rust-support/) for details. |
| 12 | + |
| 13 | +**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](/blog/2026-03-05-terragrunt-support/) for how detection and gating work. |
| 14 | + |
| 15 | +## New Makefile Targets |
| 16 | + |
| 17 | +**`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](/blog/2026-03-03-make-fix-and-mirror-automation/) for the full story. |
| 18 | + |
| 19 | +**`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. |
| 20 | + |
| 21 | +```console |
| 22 | +$ make release VERSION=1.6.0 |
| 23 | +Validating version format... |
| 24 | +Creating tag v1.6.0... |
| 25 | +Pushing tag to origin... |
| 26 | +Tag v1.6.0 pushed — build pipeline triggered. |
| 27 | +``` |
| 28 | + |
| 29 | +**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. |
| 30 | + |
| 31 | +## Workflow Improvements |
| 32 | + |
| 33 | +**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](/docs/container/versions/) is automatically updated from these release assets. |
| 34 | + |
| 35 | +**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. |
| 36 | + |
| 37 | +**Conventional commit scopes** were expanded in v1.1.0 of the [pre-commit hook](https://github.com/devrail-dev/pre-commit-conventional-commits). 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. |
| 38 | + |
| 39 | +## Upgrade |
| 40 | + |
| 41 | +Pull the latest image: |
| 42 | + |
| 43 | +```console |
| 44 | +docker pull ghcr.io/devrail-dev/dev-toolchain:v1 |
| 45 | +``` |
| 46 | + |
| 47 | +Or pin to the exact version: |
| 48 | + |
| 49 | +```console |
| 50 | +docker pull ghcr.io/devrail-dev/dev-toolchain:1.6.0 |
| 51 | +``` |
| 52 | + |
| 53 | +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. |
| 54 | + |
| 55 | +## Full Changelog |
| 56 | + |
| 57 | +See the [CHANGELOG](https://github.com/devrail-dev/dev-toolchain/blob/main/CHANGELOG.md) for the complete list of additions, changes, and fixes in v1.6.0. |
0 commit comments