synquill 0.7.2
synquill: ^0.7.2 copied to clipboard
Offline-first Flutter data engine with background JSON API sync and custom retry logic.
0.7.2 #
- Fixes imports.
0.7.1 #
- Fixes imports. Fixes typos in
synquill_gen
0.7.0 #
Breaking Changes #
BaseDaoMixin<T>interface now requires implementations forsaveModel,deleteById,deleteAll, andgetAllExcludingIds. Custom DAOs must be updated.- Migrated the monolithic
part/part ofstructure to modular libraries usingimport/export. Internal code moved tolib/src/for true compile-time encapsulation. Consumers relying on internal package visibility or private members will need to update their code.
Improvements & Optimizations #
- Type Safety: Eliminated all
dynamicdispatch inRepositoryHelpersMixinby leveragingBaseDaoMixininterface. - Performance: Optimized
fetchAllFromLocalWithoutPendingSyncOpsto use a single SQLNOT INquery instead of N+1 per-item checks, improving performance by orders of magnitude for large datasets. - Reliability: Added atomic transaction to
obliterateLocalStorageto guarantee data consistency even if the app crashes or device loses power mid-operation. - Sync Engine: Added bulk operation support to
SyncQueueDaofor faster queue clearing and pending status detection.
Bug Fixes #
- Fixed critical type safety in
SynquillStorageConfig(diotyped asDio?,maximumNetworkTimeoutasDuration). - Fixed logic errors in
loggerandbackgroundSyncManagerinitialization guards. - Prevented listener leaks and duplicate logs by making
_defaultLoggerastatic finalfield. - Fixed
NetworkTask.isCancelledto correctly distinguish between explicit cancellation and completion.
0.6.0 #
Breaking Changes #
methodForFindand allurlForFind*methods now support aQueryParamsparameter, enabling adaptive API method and URL selection based on query complexity.- The
typegetter inApiAdapterBasenow returns the snake_case type name by default instead of lowercase, which may affect endpoint URLs and serialization logic.
0.5.5+1 #
- Correctly implemented
localOnlyrepositories in mixins.
Note: code must be re-generated via build_runner
0.5.4 #
- Fixed a bug where
localOnlyrepositories might throw an error duringremoteFirstoperations.
0.5.3 #
- Fixed a bug where pending operations did not respect parent ID changes.
0.5.2 #
- Initial release.