From e3e4a7a1df0695f88dea2a7ce307afe4061c2405 Mon Sep 17 00:00:00 2001 From: Shinrai Date: Sat, 3 Oct 2026 20:11:47 -0700 Subject: [PATCH 1/9] deps: bump @cldmv/fix-headers to 2.1.4 and restamp file headers Bumps @cldmv/fix-headers to 2.1.4 and re-runs npm run fix:headers. 0 files' headers were restamped. --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 34fb988..3cbed23 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "license": "GPL-3.0", "devDependencies": { "@cldmv/configs": "^1.2.0", - "@cldmv/fix-headers": "^2.1.1", + "@cldmv/fix-headers": "^2.1.4", "@cldmv/vitest-runner": "^1.2.0", "@vitest/coverage-v8": "^5.0.0", "vitest": "^5.0.0" @@ -88,9 +88,9 @@ } }, "node_modules/@cldmv/fix-headers": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@cldmv/fix-headers/-/fix-headers-2.1.1.tgz", - "integrity": "sha512-08xW44RvtrKUCTOjUFKHyrDvx6rT70zGqgRR+tdW0R9ElZrHwSg25xCRrZD+U7Dmj5fK9KmtuOWPjZtJYSfzYA==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@cldmv/fix-headers/-/fix-headers-2.1.4.tgz", + "integrity": "sha512-PvCKMztN9k+jOjEpMCANMaDIkNW7cs2qp5P73JVzResk1+DfqhoZVqT9jpTT8cUu+6OGszsNqj8/X0Q9IhfNtg==", "dev": true, "license": "Apache-2.0", "dependencies": { diff --git a/package.json b/package.json index a7261b2..2d83d35 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,7 @@ "homepage": "https://github.com/CLDMV/sizeofvar#readme", "devDependencies": { "@cldmv/configs": "^1.2.0", - "@cldmv/fix-headers": "^2.1.1", + "@cldmv/fix-headers": "^2.1.4", "@cldmv/vitest-runner": "^1.2.0", "@vitest/coverage-v8": "^5.0.0", "vitest": "^5.0.0" From e6e3ecca6f5b1ff65cf732a4eda6ec946ab43fad Mon Sep 17 00:00:00 2001 From: "cldmv-bot[bot]" <230771808+cldmv-bot[bot]@users.noreply.github.com> Date: Sun, 4 Oct 2026 03:28:14 +0000 Subject: [PATCH 2/9] chore: bump version to 1.0.13 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3cbed23..fc604b3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@cldmv/sizeofvar", - "version": "1.0.12", + "version": "1.0.13", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@cldmv/sizeofvar", - "version": "1.0.12", + "version": "1.0.13", "license": "GPL-3.0", "devDependencies": { "@cldmv/configs": "^1.2.0", diff --git a/package.json b/package.json index 2d83d35..81edc58 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@cldmv/sizeofvar", - "version": "1.0.12", + "version": "1.0.13", "description": "Determines the initial memory usage of any javascript variable in NODE.JS", "main": "sizeofvar.js", "publishConfig": { From c4ca2b106e32433601c162c1993f567d53a68d7c Mon Sep 17 00:00:00 2001 From: Shinrai Date: Sat, 3 Oct 2026 20:44:51 -0700 Subject: [PATCH 3/9] docs: backfill changelogs for releases that shipped without one --- docs/changelog/v1/v1.0.1.md | 30 +++++++++++++++++++++++ docs/changelog/v1/v1.0.10.md | 41 +++++++++++++++++++++++++++++++ docs/changelog/v1/v1.0.11.md | 28 +++++++++++++++++++++ docs/changelog/v1/v1.0.12.md | 28 +++++++++++++++++++++ docs/changelog/v1/v1.0.2.md | 22 +++++++++++++++++ docs/changelog/v1/v1.0.3.md | 23 ++++++++++++++++++ docs/changelog/v1/v1.0.4.md | 23 ++++++++++++++++++ docs/changelog/v1/v1.0.5.md | 47 ++++++++++++++++++++++++++++++++++++ docs/changelog/v1/v1.0.6.md | 29 ++++++++++++++++++++++ docs/changelog/v1/v1.0.7.md | 28 +++++++++++++++++++++ docs/changelog/v1/v1.0.8.md | 34 ++++++++++++++++++++++++++ docs/changelog/v1/v1.0.9.md | 40 ++++++++++++++++++++++++++++++ 12 files changed, 373 insertions(+) create mode 100644 docs/changelog/v1/v1.0.1.md create mode 100644 docs/changelog/v1/v1.0.10.md create mode 100644 docs/changelog/v1/v1.0.11.md create mode 100644 docs/changelog/v1/v1.0.12.md create mode 100644 docs/changelog/v1/v1.0.2.md create mode 100644 docs/changelog/v1/v1.0.3.md create mode 100644 docs/changelog/v1/v1.0.4.md create mode 100644 docs/changelog/v1/v1.0.5.md create mode 100644 docs/changelog/v1/v1.0.6.md create mode 100644 docs/changelog/v1/v1.0.7.md create mode 100644 docs/changelog/v1/v1.0.8.md create mode 100644 docs/changelog/v1/v1.0.9.md diff --git a/docs/changelog/v1/v1.0.1.md b/docs/changelog/v1/v1.0.1.md new file mode 100644 index 0000000..6c9e9b6 --- /dev/null +++ b/docs/changelog/v1/v1.0.1.md @@ -0,0 +1,30 @@ +# sizeofvar v1.0.1 Changelog + +**Release Date**: March 2018 +**Release Type**: Patch + +--- + +## Overview + +First release of sizeofvar, published to npm as `@cldmv/sizeofvar` (an unscoped `sizeofvar` package was published and withdrawn the same day). It bundles everything from the initial import on 2018-03-01 through the scoping of the package to CLDMV. + +--- + +## ✨ Features + +- **`sizeofvar(value)`** estimates the V8 memory footprint of a value at initialization or assignment time. `sizeofvar.js` exports a single function that works out the type of the value (boolean, number, string, object, array) and returns a byte count using per-type base sizes. +- **Recursion** — objects and arrays are walked recursively; nested members are costed with their own per-type adjustments, and objects with several keys add a per-key-group overhead. Top-level values and nested values use different base sizes. +- **Numbers above 2^31** add an extra allocation, and numbers stored in arrays carry a small additional cost. +- **Memory test harness** — `test/test-mem.js` plus per-type scripts under `test/sizeofvar/` (array, bool, number, object, object-complex, object-key-length, object-string, string) compare the returned number against what Node reports. It is run with `node --expose-gc test/test-mem.js [-v]`, where `-v` enables verbose output. The harness uses `yargs` (a dev dependency) for argument parsing. +- **Package** — scoped as `@cldmv/sizeofvar`, GPL-3.0, entry point `sizeofvar.js`, with a README covering install, usage and the test commands. + +## 📚 Documentation + +- **NEW:** [docs/changelog/v1/v1.0.1.md](./v1.0.1.md) — this changelog (added retroactively). + +--- + +## Upgrade notes + +- First release; there is nothing to upgrade from. Install with `npm i @cldmv/sizeofvar --save`. diff --git a/docs/changelog/v1/v1.0.10.md b/docs/changelog/v1/v1.0.10.md new file mode 100644 index 0000000..63d41d1 --- /dev/null +++ b/docs/changelog/v1/v1.0.10.md @@ -0,0 +1,41 @@ +# sizeofvar v1.0.10 Changelog + +**Release Date**: October 2026 +**Release Type**: Patch + +--- + +## Overview + +A large CI and tooling sync. The only change to `sizeofvar.js` is an added comment header, so runtime behaviour is unchanged. + +--- + +## 🔧 CI & tooling + +### Sync with CLDMV/.github v4.29.2 templates ([#21](https://github.com/CLDMV/sizeofvar/pull/21)) + +Refreshes all workflow callers and adds `member-auto-merge.yml` (enables auto-merge on org members' PRs into `next`/`hotfixes`; does not approve), `pr-notify.yml`, `provenance.yml` (SLSA provenance on release) and `release-merge.yml`. `ci.yml`'s `max_node_major` now defaults to blank, inheriting the reusable workflow's default. + +### Bundle-size workflow ([#22](https://github.com/CLDMV/sizeofvar/pull/22)) + +Adds `bundle-size.yml` (diffs `*.js` after `npm run build:ci` on PRs to `master`) and restores the full workflow list in the release-merge workflow. + +### Shared fix-headers config and uniform headers ([#24](https://github.com/CLDMV/sizeofvar/pull/24)) + +Adds a `fix:headers` script and `.configs/fix-headers.json` extending `@cldmv/configs/fix-headers.json`, and stamps a uniform comment header onto `sizeofvar.js`, the tests and the workflow files. Comment headers only; no code changed in `sizeofvar.js`. + +## 🔧 Dependencies + +- New dev dependencies `@cldmv/configs` (`^1.2.0`) and `@cldmv/fix-headers` (`^2.1.1`). +- vitest group and patch bumps ([#18](https://github.com/CLDMV/sizeofvar/pull/18), [#19](https://github.com/CLDMV/sizeofvar/pull/19), [#25](https://github.com/CLDMV/sizeofvar/pull/25), [#26](https://github.com/CLDMV/sizeofvar/pull/26)): `vitest` and `@vitest/coverage-v8` 5.0.0 → 5.0.2 in the lockfile only; `package.json` ranges stay `^5.0.0`. Dev dependencies, test/CI toolchain only. + +## 📚 Documentation + +- **NEW:** [docs/changelog/v1/v1.0.10.md](./v1.0.10.md) — this changelog (added retroactively). + +--- + +## Upgrade notes + +- No breaking changes — drop-in for v1.0.9. No runtime code changed. diff --git a/docs/changelog/v1/v1.0.11.md b/docs/changelog/v1/v1.0.11.md new file mode 100644 index 0000000..ba311a8 --- /dev/null +++ b/docs/changelog/v1/v1.0.11.md @@ -0,0 +1,28 @@ +# sizeofvar v1.0.11 Changelog + +**Release Date**: October 2026 +**Release Type**: Patch + +--- + +## Overview + +CI-only fix to the required-check job. No runtime code changed. + +--- + +## 🔧 CI & tooling + +### Stop the skipped PR-run mirror from satisfying Required PR Check ([#28](https://github.com/CLDMV/sizeofvar/pull/28)) + +On an in-repo feature PR the `pull_request` run skipped the `✅ Required PR Check` mirror job, and GitHub treats a skipped required check as passing, so a PR could become mergeable before the push run's tests finished. The job name became an expression so the skipped job no longer posts under the required name. + +## 📚 Documentation + +- **NEW:** [docs/changelog/v1/v1.0.11.md](./v1.0.11.md) — this changelog (added retroactively). + +--- + +## Upgrade notes + +- No breaking changes — drop-in for v1.0.10. No runtime code changed. diff --git a/docs/changelog/v1/v1.0.12.md b/docs/changelog/v1/v1.0.12.md new file mode 100644 index 0000000..167278f --- /dev/null +++ b/docs/changelog/v1/v1.0.12.md @@ -0,0 +1,28 @@ +# sizeofvar v1.0.12 Changelog + +**Release Date**: October 2026 +**Release Type**: Patch + +--- + +## Overview + +CI-only follow-up to v1.0.11. No runtime code changed. + +--- + +## 🔧 CI & tooling + +### Run the in-repo PR mirror job instead of skipping it ([#30](https://github.com/CLDMV/sizeofvar/pull/30)) + +GitHub does not evaluate the `name:` of a skipped job, so v1.0.11's skipped job showed raw expression text. The mirror job now always runs; on the in-repo PR path it reports as `⏭️ Required PR Check (reported by the push run)` and exits as a no-op, while every status-owning path reports `✅ Required PR Check`. + +## 📚 Documentation + +- **NEW:** [docs/changelog/v1/v1.0.12.md](./v1.0.12.md) — this changelog (added retroactively). + +--- + +## Upgrade notes + +- No breaking changes — drop-in for v1.0.11. No runtime code changed. diff --git a/docs/changelog/v1/v1.0.2.md b/docs/changelog/v1/v1.0.2.md new file mode 100644 index 0000000..bdb882c --- /dev/null +++ b/docs/changelog/v1/v1.0.2.md @@ -0,0 +1,22 @@ +# sizeofvar v1.0.2 Changelog + +**Release Date**: March 2018 +**Release Type**: Patch + +--- + +## Overview + +Version-only bump. `package.json` moved from 1.0.1 to 1.0.2 and nothing else changed. There are no code changes in this release and it was not published to npm. + +--- + +## 📚 Documentation + +- **NEW:** [docs/changelog/v1/v1.0.2.md](./v1.0.2.md) — this changelog (added retroactively). + +--- + +## Upgrade notes + +- No breaking changes. No code changes; this version was tagged but not published to npm, so v1.0.1 → v1.0.3 is the effective upgrade path. diff --git a/docs/changelog/v1/v1.0.3.md b/docs/changelog/v1/v1.0.3.md new file mode 100644 index 0000000..54d2f6a --- /dev/null +++ b/docs/changelog/v1/v1.0.3.md @@ -0,0 +1,23 @@ +# sizeofvar v1.0.3 Changelog + +**Release Date**: March 2018 +**Release Type**: Patch + +--- + +## Overview + +Documentation fix: the README install command now uses the scoped package name. No runtime code changed. + +--- + +## 📚 Documentation + +- README install command changed from `npm i sizeofvar --save` to `npm i @cldmv/sizeofvar --save`. +- **NEW:** [docs/changelog/v1/v1.0.3.md](./v1.0.3.md) — this changelog (added retroactively). + +--- + +## Upgrade notes + +- No breaking changes — drop-in for v1.0.2. Only the README and version changed; `sizeofvar.js` is untouched. diff --git a/docs/changelog/v1/v1.0.4.md b/docs/changelog/v1/v1.0.4.md new file mode 100644 index 0000000..43b5b94 --- /dev/null +++ b/docs/changelog/v1/v1.0.4.md @@ -0,0 +1,23 @@ +# sizeofvar v1.0.4 Changelog + +**Release Date**: March 2018 +**Release Type**: Patch + +--- + +## Overview + +Documentation fix: the README usage example now requires the scoped package name. No runtime code changed. + +--- + +## 📚 Documentation + +- README usage example changed from `require('sizeofvar')` to `require('@cldmv/sizeofvar')`. +- **NEW:** [docs/changelog/v1/v1.0.4.md](./v1.0.4.md) — this changelog (added retroactively). + +--- + +## Upgrade notes + +- No breaking changes — drop-in for v1.0.3. Only the README and version changed; `sizeofvar.js` is untouched. diff --git a/docs/changelog/v1/v1.0.5.md b/docs/changelog/v1/v1.0.5.md new file mode 100644 index 0000000..9813967 --- /dev/null +++ b/docs/changelog/v1/v1.0.5.md @@ -0,0 +1,47 @@ +# sizeofvar v1.0.5 Changelog + +**Release Date**: August 2026 +**Release Type**: Patch + +--- + +## Overview + +First release through the CLDMV v4 `next` → `master` release flow, and the first after a long gap: the previous release was v1.0.4 in 2018. It adds the CI/release workflows and replaces the old memory-harness scripts with a vitest suite. `sizeofvar.js` is unchanged, so runtime behaviour is identical to v1.0.4. + +It also carries a 2019 README addition (a contributors section) that had never been released. + +--- + +## 🔧 CI & tooling + +### Adopt CLDMV @v4 workflows + vitest-runner tests ([#2](https://github.com/CLDMV/sizeofvar/pull/2)) + +Adds the v4 staging-branch workflow set under `.github/workflows/` (CI, publish, feature-pr, next-release, hotfixes-release, next-reset, hotfix-redirector, labeler, pr-title-normalizer, master-commit-audit, release-notify, tag-health, update-major-version-tags, v4-bootstrap, cla, codeql, scorecard, dependency-review, dependabot-auto-merge, stale, welcome, branch-retention), all thin callers of `CLDMV/.github` reusables pinned `@v4`, plus `.github/dependabot.yml`. Releases now go through the `next` → `master` release PR. + +### Build script stub for the coverage job ([#4](https://github.com/CLDMV/sizeofvar/pull/4)) + +Adds `build` and `build:ci` scripts that only echo, because the coverage-badge job runs `npm run build`. The package has no build step. + +### Vitest suite replaces the memory harness ([#2](https://github.com/CLDMV/sizeofvar/pull/2)) + +- The old `test/test-mem.js` harness and the `test/sizeofvar/*.js` scripts are removed, replaced by vitest tests in `tests/` (arrays, booleans, edge types, numbers, objects, random properties, strings) with `.configs/vitest.config.mjs` and a `tests/run-vitest.mjs` runner. +- New scripts: `test`, `test:watch`, `coverage`, `ci:coverage`. The previous `test` script was an `echo` stub. +- The `node --expose-gc test/test-mem.js` instructions are no longer applicable. + +## 🔧 Dependencies + +- Removed the `yargs` devDependency. Its only use at the previous release (`git grep`) was argument parsing in the deleted `test/test-mem.js` harness, so nothing remained that used it. +- Added dev dependencies `@cldmv/vitest-runner`, `vitest` and `@vitest/coverage-v8` (`^4.1.10`). These affect only the test/CI toolchain, not consumers. +- Added `publishConfig.access: public`. + +## 📚 Documentation + +- README gains a Contributors section (committed in 2019, first released here). +- **NEW:** [docs/changelog/v1/v1.0.5.md](./v1.0.5.md) — this changelog (added retroactively). + +--- + +## Upgrade notes + +- No breaking changes — drop-in for v1.0.4. The exported function is unchanged; only repository tooling, tests and dev dependencies changed. diff --git a/docs/changelog/v1/v1.0.6.md b/docs/changelog/v1/v1.0.6.md new file mode 100644 index 0000000..da161b7 --- /dev/null +++ b/docs/changelog/v1/v1.0.6.md @@ -0,0 +1,29 @@ +# sizeofvar v1.0.6 Changelog + +**Release Date**: August 2026 +**Release Type**: Patch + +--- + +## Overview + +Test-file rename. Test files move to the fleet-wide `*.test.vitest.mjs` naming convention and the vitest config and runner are updated to match. No runtime code changed. + +--- + +## 🔧 CI & tooling + +### Wire vitest config + runner to the new test-file suffix ([#6](https://github.com/CLDMV/sizeofvar/pull/6)) + +- `tests/*.test.mjs` renamed to `tests/*.test.vitest.mjs` (pure renames, contents unchanged). +- `.configs/vitest.config.mjs`, `tests/run-vitest.mjs` and the `package.json` scripts updated to the new pattern. + +## 📚 Documentation + +- **NEW:** [docs/changelog/v1/v1.0.6.md](./v1.0.6.md) — this changelog (added retroactively). + +--- + +## Upgrade notes + +- No breaking changes — drop-in for v1.0.5. No runtime code changed. diff --git a/docs/changelog/v1/v1.0.7.md b/docs/changelog/v1/v1.0.7.md new file mode 100644 index 0000000..419f6ca --- /dev/null +++ b/docs/changelog/v1/v1.0.7.md @@ -0,0 +1,28 @@ +# sizeofvar v1.0.7 Changelog + +**Release Date**: August 2026 +**Release Type**: Patch + +--- + +## Overview + +CI-only release. The CI concurrency rules are changed so release-relevant runs are never cancelled. No runtime code changed. + +--- + +## 🔧 CI & tooling + +### Never supersede release-relevant CI runs ([#8](https://github.com/CLDMV/sizeofvar/pull/8)) + +`ci.yml` concurrency now gives pushes to the release base branch, to `next`/`hotfixes`, and the `next`/`hotfixes` release PRs a unique concurrency group per run; feature branches still cancel superseded runs. Previously a burst of pushes during a release could cancel a pending run and leave a red cancelled check on the release PR. + +## 📚 Documentation + +- **NEW:** [docs/changelog/v1/v1.0.7.md](./v1.0.7.md) — this changelog (added retroactively). + +--- + +## Upgrade notes + +- No breaking changes — drop-in for v1.0.6. No runtime code changed. diff --git a/docs/changelog/v1/v1.0.8.md b/docs/changelog/v1/v1.0.8.md new file mode 100644 index 0000000..5cba395 --- /dev/null +++ b/docs/changelog/v1/v1.0.8.md @@ -0,0 +1,34 @@ +# sizeofvar v1.0.8 Changelog + +**Release Date**: August 2026 +**Release Type**: Patch + +--- + +## Overview + +Dev-dependency lockfile refresh plus a bot-identity CI fix. No runtime code changed. + +--- + +## 🔧 CI & tooling + +### Bot identity secrets ([#11](https://github.com/CLDMV/sizeofvar/pull/11)) + +`feature-pr.yml`, `next-release.yml` and `hotfixes-release.yml` pass `BOT_NAME` and `BOT_EMAIL` (from `CLDMV_BOT_NAME` / `CLDMV_BOT_EMAIL`) so bot-authored commits and PRs use the real bot identity. + +## 🔧 Dependencies + +### Patch group bump ([#10](https://github.com/CLDMV/sizeofvar/pull/10)) + +Lockfile-only update of the vitest toolchain's transitive packages (for example `rolldown` and `@oxc-project/types`). `package.json` ranges did not change. These are dev dependencies and only affect the test/CI toolchain. + +## 📚 Documentation + +- **NEW:** [docs/changelog/v1/v1.0.8.md](./v1.0.8.md) — this changelog (added retroactively). + +--- + +## Upgrade notes + +- No breaking changes — drop-in for v1.0.7. No runtime code changed. diff --git a/docs/changelog/v1/v1.0.9.md b/docs/changelog/v1/v1.0.9.md new file mode 100644 index 0000000..11c49df --- /dev/null +++ b/docs/changelog/v1/v1.0.9.md @@ -0,0 +1,40 @@ +# sizeofvar v1.0.9 Changelog + +**Release Date**: September 2026 +**Release Type**: Patch + +--- + +## Overview + +Moves the test toolchain to vitest 5 and updates the CI node matrix and signing secrets to match. No runtime code changed. + +--- + +## 🔧 Dependencies + +### vitest 5 ([#15](https://github.com/CLDMV/sizeofvar/pull/15)) + +`vitest` and `@vitest/coverage-v8` move from `^4.1.10` to `^5.0.0` in `package.json`. Both are dev dependencies and affect only the test/CI toolchain. The lockfile also refreshes transitive packages (`rolldown`, `@oxc-project/types`). + +## 🔧 CI & tooling + +### Node CI matrix for vitest 5 ([#17](https://github.com/CLDMV/sizeofvar/pull/17)) + +`ci.yml` / `publish.yml` defaults: `min_node_version` 20 → `22.12.0` (vitest 5's real floor) and `max_node_major` 22 → `26`. `dependabot.yml` gains groups that keep `vitest` + `@vitest/*` (and the eslint and prettier families) bumping together. + +## 🔒 Security & supply chain + +### hotfix-redirector GPG secrets ([#13](https://github.com/CLDMV/sizeofvar/pull/13)) + +`hotfix-redirector.yml` maps `BOT_NAME`, `BOT_EMAIL`, `BOT_GPG_PRIVATE_KEY` and `BOT_GPG_PASSPHRASE` so Dependabot security PRs redirected away from `master` are cherry-picked as signed commits. + +## 📚 Documentation + +- **NEW:** [docs/changelog/v1/v1.0.9.md](./v1.0.9.md) — this changelog (added retroactively). + +--- + +## Upgrade notes + +- No breaking changes — drop-in for v1.0.8. No runtime code changed. Note that the CI matrix floor is now Node 22.12.0 (development/test only; the package declares no `engines`). From fa57344f4fe733b875a658854ed351efe11fac1d Mon Sep 17 00:00:00 2001 From: Shinrai Date: Sat, 3 Oct 2026 20:44:52 -0700 Subject: [PATCH 4/9] docs: add v1.0.13 changelog and README What's New --- README.md | 16 ++++++++++++++++ docs/changelog/v1/v1.0.13.md | 30 ++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 docs/changelog/v1/v1.0.13.md diff --git a/README.md b/README.md index deb599b..03a531a 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,22 @@ ## Description sizeofvar allows you to get a realistic memory size of any variable upon initialization or variable setting. +## ✨ What's New + +### Latest: v1.0.13 (October 2026) + +- **Dev-tooling dependency bump ([#32](https://github.com/CLDMV/sizeofvar/pull/32))** — `@cldmv/fix-headers` moves from 2.1.1 to 2.1.4, the tool that maintains the repository's file headers. It produced no header changes here, so only `package.json` and the lockfile changed. The `sizeofvar()` function is unchanged; it's a drop-in replacement for the previous version. +- [View full v1.0.13 Changelog](https://github.com/CLDMV/sizeofvar/blob/master/docs/changelog/v1/v1.0.13.md) + +### Recent Releases + +- **v1.0.12** (October 2026) — CI only: the in-repo PR mirror job now always runs and reports under a non-required name instead of being skipped ([Changelog](https://github.com/CLDMV/sizeofvar/blob/master/docs/changelog/v1/v1.0.12.md)) +- **v1.0.11** (October 2026) — CI only: a skipped PR-run mirror job no longer satisfies the `✅ Required PR Check` ruleset gate ([Changelog](https://github.com/CLDMV/sizeofvar/blob/master/docs/changelog/v1/v1.0.11.md)) +- **v1.0.10** (October 2026) — workflows synced to the CLDMV/.github v4.29.2 templates, bundle-size workflow, shared fix-headers config (comment-only header in `sizeofvar.js`); no runtime change ([Changelog](https://github.com/CLDMV/sizeofvar/blob/master/docs/changelog/v1/v1.0.10.md)) +- **v1.0.9** (September 2026) — vitest 5 test toolchain, a CI Node matrix of 22.12.0–26, and signed hotfix-redirector cherry-picks; no runtime change ([Changelog](https://github.com/CLDMV/sizeofvar/blob/master/docs/changelog/v1/v1.0.9.md)) + +📚 **For complete version history and detailed release notes, see the [docs/changelog/](https://github.com/CLDMV/sizeofvar/tree/master/docs/changelog/) folder.** + ## Install ```bash npm i @cldmv/sizeofvar --save diff --git a/docs/changelog/v1/v1.0.13.md b/docs/changelog/v1/v1.0.13.md new file mode 100644 index 0000000..5083831 --- /dev/null +++ b/docs/changelog/v1/v1.0.13.md @@ -0,0 +1,30 @@ +# sizeofvar v1.0.13 Changelog + +**Release Date**: October 2026 +**Release Type**: Patch +**Branch**: `next` → `master` + +--- + +## Overview + +A single dev-tooling dependency patch. `@cldmv/fix-headers`, which maintains the comment headers at the top of the repository's source, test, config and workflow files, moves from 2.1.1 to 2.1.4. No runtime code changed: `sizeofvar.js` is exactly as in v1.0.12, and the package still has no runtime dependencies. + +The bump was made with a header restamp in mind, but fix-headers 2.1.4 produced no header changes in this repository, so the only files touched are `package.json` and `package-lock.json`. + +--- + +## 🔧 Dependencies + +- **`@cldmv/fix-headers` `2.1.1` → `2.1.4`** ([#32](https://github.com/CLDMV/sizeofvar/pull/32)), dev dependency. The 2.1.x line no longer stamps a header into files that have no usable comment syntax (strict JSON such as `package.json`, and Markdown unless explicitly forced), never walks into `node_modules` or other dependency folders, and processes every repeated `--input` value instead of only the last. It only runs through the `fix:headers` script; nothing that ships depends on it. + +## 📚 Documentation + +- **NEW:** [docs/changelog/v1/v1.0.13.md](./v1.0.13.md) — this changelog. +- Changelogs for earlier releases that shipped without one were added in the same pass (see the [docs/changelog/](https://github.com/CLDMV/sizeofvar/tree/master/docs/changelog/) folder). + +--- + +## Upgrade notes + +- No breaking changes, and no runtime code changed. It's a drop-in replacement for v1.0.12. From db71ad61a0f7f536fac6ef47d1c99046adb4f972 Mon Sep 17 00:00:00 2001 From: Shinrai Date: Sat, 3 Oct 2026 20:53:20 -0700 Subject: [PATCH 5/9] deps: bump @cldmv/vitest-runner to 1.5.3 Re-applies the vitest-runner bump from #27, which merged into next right after a release and was wiped by the next reset (CLDMV/.github#360). Installed at latest (1.5.3) rather than the original 1.5.1. --- package-lock.json | 22 +++++++++++----------- package.json | 2 +- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/package-lock.json b/package-lock.json index fc604b3..9e46230 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,7 @@ "devDependencies": { "@cldmv/configs": "^1.2.0", "@cldmv/fix-headers": "^2.1.4", - "@cldmv/vitest-runner": "^1.2.0", + "@cldmv/vitest-runner": "^1.5.3", "@vitest/coverage-v8": "^5.0.0", "vitest": "^5.0.0" } @@ -108,19 +108,19 @@ } }, "node_modules/@cldmv/vitest-runner": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@cldmv/vitest-runner/-/vitest-runner-1.2.0.tgz", - "integrity": "sha512-RhmXwFNB68OsgnIFSoQeTWgqEAZt/A+MYfc9lf2JdCUIRhzq2Z3gVeuw1pYOV0LihqfPWRNSmaVVDEEQKa93Tw==", + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@cldmv/vitest-runner/-/vitest-runner-1.5.3.tgz", + "integrity": "sha512-99+r+7ricaaCjLSYaRzE9d4Ab/NAG6Vgu8fNpGdep9n+DAi98NH//iHsdQjw9yaVh2IXvp37IBRKR8VTETbyZg==", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "chalk": "^5.4.1" + "chalk": "^6.0.1" }, "bin": { "vitest-runner": "bin/vitest-runner.mjs" }, "engines": { - "node": ">=20.19.0" + "node": ">=22.12.0" }, "peerDependencies": { "vitest": ">=1.0.0" @@ -609,13 +609,13 @@ } }, "node_modules/chalk": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", - "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-6.0.1.tgz", + "integrity": "sha512-/Ce6KNm3vIbWdMlNna6RVIZ/ICQxnJxCicet5LBKK9ZffBkqzDw0xh9EiKSljdRtiIQ1S1z4YgcscUUGzNCWrA==", "dev": true, "license": "MIT", "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" + "node": ">=22" }, "funding": { "url": "https://github.com/chalk/chalk?sponsor=1" diff --git a/package.json b/package.json index 81edc58..7fd9dbf 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "devDependencies": { "@cldmv/configs": "^1.2.0", "@cldmv/fix-headers": "^2.1.4", - "@cldmv/vitest-runner": "^1.2.0", + "@cldmv/vitest-runner": "^1.5.3", "@vitest/coverage-v8": "^5.0.0", "vitest": "^5.0.0" } From 32f94b33641ef9dc84852adb8476f8f843ccf494 Mon Sep 17 00:00:00 2001 From: Shinrai Date: Sat, 3 Oct 2026 20:54:36 -0700 Subject: [PATCH 6/9] docs: add the restored vitest-runner bump (#35) to the v1.0.13 notes --- docs/changelog/v1/v1.0.13.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/changelog/v1/v1.0.13.md b/docs/changelog/v1/v1.0.13.md index 5083831..5fc68da 100644 --- a/docs/changelog/v1/v1.0.13.md +++ b/docs/changelog/v1/v1.0.13.md @@ -17,6 +17,7 @@ The bump was made with a header restamp in mind, but fix-headers 2.1.4 produced ## 🔧 Dependencies - **`@cldmv/fix-headers` `2.1.1` → `2.1.4`** ([#32](https://github.com/CLDMV/sizeofvar/pull/32)), dev dependency. The 2.1.x line no longer stamps a header into files that have no usable comment syntax (strict JSON such as `package.json`, and Markdown unless explicitly forced), never walks into `node_modules` or other dependency folders, and processes every repeated `--input` value instead of only the last. It only runs through the `fix:headers` script; nothing that ships depends on it. +- **`@cldmv/vitest-runner` `1.2.0` → `1.5.3`** ([#35](https://github.com/CLDMV/sizeofvar/pull/35)), dev dependency (the test runner). This restores the bump from [#27](https://github.com/CLDMV/sizeofvar/pull/27), which merged into `next` just after the previous release and was dropped by the post-release reset of `next` ([CLDMV/.github#360](https://github.com/CLDMV/.github/issues/360)); it is reinstalled at the latest version instead of the original 1.5.1. Test tooling only; nothing that ships depends on it. ## 📚 Documentation From d15142a9880257d894d85369839247db01023e14 Mon Sep 17 00:00:00 2001 From: Shinrai Date: Sun, 4 Oct 2026 16:37:14 -0700 Subject: [PATCH 7/9] deps: bump @cldmv/fix-headers to 2.2.0 Bumps @cldmv/fix-headers from 2.1.4 to 2.2.0. No file headers changed. --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9e46230..a9e2496 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "license": "GPL-3.0", "devDependencies": { "@cldmv/configs": "^1.2.0", - "@cldmv/fix-headers": "^2.1.4", + "@cldmv/fix-headers": "^2.2.0", "@cldmv/vitest-runner": "^1.5.3", "@vitest/coverage-v8": "^5.0.0", "vitest": "^5.0.0" @@ -88,9 +88,9 @@ } }, "node_modules/@cldmv/fix-headers": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@cldmv/fix-headers/-/fix-headers-2.1.4.tgz", - "integrity": "sha512-PvCKMztN9k+jOjEpMCANMaDIkNW7cs2qp5P73JVzResk1+DfqhoZVqT9jpTT8cUu+6OGszsNqj8/X0Q9IhfNtg==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@cldmv/fix-headers/-/fix-headers-2.2.0.tgz", + "integrity": "sha512-EQTAKCo0B639q2bde+vO5ciYbtvNgAJFm0DBthIJQnmTFJmQDUlObp5EsTRgg5CUlFoUnGMX+q35LC02QvYU4w==", "dev": true, "license": "Apache-2.0", "dependencies": { diff --git a/package.json b/package.json index 7fd9dbf..159ac48 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,7 @@ "homepage": "https://github.com/CLDMV/sizeofvar#readme", "devDependencies": { "@cldmv/configs": "^1.2.0", - "@cldmv/fix-headers": "^2.1.4", + "@cldmv/fix-headers": "^2.2.0", "@cldmv/vitest-runner": "^1.5.3", "@vitest/coverage-v8": "^5.0.0", "vitest": "^5.0.0" From dbf1e663b5c2b1aef2c973ed20b88c2a218bf87e Mon Sep 17 00:00:00 2001 From: Shinrai Date: Sun, 4 Oct 2026 19:07:30 -0700 Subject: [PATCH 8/9] deps: bump @cldmv/configs to 1.2.4 Raises the range from ^1.2.0 (locked 1.2.0) to ^1.2.4. Configs 1.2.4 sets forceAuthorUpdate and forceLastModifiedAuthorUpdate to false, so with fix-headers 2.2.0 @Author is never rewritten and @Last modified by changes only on real content edits. Ran fix:headers under the new config: 0 files restamped. --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index a9e2496..416e4e0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "1.0.13", "license": "GPL-3.0", "devDependencies": { - "@cldmv/configs": "^1.2.0", + "@cldmv/configs": "^1.2.4", "@cldmv/fix-headers": "^2.2.0", "@cldmv/vitest-runner": "^1.5.3", "@vitest/coverage-v8": "^5.0.0", @@ -77,9 +77,9 @@ } }, "node_modules/@cldmv/configs": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@cldmv/configs/-/configs-1.2.0.tgz", - "integrity": "sha512-FDmlxOx6ceKuD5zTamUy9XOfAC4opeOaLxWqZz9okKxj8TsTZP6dN7W0VccRYRdw4606NvXjhdZqOPibcNpXmQ==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@cldmv/configs/-/configs-1.2.4.tgz", + "integrity": "sha512-7HPqAgCKqol3fHpawEsXJ5ZqHxlDPZk1puoFu43f/gaNfhWwufDTzjkvLk90yVEumyz4N3pUwIxfbHUkUTpDEg==", "dev": true, "license": "Apache-2.0", "funding": { diff --git a/package.json b/package.json index 159ac48..3e953fb 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,7 @@ }, "homepage": "https://github.com/CLDMV/sizeofvar#readme", "devDependencies": { - "@cldmv/configs": "^1.2.0", + "@cldmv/configs": "^1.2.4", "@cldmv/fix-headers": "^2.2.0", "@cldmv/vitest-runner": "^1.5.3", "@vitest/coverage-v8": "^5.0.0", From e9da624921c28035b8d339da643c718669e2326b Mon Sep 17 00:00:00 2001 From: Shinrai Date: Sun, 4 Oct 2026 20:10:52 -0700 Subject: [PATCH 9/9] docs: update the v1.0.13 release notes --- README.md | 2 +- docs/changelog/v1/v1.0.13.md | 18 ++++++++++++------ 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 03a531a..90cb6c9 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ sizeofvar allows you to get a realistic memory size of any variable upon initial ### Latest: v1.0.13 (October 2026) -- **Dev-tooling dependency bump ([#32](https://github.com/CLDMV/sizeofvar/pull/32))** — `@cldmv/fix-headers` moves from 2.1.1 to 2.1.4, the tool that maintains the repository's file headers. It produced no header changes here, so only `package.json` and the lockfile changed. The `sizeofvar()` function is unchanged; it's a drop-in replacement for the previous version. +- **Dev-tooling dependency bumps ([#32](https://github.com/CLDMV/sizeofvar/pull/32), [#35](https://github.com/CLDMV/sizeofvar/pull/35), [#37](https://github.com/CLDMV/sizeofvar/pull/37))** — `@cldmv/fix-headers` moves from 2.1.1 to 2.2.0, so `@Last modified by` now follows content edits only, `@cldmv/configs` from 1.2.0 to 1.2.4, and the `@cldmv/vitest-runner` test runner from 1.2.0 to 1.5.3 (it now needs Node 22.12.0 or later, the floor CI already used). No file header changed. The `sizeofvar()` function is unchanged and the package still has no runtime dependencies; it's a drop-in replacement for the previous version. - [View full v1.0.13 Changelog](https://github.com/CLDMV/sizeofvar/blob/master/docs/changelog/v1/v1.0.13.md) ### Recent Releases diff --git a/docs/changelog/v1/v1.0.13.md b/docs/changelog/v1/v1.0.13.md index 5fc68da..b1f98f2 100644 --- a/docs/changelog/v1/v1.0.13.md +++ b/docs/changelog/v1/v1.0.13.md @@ -8,24 +8,30 @@ ## Overview -A single dev-tooling dependency patch. `@cldmv/fix-headers`, which maintains the comment headers at the top of the repository's source, test, config and workflow files, moves from 2.1.1 to 2.1.4. No runtime code changed: `sizeofvar.js` is exactly as in v1.0.12, and the package still has no runtime dependencies. +A dev-tooling dependency patch. Three development dependencies move to their current releases: `@cldmv/fix-headers`, which maintains the comment headers at the top of the repository's source, test, config and workflow files, from 2.1.1 to 2.2.0; `@cldmv/configs`, the package that supplies the shared fix-headers configuration, from 1.2.0 to 1.2.4; and the `@cldmv/vitest-runner` test runner from 1.2.0 to 1.5.3. No runtime code changed: `sizeofvar.js` is exactly as in v1.0.12, and the package still has no runtime dependencies. -The bump was made with a header restamp in mind, but fix-headers 2.1.4 produced no header changes in this repository, so the only files touched are `package.json` and `package-lock.json`. +The fix-headers bumps were made with a header restamp in mind, but neither produced any header change in this repository: running `npm run fix:headers` against this release rewrites 0 files, so the only files touched are `package.json` and `package-lock.json`, plus the documentation described below. --- ## 🔧 Dependencies -- **`@cldmv/fix-headers` `2.1.1` → `2.1.4`** ([#32](https://github.com/CLDMV/sizeofvar/pull/32)), dev dependency. The 2.1.x line no longer stamps a header into files that have no usable comment syntax (strict JSON such as `package.json`, and Markdown unless explicitly forced), never walks into `node_modules` or other dependency folders, and processes every repeated `--input` value instead of only the last. It only runs through the `fix:headers` script; nothing that ships depends on it. -- **`@cldmv/vitest-runner` `1.2.0` → `1.5.3`** ([#35](https://github.com/CLDMV/sizeofvar/pull/35)), dev dependency (the test runner). This restores the bump from [#27](https://github.com/CLDMV/sizeofvar/pull/27), which merged into `next` just after the previous release and was dropped by the post-release reset of `next` ([CLDMV/.github#360](https://github.com/CLDMV/.github/issues/360)); it is reinstalled at the latest version instead of the original 1.5.1. Test tooling only; nothing that ships depends on it. +All of these are dev dependencies. The lockfile changes are limited to the packages below, the package's own version, and the one transitive package the test runner pulls in (`chalk`). + +- **`@cldmv/fix-headers` `^2.1.1` → `^2.2.0`** (resolved 2.1.1 → 2.2.0; [#32](https://github.com/CLDMV/sizeofvar/pull/32) moved it to 2.1.4 and [#37](https://github.com/CLDMV/sizeofvar/pull/37) to 2.2.0). The 2.1.4 release no longer stamps a header into files that have no usable comment syntax (strict JSON such as `package.json`, and Markdown unless explicitly forced), never walks into `node_modules` or other dependency folders, and processes every repeated `--input` value instead of only the last. The 2.2.0 release changes what `@Last modified by` means: it now names whoever last edited a file's content, so a run that only rewrites a header (a date format conversion, a corrected `@Project`, new spacing) keeps the recorded editor instead of claiming the file for whoever ran the tool. The 2.1.2 and 2.1.3 releases in between were repository-maintenance releases with no change to the tool. It only runs through the `fix:headers` script; nothing that ships depends on it. +- **`@cldmv/configs` `^1.2.0` → `^1.2.4`** ([#37](https://github.com/CLDMV/sizeofvar/pull/37)). `.configs/fix-headers.json` extends `@cldmv/configs/fix-headers.json`, and from 1.2.4 that shared config sets `forceAuthorUpdate` and `forceLastModifiedAuthorUpdate` to `false` (both were `true` in 1.2.0). Together with fix-headers 2.2.0, a `fix:headers` run no longer overwrites `@Author` or `@Last modified by` on every file. +- **`@cldmv/vitest-runner` `^1.2.0` → `^1.5.3`** ([#35](https://github.com/CLDMV/sizeofvar/pull/35)), the test runner. This restores the bump from [#27](https://github.com/CLDMV/sizeofvar/pull/27), which merged into `next` just after the previous release and was dropped by the post-release reset of `next` ([CLDMV/.github#360](https://github.com/CLDMV/.github/issues/360)); it is reinstalled at the latest version instead of the original 1.5.1. The runner's own Node requirement rises from `>=20.19.0` to `>=22.12.0`, and its `chalk` dependency moves from 5.6.2 to 6.0.1 (Node 22 or later); the runner's package metadata also now declares Apache-2.0 instead of MIT. Test tooling only; nothing that ships depends on it. ## 📚 Documentation -- **NEW:** [docs/changelog/v1/v1.0.13.md](./v1.0.13.md) — this changelog. -- Changelogs for earlier releases that shipped without one were added in the same pass (see the [docs/changelog/](https://github.com/CLDMV/sizeofvar/tree/master/docs/changelog/) folder). +- **NEW:** [docs/changelog/v1/v1.0.13.md](./v1.0.13.md): this changelog. +- Changelogs for earlier releases that shipped without one (v1.0.1 through v1.0.12) were added in the same pass (see the [docs/changelog/](https://github.com/CLDMV/sizeofvar/tree/master/docs/changelog/) folder). +- README: a new **What's New** section with the Latest release and the four before it. --- ## Upgrade notes - No breaking changes, and no runtime code changed. It's a drop-in replacement for v1.0.12. +- For contributors: running the test suite now needs Node.js 22.12.0 or later, which is the floor the CI matrix has used since v1.0.9. The package itself declares no `engines`, and consumers are unaffected. +- For contributors: fix-headers 2.2.0 decides whether a file's content was edited by comparing the working tree with git `HEAD`, so run `npm run fix:headers` before committing, not after.