github mksglu/context-mode v1.0.89

6 hours ago

v1.0.89 — Stability, search perf, and new contributors

Fixed

  • Prevent duplicate hook processes (#282) — When both hooks.json and settings.json have context-mode entries, hooks fired twice. Now actively strips settings.json entries when plugin hooks.json covers all events. Self-heal also respects hooks.json presence. Thanks @shauneccles!
  • Coerce string-typed numeric tool inputs (#281) — LLMs sometimes send timeout: "300000" (string instead of number). z.number() rejected these with -32602. Now uses z.coerce.number() for timeout and port fields. ctx_purge.confirm intentionally stays strict (z.coerce.boolean("false") === true). Thanks @shauneccles!
  • Pi extension UI output (#279) — ctx_stats and ctx_doctor now route output through Pi's ctx.ui.notify() when available. Thanks @h4rvey-g!
  • Insight security hardening — EADDRINUSE check, adapter-aware paths, robust timeouts, input validation from 5-agent grill review.

Performance

  • LRU cache for fuzzyCorrect (#274) — 256-entry cache with Map LRU semantics. Invalidated on vocab insert. Thanks @sebastianbreguel!
  • Byte-safe truncation (#273) — byteSafePrefix() with binary search and surrogate-pair guard. Thanks @sebastianbreguel!
  • Dedup tokens in sanitizeQuery (#276) — Case-insensitive dedup reduces redundant FTS5 lookups. Thanks @sebastianbreguel!

Tests

Community PRs

@shauneccles (#281, #282), @h4rvey-g (#279), @sebastianbreguel (#273, #274, #276, #277, #278)

Upgrade:

npm install -g context-mode@1.0.89

Full Changelog: v1.0.88...v1.0.89

Don't miss a new context-mode release

NewReleases is sending notifications on new releases.