|
1 | 1 | # Changelog |
2 | | -## 0.6.0 |
3 | | - |
4 | | -### Features |
5 | | - |
6 | | -- Added `merge()` method to `Document` and `Editor` for recursive mapping merging with deep value updates. |
7 | | -- Added `find_index()` for searching list-of-dicts by matching fields, returning the index of the first matching element. |
8 | | -- Added `ensure_in_list()` for appending a value to a list only if it's not already present. |
9 | | -- 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. |
10 | | -- Enhanced error messages with human-readable path formatting in `NodeTypeError` messages for clarity. |
11 | | -- Added basedpyright type checking for improved static type verification. |
12 | | - |
13 | | -### Fixes |
14 | | - |
15 | | -- Fixed naive colon finder that corrupted quoted keys containing colons (#46). |
16 | | -- Replaced unsafe byte indexing with upfront span validation to prevent index-out-of-bounds errors (#45). |
17 | | -- Fixed nested dict flattening in `_create_at` that could lose intermediate keys during upsert operations (#42). |
18 | | -- Added support for upsert operations into empty documents without requiring sentinel workaround (#35). |
19 | | - |
20 | | -### Internal |
21 | | - |
22 | | -- Centralized patch-error classification and applied stepdown rule for better error type hierarchy management (#47). |
23 | | - |
24 | | -### Documentation |
25 | | - |
26 | | -- Added `NodeTypeError` and `RoutingError` to README error hierarchy documentation (#49). |
27 | | - |
28 | | -### Testing |
29 | | - |
30 | | -- Added `test_api_contracts` to verify Editor/Document method coverage and consistency (#52). |
31 | | -- Added tests verifying `NodeTypeError` is catchable as both `PatchError` and `TypeError` (#51). |
32 | | -## 0.6.0 |
33 | | - |
34 | | -### Features |
35 | | - |
36 | | -- Added `merge()` method to `Document` and `Editor` for recursive mapping merging with deep value updates. |
37 | | -- Added `find_index()` for searching list-of-dicts by matching fields, returning the index of the first matching element. |
38 | | -- Added `ensure_in_list()` for appending a value to a list only if it's not already present. |
39 | | -- 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. |
40 | | -- Enhanced error messages with human-readable path formatting in `NodeTypeError` messages for clarity. |
41 | | -- Added basedpyright type checking for improved static type verification. |
42 | | - |
43 | | -### Fixes |
44 | | - |
45 | | -- Fixed naive colon finder that corrupted quoted keys containing colons. |
46 | | -- Replaced unsafe byte indexing with upfront span validation to prevent index-out-of-bounds errors. |
47 | | -- Fixed nested dict flattening in `_create_at` that could lose intermediate keys during upsert operations. |
48 | | -- Added support for upsert operations into empty documents without requiring sentinel workaround. |
49 | | - |
50 | | -### Internal |
51 | | - |
52 | | -- Centralized patch-error classification and applied stepdown rule for better error type hierarchy management. |
53 | | - |
54 | | -### Documentation |
55 | | - |
56 | | -- Added `NodeTypeError` and `RoutingError` to README error hierarchy documentation. |
57 | | - |
58 | | -### Testing |
59 | | - |
60 | | -- Added `test_api_contracts` to verify Editor/Document method coverage and consistency. |
61 | | -- Added tests verifying `NodeTypeError` is catchable as both `PatchError` and `TypeError`. |
62 | 2 |
|
63 | 3 | ## 0.6.0 |
64 | 4 |
|
|
0 commit comments