Skip to content

Releases: streamich/json-joy

v17.43.0

22 May 18:08
Compare
Choose a tag to compare

17.43.0 (2025-05-22)

Features

  • json-crdt-extensions: 🎸 move Peritext events into the extension folder (6cb6b69)

v17.42.0

15 May 13:34
Compare
Choose a tag to compare

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...
Read more

v17.41.0

10 May 10:11
Compare
Choose a tag to compare

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

  • json-hash: ⚡️ use custom insertion sort implementation (b55ff6a)
  • util: ⚡️ cleanup line diff algorithm (0330f0d)

v17.40.0

18 Apr 12:25
Compare
Choose a tag to compare

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

13 Apr 22:15
Compare
Choose a tag to compare

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

04 Apr 22:43
Compare
Choose a tag to compare

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

01 Apr 12:15
Compare
Choose a tag to compare

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

31 Mar 13:36
Compare
Choose a tag to compare

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)

v17.35.0

25 Mar 17:57
Compare
Choose a tag to compare

17.35.0 (2025-03-25)

Bug Fixes

  • json-crdt-peritext-ui: 🐛 correct batch type (4e1553b)

Features

  • json-crdt-peritext-ui: 🎸 adjust padding (8b59bb1)
  • json-crdt-peritext-ui: 🎸 create blocks plugin for Peritext block rendering (4a23e5c)
  • json-crdt-peritext-ui: 🎸 show block type in debug mode (888e051)
  • json-crdt-peritext-ui: 🎸 support soft line break inserts (c14a66c)

v17.34.0

24 Mar 13:07
Compare
Choose a tag to compare

17.34.0 (2025-03-24)

Bug Fixes

  • json-crdt-extensions: 🐛 correctly split nested container blocks (bb87779)

Features

  • json-crdt-extensions: 🎸 implement anonymouse split in nested container blocks (9188732)
  • json-crdt-extensions: 🎸 split deepest container block on [Enter] (ec7b36f)