@softspark/jira-mcp 1.4.3 → 1.6.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,32 @@ Versioning follows [Semantic Versioning](https://semver.org/).
7
7
 
8
8
  ---
9
9
 
10
+ ## v1.6.0 -- ADF Nested Lists, Task Lists & Doc-Parity Gates (2026-06-10)
11
+
12
+ ### Added
13
+ - **Nested list support in ADF conversion** -- indented markdown lists (2 spaces or tab) now produce properly nested `bulletList`/`orderedList` ADF nodes instead of being flattened, in both write and read directions. Read direction renders nesting with 2-space indentation.
14
+ - **Task list (checkbox) support** -- `- [ ]` / `- [x]` markdown converts to ADF `taskList`/`taskItem` nodes (Jira checkboxes) with document-unique `localId`s, and renders back to markdown checkboxes including nesting. Nested bullet/ordered lists under a task item are lifted to siblings after the task list to keep the ADF valid.
15
+ - **Image degradation** -- `![alt](url)` markdown converts to a link (alt text as label, URL as fallback) instead of leaking a stray `!` into the text. ADF media nodes require uploaded attachments, so a link is the lossless-enough fallback.
16
+ - **`date` node rendering on read** -- ADF date nodes now render as `YYYY-MM-DD` instead of disappearing from task descriptions and comments.
17
+ - **Doc-parity checks in `validate_counts.py`** -- the validator now also verifies the README version badge against `package.json`, and that every MCP tool from `definitions.ts` is documented in `kb/reference/api.md` and named in `rules/jira-mcp.md`.
18
+
19
+ ### Changed
20
+ - **CI enforces the coverage gate** -- the test job runs `npm run test:coverage`, so the 70% thresholds (lines, branches, functions) actually block merges. Branch coverage raised from 64.5% to above the threshold with new CLI and ADF edge-case tests.
21
+
22
+ ### Fixed
23
+ - **README version badge drift** (1.4.3 -> 1.5.0) and stale test counts.
24
+ - **`kb/reference/api.md`** now documents `search_tasks`, `delete_task`, and `delete_comment`, which were missing despite the "complete reference" claim.
25
+ - **`rules/jira-mcp.md` / `AGENTS.md`** tool list extended to all 19 tools (was 17) and the CLI table extended to all 20 commands (was 14).
26
+ - **Dev dependency vulnerabilities** -- `npm audit fix` applied (7 advisories: fast-uri, brace-expansion, hono, ip-address chains). Runtime dependencies were and remain clean.
27
+
28
+ ---
29
+
30
+ ## v1.5.0 -- Bulk Template Management & Monthly Tasks Tool (2026-05-04)
31
+
32
+ ### Added
33
+ - **`template add bulk` CLI command** -- new third template kind alongside `comment` and `task`. Validates the source JSON against `BulkConfigSchema` and installs it under `~/.softspark/jira-mcp/templates/tasks/<KEY>/monthly_admin.json`. `template list/show/remove` also support the `bulk` kind, keyed by project. Prunes the empty project subdirectory on remove.
34
+ - **`create_monthly_tasks` MCP tool** -- exposes the existing `create-monthly` CLI handler over the protocol. Inputs: `{ execute?: boolean, project?: string }`. Returns a structured result with per-project status (success/error), summary counts, and the resolved config path. Lets MCP clients run monthly bulk task creation without dropping to the CLI.
35
+
10
36
  ## v1.4.3 -- JQL Escape & Cache Recovery (2026-04-18)
11
37
 
12
38
  ### Fixed
package/README.md CHANGED
@@ -4,16 +4,18 @@
4
4
 
5
5
  [![CI](https://github.com/softspark/jira-mcp/actions/workflows/ci.yml/badge.svg)](https://github.com/softspark/jira-mcp/actions/workflows/ci.yml)
6
6
  [![npm](https://img.shields.io/npm/v/@softspark/jira-mcp)](https://www.npmjs.com/package/@softspark/jira-mcp)
7
- [![version](https://img.shields.io/badge/version-1.4.3-blue)](CHANGELOG.md)
7
+ [![version](https://img.shields.io/badge/version-1.6.0-blue)](CHANGELOG.md)
8
8
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
9
9
 
10
10
  ---
11
11
 
12
- ## What's New in v1.4.3
12
+ ## What's New in v1.6.0
13
13
 
14
- - **`sync_tasks` no longer breaks on hyphenated usernames** -- JQL escape was producing invalid `\-` sequences inside quoted strings. Default sync (without explicit `jql`) now works for every account.
15
- - **`update_task_status` and `reassign_task` recover from cache miss** -- after a successful Jira mutation, the cache is refreshed from the source of truth instead of failing with `TASK_NOT_FOUND`. Solves the "must re-sync after `create_task` or `log_task_time`" footgun.
16
- - **Provenance attestation** -- releases ship with SLSA v1 attestation via `npm publish --provenance` (introduced in v1.4.2).
14
+ - **Nested lists in ADF conversion** -- indented markdown lists produce real nested `bulletList`/`orderedList` nodes in both directions instead of being flattened.
15
+ - **Task lists (Jira checkboxes)** -- `- [ ]` / `- [x]` markdown round-trips through ADF `taskList`/`taskItem` nodes, including nesting.
16
+ - **`date` nodes render on read** -- dates in descriptions and comments show as `YYYY-MM-DD` instead of disappearing; images (`![alt](url)`) degrade to clean links on write.
17
+ - **Coverage gate enforced in CI** -- the test job runs `test:coverage`, so the 70% thresholds actually block merges.
18
+ - **Doc-parity validation** -- `validate_counts.py` also checks the version badge and that every MCP tool is documented in `kb/reference/api.md` and `rules/jira-mcp.md`.
17
19
 
18
20
  See [CHANGELOG.md](CHANGELOG.md) for full details.
19
21
 
@@ -183,7 +185,7 @@ Or copy `rules/jira-mcp.md` to your ai-toolkit rules directory manually. The rul
183
185
  - **Sync before read** -- cache may be stale
184
186
  - **Status transitions** -- check valid transitions before changing status
185
187
  - **Time format** -- `"2h 30m"`, never days
186
- - **All 18 MCP tools** and **20 CLI commands** reference
188
+ - **All 19 MCP tools** and **20 CLI commands** reference
187
189
 
188
190
  ### AI Toolkit Hooks
189
191
 
@@ -230,7 +232,7 @@ src/
230
232
  errors/ Typed error hierarchy
231
233
  operations/ Business logic (status, comments, time tracking)
232
234
  templates/ File-backed comment/task template loading and registries
233
- tools/ MCP tool handlers (18 tools, one file per tool)
235
+ tools/ MCP tool handlers (19 tools, one file per tool)
234
236
  types/ Shared TypeScript types
235
237
  server.ts MCP server setup and tool registration
236
238
  cli.ts CLI entry point
@@ -252,18 +254,18 @@ src/
252
254
 
253
255
  **Per-instance credentials** -- different API tokens per Jira instance URL. Single-credential format still works (backward compatible). See [Configuration](kb/reference/configuration.md).
254
256
 
255
- **Supply chain protection** -- `ignore-scripts=true`, no axios, no dynamic requires. Self-contained 520KB bundle, 1 runtime dep (commander).
257
+ **Supply chain protection** -- `ignore-scripts=true`, no axios, no dynamic requires. Self-contained 535KB bundle, 1 runtime dep (commander).
256
258
 
257
259
  **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
260
 
259
- **Strict TypeScript** -- `strict: true`, no `any`, `readonly` interfaces, Zod validation at all boundaries, 573 tests across 59 test files. Self-contained 525KB package.
261
+ **Strict TypeScript** -- `strict: true`, no `any`, `readonly` interfaces, Zod validation at all boundaries, 672 tests across 64 test files. Self-contained 535KB package.
260
262
 
261
263
  ## Documentation
262
264
 
263
265
  | Document | Description |
264
266
  |----------|-------------|
265
267
  | [Architecture](kb/reference/architecture.md) | System design and module overview |
266
- | [API Reference](kb/reference/api.md) | All 18 MCP tools with schemas |
268
+ | [API Reference](kb/reference/api.md) | All 19 MCP tools with schemas |
267
269
  | [Configuration](kb/reference/configuration.md) | Config files, env vars, multi-instance |
268
270
  | [ADF Format](kb/reference/adf.md) | Atlassian Document Format conversion |
269
271
  | [Caching](kb/reference/caching.md) | Task, workflow, and user caching |