Skip to content

v1.0.4 — Dynamic Model Fetching & Catalog Updates

Choose a tag to compare

@yashab-cyber yashab-cyber released this 17 Aug 21:43
· 29 commits to main since this release

Current release. Sideload the APK for direct install, or use the AAB for Play Store distribution.

Highlights since v1.0.3 (PR #46 by @JMAN730)

🤖 Dynamic Model Fetching & Catalog Updates

  • Runtime Model Lists: Every remote LLM provider (Gemini, OpenAI, Cohere, Groq, OpenRouter, etc.) now dynamically fetches its available model list directly from its respective /models endpoint rather than shipping hardcoded fallback lists.
  • Capability-Based Chat Model Filtering: Chat models are identified dynamically by capability markers (e.g. generateContent support for Gemini, declared chat endpoints for Cohere, non-chat denylist for OpenAI-compatible providers) ensuring newly released models appear in the picker without requiring an app update.
  • De-staled Seed Models: Updated seed models across provider catalogs (Gemini gemini-2.5-flash, Groq llama-3.3-70b-versatile, OpenRouter openrouter/auto).
  • Improved Model Fetch Error Reporting: Failed model lookups report explicit states (Success / NeedsCredentials / Failed) in Settings instead of swallowing errors and caching stale defaults.
  • Standalone Parser Architecture: Extracted parsing into ModelListParsers with unit tests verifying parser stability across provider schemas.

⚡ LiteRT & On-Device Improvements

  • SDK Gate Cleanup: Removed redundant SDK_INT runtime checks in LiteRTLMProvider.isAvailable as minSdk 26 guarantees API availability.
  • LiteRT Tests: Added tests for custom LiteRT model registry helpers and the default Qwen model configuration.

📱 About Screen Fixes

  • Dynamic Version Display: Updated the About screen to read BuildConfig.VERSION_NAME dynamically rather than using a hardcoded string.
  • Icon Badge Scaling: Replaced text placeholder with properly scaled bot.png app icon badge (requiredSize).

🛠️ Toolchain & Build Hardening

  • Gradle 9.7.0: Upgraded Gradle wrapper to 9.7.0 and updated SHA-256 wrapper verification checksum.
  • Version Bump: Updated app version to 1.0.4 (versionCode 5).

Release Assets

  • app-release.apk — Release APK (sideload for testing).
  • app-debug.apk — Debug build APK for developer testing & logging.
  • app-release.aab — Release Android App Bundle.
  • app-debug.aab — Debug Android App Bundle.

Checksums (SHA-256)

  • app-release.apk: d6e9487a710051815283e069c25f402995e8e38324f17b13e446de5b64822baa
  • app-debug.apk: ca604bc036b8392bb00bdd9c6f2d912827adf554d2ffc4b34e7ca9fff7728bf4
  • app-release.aab: 7333239b7e9c009bab5ecca5afd6148fd6b22f39a17faa4fd1bebd27a4d45a68
  • app-debug.aab: 6016bf6b5c3dd9b32a189948a510dd7f1e5b57c5e5a416d4f48e36d02c7f71a7

Build Configuration

  • Package: com.opendroid.aiagent
  • Version Code: 5
  • Version Name: 1.0.4
  • Min SDK: 26 (Android 8.0)
  • Target SDK: 36 (Android 16)

Install notes for testers

  1. Download app-release.apk or app-debug.apk from the GitHub release.
  2. Enable install from unknown sources for your browser/file manager.
  3. Sideload the APK; uninstall any prior build with a different signing key if Android blocks the update.
  4. Report issues against tag v1.0.4.