@quillmark/wasm 0.108.1 → 0.108.2
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 +74 -5
- package/backends/pdfform/wasm_bg.wasm +0 -0
- package/backends/typst/wasm_bg.wasm +0 -0
- package/core/wasm_bg.wasm +0 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,79 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## v0.108.2 - 2026-08-20
|
|
4
|
+
|
|
5
|
+
- fix(core): **storage blobs tagged `@0.81.0` and `@0.82.0` load again.** Both
|
|
6
|
+
tags migrate forward on read instead of failing as an unknown schema version.
|
|
7
|
+
Migrations chain (`V0_81_0 → V0_82_0 → V0_92_0 → V0_93_0`); the write path is
|
|
8
|
+
untouched, so re-serializing a migrated row emits `@0.93.0`.
|
|
9
|
+
|
|
10
|
+
The `V0_82_0` hop is **lossy in one place**: the `$id` payload item is
|
|
11
|
+
dropped, the live model having no counterpart for it. The alternative is
|
|
12
|
+
refusing the row. A consumer that kept a key under `$id` re-establishes it
|
|
13
|
+
under a `$ext` namespace it owns.
|
|
14
|
+
|
|
15
|
+
This reverses the #929 retirement, whose two premises were both wrong. Rows
|
|
16
|
+
do predate `@0.92.0` — #1327 reports stored `@0.81.0` ones. And `0.82.0` was
|
|
17
|
+
not yanked: every published Quillmark version is live on crates.io, npm, and
|
|
18
|
+
PyPI. Because no yank happened, `@0.82.0` names a shape
|
|
19
|
+
union rather than a frozen format — every release from `0.83.0` through
|
|
20
|
+
`0.91.0` stamped it — so the restored reader accepts the union (#1327)
|
|
21
|
+
|
|
22
|
+
- refactor!: **one definition per mechanism across the rust crates.** A
|
|
23
|
+
whole-codebase simplify pass: the typst session compiles through one
|
|
24
|
+
`recompile` pipeline whose derived tables (regions, span windows, page hashes)
|
|
25
|
+
are built per commit instead of per query; the pdf reader's scan plumbing
|
|
26
|
+
(`object_dict`, `open_trailer`, `dict_end`, `ws_end`) and the page-dict array
|
|
27
|
+
splice are single definitions shared by stamp and flatten; the flattened PDF
|
|
28
|
+
is shared by `Arc` instead of copied per render; emission, prescan, payload
|
|
29
|
+
assembly and validation in core lose their duplicated dispatch and their
|
|
30
|
+
per-keystroke deep clones. Two outputs shift: a blank pdfform document returns
|
|
31
|
+
the base PDF unchanged rather than appending a revision carrying two
|
|
32
|
+
unreferenced font objects, and three `quillmark-pdf` parse-failure messages
|
|
33
|
+
share one `dict not parseable` spelling (codes unchanged). Dead public API is
|
|
34
|
+
deleted: `FileTreeNode::{file_exists, dir_exists, list_files,
|
|
35
|
+
list_subdirectories}`, `Payload::contains_key`, `PayloadItem::nested_comments`,
|
|
36
|
+
`QuillValue::{string, integer, bool, null}` (the `From` impls and `from_json`
|
|
37
|
+
are the constructors), `FieldSpec::{with_schema_field, with_value,
|
|
38
|
+
with_tooltip}` (assign the fields), and `quillmark-content`'s
|
|
39
|
+
`strip_bidi_formatting` / `fix_html_comment_fences` (internal to
|
|
40
|
+
`normalize_markdown`). None had a caller in the workspace or bindings.
|
|
41
|
+
|
|
42
|
+
- fix: **an empty mapping emits as `{}` rather than losing its key.** `emit_field`
|
|
43
|
+
dropped an empty-object field entirely, which composes with the block form of
|
|
44
|
+
its parent into markdown no parser accepts: a `$ext` whose every namespace
|
|
45
|
+
emptied wrote `$ext:` with no children, and re-parsed as null. That is the
|
|
46
|
+
`parse::invalid_structure` a `@quillmark/svelte` host hit on save, once a
|
|
47
|
+
tips-card dismissal had cleared `$ext.editor.tips`. One level down the same
|
|
48
|
+
rule ran silent: `$ext` is the only slot type-checked, so an inner mapping
|
|
49
|
+
turned null and the document parsed clean, handing a consumer back a type it
|
|
50
|
+
never wrote. Plain user fields carried that loss too — `cfg: {opts: {}}`
|
|
51
|
+
re-parsed as `cfg: null`, and the second emit then differed from the first.
|
|
52
|
+
Empty mappings now emit `key: {}` at every depth. That is the spelling a
|
|
53
|
+
sequence item (`- {}`) and a wholly empty `$ext: {}` already used, so an
|
|
54
|
+
emptied container survives the round-trip as the value a consumer stored.
|
|
55
|
+
|
|
56
|
+
<!-- seed: commits since v0.108.1, confirm the entries above cover them, then delete this comment
|
|
57
|
+
- docs(canon): record that @0.81.0 is the oldest tag that exists
|
|
58
|
+
- docs: leave the applied migration guide untouched
|
|
59
|
+
- docs: dense-prose pass on the DTO backfill
|
|
60
|
+
- test(core): drop the vacuous V0_81_0 body-import test
|
|
61
|
+
- fix(core): restore the V0_82_0 read shim; 0.82.0 was never yanked (#1327)
|
|
62
|
+
- chore(deps): bump the cargo group with 2 updates
|
|
63
|
+
- chore(deps): bump taiki-e/install-action in the actions group
|
|
64
|
+
- fix(core): restore the V0_81_0 storage read shim (#1327)
|
|
65
|
+
- docs: changelog entry for the simplify sweep
|
|
66
|
+
- refactor(core)!: apply simplify-review cleanups to the session seam
|
|
67
|
+
- docs(pdf): trim test helper doc to its contract
|
|
68
|
+
- refactor(core/document): apply simplify-review cleanups
|
|
69
|
+
- refactor(pdf): apply simplify-review cleanups
|
|
70
|
+
- refactor(typst): apply simplify-review cleanups
|
|
71
|
+
- refactor(core/quill): apply simplify-review cleanups
|
|
72
|
+
- refactor(content): apply simplify-review cleanups
|
|
73
|
+
- fix: an empty mapping emits as `{}` rather than losing its key
|
|
74
|
+
-->
|
|
75
|
+
|
|
76
|
+
|
|
3
77
|
## v0.108.1 - 2026-08-19
|
|
4
78
|
|
|
5
79
|
- fix: **a content cell under `variants:` is readable at its codec.**
|
|
@@ -14,11 +88,6 @@
|
|
|
14
88
|
variantless enum stays a scalar. The write is unchanged — a variant container
|
|
15
89
|
has no per-cell op address and needs none, committing whole.
|
|
16
90
|
|
|
17
|
-
<!-- seed: commits since v0.108.0, confirm the entries above cover them, then delete this comment
|
|
18
|
-
- fix: a content cell under `variants:` reads at its codec
|
|
19
|
-
-->
|
|
20
|
-
|
|
21
|
-
|
|
22
91
|
## v0.108.0 - 2026-08-18
|
|
23
92
|
|
|
24
93
|
- fix: **the value ladder is cut per cell, so the plate is total at every
|
|
Binary file
|
|
Binary file
|
package/core/wasm_bg.wasm
CHANGED
|
Binary file
|