Commit Graph

9 Commits

Author SHA1 Message Date
31744d01a1 chore: bump version to 1.1.8 and update CHANGELOG
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-30 18:53:50 -05:00
825ad133a0 chore: bump version to 1.1.7 and update CHANGELOG
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-30 18:43:41 -05:00
8bc0094604 chore: bump version to 1.1.6 and update CHANGELOG
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-30 18:24:08 -05:00
ec507531ce chore: bump version to 1.1.5 and update CHANGELOG
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-28 12:22:38 -05:00
fe12e00e03 chore: bump version to 1.1.4 and update CHANGELOG
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-28 12:16:57 -05:00
edd445f8ae docs: update CHANGELOG for v1.1.3
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-17 17:55:16 -05:00
57b58a0d22 fix: allow ampersands in filenames while blocking command injection (v1.1.2)
Fixes #2 - Files with & in their names (e.g., 'Research & Development.md')
were being incorrectly sanitized, causing search and file-not-found errors.

Changes:
- Removed & from DANGEROUS_CHARS regex
- Single & is safe in quoted arguments passed to CLI
- Dangerous && patterns still blocked by COMMAND_INJECTION_PATTERNS
- Also allows (), [], {} which are safe in quoted args

Version: 1.1.2

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-14 17:05:18 -05:00
466587d1c5 fix: preserve square brackets and escape quotes in note content (v1.1.1)
- Fix square bracket removal: Remove [] from DANGEROUS_CHARS regex
  * Wikilinks ([[link]]) now work correctly
  * Task checkboxes (- [ ] Task) are properly preserved
  * Brackets are safe because values are quoted and passed as array args

- Fix quote truncation: Escape double quotes in formatParam
  * Content like "Bot QM" no longer truncates
  * Internal quotes escaped as \" before wrapping in parameter quotes
  * Prevents shell from misinterpreting quote boundaries

Bump version: 1.0.0 -> 1.1.1

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-10 00:07:13 -05:00
916e9cfb9b fix: critical command name and quoting bugs in US2 tools + polish docs
Fixed critical bugs in User Story 2 tools (links, tags, aliases) and
completed polish phase documentation tasks.

## Critical Bug Fixes

**links.ts - Wrong Command Names:**
-  Was calling: `obsidian link backlinks` (wrong - 'link' command doesn't exist)
-  Now calling: `obsidian backlinks` (correct CLI command)
- Fixed 5 tools: backlinks, outgoing links, unresolved, deadends, orphans
- Changed executeObsidianCommand('link', ...) → executeObsidianCommand('backlinks', ...)
- Changed 'outgoing-links' → 'links' (correct command name)
- Changed 'unresolved-links' → 'unresolved'

**tags-aliases.ts - Wrong Command Names:**
-  Was calling: `obsidian tag list-tags` (wrong format)
-  Now calling: `obsidian tags` (correct command)
- Fixed 3 tools: list_tags, tag_info, list_aliases
- Changed executeObsidianCommand('tag', ['list-tags']) → executeObsidianCommand('tags', [])
- Changed 'tag-info' → 'tag' with name parameter
- Changed 'alias' → 'aliases'

**Parameter Quoting:**
- Added formatParam() imports to both files
- All string parameters now quoted: `file="My Note"` not `file=My Note`
- Fixes multi-word filename handling (previously split on spaces)

**Parameter Format:**
- Changed from `--flag value` to Obsidian CLI format: `param=value`
- Boolean flags now standalone: `counts` not `--counts`
- Aligns with file-operations.ts and search.ts patterns

## Documentation (Polish Phase)

**T150 - README.md Updated:**
- Changed "20 tools" → "28 tools" (accurate count)
- Added complete tool listing with descriptions
- Organized by category: File Operations (8), Search & Discovery (12), Tasks & Properties (8)
- Each tool includes name and brief description
- Removed placeholder text about US3 being "planned"

**T151 - CHANGELOG.md Created:**
- Full v1.0.0 changelog following Keep a Changelog format
- Documents all 28 tools across 3 user stories
- Lists infrastructure features (MCP protocol, MCPB bundle, validation, security)
- Technical details section (TypeScript, Node.js, transport, CLI integration)
- Quality metrics (0 compilation errors, passing validation)
- Planned features section for deferred US4/US5

## Impact

These fixes resolve 8 broken tools that would have failed on:
- Any command execution (wrong command names)
- Any filename with spaces (missing quoting)

Affected tools now work correctly:
- obsidian_get_backlinks
- obsidian_list_outgoing_links
- obsidian_list_unresolved_links
- obsidian_list_deadends
- obsidian_list_orphans
- obsidian_list_tags
- obsidian_get_tag_info
- obsidian_list_aliases

## Files Changed

- src/tools/links.ts: Fixed 5 tools (command names + quoting)
- src/tools/tags-aliases.ts: Fixed 3 tools (command names + quoting)
- README.md: Updated tool count and complete listings (T150)
- CHANGELOG.md: Created comprehensive v1.0.0 changelog (T151)
- specs/001-obsidian-mcp-bundle/tasks.md: Marked T150-T151, T080-T081 complete

## Task Progress

- Completed: T080-T081 (infrastructure helpers), T150-T151 (polish docs)
- Total: 89/101 tasks (88.1%)
- Remaining: T076-T078 (optional wrappers), T153-T165 (polish/testing)

## Build Status

 TypeScript: 0 errors
 All 28 tools now have correct CLI integration
 Parameter quoting consistent across all tool files

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-22 14:04:17 -05:00