@softspark/jira-mcp 1.4.2 → 1.4.3
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 +9 -0
- package/README.md +6 -7
- package/dist/cli.js +24 -24
- package/dist/index.js +18 -18
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,15 @@ Versioning follows [Semantic Versioning](https://semver.org/).
|
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
+
## v1.4.3 -- JQL Escape & Cache Recovery (2026-04-18)
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
- **`sync_tasks` default JQL parse error** -- `escapeJql` was over-escaping JQL operators (`-`, `+`, `&`, `|`, etc.) inside double-quoted string literals. Jira rejected the resulting query with `'\-' jest niedozwoloną sekwencją modyfikacji JQL`. The escape now only handles `\` and `"` (the only sequences valid inside a quoted JQL string), so `sync_tasks` works without an explicit `jql` argument when the username contains a hyphen.
|
|
14
|
+
- **`reassign_task` / `update_task_status` cache miss after Jira mutation** -- both operations now recover from a cache miss by fetching the task from Jira via `connector.getIssue` and upserting it into the local cache. Previously, calling either tool right after `create_task` (cache not populated) or `log_task_time` (cache invalidated) failed with `TASK_NOT_FOUND` even though the Jira mutation succeeded.
|
|
15
|
+
|
|
16
|
+
### Added
|
|
17
|
+
- **`CacheManager.upsertTask(task)`** -- inserts a task or replaces it by key, tolerating a missing cache file. Used by the new mutation-recovery path.
|
|
18
|
+
|
|
10
19
|
## v1.4.2 -- Supply-Chain Hardening (2026-04-18)
|
|
11
20
|
|
|
12
21
|
### Added
|
package/README.md
CHANGED
|
@@ -4,17 +4,16 @@
|
|
|
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.4.
|
|
12
|
+
## What's New in v1.4.3
|
|
13
13
|
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
- **
|
|
17
|
-
- **Pre-commit version sync** -- new step catches `package.json` ↔ `package-lock.json` version drift before commit.
|
|
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).
|
|
18
17
|
|
|
19
18
|
See [CHANGELOG.md](CHANGELOG.md) for full details.
|
|
20
19
|
|
|
@@ -257,7 +256,7 @@ src/
|
|
|
257
256
|
|
|
258
257
|
**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.
|
|
259
258
|
|
|
260
|
-
**Strict TypeScript** -- `strict: true`, no `any`, `readonly` interfaces, Zod validation at all boundaries,
|
|
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
260
|
|
|
262
261
|
## Documentation
|
|
263
262
|
|