Lines 1-33markdown
3All notable changes to this project are documented in this file.
5The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
12- AWS's own published example key no longer blocks a commit. 0.1.4 began matching bare
13 `AKIA…`/`ASIA…` access key IDs, which also matched `AKIAIOSFODNN7EXAMPLE` — the value AWS
CriticalCritical Secret
Package contains a critical-looking secret pattern.
CHANGELOG.mdView on unpkg · L13 14 prints in its own documentation, and one that lands in READMEs, Terraform samples, and test
15 fixtures. Because the rule's category is `secret`, neither a rule allow nor a plain path
16 allow is accepted, so a documentation example became an unconditional block on every profile
17 with only a per-file escape. Every AWS example key ends in `EXAMPLE`, so the pattern now
18 excludes that suffix and keeps blocking real keys. Path scoping was deliberately not used:
19 excluding `docs/` or `tests/` from secret scanning would hide genuine keys in the places they
21- `uninstall --purge-state` no longer leaves a backup behind in a linked worktree. Git writes
22 the commit message file into the per-worktree Git directory, so 0.1.4's sweep — which looked
23 only in the common directory — printed "state purged" with `COMMIT_EDITMSG.aimhooman-bak`
24 still on disk. Uninstall disarms every worktree at once, so it now sweeps the main Git
25 directory and each linked one, and matches the `.aimhooman-bak` suffix so a backup left by a
27- A plain `uninstall` keeps the attribution backup. It printed "state kept" and then deleted
28 the one file holding the lines stripped from the last commit message. Only `--purge-state`,
29 which promises to remove everything, takes it now.
30- Sweeping an empty lock queue can no longer stop a concurrent `aimhooman init`. Between its
31 `mkdir` and its first publication a lock contender owns no file in the queue, so the sweep
32 saw an empty directory and removed it, and the contender then failed on a bare `ENOENT`. The
33 window is wide enough to lose because building the candidate probes the process identity,