loro-crdt 1.0.7 β†’ 1.0.8-alpha.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 ADDED
@@ -0,0 +1,733 @@
1
+ # Changelog
2
+
3
+ ## 1.0.8-alpha.0
4
+
5
+ ### Patch Changes
6
+
7
+ - Refactor simplify js binding
8
+
9
+ ## 1.0.7
10
+
11
+ ### Patch Changes
12
+
13
+ - Skip published version
14
+
15
+ ## 1.0.1
16
+
17
+ ### Patch Changes
18
+
19
+ - Release v1.0.1
20
+
21
+ ## 1.0.0
22
+
23
+ ### Patch Changes
24
+
25
+ - dd3bd92: Release v1.0
26
+
27
+ ## 1.0.0-beta.5
28
+
29
+ ### Patch Changes
30
+
31
+ - - Fork at should restore detached state (#523)
32
+ - Subscription convert error (#525)
33
+
34
+ ## 1.0.0-beta.4
35
+
36
+ ### Patch Changes
37
+
38
+ - Fix: ForkAt should inherit the config and auto commit from the original doc
39
+
40
+ ## 1.0.0-beta.3
41
+
42
+ ### Patch Changes
43
+
44
+ - - Wasm api 1.0 (#521)
45
+ - Rename wasm export from (#519)
46
+ - Rename tree event (#520)
47
+
48
+ ## 1.0.0-beta.2
49
+
50
+ ### Patch Changes
51
+
52
+ - _(wasm)_ Add methods to encode and decode Frontiers (#517)
53
+ - Avoid auto unsubscribe (due to gc) in js env (#516)
54
+
55
+ ## 1.0.0-beta.1
56
+
57
+ ### Patch Changes
58
+
59
+ - Performance improvement and bug fixes
60
+
61
+ ### πŸš€ Features
62
+
63
+ - Redact (#504)
64
+
65
+ ### πŸ› Bug Fixes
66
+
67
+ - Ffi Subscription (#505)
68
+ - Ffi remove try unwrap (#506)
69
+ - Movable list undo impl (#509)
70
+ - Tracker skip applied deletion error (#512)
71
+ - IsContainerDeleted cache err (#513)
72
+
73
+ ### πŸ“š Documentation
74
+
75
+ - Refine wasm docs
76
+
77
+ ### ⚑ Performance
78
+
79
+ - Optimize shrink frontiers
80
+ - Optimize batch container registrations on arena (#510)
81
+ - Optimize high concurrency performance (#514)
82
+ - Use better data structure for frontiers (#515)
83
+
84
+ ### Perf
85
+
86
+ - Commit speed & text insert cache (#511)
87
+
88
+ ## 1.0.0-alpha.5
89
+
90
+ ### Patch Changes
91
+
92
+ - ## Fix
93
+
94
+ - Use release build
95
+
96
+ ## Test
97
+
98
+ - Add compatibility tests (#503)
99
+
100
+ ## 1.0.0-alpha.4
101
+
102
+ ### Patch Changes
103
+
104
+ - ### πŸš€ Features
105
+
106
+ - _(wasm)_ Commit message & get pending ops length (#477)
107
+ - Update text by line (#480)
108
+ - Add clear methods (#478)
109
+ - Travel change's ancestors (#483)
110
+ - Compact state store
111
+ - Add FFI for Loro (#420)
112
+ - Add dag allocation tree algorithm (#415)
113
+ - Add import status (#494)
114
+
115
+ ### πŸ› Bug Fixes
116
+
117
+ - Get correct tree_cache current vv when retreating (#476)
118
+ - Gc snapshot error (#481)
119
+ - Checkout into middle of marks
120
+ - Checkout diff-calc cache issue
121
+ - Return err if snapshot container has unknown container (#488)
122
+ - Do not set peer id with max (#491)
123
+ - Fork error (#493)
124
+ - FFI new sub import status (#497)
125
+ - Create event cannot find parent (#498)
126
+
127
+ ### 🚜 Refactor
128
+
129
+ - [**breaking**] Don't wait for `commit` to update version info
130
+ - Avoid footgun of impl ord for cid
131
+ - Loro import function should return LoroEncodeError (#487)
132
+ - [**breaking**] Better event api (#489)
133
+ - Change the first param of travel change from id to ids (#492)
134
+ - [**breaking**] List state snapshot schema for v1.0 (#485)
135
+
136
+ ### ⚑ Performance
137
+
138
+ - Make shrink frontiers faster when the peer num is large (#482)
139
+ - Optimize tree cache find children speed
140
+ - Avoid memory leak when forking repeatedly (#500)
141
+ - Optimize kv export_all by reusing encoded block (#501)
142
+ - Optimize speed of large maps (#496)
143
+ - Optimize diff calc cache use (#475)
144
+
145
+ ### πŸ§ͺ Testing
146
+
147
+ - Make awareness more robust
148
+ - Bench large folder with 1M files & 100M ops (#495)
149
+
150
+ ### βš™οΈ Miscellaneous Tasks
151
+
152
+ - Use cached diff calc
153
+
154
+ ## 1.0.0-alpha.3
155
+
156
+ ### Patch Changes
157
+
158
+ - ### πŸ› Bug Fixes
159
+
160
+ - Cursor behavior when using gc-snapshot (#472)
161
+ - _(wasm)_ Type err
162
+
163
+ ### βš™οΈ Miscellaneous Tasks
164
+
165
+ - Make tree parent id pub on loro crate
166
+
167
+ ### Feat
168
+
169
+ - Allow editing on detached mode (#473)
170
+
171
+ ### Fix
172
+
173
+ - Get tree's alive children correctly (#474)
174
+ - Should not emit event when exporting gc-snapshot (#471)
175
+
176
+ ## 1.0.0-alpha.2
177
+
178
+ ### Patch Changes
179
+
180
+ - ### πŸš€ Features
181
+
182
+ - Fork doc at the target version (#469)
183
+
184
+ ### 🚜 Refactor
185
+
186
+ - BREAKING CHANGE: Use hierarchy value for tree value (#470)
187
+
188
+ ## 1.0.0-alpha.1
189
+
190
+ ### Patch Changes
191
+
192
+ - ### πŸš€ Features
193
+
194
+ - Get shallow value of doc (#463)
195
+ - Add state only snapshot & refine check slow test
196
+ - Add new cid method to js binding
197
+ - Jsonpath experimental support (#466)
198
+
199
+ ### πŸ› Bug Fixes
200
+
201
+ - Raise error if perform action on a deleted container (#465)
202
+ - Raise error if moving a deleted node
203
+ - Export snapshot error on a gc doc
204
+
205
+ ### 🚜 Refactor
206
+
207
+ - Tree contains & isDeleted (#467)
208
+
209
+ ### πŸ§ͺ Testing
210
+
211
+ - Check state correctness on shallow doc
212
+
213
+ ## 1.0.0-alpha.0
214
+
215
+ - Better encode schema that can be 100x faster
216
+ - Less memory usage
217
+ - You can trim needless history in snapshot now
218
+ - Better architecture and extensibility
219
+
220
+ ## 0.16.12
221
+
222
+ ### Patch Changes
223
+
224
+ - 46e21fc: Fix tree move issues
225
+
226
+ ## 0.16.11
227
+
228
+ ### Patch Changes
229
+
230
+ - dce00ab: Make loro-wasm work in cloudflare worker
231
+
232
+ ## 0.16.10
233
+
234
+ ### Patch Changes
235
+
236
+ - 7cf54e8: Fix batch importing with snapshot
237
+
238
+ ## 0.16.9
239
+
240
+ ### Patch Changes
241
+
242
+ - a761430: Fix build script
243
+
244
+ ## 0.16.8
245
+
246
+ ### Patch Changes
247
+
248
+ - 38b4bcf: Add text update API
249
+
250
+ - Remove the patch for crypto
251
+ - Add text update API (#404)
252
+ - Check invalid root container name (#411)
253
+
254
+ ### πŸ› Bug Fixes
255
+
256
+ - Workaround lldb bug make loro crate debuggable (#414)
257
+ - Delete the **bring back** tree node from the undo container remap (#423)
258
+
259
+ ### πŸ“š Documentation
260
+
261
+ - Fix typo
262
+ - Refine docs about event (#417)
263
+
264
+ ### 🎨 Styling
265
+
266
+ - Use clippy to perf code (#407)
267
+
268
+ ### βš™οΈ Miscellaneous Tasks
269
+
270
+ - Add test tools (#410)
271
+
272
+ ## 0.16.7
273
+
274
+ ### Patch Changes
275
+
276
+ - 45c98d5: Better text APIs and bug fixes
277
+
278
+ ### πŸš€ Features
279
+
280
+ - Add insert_utf8 and delete_utf8 for Rust Text API (#396)
281
+ - Add text iter (#400)
282
+ - Add more text api (#398)
283
+
284
+ ### πŸ› Bug Fixes
285
+
286
+ - Tree undo when processing deleted node (#399)
287
+ - Tree diff calc children should be sorted by idlp (#401)
288
+ - When computing the len of the map, do not count elements that are None (#402)
289
+
290
+ ### πŸ“š Documentation
291
+
292
+ - Update wasm docs
293
+ - Rm experimental warning
294
+
295
+ ### βš™οΈ Miscellaneous Tasks
296
+
297
+ - Update fuzz config
298
+ - Pnpm
299
+ - Rename position to fractional_index (#381)
300
+
301
+ ## 0.16.6
302
+
303
+ ### Patch Changes
304
+
305
+ - 1e94248: Add `.fork()` to duplicate the doc
306
+
307
+ ## 0.16.5
308
+
309
+ ### Patch Changes
310
+
311
+ - 439e4e9: Update pkg desc
312
+
313
+ ## 0.16.4
314
+
315
+ ### Patch Changes
316
+
317
+ - afac347: feat: implement `Counter` and expose it to js side
318
+
319
+ ## 0.16.4-alpha.0
320
+
321
+ ### Patch Changes
322
+
323
+ - Export/import JSON schema
324
+
325
+ ## 0.16.3
326
+
327
+ ### Patch Changes
328
+
329
+ - 6d47015: Make cursors transformation better in undo/redo loop
330
+ - dc55055: Perf(wasm) cache text.toDelta
331
+
332
+ ## 0.16.2
333
+
334
+ ### Patch Changes
335
+
336
+ - 34f6064: Better undo events & transform cursors by undo manager (#369)
337
+
338
+ #### πŸ§ͺ Testing
339
+
340
+ - Enable compatibility test (#367)
341
+
342
+ ## 0.16.1
343
+
344
+ ### Patch Changes
345
+
346
+ - 5cd80b0: Refine undo impl
347
+
348
+ - Add "undo" origin for undo and redo event
349
+ - Allow users to skip certain local operations
350
+ - Skip undo/redo ops that are not visible to users
351
+ - Add returned bool value to indicate whether undo/redo is executed
352
+
353
+ ## 0.16.0
354
+
355
+ ### Minor Changes
356
+
357
+ - c12c2b9: Movable Tree Children & Undo
358
+
359
+ #### πŸ› Bug Fixes
360
+
361
+ - Refine error message on corrupted data (#356)
362
+ - Add MovableList to CONTAINER_TYPES (#359)
363
+ - Better jitter for fractional index (#360)
364
+
365
+ #### πŸ§ͺ Testing
366
+
367
+ - Add compatibility tests (#357)
368
+
369
+ #### Feat
370
+
371
+ - Make the encoding format forward and backward compatible (#329)
372
+ - Undo (#361)
373
+ - Use fractional index to order the children of the tree (#298)
374
+
375
+ #### πŸ› Bug Fixes
376
+
377
+ - Tree fuzz sort value (#351)
378
+ - Upgrade wasm-bindgen to fix str free err (#353)
379
+
380
+ ## 0.15.3
381
+
382
+ ### Patch Changes
383
+
384
+ - 43506cc: Fix unsound issue caused by wasm-bindgen
385
+
386
+ #### πŸ› Bug Fixes
387
+
388
+ - Fix potential movable list bug (#354)
389
+ - Tree fuzz sort value (#351)
390
+ - Upgrade wasm-bindgen to fix str free err (#353)
391
+
392
+ #### πŸ“š Documentation
393
+
394
+ - Simplify readme (#352)
395
+
396
+ ## 0.15.2
397
+
398
+ ### Patch Changes
399
+
400
+ - e30678d: Perf: fix deletions merge
401
+
402
+ #### πŸ› Bug Fixes
403
+
404
+ - _(wasm)_ Movable list .kind() (#342)
405
+
406
+ #### ⚑ Performance
407
+
408
+ - Delete span merge err (#348)
409
+
410
+ #### βš™οΈ Miscellaneous Tasks
411
+
412
+ - Warn missing debug impl (#347)
413
+
414
+ <!-- generated by git-cliff -->
415
+
416
+ ## 0.15.1
417
+
418
+ ### Patch Changes
419
+
420
+ - 04c6290: Bug fixes and improvements.
421
+
422
+ #### πŸ› Bug Fixes
423
+
424
+ - Impl a few unimplemented! for movable tree (#335)
425
+ - Refine ts type; reject invalid operations (#334)
426
+ - Get cursor err on text and movable list (#337)
427
+ - Missing MovableList in all container type (#343)
428
+ - Upgrade generic-btree to allow large btree (#344)
429
+
430
+ #### πŸ“š Documentation
431
+
432
+ - Add warn(missing_docs) to loro and loro-wasm (#339)
433
+ - Minor fix on set_change_merge_interval api (#341)
434
+
435
+ #### βš™οΈ Miscellaneous Tasks
436
+
437
+ - Skip the checking if not debug_assertions (#340)
438
+
439
+ <!-- generated by git-cliff -->
440
+
441
+ ## 0.15.0
442
+
443
+ ### Minor Changes
444
+
445
+ - 35b9b6e: Movable List (#293)
446
+
447
+ Loro's List supports insert and delete operations but lacks built-in methods for `set` and `move`. To simulate set and move, developers might combine delete and insert. However, this approach can lead to issues during concurrent operations on the same element, often resulting in duplicate entries upon merging.
448
+
449
+ For instance, consider a list [0, 1, 2]. If user A moves the element '0' to position 1, while user B moves it to position 2, the ideal merged outcome should be either [1, 0, 2] or [1, 2, 0]. However, using the delete-insert method to simulate a move results in [1, 0, 2, 0], as both users delete '0' from its original position and insert it independently at new positions.
450
+
451
+ To address this, we introduce a MovableList container. This new container type directly supports move and set operations, aligning more closely with user expectations and preventing the issues associated with simulated moves.
452
+
453
+ ## Example
454
+
455
+ ```ts
456
+ import { Loro } from "loro-crdt";
457
+ import { expect } from "vitest";
458
+
459
+ const doc = new Loro();
460
+ const list = doc.getMovableList("list");
461
+ list.push("a");
462
+ list.push("b");
463
+ list.push("c");
464
+ expect(list.toArray()).toEqual(["a", "b", "c"]);
465
+ list.set(2, "d");
466
+ list.move(0, 1);
467
+ const doc2 = new Loro();
468
+ const list2 = doc2.getMovableList("list");
469
+ expect(list2.length).toBe(0);
470
+ doc2.import(doc.exportFrom());
471
+ expect(list2.length).toBe(3);
472
+ expect(list2.get(0)).toBe("b");
473
+ expect(list2.get(1)).toBe("a");
474
+ expect(list2.get(2)).toBe("d");
475
+ ```
476
+
477
+ ## 0.14.6
478
+
479
+ ### Patch Changes
480
+
481
+ - 24cf9b9: Bug Fix
482
+
483
+ #### πŸ› Bug Fixes
484
+
485
+ - Attached container can be inserted to `Map` or `List` (#331)
486
+
487
+ ## 0.14.5
488
+
489
+ ### Patch Changes
490
+
491
+ - 73e3ba5: Bug Fix
492
+
493
+ #### πŸ› Bug Fixes
494
+
495
+ - _(js)_ Allow convert from undefined to LoroValue (#323)
496
+
497
+ #### 🚜 Refactor
498
+
499
+ - Refine ts type (#322)
500
+
501
+ ## 0.14.4
502
+
503
+ ### Patch Changes
504
+
505
+ - 598d97e: ### 🚜 Refactor
506
+
507
+ - Refine the TS Type of Awareness
508
+ - Parse Uint8array to LoroValue::Binary (#320)
509
+
510
+ ### πŸ“š Documentation
511
+
512
+ - Update how to publish new npm pkgs
513
+
514
+ ## 0.14.3
515
+
516
+ ### Patch Changes
517
+
518
+ - a1fc2e3: Feat: Awareness (#318)
519
+
520
+ ## 0.14.2
521
+
522
+ ### Patch Changes
523
+
524
+ - Refactor rename `StablePosition` to `Cursor`
525
+
526
+ - Rename stable pos to cursor (#317)
527
+
528
+ <!-- generated by git-cliff -->
529
+
530
+ ## 0.14.1
531
+
532
+ ### Patch Changes
533
+
534
+ - Supports Cursors
535
+
536
+ #### πŸš€ Features
537
+
538
+ - Cursors (#290)
539
+
540
+ ## 0.14.0
541
+
542
+ ### Minor Changes
543
+
544
+ - Improved API
545
+
546
+ ### πŸš€ Features
547
+
548
+ - Access value/container by path (#308)
549
+ - Decode import blob meta (#307)
550
+
551
+ ### πŸ› Bug Fixes
552
+
553
+ - Decode iter return result by updating columnar to 0.3.4 (#309)
554
+
555
+ ### 🚜 Refactor
556
+
557
+ - Replace "local" and "fromCheckout" in event with "triggeredBy" (#312)
558
+ - Add concrete type for each different container (#313)
559
+ - _(ts)_ Make types better (#315)
560
+
561
+ ### πŸ“š Documentation
562
+
563
+ - Refine wasm docs (#304)
564
+ - Clarify that peer id should be convertible to a u64 (#306)
565
+
566
+ ### βš™οΈ Miscellaneous Tasks
567
+
568
+ - Add coverage report cli (#311)
569
+
570
+ ## 0.13.1
571
+
572
+ ### Patch Changes
573
+
574
+ - Fix type errors and conversion from js->rust error
575
+
576
+ ## 0.13.0
577
+
578
+ ### Minor Changes
579
+
580
+ - BREAKING CHANGE: `detached` mode for Containers #300
581
+
582
+ Now creating sub-containers is much easier.
583
+
584
+ A container can be either attached to a document or detached. When it's detached, its history/state is not persisted. You can attach a container to a document by inserting it into an existing attached container. Once a container is attached, its state, along with all of its descendants's states, will be recreated in the document. After attaching, the container and its descendants will each have their corresponding "attached" version of themselves.
585
+
586
+ When a detached container x is attached to a document, you can use `x.getAttached()` to obtain the corresponding attached container.
587
+
588
+ When we use const text = new LoroList(), it's not attached to a doc. But we can insert it into a doc by map.insertContainer(”t”, text), where the map is attached. But if we want the operations on the text to be recorded to the doc, we now need to get its attached version. So we can use β€œlet attachedText = text.getAttached()”
589
+
590
+ ## 0.12.0
591
+
592
+ ### Minor Changes
593
+
594
+ - Add getParent and getOrCreate
595
+
596
+ ## 0.11.1
597
+
598
+ ### Patch Changes
599
+
600
+ - Fix batch import
601
+
602
+ ## 0.11.0
603
+
604
+ ### Minor Changes
605
+
606
+ - Fix a few bugs and include BREAKING CHANG refactors
607
+
608
+ - fix: should not reset the state when calling checkout to latest (#265)
609
+ - refactor: only send a event for one `import`/`transaction`/`checkout` (#263)
610
+ - perf: optimize snapshot encoding speed (#264)
611
+ - feat: remove deleted set in tree state and optimize api (#259)
612
+
613
+ ## 0.10.1
614
+
615
+ ### Patch Changes
616
+
617
+ - fix: remove checking after checkout
618
+
619
+ ## 0.10.0
620
+
621
+ ### Minor Changes
622
+
623
+ - New encoding schema
624
+ - BREAKING CHANGE: refactor: Optimizing Encoding Representation for Child Container Creation to Reduce Document Size (#247)
625
+ - feat: compare frontiers causal order (#257)
626
+ - docs: update docs about rich text style (#258)
627
+
628
+ ## 0.9.4
629
+
630
+ ### Patch Changes
631
+
632
+ - Fix a few richtext time travel issues
633
+
634
+ ## 0.9.3
635
+
636
+ ### Patch Changes
637
+
638
+ - feat: add getChangeAtLamport
639
+
640
+ ## 0.9.2
641
+
642
+ ### Patch Changes
643
+
644
+ - Fix a few rich text issue
645
+ - fix: time travel back should be able to nullify rich text span (#254)
646
+ - fix: formalize apply delta method (#252)
647
+ - fix: how to find best insert pos for richtext & expand type reverse behavior (#250)
648
+
649
+ ## 0.9.1
650
+
651
+ ### Patch Changes
652
+
653
+ - Fix use consistnt peer id repr and expose VersionVector type
654
+
655
+ ## 0.9.0
656
+
657
+ ### Minor Changes
658
+
659
+ - Refine the rich text CRDT in Loro
660
+
661
+ ## 0.8.0
662
+
663
+ ### Minor Changes
664
+
665
+ - Stabilize encoding and fix several issues related to time travel
666
+
667
+ ## 0.7.2-alpha.4
668
+
669
+ ### Patch Changes
670
+
671
+ - Fix encoding value err
672
+
673
+ ## 0.7.2-alpha.3
674
+
675
+ ### Patch Changes
676
+
677
+ - Fix export compressed snapshot
678
+
679
+ ## 0.7.2-alpha.2
680
+
681
+ ### Patch Changes
682
+
683
+ - Add compressed method
684
+
685
+ ## 0.7.2-alpha.1
686
+
687
+ ### Patch Changes
688
+
689
+ - Fix v0 exports
690
+
691
+ ## 0.7.2-alpha.0
692
+
693
+ ### Patch Changes
694
+
695
+ - Add experimental encode methods
696
+
697
+ ## 0.7.1
698
+
699
+ ### Patch Changes
700
+
701
+ - Fix a few richtext errors
702
+
703
+ ## 0.7.0
704
+
705
+ ### Minor Changes
706
+
707
+ - refactor: remove setPanicHook and call it internally when loaded
708
+
709
+ ## 0.6.5
710
+
711
+ ### Patch Changes
712
+
713
+ - Fix checkout err on seq data
714
+
715
+ ## 0.6.4
716
+
717
+ ### Patch Changes
718
+
719
+ - Fix time travel issue #211
720
+
721
+ ## 0.6.1
722
+
723
+ ### Patch Changes
724
+
725
+ - 6753c2f: Refine loro-crdt api
726
+
727
+ ## 0.6.0
728
+
729
+ ### Minor Changes
730
+
731
+ - Improve API of event
732
+
733
+ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.