pmx-canvas 0.1.24 → 0.1.25

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
@@ -3,6 +3,58 @@
3
3
  All notable changes to `pmx-canvas` are documented here. This project follows
4
4
  [Semantic Versioning](https://semver.org/).
5
5
 
6
+ ## [0.1.25] - 2026-06-03
7
+
8
+ Adapter-regression cleanup on top of 0.1.24. Fixes several issues the
9
+ GitHub Copilot and Codex canvas adapters surfaced: effective pinned
10
+ state now shows up on node reads, PMX-served frame-document iframes are
11
+ trusted automatically, group membership is settable through the generic
12
+ node APIs, default node sizes were retuned, and the mutation-history
13
+ diff no longer reports spurious "data changed" for title/content edits.
14
+
15
+ ### Changed
16
+
17
+ - **Node reads report effective pinned state.** `canvas_get_node` and
18
+ `canvas_get_layout` (and every read path) now return `pinned: true`
19
+ when a node is in the context-pin set, not only when its own
20
+ `pinned` flag is set. Adapters that key off `pinned` now see what
21
+ the human actually pinned.
22
+ - **Larger default node sizes.** Markdown nodes default to 640×420
23
+ (was 520×360) and `mcp-app` nodes get an explicit 960×600 default,
24
+ applied consistently across the HTTP create/batch path, the SDK,
25
+ and browser auto-placement. Larger app frames render their embedded
26
+ content without immediate manual resizing.
27
+ - **Mutation-history diff ignores title/content for "data changed".**
28
+ `canvas_diff` and the history timeline no longer flag a generic
29
+ "data changed" when only a node's `title` or `content` differs —
30
+ those are already reported as their own title/content changes, so
31
+ the data-level diff now compares the remaining fields.
32
+
33
+ ### Added
34
+
35
+ - **PMX-served frame documents are trusted automatically.** Embedded
36
+ `mcp-app` iframes whose source is a same-origin
37
+ `/api/canvas/frame-documents/<id>` URL are now treated as trusted
38
+ (no sandbox-escape warning), via a new
39
+ `isSameOriginFrameDocumentUrl()` guard that validates both the
40
+ origin and the path prefix. External URLs and unrelated same-origin
41
+ paths remain untrusted.
42
+ - **Group membership through the generic node APIs.** `POST
43
+ /api/canvas/group` and the node update path accept `children` /
44
+ `childIds` (or `data.children`) and persist group membership, with
45
+ validation that rejects missing child IDs, self-references, and
46
+ nested-group children. Snapshot diffs expose the resulting
47
+ membership.
48
+
49
+ ### Internal
50
+
51
+ - Regression coverage for: frame-document trust (same-origin PMX path
52
+ trusted; external and unrelated same-origin paths not), generic
53
+ group-children APIs persisting membership and surfacing it in
54
+ snapshot diffs, the retuned default node sizes through CLI/HTTP/MCP,
55
+ effective-pinned read state, and the title/content-aware
56
+ mutation-history diff.
57
+
6
58
  ## [0.1.24] - 2026-06-03
7
59
 
8
60
  Host-adapter and agent-experience (AX) release. Adds host-agnostic AX
@@ -1183,6 +1235,7 @@ otherwise have to discover by trial and error.
1183
1235
  - Regression coverage for snapshot flat-`id` aliases on both MCP and
1184
1236
  HTTP surfaces, plus async / top-level-`await` WebView script bodies.
1185
1237
 
1238
+ [0.1.25]: https://github.com/pskoett/pmx-canvas/releases/tag/v0.1.25
1186
1239
  [0.1.24]: https://github.com/pskoett/pmx-canvas/releases/tag/v0.1.24
1187
1240
  [0.1.23]: https://github.com/pskoett/pmx-canvas/releases/tag/v0.1.23
1188
1241
  [0.1.22]: https://github.com/pskoett/pmx-canvas/releases/tag/v0.1.22