Releases: vedraj360/Backpack
Release list
Backpack v2.0.4 — Unified All-in-One Cloud & Local Backup Suite with Media Attachments
🎒 Backpack v2.0.4 — Unified Backup Suite
We are thrilled to announce Backpack v2.0.4! This major release transforms Backpack from a standalone Google Drive database backup utility into a complete, all-in-one Android backup and restore framework for both Cloud and Local storage, featuring full media attachment handling and deterministic cross-device remapping.
🌟 What's New in v2.0.4
1. 📱 Local Device Storage Support (SAF)
- Seamlessly export and import encrypted backup archives to/from device storage or SD card via Android's Storage Access Framework (SAF).
- Full coroutine and Flow-based lifecycle with detailed progress reporting (
LocalBackupResult).
2. 🖼️ Full Media Attachments Archiving
- Automatically bundles images, audio recordings, videos, PDFs, and custom attachments together with your Room database into a single, compressed archive.
- Type-safe
AttachmentTypeenums (IMAGE,AUDIO,VIDEO,PDF,DOCUMENT,GENERIC).
3. 🔄 Deterministic Manifest-Driven Path Remapping
- Replaced heuristic string detection with Manifest-Driven Attachment Remapping.
- Extracted attachment references in SQLite tables (plain text, JSON arrays, JSON objects) are safely updated to the new device’s local filesystem directory with zero false positives.
4. ⚠️ Smart Conflict Resolution
- Added built-in detection for duplicate attachments during restore (
ConflictDetected). - Supports user-driven conflict policies:
OVERWRITE,SKIP, orASK_USER.
5. 🛡️ 100% Backward Compatibility & Safety
- V1 Legacy DB Fallback: Restores older uncompressed
.dbbackups from Google Drive seamlessly without errors. - Incompatible Schema Protection: Verifies SQLite
PRAGMA user_versionto prevent downgrading or corrupting databases from newer app versions. - Atomic DB Swaps & Rollback: Safe WAL checkpointing and
.bakfile rollback protection. - Zip Slip Defense: Validates all archive entries against directory traversal attacks.
6. 📄 Licensing
- Updated license to MIT License with Attribution Required.
📦 Installation (JitPack)
Add JitPack to your settings.gradle.kts:
dependencyResolutionManagement {
repositories {
maven { url = uri("https://jitpack.io") }
}
}Release v1.0.3
🎒 Backpack v1.0.3 Release Notes
This release focuses on improving internationalization/localization capabilities, expanding documentation, and highlighting real-world adoption.
🚀 What's New
🌍 Localization & Internationalization
Removed Hardcoded Text: Extracted all raw English text strings from the custom view layouts and runtime class files into a dedicated resource file (strings.xml).
Support for Multi-language Apps: Developers can now easily localize the BackupView component in their apps by overriding resource strings (e.g., bp_linked_to, bp_last_backup, bp_backing_up).
📦 Production Showcase
Featured Usage: Added a "Used By" section to the README highlighting production use of the library in AutoSend on Google Play.
📖 Documentation & Community
Google Sign-In Troubleshooting: Added a developer troubleshooting guide to help resolve the common Google Sign-In Status Code 10 Developer Error (due to OAuth certificate SHA-1 fingerprint mismatches).
Contribution Guidelines: Added a new CONTRIBUTING.md file outlining standards and PR flows for open-source contributions.
⚙️ Installation
kotlin
dependencies {
implementation("com.github.vedraj360:Backpack:1.0.3")
}
Release v1.0.2
📝 Release Notes: Documentation Update & Troubleshooting Guide
We've updated our documentation to address common integration hurdles when setting up Google Identity Services with Backpack.
🔍 What's New
Google Sign-In Troubleshooting: Added a detailed guide in the README.md to help developers diagnose and fix the common Google Sign-In Developer Error (Status Code 10).
💡 Key Takeaway for Developers
Status Code 10 is almost always caused by a credential mismatch. When setting up Google Cloud:
Ensure both your local Debug SHA-1 and production/Google Play Release SHA-1 signatures are added to your OAuth Client ID setup.
Verify that your application's package name matches the registered credentials exactly.
For full integration details, check the Google Cloud Setup section in the README.
Release v1.0.1
Release v1.0.0
🚀 Production-Ready Cloud Backup for Android 🎒
We are excited to announce the first stable release of Backpack, a drop-in solution for securely backing up Android Room databases to Google Drive.
Backpack abstracts away the complexities of the Google Drive API, OAuth 2.0 authentication, and SQLite file management, allowing developers to implement robust cloud sync in minutes rather than weeks.
🌟 Key Features
Zero-Config Encryption:** Automatically secures user data with AES-256 encryption before upload, ensuring privacy by default.
Scoped Storage Compliance:** Utilizes the hidden appDataFolder in Google Drive. This prevents users from accidentally deleting backup files and keeps their main Drive clutter-free.
Robust SQLite Handling:** Correctly manages Write-Ahead Logging (WAL) and Shared Memory (SHM) files during export/import to prevent database corruption—a common pitfall in manual implementations.
Reactive API:** Built entirely with Kotlin Coroutines and Flow for a modern, non-blocking architecture.
Self-Healing Authentication:** Smartly handles expired credentials and connection drops without user intervention.