Skip to content

Commit 1d7c984

Browse files
chore(release): 17.41.0 [skip ci]
# [17.41.0](v17.40.0...v17.41.0) (2025-05-10) ### Bug Fixes * **json-crdt-diff:** 🐛 correct issues found by fuzzer ([c6fbe17](c6fbe17)) * **json-crdt-diff:** 🐛 improve array diff edge cases ([7d68bc1](7d68bc1)) * **json-crdt-diff:** 🐛 use unicode encoding for binary data ([1df2781](1df2781)) * **json-patch-diff:** 🐛 allow string node type change ([68b8b27](68b8b27)) * **util:** 🐛 correct line diff line beginning normalization ([a29b4b7](a29b4b7)) * **util:** 🐛 correctly assign last line patch operation ([20d1199](20d1199)) * **util:** 🐛 correctly compute diff source offset ([cb247c8](cb247c8)) * **util:** 🐛 correctly determini line operation on last line no-newline op ([82a97fe](82a97fe)) * **util:** 🐛 do not emit empty operations ([7383d95](7383d95)) * **util:** 🐛 do not emit empty operations ([bdde345](bdde345)) * **util:** 🐛 handle correctly array shifts ([1cbc8a5](1cbc8a5)) * **util:** 🐛 improve handling of line separators ([33a8316](33a8316)) * **util:** 🐛 improve line diff assignment, use a newline char per line ([11eaaa8](11eaaa8)) * **util:** 🐛 keep new-line on line end fixes ([b5a9b99](b5a9b99)) ### Features * **json-crdt-diff:** 🎸 handle case where "obj" value not compatible with dst value ([587d2c5](587d2c5)) * **json-crdt-diff:** 🎸 implement "bin" node diffing ([c03ede5](c03ede5)) * **json-crdt-diff:** 🎸 implement "val" node diff ([030023b](030023b)) * **json-crdt-diff:** 🎸 implement array diff apply(), start using arrayd diff in CRDT ([bc25ff6](bc25ff6)) * **json-crdt-diff:** 🎸 implement diff for "vec" nodes ([4e3067e](4e3067e)) * **json-crdt-diff:** 🎸 implement initial "arr" node diff ([fd88982](fd88982)) * **json-crdt-diff:** 🎸 implement StrNode diff ([f1db4d8](f1db4d8)) * **json-crdt-diff:** 🎸 improve binary node handling ([9ae5c90](9ae5c90)) * **json-crdt-diff:** 🎸 insert missing keys into "obj" ([14e64fb](14e64fb)) * **json-crdt-diff:** 🎸 pass in source length on patch application ([5968a47](5968a47)) * **json-crdt-diff:** 🎸 remove deleted "obj" keys ([a0e148f](a0e148f)) * **json-crdt-diff:** 🎸 support entering "obj" entries ([036b58e](036b58e)) * **json-crdt-diff:** 🎸 use line diff in JSON CRDT diff ([ff97192](ff97192)) * **json-crdt-peritext-ui:** 🎸 implement text diff ([395b4db](395b4db)) * **json-hash:** 🎸 assert structural hash in variants ([9187472](9187472)) * **json-hash:** 🎸 implement structural hashing for CRDT nodes ([ada9067](ada9067)) * **json-hash:** 🎸 produce hashes for binary data ([3abcfcf](3abcfcf)) * **json-patch-diff:** 🎸 add array node diff implementation ([a6a28ef](a6a28ef)) * **json-patch-diff:** 🎸 implement diff for object nodes ([d7066d3](d7066d3)) * **json-patch-diff:** 🎸 setup JSON Patch diff algorithm implementation ([0427a1a](0427a1a)) * **json-patch-diff:** 🎸 use line diff in JSON Patch diff ([83694ad](83694ad)) * **util:** 🎸 add diff utility methods ([0fb9c7c](0fb9c7c)) * **util:** 🎸 add initial implementation of line matching ([d89fb9e](d89fb9e)) * **util:** 🎸 cleanup array diff ([64fc4b7](64fc4b7)) * **util:** 🎸 create line-by-line patch module ([ca9ae65](ca9ae65)) * **util:** 🎸 handle new line chars ([5ff05bf](5ff05bf)) * **util:** 🎸 implement array diff child element entry ([1853633](1853633)) * **util:** 🎸 implement binary to hex transforms ([66c37c1](66c37c1)) * **util:** 🎸 implement diff for binary data ([a740d02](a740d02)) * **util:** 🎸 implement line matching ([b75cbfe](b75cbfe)) * **util:** 🎸 initial by-line diff implementation ([d786e53](d786e53)) * **util:** 🎸 initial, outer, implementation of array diff ([2a40471](2a40471)) * **util:** 🎸 match line in line patch ([68f131e](68f131e)) * **util:** 🎸 normalize line beginnings across inserts ([b6f142a](b6f142a)) ### Performance Improvements * **json-hash:** ⚡️ use custom insertion sort implementation ([b55ff6a](b55ff6a)) * **util:** ⚡️ cleanup line diff algorithm ([0330f0d](0330f0d))
1 parent 35d1306 commit 1d7c984

