Skip to content

Releases: Xposed-Modules-Repo/io.github.s1ddhants1.swiftbackupprem

2.3.1

Choose a tag to compare

@s1ddhants1 s1ddhants1 released this 20 Aug 15:16

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

Choose a tag to compare

@s1ddhants1 s1ddhants1 released this 17 Aug 15:15

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

Choose a tag to compare

@s1ddhants1 s1ddhants1 released this 16 Aug 18:22

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.json import/export to include the new toggle settings.
  • UI & Layout: Reordered settings for better clarity and standardized Material 3 card styles.
  • Reliability & IPC: Improved XSharedPreferences reload handling and synchronous preference persistence across processes.

2.1.1

Choose a tag to compare

@s1ddhants1 s1ddhants1 released this 16 Aug 16:51

What's Changed in v2.1.1 (Hotfix)

  • Fixed App Stuck on Splash Screen & System.exit Calls:
    • Neutralized System.exit and Runtime.exit traps that abruptly terminated the process on startup.
    • Added dedicated mapping and DexKit dynamic discovery for AuthUser (d45 in v5.1.0) and AnonUser (b45 in v5.1.0).
    • Ensured MFirebaseUser getters return a valid fallback user when null, preventing startup assertion aborts.
  • 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.
  • 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

Choose a tag to compare

@s1ddhants1 s1ddhants1 released this 16 Aug 16:51

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.