Skip to content

v1.27.0 (Stable) - security fixes

Choose a tag to compare

@gugu9999gu gugu9999gu released this 15 Jun 12:58
· 30 commits to main since this release

1.27.0 β€” Stable minor (security): private-key scan FN + DB placeholder FP + retro --json

πŸ›‘οΈ Stable release. An early minor to ship the 1.26.1 security fixes (found in the 13th external clean-room review). A security FN/FP β€” a false "secure OK" over a committed private key, and a placeholder false-positive that breaks CI β€” warrants publishing now rather than waiting to accumulate patches.

Highlights

  • πŸ”’ Private-key file scan FN closed β€” scan secrets skipped private-key/cert files (.pem/.key/.crt/.p8/.pfx…) via the extension allow-list, so a committed private key passed clean AND handoff falsely reported security OK. Fixed with a basename override so the private-key detector actually runs on those files. (Gitignored keys stay info-downgraded.)
  • πŸ”’ DB-URI placeholder FP closed β€” textbook placeholders in .env.example (user:password@, root:root, yourpassword) were flagged as committed secrets, breaking gate/CI. Fixed by checking only the password component + known placeholder markers. Real high-entropy DB passwords are still caught (no false negative).
  • πŸ”§ retro --json contract β€” retro --days <non-numeric> --json previously leaked a plain-text error to a JSON consumer; now returns a structured error with a numeric guard.

Verification (zero regression)

  • selftest 246/246 Β· E2E 367/367 (behavioral regression guard: private-key caught, placeholder skipped, real password caught, retro JSON structured) Β· post-publish clean-room re-verification.

Notes

  • 0 runtime deps Β· 0 install scripts Β· Node β‰₯ 18 Β· MIT.