You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+31Lines changed: 31 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -60,6 +60,37 @@
60
60
- Added `test_api_contracts` to verify Editor/Document method coverage and consistency.
61
61
- Added tests verifying `NodeTypeError` is catchable as both `PatchError` and `TypeError`.
62
62
63
+
## 0.6.0
64
+
65
+
### Features
66
+
67
+
- Added `merge()` method to `Document` and `Editor` for recursive mapping merging with deep value updates.
68
+
- Added `find_index()` for searching list-of-dicts by matching fields, returning the index of the first matching element.
69
+
- Added `ensure_in_list()` for appending a value to a list only if it's not already present.
70
+
- Added `RoutingError(PatchError)` to the error hierarchy for non-mapping route failures. Operations that attempt to navigate through non-mapping nodes now raise `RoutingError` instead of generic errors.
71
+
- Enhanced error messages with human-readable path formatting in `NodeTypeError` messages for clarity.
72
+
- Added basedpyright type checking for improved static type verification.
73
+
74
+
### Fixes
75
+
76
+
- Fixed naive colon finder that corrupted quoted keys containing colons.
77
+
- Replaced unsafe byte indexing with upfront span validation to prevent index-out-of-bounds errors.
78
+
- Fixed nested dict flattening in `_create_at` that could lose intermediate keys during upsert operations.
79
+
- Added support for upsert operations into empty documents without requiring sentinel workaround.
80
+
81
+
### Internal
82
+
83
+
- Centralized patch-error classification and applied stepdown rule for better error type hierarchy management.
84
+
85
+
### Documentation
86
+
87
+
- Added `NodeTypeError` and `RoutingError` to README error hierarchy documentation.
88
+
89
+
### Testing
90
+
91
+
- Added `test_api_contracts` to verify Editor/Document method coverage and consistency.
92
+
- Added tests verifying `NodeTypeError` is catchable as both `PatchError` and `TypeError`.
0 commit comments