- DATE:
- AUTHOR:
- PowerSync Product Team
PowerSync SDKs: Fine-Grained Update Tracking with Previous Values & Metadata
When handling writes in uploadData
that involve complex fields like arrays or nested JSON, it's not always obvious what actually changed. You might need more detail than just the final state of the row. This update introduces new tools that give you fine-grained insight into updates—making it easier to detect specific changes, attach custom metadata, and suppress noise from no-op updates.
Advanced Schema Options
Schema tables now support the following options:
trackPreviousValues
PopulatesCrudEntry.previousValues
so you can see both the old and new values during updates—helpful for detecting diffs in complex fields.trackMetadata
Adds a_metadata
column to your table. You can write any custom data into this field during an upload, and access it viaCrudEntry.metadata
.ignoreEmptyUpdates
Skips creating CRUD entries when an update doesn’t actually change any values. This keepsuploadData
focused only on meaningful changes.
These options give you more control over how updates are tracked and processed—especially useful when working with structured data like arrays and objects.
Availability & Examples
Available in:
Flutter (v1.13.0)
React Native (v1.20.1)
JavaScript/Web (v1.20.1)
Kotlin Multiplatform (v1.1.0)
Swift (v1.1.0)
See usage examples: Custom Types, Arrays & JSON
Feedback & Questions?
Let us know how you're using these new tracking features and what you'd like to see next. Join the discussion on PowerSync Discord.