@quillmark/wasm 0.88.0-rc.1 → 0.88.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 CHANGED
@@ -1,18 +1,6 @@
1
1
  # Changelog
2
2
 
3
- ## v0.88.0-rc.1 - 2026-06-05
4
-
5
- - blueprint: flatten group_fields, drop unused group label (#697)
6
- - Update CLAUDE.md
7
- - Expose seedMain/seedCard to WASM + Python bindings (#696)
8
- - docs: note that released migration guides are era-accurate and immutable (#695)
9
- - Remove form-view projection; add Quill::validate (#694)
10
- - Remove example() reference document, fold into seeding (#693)
11
- - Document seeding (example → absent) + block-scalar prescan fix + commitment-ladder docs (#691)
12
- - docs(canon): dedup field-resolution semantics into SCHEMAS (#692)
13
-
14
-
15
- ## Unreleased
3
+ ## v0.88.0 - 2026-06-05
16
4
 
17
5
  - **Breaking (bindings + Rust API):** a single canonical **`Card` wire shape** now
18
6
  flows in *both* directions. Core owns it as `quillmark_core::CardWire` (with
@@ -31,7 +19,6 @@
31
19
  `Result<(), EditError>` and, with `insert_card`, validates that the card's
32
20
  `$kind` is a valid, non-reserved composable kind — the cards-list invariant is
33
21
  enforced at the edit op rather than incidentally at `Card::new`.
34
-
35
22
  - **Breaking (bindings + Rust API):** the schema-aware **form view is removed**.
36
23
  `Quill::form` / `Quill::blank_main` / `Quill::blank_card` (and the
37
24
  `quill.form` / `blankMain` / `blankCard` bindings) are gone, along with the
@@ -62,6 +49,25 @@
62
49
  authoring surface is `blueprint()`), so the projection collapses into the
63
50
  seed: internally the `FillSource` fork in blueprint emission is gone and the
64
51
  blueprint always renders `default:` else the `<must-fill>` sentinel.
52
+ - **wasm:** lower the npm package `engines.node` floor from `>=24` to `>=22`.
53
+ The runtime never required 24 — `--weak-refs` needs only Node 14.6+, and the
54
+ `using` sugar that motivated the 24 floor is optional (a `try` / `finally`
55
+ fallback covers Node 22). The aggressive floor hard-blocked installs on Node
56
+ 22 CI/dev images under `engine-strict`.
57
+ - **wasm:** `Document.makeCard(kind, fields?, body?)` now types `fields` as
58
+ optional in the generated `.d.ts` (was required, contradicting its docs);
59
+ omitting it yields an empty field map, as before.
60
+ - **docs:** fix the `Quill.schema` getter doc — the returned schema **includes**
61
+ `ui` hints (it never stripped them); the stale "ui hints stripped" wording is
62
+ corrected. The 0.87→0.88 migration guide now documents the `fill` flag's
63
+ `!fill`-placeholder semantics and clarifies that seeding is example-filled,
64
+ not a blank-form replacement.
65
+ - **blueprint:** flatten `group_fields` and drop the unused group label (#697).
66
+ - **docs:** document seeding (example → absent), fix a block-scalar prescan
67
+ bug, and add commitment-ladder docs (#691).
68
+ - **docs(canon):** dedup field-resolution semantics into SCHEMAS (#692); note
69
+ that released migration guides are era-accurate and immutable (#695); prune
70
+ evolutionary information from comments and canon docs (#700).
65
71
 
66
72
  ## v0.87.3 - 2026-06-04
67
73
 
package/README.md CHANGED
@@ -329,9 +329,10 @@ The wasm bindings are built with `--weak-refs`, so dropped `Document`,
329
329
  without manual `.free()` discipline. `.free()` is still emitted as an eager
330
330
  teardown hook for callers that want deterministic release.
331
331
 
332
- The package requires Node 24+ (`engines: { node: ">=24" }`) and current
333
- evergreen browsers; `--weak-refs` itself only needs Node 14.6+, but the
334
- published package floor is 24.
332
+ The package floor is Node 22+ (`engines: { node: ">=22" }`) and current
333
+ evergreen browsers; `--weak-refs` itself only needs Node 14.6+. The `using`
334
+ sugar shown below ([explicit resource management][erm]) needs Node 24, but is
335
+ optional — the `try` / `finally` fallback runs on the Node 22 floor.
335
336
 
336
337
  For environments where `using` (the [explicit resource management][erm]
337
338
  proposal) hasn't landed, use an explicit `try` / `finally`:
package/bundler/wasm.d.ts CHANGED
@@ -494,7 +494,10 @@ export class Quill {
494
494
  */
495
495
  readonly metadata: QuillMetadata;
496
496
  /**
497
- * Document schema with `ui` hints stripped for LLM/MCP consumers.
497
+ * Document schema for the quill: the user-fillable fields plus their
498
+ * `ui` hints (group / order / showWhen). The single field-metadata
499
+ * surface — drives form editors and LLM/MCP consumers alike. Returns the
500
+ * `QuillSchema` shape.
498
501
  */
499
502
  readonly schema: QuillSchema;
500
503
  /**
@@ -240,7 +240,7 @@ export class Document {
240
240
  const len0 = WASM_VECTOR_LEN;
241
241
  var ptr1 = isLikeNone(body) ? 0 : passStringToWasm0(body, wasm.__wbindgen_export, wasm.__wbindgen_export2);
242
242
  var len1 = WASM_VECTOR_LEN;
243
- wasm.document_makeCard(retptr, ptr0, len0, addHeapObject(fields), ptr1, len1);
243
+ wasm.document_makeCard(retptr, ptr0, len0, isLikeNone(fields) ? 0 : addHeapObject(fields), ptr1, len1);
244
244
  var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
245
245
  var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
246
246
  var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
@@ -887,7 +887,10 @@ export class Quill {
887
887
  }
888
888
  }
889
889
  /**
890
- * Document schema with `ui` hints stripped for LLM/MCP consumers.
890
+ * Document schema for the quill: the user-fillable fields plus their
891
+ * `ui` hints (group / order / showWhen). The single field-metadata
892
+ * surface — drives form editors and LLM/MCP consumers alike. Returns the
893
+ * `QuillSchema` shape.
891
894
  * @returns {QuillSchema}
892
895
  */
893
896
  get schema() {
Binary file
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@quillmark/wasm",
3
- "version": "0.88.0-rc.1",
3
+ "version": "0.88.0",
4
4
  "description": "WebAssembly bindings for quillmark",
5
5
  "type": "module",
6
6
  "license": "MIT OR Apache-2.0",
7
7
  "engines": {
8
- "node": ">=24"
8
+ "node": ">=22"
9
9
  },
10
10
  "repository": {
11
11
  "type": "git",