v1.1.0
First post-OSS-hardening release. Public API (MCP tools, resources, env vars) unchanged from 1.0.0; SemVer minor for the dropped Node 18 support and the new transparency of supply-chain hygiene.
Security
npm auditnow reports zero vulnerabilities at any severity (prod + dev). The 5 dev-only moderate advisories in the previousesbuild/vitechain were resolved by the vitest 4 upgrade.- Patched 4 transitive runtime advisories via
npm audit fix:fast-uri(HIGH path traversal + host confusion),hono(moderate bodyLimit/JSX/CSS/JWT/cache issues),ip-address(moderate XSS),express-rate-limit(moderate, inherited). - Bounded the 429 retry loop in
HelpScoutClient.apiGet— 3-retry cap with exponential backoff andRetry-Afterhonoured. - Fixed credit-card redaction regex in the PII scrubber. The previous pattern missed Amex's
XXXX-XXXXXX-XXXXXshape; the new pattern matches any 13–19 digit run with separators, then defers to the Luhn check to filter false positives. - Added
SECURITY.mdwith disclosure path and PII posture.
Dependencies
typescript5 → 6vitest2 → 4zod3 → 4@types/node22 → 25actions/checkoutandactions/setup-node4 → 6
Breaking
- Dropped Node 18 support. Node 18 hit end-of-life April 2025; modern dev tooling (vitest 4, rolldown, esbuild) no longer runs on it.
engines.nodeand the CI matrix now require Node 20+.
Build and tooling
- Pinned
tsconfig.jsoncompilerOptions.typesto["node"]so TypeScript 6's implicit@types/*inclusion stays deterministic alongside vitest 4's new@types/chai/deep-eql/estreesiblings. - New 21-test
vitestsuite covering SSN, CC (Luhn pass/fail), email, and phone redaction. prepublishOnlygate runs build, tests, andnpm audit --omit=dev --audit-level=highbefore publish.- Project hardening for OSS:
filesallowlist,binentry (pm-copilot), CI matrix on Node 20 + 22, Dependabot config, issue/PR templates,CONTRIBUTING.md,CODE_OF_CONDUCT.md.
Genericization
- Replaced client-identifying content (specific products, churn/scale figures, AppSumo-specific response filter) with generic illustrative examples so the public repo doesn't imply live customer data.
Full details in CHANGELOG.md.