From 6d2822bdfc7ee0302c706d53273f28d7adc43404 Mon Sep 17 00:00:00 2001 From: James Maes Date: Thu, 4 Jun 2026 10:58:49 -0500 Subject: [PATCH] fix: preserve shebang universally so headers never precede #! --- CHANGELOG.md | 5 ++ internal/applier/applier_test.go | 45 ++++++++++++++++ internal/detect/detect.go | 8 ++- internal/detect/detect_test.go | 53 +++++++++++++++++++ internal/filetype/filetype.go | 8 ++- internal/filetype/filetype_test.go | 9 ++-- internal/render/render.go | 11 ++++ internal/render/render_test.go | 83 ++++++++++++++++++++++++++++++ 8 files changed, 216 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8f77f45..99daf89 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.2.1] - 2026-06-04 + +### Fixed +- Preserve a leading `#!` shebang universally (not per-type), so `apply` never inserts the header before the shebang. Fixes corruption of shebang-bearing scripts whose type lacked an explicit shebang rule (e.g. a PHP CLI script `#!/usr/bin/env php` + `