mobx-keystone-yjs 1.5.5 → 1.6.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 CHANGED
@@ -1,52 +1,57 @@
1
- # Change Log
2
-
3
- ## 1.5.5
4
-
5
- - Fixed an issue where data was not readable from detached models/arrays/records (e.g. after being detached from a bound tree).
6
- - Fixed `YjsTextModel.text` throwing when accessed in a detached state.
7
- - Improved handling of "dead" Yjs objects (deleted or document destroyed) to avoid unnecessary sync attempts and ensure proper disposal.
8
- - `applyJsonArrayToYArray` / `applyJsonObjectToYMap` are no longer wrapped in mobx actions in case they want to track the original values.
9
-
10
- ## 1.5.4
11
-
12
- - Fixed some more types.
13
-
14
- ## 1.5.3
15
-
16
- - Fixed some types.
17
-
18
- ## 1.5.2
19
-
20
- - Just renamed some internal types.
21
-
22
- ## 1.5.1
23
-
24
- - Fixed a wrong import.
25
-
26
- ## 1.5.0
27
-
28
- - Added undefined to accepted primitive "JSON" types.
29
-
30
- ## 1.4.0
31
-
32
- - Added `YjsTextModel` as a way to use `Y.Text` as if it were a node.
33
-
34
- ## 1.3.1
35
-
36
- - Added `boundObject` to `yjsBindingContext` so it's easier to access the root bound object from the context.
37
-
38
- ## 1.3.0
39
-
40
- - Frozen values will be stored as plain values in Y.js instead of being deeply converted to Y.js Maps/Arrays, etc. This means storing/fetching frozen values should be faster, require less memory and probably require less space in the Y.js state.
41
-
42
- ## 1.2.0
43
-
44
- - Added `yjsBindingContext` so bound objects offer a context with the Y.js doc, bound object, etc.
45
-
46
- ## 1.1.0
47
-
48
- - Added the `convertJsonToYjsData`, `applyJsonArrayToYArray` and `applyJsonObjectToYMap` functions to help with first migrations from snapshots to Y.js states.
49
-
50
- ## 1.0.0
51
-
52
- - First public release.
1
+ # Change Log
2
+
3
+ ## 1.6.0 (unreleased)
4
+
5
+ - Refactored internal synchronization to use deep change observation instead of JSON patches. This provides proper array splice detection, avoiding the previous behavior where array operations were converted to individual element patches. The result is more efficient array synchronization and better alignment with how Y.js handles array modifications.
6
+ - Fixed a synchronization issue where values added to a collection and then mutated within the same action could cause desync. Snapshots are now captured at change time rather than at action completion time.
7
+
8
+ ## 1.5.5
9
+
10
+ - Fixed an issue where data was not readable from detached models/arrays/records (e.g. after being detached from a bound tree).
11
+ - Fixed `YjsTextModel.text` throwing when accessed in a detached state.
12
+ - Improved handling of "dead" Yjs objects (deleted or document destroyed) to avoid unnecessary sync attempts and ensure proper disposal.
13
+ - `applyJsonArrayToYArray` / `applyJsonObjectToYMap` are no longer wrapped in mobx actions in case they want to track the original values.
14
+
15
+ ## 1.5.4
16
+
17
+ - Fixed some more types.
18
+
19
+ ## 1.5.3
20
+
21
+ - Fixed some types.
22
+
23
+ ## 1.5.2
24
+
25
+ - Just renamed some internal types.
26
+
27
+ ## 1.5.1
28
+
29
+ - Fixed a wrong import.
30
+
31
+ ## 1.5.0
32
+
33
+ - Added undefined to accepted primitive "JSON" types.
34
+
35
+ ## 1.4.0
36
+
37
+ - Added `YjsTextModel` as a way to use `Y.Text` as if it were a node.
38
+
39
+ ## 1.3.1
40
+
41
+ - Added `boundObject` to `yjsBindingContext` so it's easier to access the root bound object from the context.
42
+
43
+ ## 1.3.0
44
+
45
+ - Frozen values will be stored as plain values in Y.js instead of being deeply converted to Y.js Maps/Arrays, etc. This means storing/fetching frozen values should be faster, require less memory and probably require less space in the Y.js state.
46
+
47
+ ## 1.2.0
48
+
49
+ - Added `yjsBindingContext` so bound objects offer a context with the Y.js doc, bound object, etc.
50
+
51
+ ## 1.1.0
52
+
53
+ - Added the `convertJsonToYjsData`, `applyJsonArrayToYArray` and `applyJsonObjectToYMap` functions to help with first migrations from snapshots to Y.js states.
54
+
55
+ ## 1.0.0
56
+
57
+ - First public release.