@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 +26 -0
- package/README.md +12 -10
- package/dist/cli.js +44 -42
- package/dist/index.js +52 -50
- package/package.json +1 -1
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** -- `` 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
|
[](https://github.com/softspark/jira-mcp/actions/workflows/ci.yml)
|
|
6
6
|
[](https://www.npmjs.com/package/@softspark/jira-mcp)
|
|
7
|
-
[](CHANGELOG.md)
|
|
8
8
|
[](LICENSE)
|
|
9
9
|
|
|
10
10
|
---
|
|
11
11
|
|
|
12
|
-
## What's New in v1.
|
|
12
|
+
## What's New in v1.6.0
|
|
13
13
|
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
-
|
|
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 (``) 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
|
|
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 (
|
|
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
|
|
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,
|
|
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
|
|
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 |
|