@torsday/omnifocus-mcp 1.2.1 → 1.3.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 +51 -0
- package/dist/index.js +2520 -1551
- package/package.json +7 -5
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,57 @@ All notable changes to `@torsday/omnifocus-mcp` will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). See [ADR-0011](./docs/adr/0011-versioning-and-stability.md) for the explicit definition of breaking vs additive changes in this project.
|
|
6
6
|
|
|
7
7
|
|
|
8
|
+
## [1.3.0](https://github.com/torsday/omnifocus-mcp/compare/v1.2.2...v1.3.0) (2026-05-09)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
|
|
13
|
+
* **observability:** per-tool response-size telemetry ([#778](https://github.com/torsday/omnifocus-mcp/issues/778)) ([79cace2](https://github.com/torsday/omnifocus-mcp/commit/79cace2f8050d26bb73181c6dcd4325fc8a02ad3))
|
|
14
|
+
* **tools:** default-truncate task notes in bulk reads ([#775](https://github.com/torsday/omnifocus-mcp/issues/775)) ([57dc1ba](https://github.com/torsday/omnifocus-mcp/commit/57dc1bae461e0630b00ca98fde98e06c377d9acb))
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Fixed
|
|
18
|
+
|
|
19
|
+
* **ci:** install shellcheck+actionlint via apt/script on ubuntu-latest ([508f7b2](https://github.com/torsday/omnifocus-mcp/commit/508f7b296ca21f4aaa13a4bf158bd01cc965b418))
|
|
20
|
+
* **in-memory:** skip project completedTaskCount bump when task state unchanged ([e5da6e4](https://github.com/torsday/omnifocus-mcp/commit/e5da6e41f15badc0e5b924203379806bc74b513a))
|
|
21
|
+
* **jxa:** route task tag mutations through OmniJS to defeat silent no-op ([c0304c5](https://github.com/torsday/omnifocus-mcp/commit/c0304c57a6eca2398fde7330d9eff2d163d79f4b))
|
|
22
|
+
* **jxa:** use container() not parent() for tag parent retrieval (OF 4.x) ([ba4abc5](https://github.com/torsday/omnifocus-mcp/commit/ba4abc53e327c31ac92342f0d79cc39dbc3daf84))
|
|
23
|
+
* **observability:** hash nested args correctly and survive null/undefined ([dcec35c](https://github.com/torsday/omnifocus-mcp/commit/dcec35c0f948ac5cc771cfcf8b570137097c092c))
|
|
24
|
+
* **pagination:** hashFilter must sort nested object keys for stable cursor filterHash ([f315a36](https://github.com/torsday/omnifocus-mcp/commit/f315a368a35880fedda3d88e79b90d4f8c33383d))
|
|
25
|
+
* **server:** register recursive zod schemas to unblock tools/list ([1e0a1d5](https://github.com/torsday/omnifocus-mcp/commit/1e0a1d5f39835416190d9899ce6c34d86d0d9fab))
|
|
26
|
+
* **webhooks:** register res.on('error') so dispatch never throws upward ([3f988e5](https://github.com/torsday/omnifocus-mcp/commit/3f988e5160fe1e093241288c2e4dd67ab730a3a5))
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
### Performance
|
|
30
|
+
|
|
31
|
+
* **jxa:** scope task_list tagId filter via tag.tasks() to avoid full scan ([a16fe77](https://github.com/torsday/omnifocus-mcp/commit/a16fe77895d5d0ceb93e3798ca7fb0d17fd92793))
|
|
32
|
+
* **tools:** elide default-valued fields from heavy read responses ([#774](https://github.com/torsday/omnifocus-mcp/issues/774)) ([7aecd56](https://github.com/torsday/omnifocus-mcp/commit/7aecd564a0efe69e3d9c9a385c1ebbded75ea0fa))
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
### Changed
|
|
36
|
+
|
|
37
|
+
* **jxa:** inline shared buildFolder helper via [@inline](https://github.com/inline) directive ([e8c7391](https://github.com/torsday/omnifocus-mcp/commit/e8c739140ae1047fa1f6c4bdb6c02e4e602be3d8))
|
|
38
|
+
* **jxa:** inline shared buildTag helper via [@inline](https://github.com/inline) directive ([57b0ab0](https://github.com/torsday/omnifocus-mcp/commit/57b0ab05c63ef9e6ed202198e90f33c68bbd9b14))
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
### Documentation
|
|
42
|
+
|
|
43
|
+
* **adr:** 0016 reactive automation runtime (proposed, deferred) ([ca91590](https://github.com/torsday/omnifocus-mcp/commit/ca915908a3785c53bab67c4c0bfbe1f0b404aa7f))
|
|
44
|
+
* **adr:** expand 0016 — option [#5](https://github.com/torsday/omnifocus-mcp/issues/5) (no, Claude itself can't listen) + sub-decision [#9](https://github.com/torsday/omnifocus-mcp/issues/9) (TypeScript) ([1a931d8](https://github.com/torsday/omnifocus-mcp/commit/1a931d86df9f9a03102bf7f00c927c537de5e53a))
|
|
45
|
+
* **adr:** expand 0016 — worked example, sandboxed js, failure modes, phased rollout ([42263cb](https://github.com/torsday/omnifocus-mcp/commit/42263cba1990abbcdfb78fcee2a729099ce3be43))
|
|
46
|
+
* **adr:** renumber reactive automation runtime to 0021 ([b18e075](https://github.com/torsday/omnifocus-mcp/commit/b18e07593234d52c3d340359005808874404ebcc))
|
|
47
|
+
* **agents:** add per-directory CLAUDE.md files for jxa, envelope, tools ([#809](https://github.com/torsday/omnifocus-mcp/issues/809)) ([39b6771](https://github.com/torsday/omnifocus-mcp/commit/39b6771bd09941076aff728f69461839928ce94a))
|
|
48
|
+
* **release:** align stale bundle-size budget mentions with current 800 KiB ([3e3e55f](https://github.com/torsday/omnifocus-mcp/commit/3e3e55faf76916079f3240be16c69f129c105a60))
|
|
49
|
+
* **spike:** [#800](https://github.com/torsday/omnifocus-mcp/issues/800) — osascript fanout — multiplexed scripts vs persistent daemon ([5e452a6](https://github.com/torsday/omnifocus-mcp/commit/5e452a6aea15ded5a7f3b70b1143da59bdf42d94))
|
|
50
|
+
|
|
51
|
+
## [1.2.2](https://github.com/torsday/omnifocus-mcp/compare/v1.2.1...v1.2.2) (2026-04-30)
|
|
52
|
+
|
|
53
|
+
**Summary** — Fixes a startup failure on Macs where OmniFocus runs in the macOS sandbox (App Store installs). The server now probes both the sandbox container path and the legacy Application Support path, preferring the sandbox location when both exist.
|
|
54
|
+
|
|
55
|
+
### Fixed
|
|
56
|
+
|
|
57
|
+
- **Sandboxed OmniFocus database path detected automatically ([#709](https://github.com/torsday/omnifocus-mcp/issues/709))** — On App Store installs of OmniFocus, the database lives under `~/Library/Containers/com.omnigroup.OmniFocus3/Data/Library/Application Support/OmniFocus/` rather than the legacy `~/Library/Application Support/OmniFocus/`. The server now probes both locations at startup and selects the correct one automatically — no configuration required. Previously the server would fail silently on sandboxed machines. ([ab4cc25](https://github.com/torsday/omnifocus-mcp/commit/ab4cc25e4c631f5321dbcb13ffc59e7e4a828a93))
|
|
58
|
+
|
|
8
59
|
## [1.2.1](https://github.com/torsday/omnifocus-mcp/compare/v1.2.0...v1.2.1) (2026-04-30)
|
|
9
60
|
|
|
10
61
|
**Summary** — A focused reliability patch for OmniFocus 4.x compatibility and cross-transport ID interoperability. Seven bug fixes address real failure modes surfaced since v1.2.0: JXA scripts now correctly handle OF 4.x's quirky `class()` exceptions on tag parents and containing projects; `byId` misses are mapped to typed `NotFound` errors instead of leaking the raw `-1728` osascript code; and four write-path operations (`task_create`, `task_duplicate`, `task_reorder`, `project_move`) are routed through OmniJS to guarantee ID interoperability across all transport paths per ADR-0019. The `parentId` subtask filter also works correctly again after a `tasks()` vs `flattenedTasks()` regression. No breaking changes; all v1.2.0 call shapes are unchanged.
|