File tree

2 files changed

+65
-1
lines changed

2 files changed

+65
-1
lines changed

CHANGELOG.md

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,67 @@
1+
# [17.41.0](https://github.com/streamich/json-joy/compare/v17.40.0...v17.41.0) (2025-05-10)
2+
3+
4+
### Bug Fixes
5+
6+
* **json-crdt-diff:** 🐛 correct issues found by fuzzer ([c6fbe17](https://github.com/streamich/json-joy/commit/c6fbe17d3e71b3b78c383eb252b2e3f685e50062))
7+
* **json-crdt-diff:** 🐛 improve array diff edge cases ([7d68bc1](https://github.com/streamich/json-joy/commit/7d68bc14202e229da54e4b17836bbb3fe2e8fde0))
8+
* **json-crdt-diff:** 🐛 use unicode encoding for binary data ([1df2781](https://github.com/streamich/json-joy/commit/1df2781ce147385dadf6b496aa372b9ebea4f90a))
9+
* **json-patch-diff:** 🐛 allow string node type change ([68b8b27](https://github.com/streamich/json-joy/commit/68b8b27a91921d2374458e9808d2eebb36b9e7ff))
10+
* **util:** 🐛 correct line diff line beginning normalization ([a29b4b7](https://github.com/streamich/json-joy/commit/a29b4b770df838e78dc4602686f5766e39c40d41))
11+
* **util:** 🐛 correctly assign last line patch operation ([20d1199](https://github.com/streamich/json-joy/commit/20d11994cff5fac370c37021069d23a744a5a6ff))
12+
* **util:** 🐛 correctly compute diff source offset ([cb247c8](https://github.com/streamich/json-joy/commit/cb247c8980dac73be918c8c213a00e31e670a57c))
13+
* **util:** 🐛 correctly determini line operation on last line no-newline op ([82a97fe](https://github.com/streamich/json-joy/commit/82a97fea844bdc819dac48bcc1d0d8fd562e3816))
14+
* **util:** 🐛 do not emit empty operations ([7383d95](https://github.com/streamich/json-joy/commit/7383d954325643150796eb6dee517f154e76342e))
15+
* **util:** 🐛 do not emit empty operations ([bdde345](https://github.com/streamich/json-joy/commit/bdde34547b060f58ee07137c3a5dccd92b50cc28))
16+
* **util:** 🐛 handle correctly array shifts ([1cbc8a5](https://github.com/streamich/json-joy/commit/1cbc8a5063e2a093cafa3dcab35e33f20ff43737))
17+
* **util:** 🐛 improve handling of line separators ([33a8316](https://github.com/streamich/json-joy/commit/33a83168f9cd3f63e9ca4e4d3378781331d9594e))
18+
* **util:** 🐛 improve line diff assignment, use a newline char per line ([11eaaa8](https://github.com/streamich/json-joy/commit/11eaaa8f62a7d08f9ebbe29e8d262b0b439357c5))
19+
* **util:** 🐛 keep new-line on line end fixes ([b5a9b99](https://github.com/streamich/json-joy/commit/b5a9b99c6f11a18686de47af6e6b1a9c3a05ca2a))
20+
21+
22+
### Features
23+
24+
* **json-crdt-diff:** 🎸 handle case where "obj" value not compatible with dst value ([587d2c5](https://github.com/streamich/json-joy/commit/587d2c5264bb6d2b99132ad2834c110130776dec))
25+
* **json-crdt-diff:** 🎸 implement "bin" node diffing ([c03ede5](https://github.com/streamich/json-joy/commit/c03ede50816ba7660e2eaac5a1c5e8aa8684b5c3))
26+
* **json-crdt-diff:** 🎸 implement "val" node diff ([030023b](https://github.com/streamich/json-joy/commit/030023b0cfd1263e8ff47061e67e257ae06cc78a))
27+
* **json-crdt-diff:** 🎸 implement array diff apply(), start using arrayd diff in CRDT ([bc25ff6](https://github.com/streamich/json-joy/commit/bc25ff6e56afb26fe3b7e70159bdeefc8147e768))
28+
* **json-crdt-diff:** 🎸 implement diff for "vec" nodes ([4e3067e](https://github.com/streamich/json-joy/commit/4e3067ec6dc7532a50508599de339f12c6de97bf))
29+
* **json-crdt-diff:** 🎸 implement initial "arr" node diff ([fd88982](https://github.com/streamich/json-joy/commit/fd88982f17978d44fe9fa6827d436b154156bca2))
30+
* **json-crdt-diff:** 🎸 implement StrNode diff ([f1db4d8](https://github.com/streamich/json-joy/commit/f1db4d8eb2f0ebfb6a77afc16a2057dba00fd2fc))
31+
* **json-crdt-diff:** 🎸 improve binary node handling ([9ae5c90](https://github.com/streamich/json-joy/commit/9ae5c9090934ca04b544f6c7357234f829d1837f))
32+
* **json-crdt-diff:** 🎸 insert missing keys into "obj" ([14e64fb](https://github.com/streamich/json-joy/commit/14e64fbaa27fffacfa157167dea40159a98b892e))
33+
* **json-crdt-diff:** 🎸 pass in source length on patch application ([5968a47](https://github.com/streamich/json-joy/commit/5968a473e6e69c254f3c0beb74dd249d211e57b8))
34+
* **json-crdt-diff:** 🎸 remove deleted "obj" keys ([a0e148f](https://github.com/streamich/json-joy/commit/a0e148f0473137ffa59e263cbd794f108869d4de))
35+
* **json-crdt-diff:** 🎸 support entering "obj" entries ([036b58e](https://github.com/streamich/json-joy/commit/036b58e90a47511e75ebe5e67a08184ef8f8aa4e))
36+
* **json-crdt-diff:** 🎸 use line diff in JSON CRDT diff ([ff97192](https://github.com/streamich/json-joy/commit/ff9719248c2a3c189fcae84613835248088fe38a))
37+
* **json-crdt-peritext-ui:** 🎸 implement text diff ([395b4db](https://github.com/streamich/json-joy/commit/395b4dbc3e6042732d27d5c07ea815add017e045))
38+
* **json-hash:** 🎸 assert structural hash in variants ([9187472](https://github.com/streamich/json-joy/commit/9187472891fe91607497bbf5b46eedc0ac0bc473))
39+
* **json-hash:** 🎸 implement structural hashing for CRDT nodes ([ada9067](https://github.com/streamich/json-joy/commit/ada9067690c83ecd7a1adef2975cde0e3d08b41b))
40+
* **json-hash:** 🎸 produce hashes for binary data ([3abcfcf](https://github.com/streamich/json-joy/commit/3abcfcf980833fd89fc8391c6f6979b9b0bc9cc4))
41+
* **json-patch-diff:** 🎸 add array node diff implementation ([a6a28ef](https://github.com/streamich/json-joy/commit/a6a28ef54303bfe6aff96e18209266c0cf729d56))
42+
* **json-patch-diff:** 🎸 implement diff for object nodes ([d7066d3](https://github.com/streamich/json-joy/commit/d7066d383d22678731275347194af8c2e1261f58))
43+
* **json-patch-diff:** 🎸 setup JSON Patch diff algorithm implementation ([0427a1a](https://github.com/streamich/json-joy/commit/0427a1a780c79d99f55f6c672eb436760e9a2d95))
44+
* **json-patch-diff:** 🎸 use line diff in JSON Patch diff ([83694ad](https://github.com/streamich/json-joy/commit/83694adacd1828f089264c3253bee6619821a2b0))
45+
* **util:** 🎸 add diff utility methods ([0fb9c7c](https://github.com/streamich/json-joy/commit/0fb9c7c0dd2a0f1b9033bb8a74c8a4d5c166e7dc))
46+
* **util:** 🎸 add initial implementation of line matching ([d89fb9e](https://github.com/streamich/json-joy/commit/d89fb9ecf1cef5a0383a701a094de0186344d28e))
47+
* **util:** 🎸 cleanup array diff ([64fc4b7](https://github.com/streamich/json-joy/commit/64fc4b789c8e2fcac78a9a9f182bc527834cffe9))
48+
* **util:** 🎸 create line-by-line patch module ([ca9ae65](https://github.com/streamich/json-joy/commit/ca9ae6594ef53c6cc4c15c1ae225d8e57dc9fe7e))
49+
* **util:** 🎸 handle new line chars ([5ff05bf](https://github.com/streamich/json-joy/commit/5ff05bfe26039bf0558dc4257da571839cccfa2a))
50+
* **util:** 🎸 implement array diff child element entry ([1853633](https://github.com/streamich/json-joy/commit/18536339d01e5e08dc4ec3370752e964a8f6682e))
51+
* **util:** 🎸 implement binary to hex transforms ([66c37c1](https://github.com/streamich/json-joy/commit/66c37c1e6523cb4c681a7329c453af2d9bdd79c1))
52+
* **util:** 🎸 implement diff for binary data ([a740d02](https://github.com/streamich/json-joy/commit/a740d02676c100b216cf615224e16913fbc3f68a))
53+
* **util:** 🎸 implement line matching ([b75cbfe](https://github.com/streamich/json-joy/commit/b75cbfe6906fadd9ebe237712e42358a639a5edf))
54+
* **util:** 🎸 initial by-line diff implementation ([d786e53](https://github.com/streamich/json-joy/commit/d786e53ebfd5ec4a322aff8f23dedd7f0a976ce4))
55+
* **util:** 🎸 initial, outer, implementation of array diff ([2a40471](https://github.com/streamich/json-joy/commit/2a40471cbbed24f6b283b3a50be667f2a52b9276))
56+
* **util:** 🎸 match line in line patch ([68f131e](https://github.com/streamich/json-joy/commit/68f131e93d8c80712afbe7d8851163df127879a6))
57+
* **util:** 🎸 normalize line beginnings across inserts ([b6f142a](https://github.com/streamich/json-joy/commit/b6f142a46f8af929536b32023466ac322e7ba386))
58+
59+
60+
### Performance Improvements
61+
62+
* **json-hash:** ⚡️ use custom insertion sort implementation ([b55ff6a](https://github.com/streamich/json-joy/commit/b55ff6abc66d0a27f74acee010d8c231f2688a8a))
63+
* **util:** ⚡️ cleanup line diff algorithm ([0330f0d](https://github.com/streamich/json-joy/commit/0330f0d4c1ce7c13b49926c249f50e844dd65d62))
64+
165
# [17.40.0](https://github.com/streamich/json-joy/compare/v17.39.0...v17.40.0) (2025-04-18)
266

367

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "json-joy",
3-
"version": "17.40.0",
3+
"version": "17.41.0",
44
"description": "Collection of libraries for building collaborative editing apps.",
55
"author": {
66
"name": "streamich",

0 commit comments

Comments
 (0)