StdioServerTransport only listens for stdin 'data'/'error'; it never
wires up 'end'/'close', so the process never learns when the client
disconnects. Hosts with no MCP lifecycle controls (e.g. Codex 0.146.x)
left orphaned processes accumulating with nothing to reap them.
Exit gracefully via server.close() on stdin EOF and on SIGTERM/SIGINT.
- Implement --version/-v flag to display version number
- Implement --help/-h flag to show usage information
- Version now dynamically read from package.json
- Update error message to suggest --help for more info
Introduces a new patch_note tool that allows replacing specific strings in notes without rewriting the entire file, reducing token usage and improving performance for small edits.
Features:
- String-based replacement with oldString/newString parameters
- Safety: fails if multiple matches found (unless replaceAll=true)
- Preserves frontmatter and file structure
- Returns match count and detailed success/error messages
Changes:
- Added PatchNoteParams and PatchNoteResult types
- Implemented patchNote() method in FileSystemService
- Added patch_note tool to MCP server
- Comprehensive test coverage (8 new tests)
- Bumped version to 0.6.0
- Remove js-yaml dependency and use gray-matter for all YAML operations
- Fix write_note, update_frontmatter, and manage_tags YAML serialization errors
- Add comprehensive integration tests for all frontmatter operations
- Tests cover write_note with frontmatter, append/prepend modes, update operations
- Tests cover tag management (add, remove, list) and edge cases
- All 22 tests now passing including frontmatter validation
- Version bump to 0.5.4
Resolves: 'yaml.dump is not a function' error in all frontmatter tools
- Normalize '.' path to empty string for root directory listing
- Ensure consistent behavior between '.', '/', and '' paths
- All now correctly return both files and directories from vault root
- Version bump to 0.5.3
Resolves issue where LLMs using '.' path only received files without directories.
- Change main field from server.ts to dist/server.js
- Add executable permission to compiled JavaScript file
- This resolves the 'env: bun: No such file or directory' error
- Version bump to 0.5.2
- Add build script using tsc with separate build configuration
- Update bin configuration to point to compiled JS files in dist/
- Include compiled JavaScript files in npm package
- Fix TypeScript strict mode errors for compilation
- Update .gitignore to include dist/ in version control for publishing
- Resolves Claude Desktop execution issues with direct TypeScript execution
This ensures the package works without requiring users to have tsx installed.