@softspark/jira-mcp 1.3.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -7,6 +7,19 @@ Versioning follows [Semantic Versioning](https://semver.org/).
7
7
 
8
8
  ---
9
9
 
10
+ ## v1.4.0 -- Delete Tools & Error Hardening (2026-04-15)
11
+
12
+ ### Added
13
+ - **`delete_task` tool** -- delete a Jira issue with ownership enforcement (creator only) and explicit user approval guard.
14
+ - **`delete_comment` tool** -- delete a comment with ownership enforcement (author only) and explicit user approval guard.
15
+ - **Markdown table support in ADF** -- `markdownToAdf()` now converts markdown tables to ADF table nodes.
16
+
17
+ ### Changed
18
+ - **Narrowed cache cleanup catch blocks** -- `deleteTask()` and `logTime()` now catch only `TaskNotFoundError` and `CacheNotFoundError` instead of swallowing all exceptions. Unexpected I/O or corruption errors propagate.
19
+
20
+ ### Fixed
21
+ - **Silent cache errors** -- cache I/O failures during post-delete and post-worklog cleanup were silently ignored, leaving stale entries without any signal.
22
+
10
23
  ## v1.3.0 -- File-Backed Templates & Approval Hooks (2026-04-15)
11
24
 
12
25
  ### Added
package/README.md CHANGED
@@ -9,13 +9,12 @@
9
9
 
10
10
  ---
11
11
 
12
- ## What's New in v1.3.0
12
+ ## What's New in v1.4.0
13
13
 
14
- - **File-backed templates** -- built-in comment and task templates now live as physical markdown files and support global user overrides.
15
- - **Template CLI + `create_task` templates** -- add install/list/show/remove flows and first-class task template rendering.
16
- - **Comment approval hooks** -- ship a repo-owned ai-toolkit hook manifest that previews Jira comments before the write executes.
17
- - **Runtime approval enforcement** -- block comment mutations unless the retry includes `user_approved=true`.
18
- - **541 tests** across 56 test files.
14
+ - **`delete_task` and `delete_comment` tools** -- guarded destructive operations with ownership enforcement and explicit approval.
15
+ - **Markdown table support** -- `markdownToAdf()` converts tables to native ADF table nodes.
16
+ - **Hardened error handling** -- cache cleanup no longer swallows unexpected I/O errors.
17
+ - **561 tests** across 58 test files.
19
18
 
20
19
  See [CHANGELOG.md](CHANGELOG.md) for full details.
21
20
 
@@ -101,6 +100,8 @@ All configuration lives in `~/.softspark/jira-mcp/` (created by `jira-mcp config
101
100
  | `update_task_status` | Change task status via workflow transition | `task_key`, `status` |
102
101
  | `update_task` | Update existing issue fields (markdown → ADF) | `task_key`, `summary?`, `description?`, `priority?`, `labels?` |
103
102
  | `add_task_comment` | Add a markdown comment (auto-converted to ADF) | `task_key`, `comment`, `user_approved` |
103
+ | `delete_task` | Delete a task, only when the authenticated user is the task creator | `task_key`, `user_approved` |
104
+ | `delete_comment` | Delete a comment, only when the authenticated user is the comment author | `task_key`, `comment_id`, `user_approved` |
104
105
  | `reassign_task` | Reassign or unassign a task | `task_key`, `assignee_email?` |
105
106
  | `get_task_statuses` | Get valid workflow transitions for a task | `task_key` |
106
107
  | `get_task_details` | Get full details with description, comments, and language | `task_key` |
@@ -183,7 +184,7 @@ Or copy `rules/jira-mcp.md` to your ai-toolkit rules directory manually. The rul
183
184
  - **Sync before read** -- cache may be stale
184
185
  - **Status transitions** -- check valid transitions before changing status
185
186
  - **Time format** -- `"2h 30m"`, never days
186
- - **All 16 MCP tools** and **20 CLI commands** reference
187
+ - **All 18 MCP tools** and **20 CLI commands** reference
187
188
 
188
189
  ### AI Toolkit Hooks
189
190
 
@@ -230,7 +231,7 @@ src/
230
231
  errors/ Typed error hierarchy
231
232
  operations/ Business logic (status, comments, time tracking)
232
233
  templates/ File-backed comment/task template loading and registries
233
- tools/ MCP tool handlers (16 tools, one file per tool)
234
+ tools/ MCP tool handlers (18 tools, one file per tool)
234
235
  types/ Shared TypeScript types
235
236
  server.ts MCP server setup and tool registration
236
237
  cli.ts CLI entry point
@@ -254,16 +255,16 @@ src/
254
255
 
255
256
  **Supply chain protection** -- `ignore-scripts=true`, no axios, no dynamic requires. Self-contained 520KB bundle, 1 runtime dep (commander).
256
257
 
257
- **Typed error hierarchy** -- 17 error classes with machine-readable codes. Every tool returns structured `{ success, error, code }` responses. No stack traces leak to MCP clients.
258
+ **Typed error hierarchy** -- 20 error classes with machine-readable codes. Every tool returns structured `{ success, error, code }` responses. No stack traces leak to MCP clients.
258
259
 
259
- **Strict TypeScript** -- `strict: true`, no `any`, `readonly` interfaces, Zod validation at all boundaries, 541 tests across 56 test files. Self-contained 520KB package.
260
+ **Strict TypeScript** -- `strict: true`, no `any`, `readonly` interfaces, Zod validation at all boundaries, 558 tests across 58 test files. Self-contained 520KB package.
260
261
 
261
262
  ## Documentation
262
263
 
263
264
  | Document | Description |
264
265
  |----------|-------------|
265
266
  | [Architecture](kb/reference/architecture.md) | System design and module overview |
266
- | [API Reference](kb/reference/api.md) | All 16 MCP tools with schemas |
267
+ | [API Reference](kb/reference/api.md) | All 18 MCP tools with schemas |
267
268
  | [Configuration](kb/reference/configuration.md) | Config files, env vars, multi-instance |
268
269
  | [ADF Format](kb/reference/adf.md) | Atlassian Document Format conversion |
269
270
  | [Caching](kb/reference/caching.md) | Task, workflow, and user caching |