drive_sync_flutter 1.1.0
drive_sync_flutter: ^1.1.0 copied to clipboard
Bidirectional file sync between device storage and Google Drive. SHA256-based change detection, pluggable conflict resolution, nested folder support.
1.1.0 #
- Sandboxed Drive access: New
GoogleDriveAdapter.sandboxed()constructor scopes all operations under.app/{appName}/. App name must be lowercase snake_case. - Path traversal protection: Validates
appNameandsubPath— rejects.., absolute paths, empty segments. - Query injection fix: All Drive API query interpolations now escape single quotes to prevent query injection.
- Deprecated old constructors:
GoogleDriveAdapter()andGoogleDriveAdapter.withPath()are deprecated in favor of.sandboxed(). - 42 new tests: Sandbox validator unit tests + integration tests covering constructor validation, path enforcement, and query injection prevention.
Migration #
Replace:
GoogleDriveAdapter.withPath(
httpClient: authClient,
folderPath: 'apps/myapp/data',
);
With:
GoogleDriveAdapter.sandboxed(
httpClient: authClient,
appName: 'myapp',
subPath: 'data',
);
The old constructors still work but emit deprecation warnings.
1.0.1 #
- Enable automated publishing from GitHub Actions via OIDC
- Verify CI → pub.dev pipeline
1.0.0 #
- Bidirectional file sync between device storage and Google Drive
- SHA256-based change detection (only transfers modified files)
- Conflict resolution: newerWins, localWins, remoteWins, askUser
GoogleDriveAdapterwith nested folder path support (apps/myapp/data)- Pluggable
DriveAdapterinterface for custom cloud providers GoogleAuthClienthelper for wrappinggoogle_sign_inauth headersDriveSyncClienthigh-level API: sync, push, pull, status- 30 tests covering unit, integration, and cross-component flows