Releases: streamich/json-joy
Releases · streamich/json-joy
v17.43.0
v17.42.0
17.42.0 (2025-05-15)
Bug Fixes
- json-crdt-extensions: 🐛 assign type (d73aa54)
- json-crdt-extensions: 🐛 do not create collapsed leading Inline elements (01c7271)
- json-crdt-extensions: 🐛 do not override custom HTML tag importers (bba3703)
- json-crdt-peritext-ui: 🐛 apply editor main CSS styles (502f0c1)
- json-crdt-peritext-ui: 🐛 be more specific when hiding caret, imlement on inline lvl (2886117)
- json-crdt-peritext-ui: 🐛 collapse selection on no visible chars (ab4bae5)
- json-crdt-peritext-ui: 🐛 hide system selection on inline element level (499b5d6)
- json-crdt-peritext-ui: 🐛 render overlays over cursor (bce0793)
- json-crdt-peritext-ui: 🐛 show back button only when necessary (76a71e0)
- json-crdt-peritext-ui: 🐛 switch plugin places (cc3785e)
Features
- json-crdt-extensions: 🎸 add ability to attach custom data to slice definitions (cfb5511)
- json-crdt-extensions: 🎸 add ability to start slice configuration (56809bd)
- json-crdt-extensions: 🎸 add name to slices in registry (e199f9d)
- json-crdt-extensions: 🎸 add slice type tag extration utility (73f1ed5)
- json-crdt-extensions: 🎸 harden registry usage, make it required (8434117)
- json-crdt-extensions: 🎸 implement Printable in slice registry and add TypeTag type (6834881)
- json-crdt-extensions: 🎸 improve Peritext model schema definitions (369b2b3)
- json-crdt-extensions: 🎸 improve slice configuration types (076c480)
- json-crdt-extensions: 🎸 lazily construct slice registry on first use (a857223)
- json-crdt-extensions: 🎸 make pending caret formatting undefined if empty (dfa72ac)
- json-crdt-peritext-ui: 🎸 add component (459bc03)
- json-crdt-peritext-ui: 🎸 add
and components (b5b6fe6)
- json-crdt-peritext-ui: 🎸 add component (676a93f)
- json-crdt-peritext-ui: 🎸 add ability to delete selected formatting (70cf09e)
- json-crdt-peritext-ui: 🎸 add ability to enter formatting edit mode (178c94d)
- json-crdt-peritext-ui: 🎸 add ability to navigate back on slice edit (99bf99c)
- json-crdt-peritext-ui: 🎸 add ability to render generic formatting item (6d0028f)
- json-crdt-peritext-ui: 🎸 add ability to set URL title (b74c9c6)
- json-crdt-peritext-ui: 🎸 add caret bottom state management and ability to select (edbc869)
- json-crdt-peritext-ui: 🎸 add formatting header buttons (fde45ea)
- json-crdt-peritext-ui: 🎸 add link decoration styles (34bdb11)
- json-crdt-peritext-ui: 🎸 add link shortcut annotation (cca77cb)
- json-crdt-peritext-ui: 🎸 add more state to formatting editing (2e72e9b)
- json-crdt-peritext-ui: 🎸 add tooltips to link card buttons (5b1f12b)
- json-crdt-peritext-ui: 🎸 add url clearing button (86caa86)
- json-crdt-peritext-ui: 🎸 allow onKeyDown prop in component (8b394e6)
- json-crdt-peritext-ui: 🎸 allow registration of custom slice data (50b1f53)
- json-crdt-peritext-ui: 🎸 allow to specify positioning function (7cb816d)
- json-crdt-peritext-ui: 🎸 close config popup on cursor moves (96a1e2e)
- json-crdt-peritext-ui: 🎸 close config popup on Esc press (c2fd415)
- json-crdt-peritext-ui: 🎸 create custom portal element container in editor (43b9427)
- json-crdt-peritext-ui: 🎸 create dedicated formatting manager component (e345a81)
- json-crdt-peritext-ui: 🎸 create editor wrapper element (6b7fada)
- json-crdt-peritext-ui: 🎸 create link configuration component (6f3041e)
- json-crdt-peritext-ui: 🎸 create link element renderer (86f6fce)
- json-crdt-peritext-ui: 🎸 create new formatting setup (bec4382)
- json-crdt-peritext-ui: 🎸 diff and save edited formatting (66743ef)
- json-crdt-peritext-ui: 🎸 dispatch link annotation update event (1509c75)
- json-crdt-peritext-ui: 🎸 display cursor anchor position with the dotted border (5159ce9)
- json-crdt-peritext-ui: 🎸 enable copy buttom (5a89530)
- json-crdt-peritext-ui: 🎸 helper components for card rendering (cb74d6b)
- json-crdt-peritext-ui: 🎸 highglight caret and editor focus in debug mode (b62e0fa)
- json-crdt-peritext-ui: 🎸 implement full URL parsing (2439dcc)
- json-crdt-peritext-ui: 🎸 implement various formatting renderers (f756754)
- json-crdt-peritext-ui: 🎸 improve "format" event interface and default impl (0c2a65d)
- json-crdt-peritext-ui: 🎸 improve color formatting definition (d6321b0)
- json-crdt-peritext-ui: 🎸 improve context menu header presentation (ef5cffc)
- json-crdt-peritext-ui: 🎸 improve CSS layouts (b088d9b)
- json-crdt-peritext-ui: 🎸 improve design of the link card (958f30b)
- **json-crd...
v17.41.0
17.41.0 (2025-05-10)
Bug Fixes
- json-crdt-diff: 🐛 correct issues found by fuzzer (c6fbe17)
- json-crdt-diff: 🐛 improve array diff edge cases (7d68bc1)
- json-crdt-diff: 🐛 use unicode encoding for binary data (1df2781)
- json-patch-diff: 🐛 allow string node type change (68b8b27)
- util: 🐛 correct line diff line beginning normalization (a29b4b7)
- util: 🐛 correctly assign last line patch operation (20d1199)
- util: 🐛 correctly compute diff source offset (cb247c8)
- util: 🐛 correctly determini line operation on last line no-newline op (82a97fe)
- util: 🐛 do not emit empty operations (7383d95)
- util: 🐛 do not emit empty operations (bdde345)
- util: 🐛 handle correctly array shifts (1cbc8a5)
- util: 🐛 improve handling of line separators (33a8316)
- util: 🐛 improve line diff assignment, use a newline char per line (11eaaa8)
- util: 🐛 keep new-line on line end fixes (b5a9b99)
Features
- json-crdt-diff: 🎸 handle case where "obj" value not compatible with dst value (587d2c5)
- json-crdt-diff: 🎸 implement "bin" node diffing (c03ede5)
- json-crdt-diff: 🎸 implement "val" node diff (030023b)
- json-crdt-diff: 🎸 implement array diff apply(), start using arrayd diff in CRDT (bc25ff6)
- json-crdt-diff: 🎸 implement diff for "vec" nodes (4e3067e)
- json-crdt-diff: 🎸 implement initial "arr" node diff (fd88982)
- json-crdt-diff: 🎸 implement StrNode diff (f1db4d8)
- json-crdt-diff: 🎸 improve binary node handling (9ae5c90)
- json-crdt-diff: 🎸 insert missing keys into "obj" (14e64fb)
- json-crdt-diff: 🎸 pass in source length on patch application (5968a47)
- json-crdt-diff: 🎸 remove deleted "obj" keys (a0e148f)
- json-crdt-diff: 🎸 support entering "obj" entries (036b58e)
- json-crdt-diff: 🎸 use line diff in JSON CRDT diff (ff97192)
- json-crdt-peritext-ui: 🎸 implement text diff (395b4db)
- json-hash: 🎸 assert structural hash in variants (9187472)
- json-hash: 🎸 implement structural hashing for CRDT nodes (ada9067)
- json-hash: 🎸 produce hashes for binary data (3abcfcf)
- json-patch-diff: 🎸 add array node diff implementation (a6a28ef)
- json-patch-diff: 🎸 implement diff for object nodes (d7066d3)
- json-patch-diff: 🎸 setup JSON Patch diff algorithm implementation (0427a1a)
- json-patch-diff: 🎸 use line diff in JSON Patch diff (83694ad)
- util: 🎸 add diff utility methods (0fb9c7c)
- util: 🎸 add initial implementation of line matching (d89fb9e)
- util: 🎸 cleanup array diff (64fc4b7)
- util: 🎸 create line-by-line patch module (ca9ae65)
- util: 🎸 handle new line chars (5ff05bf)
- util: 🎸 implement array diff child element entry (1853633)
- util: 🎸 implement binary to hex transforms (66c37c1)
- util: 🎸 implement diff for binary data (a740d02)
- util: 🎸 implement line matching (b75cbfe)
- util: 🎸 initial by-line diff implementation (d786e53)
- util: 🎸 initial, outer, implementation of array diff (2a40471)
- util: 🎸 match line in line patch (68f131e)
- util: 🎸 normalize line beginnings across inserts (b6f142a)
Performance Improvements
v17.40.0
17.40.0 (2025-04-18)
Bug Fixes
- json-crdt-peritext-ui: 🐛 on double-click make sure the focus is in front (b4ec3d3)
Features
- json-crdt-peritext-ui: 🎸 add actions to block type menu (a3bb8df)
- json-crdt-peritext-ui: 🎸 add heading renderers (7f21ee7)
- json-crdt-peritext-ui: 🎸 allow to specify partial implementation in cboard action (8f8ee78)
- json-crdt-peritext-ui: 🎸 create local expandable toolbar component (253b541)
- json-crdt-peritext-ui: 🎸 improve clipboard action behavior (77bc14f)
- json-crdt-peritext-ui: 🎸 move focus toolbar into viewport (4bfd16e)
- json-crdt-peritext-ui: 🎸 show only main cursor toolbar over focus caret (2a5cdd8)
- json-crdt-peritext-ui: 🎸 update block context menu (c26aaab)
v17.39.0
17.39.0 (2025-04-13)
Bug Fixes
- json-crdt-extensions: 🐛 correct various selection set edge cases (0b72bc9)
- json-crdt-extensions: 🐛 correctly return undefined when at ABS start (97eebb6)
- json-crdt-extensions: 🐛 correctly return undefined when querying at ABS end (b77ffe2)
- json-crdt-extensions: 🐛 return all cursors even in presence of other slice types (4c92831)
- json-crdt-extensions: 🐛 return undefined overlay point and ABS start when needed (a3ca966)
- json-crdt-peritext-ui: 🐛 adjust anchor point correctly as start-end points swap (0c0f6c6)
- json-crdt-peritext-ui: 🐛 correctly handle unit deletes (79651ef)
- json-crdt-peritext-ui: 🐛 handle line info retrieval and ABS end (c844c69)
- json-crdt-peritext-ui: 🐛 make multi-cursor work again (6d003de)
- json-crdt-peritext-ui: 🐛 safely detect text ABS ends (4be2ab0)
- json-crdt-peritext-ui: 🐛 update active block ID on any event (1fc31bd)
Features
- json-crdt-extensions: 🎸 implement selection set construction (cf739a1)
- json-crdt-peritext-ui: 🎸 add "vline" movement unit (2a50aed)
- json-crdt-peritext-ui: 🎸 add block clipboard menu (087ded5)
- json-crdt-peritext-ui: 🎸 add block menu definition (f5abe26)
- json-crdt-peritext-ui: 🎸 add support for selections to "format" events (8a8ac43)
- json-crdt-peritext-ui: 🎸 bump nice-ui dependency (41cd50a)
- json-crdt-peritext-ui: 🎸 connect basic block type actions to menu (1773026)
- json-crdt-peritext-ui: 🎸 enable point movements (0d75e8c)
- json-crdt-peritext-ui: 🎸 handle more input events (7156cf5)
- json-crdt-peritext-ui: 🎸 handle word jumps (790c29e)
- json-crdt-peritext-ui: 🎸 implement block selection action (2473ecf)
- json-crdt-peritext-ui: 🎸 improve "delete" event interface (ca8b147)
- json-crdt-peritext-ui: 🎸 improve cursor event (fee232c)
- json-crdt-peritext-ui: 🎸 improve selection set move algorithm (33ad929)
- json-crdt-peritext-ui: 🎸 integrate selection set concept into "buffer" events (90cf6f3)
- json-crdt-peritext-ui: 🎸 introduce selections in "marker" events (37aed34)
- json-crdt-peritext-ui: 🎸 move cursor after paste (92e2b84)
- json-crdt-peritext-ui: 🎸 render elements (6adcb00)
- json-crdt-peritext-ui: 🎸 render block left toolbar menu (6dc779e)
- json-crdt-peritext-ui: 🎸 restructure toolbar plugin inline and block folders (05f8642)
- json-crdt-peritext-ui: 🎸 set context menu width (af2b057)
- json-crdt-peritext-ui: 🎸 setup block menu toolbar rendering (52e7fd3)
- json-crdt-peritext-ui: 🎸 setup leaf block overlay frames (86fc289)
- json-crdt-peritext-ui: 🎸 setup new cursor movement event detail API (6bb45b5)
- json-crdt-peritext-ui: 🎸 show block toolbar only when one cursor and no selection (a455c83)
- json-crdt-peritext-ui: 🎸 specify the new event interfaces (df226e1)
- json-crdt-peritext-ui: 🎸 standartize range event details (646facb)
- json-crdt-peritext-ui: 🎸 track active block (330b6ae)
- json-crdt-peritext-ui: 🎸 update all arrow cursor movements (5c5dd05)
- json-crdt-peritext-ui: 🎸 update delete event implementation (6a7ac05)
- json-crdt-peritext-ui: 🎸 update fomartting implementation (8b1b8cf)
v17.38.0
17.38.0 (2025-04-04)
Bug Fixes
- json-crdt-peritext-ui: 🐛 re-render debug overlays on screen size changes (b299caf)
Features
- json-crdt-peritext-ui: 🎸 create formal cursor state (89640a9)
- json-crdt-peritext-ui: 🎸 immediately construct source node and state (44e1596)
- json-crdt-peritext-ui: 🎸 improve boundary element mapping (4a35ac7)
- json-crdt-peritext-ui: 🎸 improve DOM and React integration (b744164)
- json-crdt-peritext-ui: 🎸 improve re-rendering implementation (98f69e7)
- json-crdt-peritext-ui: 🎸 index all inline elements (44f4f2e)
- json-crdt-peritext-ui: 🎸 index leaf block DOM elements (9917b37)
- json-crdt-peritext-ui: 🎸 move state one folder up (680213c)
- json-crdt-peritext-ui: 🎸 position caret at line end (87c5a7a)
- json-crdt-peritext-ui: 🎸 retrieve spans of first block (deb7223)
v17.37.0
17.37.0 (2025-04-01)
Features
- json-crdt-extensions: 🎸 implement block type update method (d88ad48)
- json-crdt-extensions: 🎸 implement toggling of block split types (0f8f000)
- json-crdt-peritext-ui: 🎸 add ability to hide cursor info in debug mode (ff9e996)
- json-crdt-peritext-ui: 🎸 add ability to hide debug info labes (f07f347)
- json-crdt-peritext-ui: 🎸 add ability to hide outlines (b018690)
- json-crdt-peritext-ui: 🎸 create explicit DebugState class (a7d236a)
- json-crdt-peritext-ui: 🎸 implement multi-cursor block-merge (d2ad754)
- json-crdt-peritext-ui: 🎸 improve block type toggle implementation (86001db)
- json-crdt-peritext-ui: 🎸 improve display of adjacent line caret destination (e572e4e)
- json-crdt-peritext-ui: 🎸 skip markers when moving to adjacent line (5c0325b)
- json-crdt-peritext-ui: 🎸 use absolute x coordinate to compute vertical line moves (6dc482f)
v17.36.0
17.36.0 (2025-03-31)
Bug Fixes
- json-crdt-peritext-ui: 🐛 correctly format slice type tags (2903178)
Features
- json-crdt-extensions: 🎸 implement EditorApi injectable for Editor cursor methods (779b891)
- json-crdt-peritext-ui: 🎸 add 'line-vert' cursor movement unit (9d9d4f6)
- json-crdt-peritext-ui: 🎸 add ability to compute point x coordinate on the screen (9271737)
- json-crdt-peritext-ui: 🎸 add ability to move caret to soft line wrap position (b0660fa)
- json-crdt-peritext-ui: 🎸 add ability to move point-by-point using keyboard (b17c4ba)
- json-crdt-peritext-ui: 🎸 add right EOL indicator to debug mode and fix char pos off (946900f)
- json-crdt-peritext-ui: 🎸 compute previous line caret position (87edfe7)
- json-crdt-peritext-ui: 🎸 create helper for debugging overlays (6eb56a8)
- json-crdt-peritext-ui: 🎸 display debug button in top toolbar (1c1ab58)
- json-crdt-peritext-ui: 🎸 display word just locations in debug mode (558f171)
- json-crdt-peritext-ui: 🎸 hide cursor inline debug label (d574fb0)
- json-crdt-peritext-ui: 🎸 highlight characters immediately adjacent to caret (e4107c1)
- json-crdt-peritext-ui: 🎸 implement utility for retrieving line bounds (93a31ba)
- json-crdt-peritext-ui: 🎸 improve debug label display (2b3387e)
- json-crdt-peritext-ui: 🎸 improve display of block debug labels (06ae980)
- json-crdt-peritext-ui: 🎸 improve display of caret adjacent characters (b9c547b)
- json-crdt-peritext-ui: 🎸 improve display of debug labels, add small label ability (fe6d0b1)
- json-crdt-peritext-ui: 🎸 introduce concept of rendering surface API handle (834f7dc)
- json-crdt-peritext-ui: 🎸 make debug plugin enabled state reactive (5c19869)
- json-crdt-peritext-ui: 🎸 pass through caret Point position (f7def34)
- json-crdt-peritext-ui: 🎸 render caret anchor point (346a41a)
- json-crdt-peritext-ui: 🎸 render prev and next line caret destination in debug mode (d0dad61)
- json-crdt-peritext-ui: 🎸 render soft line beginning in debug mode (a1b7f98)
- json-crdt-peritext-ui: 🎸 show debug labels over inline formatting (f0b5e0e)
- json-crdt-peritext-ui: 🎸 show previous and next line boundaries (3f8a636)
- json-crdt-peritext-ui: 🎸 use the new in debug highlighting (c73013e)
- json-crdt-peritext-ui: 🎸 wire in vertical cursor movement using keyboard (966c017)