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
Implements a system to track partially fetched Parse objects, including methods to check fetched fields, autofetch missing fields, and support for nested partial fetches via includes. Updates object construction, associations, and query decoding to propagate partial fetch state. Adds comprehensive integration tests for partial fetch behavior. Bumps version to 2.1.0.
Copy file name to clipboardExpand all lines: CHANGELOG.md
+16Lines changed: 16 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,21 @@
1
1
## Parse-Stack Changelog
2
2
3
+
### 2.1.0
4
+
5
+
#### Partial Fetch Tracking System
6
+
-**NEW**: Partial fetch tracking for objects fetched with specific `keys` parameter
7
+
-**NEW**: `partially_fetched?` method to check if object was fetched with limited fields
8
+
-**NEW**: `fetched_keys` / `fetched_keys=` methods to get/set the array of fetched field names
9
+
-**NEW**: `field_was_fetched?(key)` method to check if a specific field was included in the fetch
10
+
-**NEW**: Autofetch triggers automatically when accessing unfetched fields on partially fetched objects
11
+
-**NEW**: Nested partial fetch tracking for included objects via `include:` parameter
12
+
-**NEW**: `nested_fetched_keys` / `nested_keys_for(field)` methods for tracking nested object fields
13
+
-**NEW**: `parse_includes_to_nested_keys` helper parses include patterns like `["team.time_zone", "team.name"]`
14
+
-**FIXED**: Objects fetched with `keys:` parameter no longer have dirty tracking for fields with default values
15
+
-**FIXED**: `clear_changes!` now called after `apply_defaults!` to prevent false dirty tracking
16
+
-**IMPROVED**: Before-save hooks can now reliably access unfetched fields (triggers autofetch)
17
+
-**IMPROVED**: Saving partially fetched objects only updates actually changed fields, not default values
18
+
3
19
### 2.0.9
4
20
5
21
-**FIXED**: `Query#where` method now routes through `conditions` to properly handle special keywords like `keys:`, `include:`, `limit:`, etc. when chaining (e.g., `Model.query.where(keys: [...])`)
0 commit comments