Releases: Xposed-Modules-Repo/io.github.s1ddhants1.swiftbackupprem
Release list
2.3.1
What's Changed in v2.3.1
- 🧩 Modular Hook Architecture: Decoupled monolithic hooking logic into dedicated, isolated handlers (
AuthBypass,PremiumFeature,FirebaseInit,TelemetrySuppression,ExitProtection) with cached DexKit bytecode resolution. - 🎨 Modular Guided Setup Wizard: Deconstructed the 5-step setup wizard into independent, maintainable composable steps.
- 🔑 Random SHA-1 Fingerprint Generator: Reverted to generating random valid SHA-1 fingerprints in the setup wizard, preventing Google Cloud OAuth registration conflicts caused by duplicate SHA-1 certificates.
- 🛠️ Kotlin DSL & Build Tooling: Migrated the entire build configuration to Gradle Kotlin DSL (
.gradle.kts) and upgraded Gradle Wrapper to v9.7.0. - 📦 CI/CD Modernization: Upgraded GitHub Actions to Node 24 native versions and separated release builds (R8-optimized APK + ProGuard mapping) from debug artifacts.
- 🧪 Expanded Test Coverage: Added comprehensive unit test suites covering configuration persistence, class resolution, telemetry suppression, and UI state flows.
2.3.0
What's Changed in v2.3.0
⚙️ Modern LibXposed API Migration
• LibXposed Modern Architecture: Migrated fully from the legacy Xposed API (api-82.jar) to the modern LibXposed API (io.github.libxposed:api:100) with unified hook interfaces and modern service integration.
• Framework Compatibility: Requires modern Xposed / LSPosed implementations (e.g. LSPosed, LSPosed Irena, Zygisk Next, etc.) that support modern LibXposed specifications.
• Active Connection Status Card: Added a real-time framework detection card to the UI dashboard showing whether the module is currently active and bound to the framework.
• Adaptive Settings Access: Dynamic access to settings controls based on active framework connectivity.
✂️ Removal of Auto Backup Feature
• Archiving & Auto Backup Stripped: Removed legacy automated module APK and configuration archiving logic and associated DexKit signature patterns.
• Leaner Core: Focused strictly on core premium unlocking, telemetry suppression, and custom Firebase backend synchronization to maximize performance, reliability, and minimize hook footprint.
⚡ Optimizations & Enhancements
• Modular Firebase Configuration Engine: Fully refactored google-services.json parsing into a dedicated, clean, and isolated module with unit tests.
• Enhanced Configuration Import/Export: Added robust JSON schema validation, Firebase metadata preservation, and migration support for sbp_config.json.
• UI & Interaction Polish:
• Resolved Snackbar overlap issues on devices with gestures / bottom insets.
• Smoothed UI animations, background file processing feedback, and text field ergonomics.
• Performance & Codebase Hygiene: Refactored DexKit class scanning and removed legacy reflection artifacts for faster load times.
📌 Note on Maintenance Cycle
Final Release for Current Swift Backup Base: This is the final scheduled maintenance and feature release for the current Swift Backup version family. Future releases and updates are planned only when an upstream Swift Backup update introduces breaking changes requiring new DexKit mappings or hook adjustments.
2.2.0
What's Changed in v2.2.0
- Enable Premium Toggle: Added a master toggle to enable or disable premium features on-demand with active runtime state enforcement.
- Disable Telemetry & Tracking: Added an option to block Firebase Analytics, Crashlytics, Sessions, Installations, and Google DataTransport.
- Config Import / Export: Updated
sbp_config.jsonimport/export to include the new toggle settings. - UI & Layout: Reordered settings for better clarity and standardized Material 3 card styles.
- Reliability & IPC: Improved
XSharedPreferencesreload handling and synchronous preference persistence across processes.
2.1.1
What's Changed in v2.1.1 (Hotfix)
- Fixed App Stuck on Splash Screen & System.exit Calls:
- Neutralized
System.exitandRuntime.exittraps that abruptly terminated the process on startup. - Added dedicated mapping and DexKit dynamic discovery for
AuthUser(d45in v5.1.0) andAnonUser(b45in v5.1.0). - Ensured
MFirebaseUsergetters return a valid fallback user when null, preventing startup assertion aborts.
- Neutralized
- Fixed Premium Reverting When Custom Firebase is Off:
- Mapped and hooked
HomeViewModel(c64) to prevent Firebase purchase listener callbacks from resetting premium status. - Hooked
SwiftApp's premium LiveData instance (SwiftApp.a/ex6) to permanently maintain active Premium state.
- Mapped and hooked
- Enhanced DexKit Class Discovery: Robust fallback heuristics for obfuscated classes across multiple Swift Backup versions.
- UI & Performance Refinements: Cleaner logging and improved startup reliability.
2.1.0
What's Changed in v2.1.0
- Swift Backup v5.1.0+ Compatibility: Updated obfuscated class search and DexKit hooks to support Swift Backup v5.1.0+.
- UI Design Overhaul: Introduced an interactive Guided Setup Wizard inside a smooth accordion container for Firebase credentials, with Material 3 design throughout the app.
- Quality of Life Tweaks:
- Quick Action Bar: Added persistent Force Stop and Open App action buttons pinned at the bottom of the Settings screen.
- Full Settings Backup: Configuration Export & Import now saves and restores all toggles (Enable premium features, Custom firebase app) alongside Firebase credentials.
- Dedicated About Page: Added a standalone About screen featuring app details, version info, license details, and developer credits.