Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,17 @@ Headers stay correct without hand-editing: `@Date` follows the file's real creat

## ✨ What's New

### Latest: v2.2.0 (October 2026)
### Latest: v2.2.1 (October 2026)

- **`@Last modified by` names whoever last edited the file's content** — a run that only rewrites a header (a date format conversion, a corrected `@Project`, new spacing or margin) now keeps the recorded editor instead of writing the run's identity, so running fix-headers never claims other people's files. The edit check compares the file, header removed, with its body at git `HEAD`: a changed or not-yet-committed body makes the run's identity the last editor, and `@Author` stays the original author unless `forceAuthorUpdate` is set. `@Last modified time` still moves whenever a header is rewritten, and `forceLastModifiedAuthorUpdate` is no longer needed for normal use ([#128](https://github.com/CLDMV/fix-headers/pull/128)).
- [View full v2.2.0 Changelog](https://github.com/CLDMV/fix-headers/blob/master/docs/changelog/v2/v2.2.0.md)
- **Development-setup patch, nothing the package ships changed** — the repository's own `fix:headers` run moves to `@cldmv/configs` 1.2.4, whose shared config no longer forces author updates; `dist/`, `bin/`, the types and the runtime dependency are exactly as in v2.2.0.
- [View full v2.2.1 Changelog](https://github.com/CLDMV/fix-headers/blob/master/docs/changelog/v2/v2.2.1.md)

### Recent Releases

- **v2.2.0** (October 2026) — `@Last modified by` names whoever last edited the file's content: a run that only rewrites a header keeps the recorded editor instead of writing the run's identity ([Changelog](https://github.com/CLDMV/fix-headers/blob/master/docs/changelog/v2/v2.2.0.md))
- **v2.1.4** (October 2026) — strict JSON, Markdown named with `--input` and files with no or an unhandled extension are skipped and reported instead of getting a JavaScript comment; `--input` is repeatable; dependency folders are never walked; `require()` fails clearly where Node.js cannot load ES modules ([Changelog](https://github.com/CLDMV/fix-headers/blob/master/docs/changelog/v2/v2.1.4.md))
- **v2.1.3** (October 2026) — CI and development-dependency maintenance with no runtime change: a skipped PR run can no longer satisfy `✅ Required PR Check` and let a pull request merge before its tests finish ([Changelog](https://github.com/CLDMV/fix-headers/blob/master/docs/changelog/v2/v2.1.3.md))
- **v2.1.2** (October 2026) — no runtime change: the repository adopts the shared CLDMV fix-headers config from `@cldmv/configs` and stamps uniform file headers across its own sources ([Changelog](https://github.com/CLDMV/fix-headers/blob/master/docs/changelog/v2/v2.1.2.md))
- **v2.1.1** (October 2026) — a file that holds only a header now ends with the header instead of trailing `margin` blank lines; `esbuild` 0.28.2 clears GHSA-g7r4-m6w7-qqqr ([Changelog](https://github.com/CLDMV/fix-headers/blob/master/docs/changelog/v2/v2.1.1.md))

📚 For complete release notes, see the [docs/changelog/](https://github.com/CLDMV/fix-headers/tree/master/docs/changelog/) folder.

Expand Down
31 changes: 31 additions & 0 deletions docs/changelog/v2/v2.2.1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# @cldmv/fix-headers v2.2.1 Changelog

**Release Date**: October 2026
**Release Type**: Patch
**Branch**: `release/2.2.1`

---

## Overview

Version 2.2.1 moves the repository's own development setup to `@cldmv/configs` 1.2.4. Nothing the package ships changed: `dist/`, `bin/`, the generated types and the runtime dependency `ignore` are exactly as in [v2.2.0](./v2.2.0.md). The published package differs only in the `version` field and in the `@cldmv/configs` range recorded in its `devDependencies`.

The shared config is what the repository's own `npm run fix:headers` extends, so the bump changes how fix-headers stamps its own source files. Version 1.2.4 turns off `forceAuthorUpdate` and `forceLastModifiedAuthorUpdate`, which were both on in 1.2.0. With v2.2.0 of the tool, that means `@Author` is never rewritten, and `@Last modified by` changes only when a file's content was edited. The run that accompanied the bump scanned 109 files and changed none.

---

## 🔧 Dependencies

- **`@cldmv/configs` `^1.2.0` → `^1.2.4`** ([#131](https://github.com/CLDMV/fix-headers/pull/131)), dev dependency. The lockfile moves from 1.2.0 to 1.2.4, and that is the only dependency entry that changed. Between those versions the shared `fix-headers.json` switched `forceAuthorUpdate` (1.2.3) and `forceLastModifiedAuthorUpdate` (1.2.4) from `true` to `false`. It is used by `npm run fix:headers` and by nothing that ships.

## 📚 Documentation

- **NEW:** [docs/changelog/v2/v2.2.1.md](./v2.2.1.md): this changelog.
- README What's New promoted to v2.2.1.

---

## Upgrade notes

- No breaking changes, and no behaviour change for consumers: drop-in for [v2.2.0](./v2.2.0.md). The runtime dependency list is unchanged.
- Projects that extend `@cldmv/configs`' `fix-headers.json` should use `@cldmv/configs` 1.2.4 or later together with `@cldmv/fix-headers` 2.2.0 or later. On older versions of the tool, the forced author settings that 1.2.4 turns off behave differently.
12 changes: 6 additions & 6 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@cldmv/fix-headers",
"version": "2.2.0",
"version": "2.2.1",
"description": "Multi-language project header normalizer with auto-detection and override support.",
"type": "module",
"main": "./dist/index.cjs",
Expand Down Expand Up @@ -86,7 +86,7 @@
"license": "Apache-2.0",
"sideEffects": false,
"devDependencies": {
"@cldmv/configs": "^1.2.0",
"@cldmv/configs": "^1.2.4",
"@cldmv/eslint-plugin-jsonv": "^1.0.10",
"@cldmv/jsonv": "^1.0.9",
"@cldmv/prettier-plugin-jsonv": "^1.0.6",
Expand Down
Loading