@softspark/jira-mcp 1.0.0 → 1.1.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 +35 -1
- package/README.md +11 -12
- package/dist/cli.js +75 -61
- package/dist/index.d.ts +5 -2
- package/dist/index.js +71 -57
- package/package.json +10 -9
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,40 @@ Versioning follows [Semantic Versioning](https://semver.org/).
|
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
+
## v1.1.0 -- Hardening & Market Readiness (2026-04-14)
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
- **Boundary test suite** -- 96 new tests covering `server.ts` (25), `cli/index.ts` (27), and `JiraConnector` (44). Total: 509 tests across 51 files.
|
|
14
|
+
- **Retry/backoff for transient failures** -- `JiraConnector` retries 429 and 503 responses up to 3 times with exponential backoff (1s/2s/4s). Respects `Retry-After` header.
|
|
15
|
+
- **Count validation script** -- `scripts/validate_counts.py` verifies README counts match source code. Enforced in CI via `validate-counts` job.
|
|
16
|
+
- **Count validation in CI** -- new `validate-counts` job in `ci.yml` catches README drift before merge.
|
|
17
|
+
- **ADR-0001** -- documented "hardening before refactor" decision with alternatives and guardrails.
|
|
18
|
+
- **Hardening plan** -- full plan with success criteria and pre-mortem in `kb/planning/`.
|
|
19
|
+
|
|
20
|
+
### Changed
|
|
21
|
+
- **server.ts refactored** -- 719 → 324 lines (-55%). Tool definitions extracted to `src/tools/definitions.ts`, argument helpers to `src/tools/args.ts`.
|
|
22
|
+
- **Major dependency upgrades** -- TypeScript 5 → 6, ESLint 9 → 10, zod 3 → 4, vitest 3 → 4, @types/node 22 → 25.
|
|
23
|
+
- **TypeScript 6 migration** -- added `types: ["node"]` and `ignoreDeprecations: "6.0"` to tsconfig.
|
|
24
|
+
- **zod 4 migration** -- `.default({})` replaced with factory function in `BulkOptionsSchema`.
|
|
25
|
+
- **vitest 4 migration** -- arrow function mocks replaced with regular function syntax for constructor compatibility.
|
|
26
|
+
- **Bundle size** -- 325KB → 520KB (due to zod 4, which is significantly larger).
|
|
27
|
+
- **README** -- "Zero runtime dependencies" corrected to "Minimal runtime dependencies". Test counts updated.
|
|
28
|
+
- **CONTRIBUTING.md** -- full CI workflow documented, `validate:counts` noted as maintainer-managed.
|
|
29
|
+
- **Coverage exclusions reduced** -- `server.ts` and `jira-connector.ts` removed from vitest exclusion list.
|
|
30
|
+
|
|
31
|
+
### Security
|
|
32
|
+
- **Cache file permissions** -- all cache writes use `mode: 0o600` (owner-only). Prevents local privilege escalation on shared machines.
|
|
33
|
+
- **CWD config loading warning** -- stderr warning when `config.json` or `credentials.json` loaded from working directory instead of global config.
|
|
34
|
+
- **Error message truncation** -- Jira API error responses truncated to 200 characters to prevent information leakage.
|
|
35
|
+
- **`saveJsonFile` JSDoc** -- `@security` annotation warns against use for sensitive data.
|
|
36
|
+
|
|
37
|
+
### Documentation
|
|
38
|
+
- **Hardcoded counts removed** from secondary docs (CLAUDE.md, kb/, rules/, copilot-instructions). Counts live only in README (single source of truth pattern from ai-toolkit).
|
|
39
|
+
- **KB docs updated** -- caching.md, architecture.md, configuration.md, troubleshooting/common-issues.md reflect security changes.
|
|
40
|
+
- **Release SOP updated** -- Step 4.5 (validate counts) and Step 3.2 (README "What's New" update) added.
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
10
44
|
## v1.0.0 -- Initial Public Release (2026-04-14)
|
|
11
45
|
|
|
12
46
|
### MCP Tools (15)
|
|
@@ -27,7 +61,7 @@ Versioning follows [Semantic Versioning](https://semver.org/).
|
|
|
27
61
|
- **`create_task`** -- create a new Jira issue with ADF description, assignee, labels, epic link
|
|
28
62
|
- **`search_tasks`** -- search Jira issues with raw JQL (no caching)
|
|
29
63
|
|
|
30
|
-
### CLI Commands (
|
|
64
|
+
### CLI Commands (16)
|
|
31
65
|
|
|
32
66
|
- **`jira-mcp`** / **`jira-mcp serve`** -- start MCP server (stdio transport)
|
|
33
67
|
- **`jira-mcp config init`** -- initialize global config at `~/.softspark/jira-mcp/`
|
package/README.md
CHANGED
|
@@ -4,20 +4,19 @@
|
|
|
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.1.0
|
|
13
13
|
|
|
14
|
-
- **
|
|
15
|
-
- **
|
|
16
|
-
- **
|
|
17
|
-
- **
|
|
18
|
-
- **
|
|
19
|
-
- **
|
|
20
|
-
- **413 tests** across 47 test files with strict TypeScript.
|
|
14
|
+
- **Hardening & market readiness** -- boundary tests, retry/backoff, security fixes, server refactor.
|
|
15
|
+
- **509 tests** across 51 test files -- boundary tests for `server.ts`, CLI bootstrap, and `JiraConnector` (96 new tests).
|
|
16
|
+
- **Retry/backoff** -- transient Jira API failures (429, 503) retried up to 3x with exponential backoff.
|
|
17
|
+
- **server.ts refactored** -- 719 → 324 lines. Tool definitions and argument helpers extracted to dedicated modules.
|
|
18
|
+
- **Major dep upgrades** -- TypeScript 6, ESLint 10, zod 4, vitest 4.
|
|
19
|
+
- **Security hardened** -- cache 0o600, CWD config warning, error truncation, count validation in CI.
|
|
21
20
|
|
|
22
21
|
See [CHANGELOG.md](CHANGELOG.md) for full details.
|
|
23
22
|
|
|
@@ -163,7 +162,7 @@ Or copy `rules/jira-mcp.md` to your ai-toolkit rules directory manually. The rul
|
|
|
163
162
|
- **Sync before read** -- cache may be stale
|
|
164
163
|
- **Status transitions** -- check valid transitions before changing status
|
|
165
164
|
- **Time format** -- `"2h 30m"`, never days
|
|
166
|
-
- **All 15 MCP tools** and **
|
|
165
|
+
- **All 15 MCP tools** and **16 CLI commands** reference
|
|
167
166
|
|
|
168
167
|
## Usage with Other MCP Clients
|
|
169
168
|
|
|
@@ -219,11 +218,11 @@ src/
|
|
|
219
218
|
|
|
220
219
|
**Per-instance credentials** -- different API tokens per Jira instance URL. Single-credential format still works (backward compatible). See [Configuration](kb/reference/configuration.md).
|
|
221
220
|
|
|
222
|
-
**Supply chain protection** -- `ignore-scripts=true`, no axios, no dynamic requires. Self-contained
|
|
221
|
+
**Supply chain protection** -- `ignore-scripts=true`, no axios, no dynamic requires. Self-contained 520KB bundle, 1 runtime dep (commander).
|
|
223
222
|
|
|
224
223
|
**Typed error hierarchy** -- 15 error classes with machine-readable codes. Every tool returns structured `{ success, error, code }` responses. No stack traces leak to MCP clients.
|
|
225
224
|
|
|
226
|
-
**Strict TypeScript** -- `strict: true`, no `any`, `readonly` interfaces, Zod validation at all boundaries,
|
|
225
|
+
**Strict TypeScript** -- `strict: true`, no `any`, `readonly` interfaces, Zod validation at all boundaries, 509 tests across 51 test files. Self-contained 520KB package.
|
|
227
226
|
|
|
228
227
|
## Documentation
|
|
229
228
|
|