From 876d80e09037fe60b5dbb642b489dfa5f71b8793 Mon Sep 17 00:00:00 2001 From: Shinrai Date: Sun, 4 Oct 2026 00:01:37 -0700 Subject: [PATCH] docs: add the v1.2.4 changelog, correct v1.2.3, update What's New v1.2.4: forceLastModifiedAuthorUpdate false (#20) and the restored dev-dependency bumps (#21). v1.2.3 also shipped forceAuthorUpdate false (#16), which its notes left out. --- README.md | 8 +++--- docs/changelog/v1/v1.2.3.md | 12 +++++++-- docs/changelog/v1/v1.2.4.md | 49 +++++++++++++++++++++++++++++++++++++ 3 files changed, 63 insertions(+), 6 deletions(-) create mode 100644 docs/changelog/v1/v1.2.4.md diff --git a/README.md b/README.md index 64902bb..642a611 100644 --- a/README.md +++ b/README.md @@ -14,17 +14,17 @@ The package has no runtime code and no dependencies. It ships the config files, ## ✨ What's New -### Latest: v1.2.3 (October 2026) +### Latest: v1.2.4 (October 2026) -- **Headers restamped under fix-headers 2.1.4** — the repository's own header pass now runs on `@cldmv/fix-headers` 2.1.4 and restamped 37 internal files: dates are written in ISO 8601 form, 23 `@Date` timestamps that did not match their written date (the Dependabot config and 22 workflows copied from the `CLDMV/.github` templates) were corrected, and each header gained the empty frame line inside its opening and closing. The published `fix-headers.json` and every shipped setting are unchanged (#12). -- [View full v1.2.3 Changelog](https://github.com/CLDMV/configs/blob/master/docs/changelog/v1/v1.2.3.md) +- **`@Last modified by` follows real edits** — the shared `fix-headers.json` sets `forceLastModifiedAuthorUpdate` to `false`. With fix-headers 2.2.0, a run that only rewrites a header (date format, spacing, a corrected `@Date`) updates `@Last modified time` but keeps `@Last modified by`, which now changes only when a file's content was edited. Together with v1.2.3's `forceAuthorUpdate: false`, no fix-headers run rewrites anyone's authorship. Upgrade extending repositories to fix-headers 2.2.0 or later (#20). +- [View full v1.2.4 Changelog](https://github.com/CLDMV/configs/blob/master/docs/changelog/v1/v1.2.4.md) ### Recent Releases +- **v1.2.3** (October 2026) — the shared `fix-headers.json` keeps an existing `@Author` (`forceAuthorUpdate: false`, #16), and the repository's own headers are restamped under fix-headers 2.1.4 (#12) ([Changelog](https://github.com/CLDMV/configs/blob/master/docs/changelog/v1/v1.2.3.md)) - **v1.2.2** (October 2026) — the CI `✅ Required PR Check` mirror job runs on every path instead of being skipped on in-repo PRs (#10) ([Changelog](https://github.com/CLDMV/configs/blob/master/docs/changelog/v1/v1.2.2.md)) - **v1.2.1** (October 2026) — a skipped PR run no longer satisfies the `✅ Required PR Check` ruleset (#8) ([Changelog](https://github.com/CLDMV/configs/blob/master/docs/changelog/v1/v1.2.1.md)) - **v1.2.0** (October 2026) — the shared `fix-headers.json` sets `margin: 1`, so fix-headers and Prettier agree on one blank line after a header; this changes fix-headers 2.1+ output for extending repositories (#7) ([Changelog](https://github.com/CLDMV/configs/blob/master/docs/changelog/v1/v1.2.0.md)) -- **v1.1.1** (September 2026) — the README is rewritten in the CLDMV package style (#3) ([Changelog](https://github.com/CLDMV/configs/blob/master/docs/changelog/v1/v1.1.1.md)) 📚 **For complete version history, see [docs/changelog/](https://github.com/CLDMV/configs/tree/master/docs/changelog/) and the [GitHub Releases](https://github.com/CLDMV/configs/releases).** diff --git a/docs/changelog/v1/v1.2.3.md b/docs/changelog/v1/v1.2.3.md index 75446ee..713fd28 100644 --- a/docs/changelog/v1/v1.2.3.md +++ b/docs/changelog/v1/v1.2.3.md @@ -8,7 +8,9 @@ ## Overview -`@cldmv/fix-headers` moves to 2.1.4, and re-running the header pass with the repository's own `fix-headers.json` restamped the headers of 37 files — the first full pass under fix-headers 2.x since the repository moved to it in [v1.2.0](./v1.2.0.md). Only header comments in repository-internal files changed (the ESLint and vitest configs, the pre-commit installer, Dependabot config, every workflow and the tests). The published files — `fix-headers.json`, `README.md` and `LICENSE` — and every shipped setting are unchanged. +`@cldmv/fix-headers` moves to 2.1.4, and re-running the header pass with the repository's own `fix-headers.json` restamped the headers of 37 files — the first full pass under fix-headers 2.x since the repository moved to it in [v1.2.0](./v1.2.0.md). Only header comments in repository-internal files changed (the ESLint and vitest configs, the pre-commit installer, Dependabot config, every workflow and the tests). Only those internal headers came from the restamp. + +> **Correction:** this release also changed a published setting. [#16](https://github.com/CLDMV/configs/pull/16) merged into `next` before the release and shipped with it: `fix-headers.json` now sets `forceAuthorUpdate` to `false`, so fix-headers keeps an existing `@Author` instead of rewriting it to whoever runs the tool ([#15](https://github.com/CLDMV/configs/issues/15)). These notes originally said `fix-headers.json` was unchanged. --- @@ -24,6 +26,12 @@ The 37 restamped headers changed in three ways: `@Last modified time` was updated on every restamped file, as `forceLastModifiedAuthorUpdate` asks. +## 🐛 Bug Fixes + +### Existing `@Author` is never rewritten ([#16](https://github.com/CLDMV/configs/pull/16)) + +`forceAuthorUpdate` was `true`, so together with `useGpgSignerAuthor` every fix-headers run in an extending repository replaced every file's `@Author` with the name of whoever ran it. `@Author` records who created a file, so the shared config now sets the option to `false` explicitly; a repository can still turn it on in its own config for a one-off migration. + ## 📚 Documentation - **NEW:** [docs/changelog/v1/v1.2.3.md](./v1.2.3.md) — this changelog, plus backfilled changelog files for [v1.1.0](./v1.1.0.md), [v1.1.1](./v1.1.1.md), [v1.2.0](./v1.2.0.md), [v1.2.1](./v1.2.1.md) and [v1.2.2](./v1.2.2.md). @@ -37,4 +45,4 @@ The 37 restamped headers changed in three ways: ## Upgrade notes -- No changes to `fix-headers.json` or any other published file — drop-in for v1.2.2. +- `fix-headers.json` sets `forceAuthorUpdate: false` ([#16](https://github.com/CLDMV/configs/pull/16)): an existing `@Author` is kept rather than rewritten to the person running fix-headers. Repositories that relied on the force to migrate old author names can set it to `true` in their own config for that run. Otherwise drop-in for v1.2.2. diff --git a/docs/changelog/v1/v1.2.4.md b/docs/changelog/v1/v1.2.4.md new file mode 100644 index 0000000..e534a17 --- /dev/null +++ b/docs/changelog/v1/v1.2.4.md @@ -0,0 +1,49 @@ +# @cldmv/configs v1.2.4 Changelog + +**Release Date**: October 2026 +**Release Type**: Patch +**Branch**: `release/1.2.4` + +--- + +## Overview + +The shared `fix-headers.json` stops forcing `@Last modified by`. Until now every fix-headers run in an extending repository stamped whoever ran it as the last modifier of every file it touched, even when the only change was a header rewrite such as a new date format. With `forceLastModifiedAuthorUpdate` set to `false` and fix-headers 2.2.0, `@Last modified by` now records the last person who actually edited a file's content, while `@Last modified time` still moves whenever fix-headers rewrites a header. + +Together with `forceAuthorUpdate: false`, which shipped in v1.2.3, the shared config no longer rewrites anyone's authorship: `@Author` keeps the file's creator, and `@Last modified by` follows real edits. Extending repositories should upgrade to `@cldmv/fix-headers` 2.2.0 or later alongside this release. + +--- + +## 🐛 Bug Fixes + +### `@Last modified by` follows real edits ([#20](https://github.com/CLDMV/configs/pull/20)) + +`forceLastModifiedAuthorUpdate` was `true`, so every run rewrote `@Last modified by` to the identity running fix-headers (the name on their signing key, or `git config user.name` without one) on every file it changed. A contributor who ran `npm run fix:headers` therefore became the last modifier of every restamped file, even files they never opened ([#15](https://github.com/CLDMV/configs/issues/15)). + +The option is now `false`. From fix-headers 2.2.0 ([CLDMV/fix-headers#128](https://github.com/CLDMV/fix-headers/pull/128)) the field changes only when a file's content, everything outside the header, differs from the last commit, or when the file is new: + +| What changed in a file | `@Last modified time` | `@Last modified by` | `@Author` | +| ------------------------------------------------------------------- | --------------------- | ------------------------------ | --------- | +| Nothing | unchanged | unchanged | unchanged | +| Only the header (date format, epoch, `@Date`, spacing, filename, …) | updated | unchanged | unchanged | +| Content edited, or a new file | updated | the person running fix-headers | unchanged | + +On fix-headers releases before 2.2.0 the same setting keeps the existing `@Last modified by` on every run, real edits included, so the upgrade matters. + +## 🔧 Dependencies + +- `@cldmv/fix-headers` `^2.1.4` → `^2.2.0` ([#20](https://github.com/CLDMV/configs/pull/20)), dev-only. The repository's own header pass ran under 2.2.0 and changed no files. +- `vitest` and `@vitest/coverage-v8` `^5.0.2` → `^5.0.3`, and `globals` `^17.12.0` → `^17.13.0` ([#21](https://github.com/CLDMV/configs/pull/21)), dev-only. The coverage and globals bumps first merged as [#18](https://github.com/CLDMV/configs/pull/18) and [#19](https://github.com/CLDMV/configs/pull/19), two minutes after the v1.2.3 release, and were lost when `next` was reset after that release ([CLDMV/.github#360](https://github.com/CLDMV/.github/issues/360)). #21 re-applies them, together with the vitest bump from [#17](https://github.com/CLDMV/configs/pull/17). + +## 📚 Documentation + +- **NEW:** [docs/changelog/v1/v1.2.4.md](./v1.2.4.md) — this changelog. +- README: the `fix-headers.json` table and notes explain both author settings, and the requirements now name fix-headers 2.2.0 as the version the author rules need. +- [v1.2.3](./v1.2.3.md) changelog corrected: that release also shipped `forceAuthorUpdate: false`, which its notes left out. + +--- + +## Upgrade notes + +- **Upgrade `@cldmv/fix-headers` to 2.2.0 or later** in every repository that extends this config. On older fix-headers, `@Last modified by` would no longer update even when a file is edited. +- The first fix-headers run after upgrading leaves existing `@Last modified by` values alone and only changes them on files whose content was edited since the last commit. No repository-wide restamp of authors.