Skip to content

Releases: retired64/sm64cdpy.releases

Sm64CDPY v1.7.0

Choose a tag to compare

@github-actions github-actions released this 21 Sep 18:36

Sm64CDPY v1.7.0

Added

  • Floating bubble overlay (second Flutter engine) via floaty_chatheads — browse, search, and download mods, dynos, and touch controls without opening the main app. Real-time progress bars and cancel buttons directly in the overlay panel.
  • Dynos and touch controls now use the same WorkManager download+install pipeline as regular mods — previously a separate file downloader path with no background recovery. Cancelled downloads now properly stop WorkManager jobs.
  • SafZipExtractor shared object — single source of truth for ZIP extraction to SAF document trees with delete-before-create (prevents duplicate files on reinstall) and explicit failure when SAF permissions are lost mid-operation.
  • Background install state now persisted to SharedPreferences — survives process death. WorkManager-resumed workers have full context on app restart. Uses putIfAbsent to never overwrite fresher live events with stale stored data.

Improved

  • DynOS and Touch Controls now follow the global auto-install setting consistently: automatic mode uses the shared background pipeline, while manual mode asks before installing a completed download.
  • Broken Touch Controls and DynOS links now show a friendly unavailable/download error while keeping technical details available through the copy action.
  • Settings now identifies the shared destination as the DynOS and Touch Controls folder, making it clear that both content types are installed there.
  • Notification IDs derived from mod name hash — two simultaneous downloads no longer overwrite each other's progress notifications.
  • Floating overlay fully localized: search hint, error toasts, status labels, cancel text, and empty/error states now translated in all 5 supported languages (EN, ES, ES-419, PT, PT-BR).
  • Floating overlay toggle in Settings also localized with new ARB keys.
  • Overlay bridge auto-install cache now refreshes when the toggle is changed in Settings (OverlayBridge.refreshAutoInstall).
  • Cancelled state race condition fixed — in-flight progress events no longer reactivate cancelled mod tiles (events from cancelled mods silently dropped for 10 seconds).
  • Display titles stored in install info instead of separate static map — single source of truth, survives process restarts.
  • Background operations now reconcile their persisted Worker UUIDs with WorkManager after process or engine recreation, restoring pending/download/install/final state and reconnecting native observers.
  • A global operation coordinator reports completion, failure, or cancellation even after navigating away from the card that started the download.
  • Canonical operation keys now include section, content ID, and file ID; overlay and main screens address the same chain without title collisions.
  • Render96, VIP, OMM, regular mods, DynOS, and Touch Controls now consume the same shared background state instead of declaring success when work is only queued.
  • Multi-version mods now resolve one canonical latest downloadable release in both the detail screen and floating overlay; multiple files in that release remain explicitly selectable.
  • The latest release stays visible in mod details while older releases move to an on-demand, virtualized bottom sheet instead of filling the entire screen.
  • Completed installations now use a separate visible Android notification channel, a custom status icon, and the readable mod title.

Improved

  • DynOS and Touch Controls previously installed files even when auto-install was disabled; downloads now remain uninstalled unless the user confirms installation.
  • Touch Controls could report success when no DynOS destination existed even though nothing had been copied; success is now shown only after a confirmed installation.
  • Cancel button in the overlay was silently ignored — now correctly cancels WorkManager jobs via cancelAllWorkByTag.
  • Cancellation now waits for WorkManager confirmation before publishing the final cancelled state.
  • Rotating the device no longer detaches the WorkManager observers from the surviving Flutter engine.
  • Silent ZIP corruption when SAF permission was revoked mid-extraction — createFile returning null now throws SecurityException caught by existing handler with user-actionable "re-select folder" message.
  • Silent stream subscription death in overlay bridge — all FloatyChatheads.shareData calls now wrapped in try/catch to prevent a single PlatformException from permanently killing the stream listener.
  • Duplicate files in SAF on re-installation via the sync install path — now uses SafZipExtractor with delete-before-create for all code paths.
  • Native crash in overlay engine caused by SharedPreferences.getInstance() in second Flutter engine — removed plugin call not guaranteed to be initialized there.
  • Floating overlay toggle text in Settings was hardcoded in English — now uses the localization system.

Descargas

  • arm64 → dispositivos modernos 64-bit (2018+) ← recomendado
  • arm32 → dispositivos antiguos 32-bit
  • x86_64 → emuladores

Checksums SHA-256

sha256:e81ea7ad44200949f4a3f6c86a3f42ae9fc8264c90187be19e2380b6409e1186  Sm64CDPYv1.7.0-arm64.apk
sha256:6e0a7aa78aa3b5949773df88a35de8f8d12fb1f8d89f6ef940f8d2fa8a0fbfb0  Sm64CDPYv1.7.0-arm32.apk
sha256:4195dfcdb7df34ca8404863d1b3a1f7108391b6ef991cb308f7c49efd2718574  Sm64CDPYv1.7.0-x86_64.apk

Sm64CDPY v1.6.2

Choose a tag to compare

@github-actions github-actions released this 28 Jul 04:41

Sm64CDPY v1.6.2

  • Mods with special characters in Content-Disposition filenames (brackets, spaces, emojis, parentheses, Unicode) now install correctly — the filename is sanitized before being passed to SAF, preventing silent copy failures.
  • Download error snackbar now shows the REAL native error message + COPY button — no more generic "Installation failed" that hides the actual cause.
  • Broken download URLs in the mod database (page URLs without /download suffix) are now auto-corrected at parse time so they work without manual intervention.

Added

  • New DownloadUrlResolver service with HEAD request pre-flight — determines the real filename from the server's Content-Disposition header before downloading, so .lua mods and mods with generic /download URLs get the correct filename.
  • GitHub blob viewer URLs (/blob/branch/path) are now auto-converted to raw.githubusercontent.com for direct download.
  • Mod detail download button redesigned — transparent accent style with progress panel below the button, showing file extraction counts during installation. The duplicate install status banner was removed.
  • CI now produces APKs named with the short commit SHA (cdpy-abc1234.apk) so you can identify which build is which.

Added

  • Download error handling rewritten across all 5 screens — copy/install operations throw on failure instead of silently returning false, so the error message always reaches the user.

Descargas

  • arm64 → dispositivos modernos 64-bit (2018+) ← recomendado
  • arm32 → dispositivos antiguos 32-bit
  • x86_64 → emuladores

Checksums SHA-256

sha256:b4b5f6e0c25fa2325e4ea8e82c47c432b8c531f3599650e4f44f6d0630040309  Sm64CDPYv1.6.2-arm64.apk
sha256:aa16d473f28261615aff822c76cc95171bfac2bd49f96faf66bd9356075e5ade  Sm64CDPYv1.6.2-arm32.apk
sha256:2ffcb2d27469ca955f07b682be57b8916b46d996c7d155d1ea5165e94d8437da  Sm64CDPYv1.6.2-x86_64.apk

Sm64CDPY v1.6.1

Choose a tag to compare

@github-actions github-actions released this 27 Jul 04:38

Sm64CDPY v1.6.1

  • Standalone .lua mods from the catalogue now download and copy correctly to the mods folder — no more silently failing because the file was wrongly treated as a ZIP.
  • Native SAF file creation changed from hardcoded "application/zip" to generic "application/octet-stream" MIME type so .lua files (and any non-ZIP) can be created in the selected folder.
  • All download callbacks now check the operation result before showing success — false "Saved to folder" messages when the copy failed are gone.
  • Filename inference no longer forces .zip extension on /download URLs — the server's Content-Disposition header now determines the real filename.

Added

  • Download success messages now show the content type in context — "Saved to DynOS folder", "Saved to Touch Controls folder", etc., instead of the generic "mods folder" for everything.

Added

  • Removed 4 unused dependencies (cupertino_icons, lucide_icons_flutter, android_intent_plus, archive) — smaller APK, faster build.

Descargas

  • arm64 → dispositivos modernos 64-bit (2018+) ← recomendado
  • arm32 → dispositivos antiguos 32-bit
  • x86_64 → emuladores

Checksums SHA-256

sha256:4b005becf25f9545f87b1c318c4c6c13594e7655a8d01c60049caf288c9d4c9b  Sm64CDPYv1.6.1-arm64.apk
sha256:3bebc84a32444239c81aebc319df9bc720fddfcea7354d333eb9d304fa9c144b  Sm64CDPYv1.6.1-arm32.apk
sha256:a4a700b6fc9894eb14973c96770a0e3ef338c4dad63a69f53940d5a4551ed245  Sm64CDPYv1.6.1-x86_64.apk

Sm64CDPY v1.6.0

Choose a tag to compare

@github-actions github-actions released this 25 Jul 02:44

Sm64CDPY v1.6.0

Improved

  • Mod detail hero height reduced from 300px to 180px — avatar now sits near the top, removing wasted empty space and putting content front and center.
  • Description text now uses 3-line clamping (maxLines: 3 + TextOverflow.ellipsis) instead of character-based truncation — no more mid-word cuts, cleaner and more readable.
  • Mod detail title cleaned up — removed the teal "stamp" shadow effect behind the title text. Title now uses softWrap for clean word wrapping on long mod names.
  • Download buttons in exclusive sections (VIP, DynOS, Touch Controls, OMM Rebirth) now use the full download flow: notification permission check, folder selection, real progress bar, and auto-copy to the target folder.
  • New DynOS folder selector in Settings → Game Integration — DynOS and Touch Controls packs now install to a separate dynos/packs/ folder instead of the mods folder.
  • OMM Rebirth "cappy-bros-dynos" now installs to the DynOS folder automatically (the only OMM entry that is a DynOS pack, not a mod).

Removed

  • Dark gradient scrim (black-to-transparent) above the mod detail avatar eliminated — the glass app bar buttons already have sufficient contrast against the teal hero background without it.

Removed

  • "LAUNCH GAME" button on the home screen was still hardcoded in English and ignored the selected language — now correctly uses the i18n system (shows "ABRIR JUEGO" / "ABRIR JOGO").

Descargas

  • arm64 → dispositivos modernos 64-bit (2018+) ← recomendado
  • arm32 → dispositivos antiguos 32-bit
  • x86_64 → emuladores

Checksums SHA-256

sha256:520ce2e23af19e0b6534ef53362f289cd4385d669293c9bb8b478b024029149f  Sm64CDPYv1.6.0-arm64.apk
sha256:c79a13510f125af09c1407656749a8978739a16f10ed4de8c1b22487dff41793  Sm64CDPYv1.6.0-arm32.apk
sha256:18c57b26acab0e5e967ef44353a957c776fb6ab5073124631d065526b915b253  Sm64CDPYv1.6.0-x86_64.apk

Sm64CDPY v1.5.1

Choose a tag to compare

@github-actions github-actions released this 24 Jul 06:25

Sm64CDPY v1.5.1

Improved

  • New app icon — concept by Retired64, adapted by □●AGS4●□.

Improved

  • Update dialog crashed with a full-screen error the moment "Update now" was tapped, due to a localization field being reassigned on every rebuild.

Descargas

  • arm64 → dispositivos modernos 64-bit (2018+) ← recomendado
  • arm32 → dispositivos antiguos 32-bit
  • x86_64 → emuladores

Checksums SHA-256

sha256:63e0986e66f45cd6760a59c6326dbc035d2c5e5ee954f520b18df933a4824d68  Sm64CDPYv1.5.1-arm64.apk
sha256:95c17c03f0634c90372871434ea430ab79db8f9754e7e28b937ac99f3628e45f  Sm64CDPYv1.5.1-arm32.apk
sha256:ce88fa149a8b317db7696bddd5455ec8ae8a3cf9e1669981e8fd6c3dc36241eb  Sm64CDPYv1.5.1-x86_64.apk

Sm64CDPY v1.5.0

Choose a tag to compare

@github-actions github-actions released this 24 Jul 04:35
c71afaa

Sm64CDPY v1.5.0

Added

  • Multi-language support — English (US), Spanish (Latin America), and Brazilian Portuguese. All screens, widgets, dialogs, and settings translated via flutter_localizations + ARB (299 keys).
  • Language selector in Settings → Appearance, with expandable dropdown and country flags (follow system / EN / ES / PT).
  • Android notification channel names and foreground service messages localized (values, values-es, values-pt-rBR).

Improved

  • Disclaimer screen: legacy hardcoded bilingual EN/ES toggle replaced by the standard i18n system. Original legal text preserved clause-for-clause in all three languages.
  • Date formatting now follows the active locale (formatDate accepts optional locale parameter).
  • Count labels (X MODS / X LAYOUTS) now use proper ICU pluralization (1 MOD / X MODS).
  • Dark text on accent backgrounds (LAUNCH GAME button, SOON badge) now centralized as inkOnAccent token in RetroTheme.
  • Medal colors (gold/silver/bronze) unified between home and popular screens as RetroTheme tokens (medalGold, medalSilver, medalBronze).
  • Changelog type labels (New, Improved, Fixed, Removed, Changed) and category display names extracted to ARB for translation.

Improved

  • Pagination label in Popular screen was hardcoded in Spanish (MOSTRANDO\u2026) — unified with the catalogue pagination key.
  • Links & Resources screen descriptions were hardcoded in Spanish in the English translation template — fixed to English.
  • Duplicate notification-permission and mods-folder dialog strings in mod_detail_screen now share a single ARB key instead of duplicated entries.

Removed

  • AppTheme class (~345 lines) eliminated — RetroTheme is now the sole design source for the entire app.
  • google_fonts dependency removed (no longer used after AppTheme deletion).

Descargas

  • arm64 → dispositivos modernos 64-bit (2018+) ← recomendado
  • arm32 → dispositivos antiguos 32-bit
  • x86_64 → emuladores

Checksums SHA-256

sha256:b553a71cf3ac87b03575f4f12d37dc2cec2bd485efd3daabf7b0dde0aec87935  Sm64CDPYv1.5.0-arm64.apk
sha256:3bd99666e68a9607f1e70e1f508c6048dd1418225de6a360334eccdd919efdd5  Sm64CDPYv1.5.0-arm32.apk
sha256:52e105736ad228498a3937653ab8607c29669ca4ed59b689ee94ebbada96cc07  Sm64CDPYv1.5.0-x86_64.apk

Sm64CDPY v1.4.5

Choose a tag to compare

@github-actions github-actions released this 23 Jul 01:12

Sm64CDPY v1.4.5

Added

  • Home "Browse" section redesigned as a swipeable carousel (Catalog, Favourites, Popular), matching the same card + page-dot style as the Featured carousel.

Improved

  • Each Browse card now has a color-coded skewed "GO TO" button for quicker at-a-glance navigation — amber for Catalog, red for Favourites, navy blue for Popular.
  • Skewed chip buttons now auto-pick readable text color (white or dark ink) based on the fill color brightness, fixing low-contrast text on darker accent colours.

Descargas

  • arm64 → dispositivos modernos 64-bit (2018+) ← recomendado
  • arm32 → dispositivos antiguos 32-bit
  • x86_64 → emuladores

Checksums SHA-256

sha256:d2548b863c006554de7c5fff270303cde3aa94e7b5ec1069e8708c77dd9b5c1b  Sm64CDPYv1.4.5-arm64.apk
sha256:dc74e2e61ee27d9e90e3227b8f958bba27e4f1cdc73d822f05aa424ebb9882ed  Sm64CDPYv1.4.5-arm32.apk
sha256:830f21af1cc18c5b21fbba19c9ab9ee5576a428139117360484fecd7ea4c3e86  Sm64CDPYv1.4.5-x86_64.apk

Sm64CDPY v1.4.4

Choose a tag to compare

@github-actions github-actions released this 22 Jul 15:50

Sm64CDPY v1.4.4

Improved

  • Complete retro redesign — all screens and widgets migrated to the new RetroTheme with navy/cream/teal palette, Lato typography, hard drop shadows, and square borders.
  • Custom SVG icons throughout the navigation drawer and home screen (13 hand‑crafted icons, native colours, no colour filters applied).
  • Drawer performance overhaul for low‑end devices: single global fade instead of 14 individual opacity layers (~14× fewer GPU compositing layers), lazy‑built category and sort option lists, and reduced stagger duration from 500 ms to 420 ms.
  • Sort options in the drawer now display clean text labels only (emoji decorations removed to match the retro aesthetic).

Descargas

  • arm64 → dispositivos modernos 64-bit (2018+) ← recomendado
  • arm32 → dispositivos antiguos 32-bit
  • x86_64 → emuladores

Checksums SHA-256

sha256:f6f3c687eddc4ce6397560410a86d8a47663d0d0565411a162463a58eea8c6b2  Sm64CDPYv1.4.4-arm64.apk
sha256:7a4be178a6075ae75abdc184cf96cdde5ef7d31dd994dd2bfece97c19cbdb790  Sm64CDPYv1.4.4-arm32.apk
sha256:3bb0ad58902dd2da2952f52f00800891495eef6040738f1bb810b687813b3378  Sm64CDPYv1.4.4-x86_64.apk

Sm64CDPY v1.4.3

Choose a tag to compare

@github-actions github-actions released this 11 Jul 06:14

Sm64CDPY v1.4.3

Added

  • New "Links Resource" screen — a dedicated hub gathering all useful links in one place, organised into OFFICIAL, SM64CDPY, and RESOURCES sections.
  • Each link is shown as a tappable card with an icon, title, and short description, opening in your browser with a single tap.
  • Accessible directly from the navigation drawer.

Improved

  • The app now supports both portrait and landscape orientations — previously it was locked to portrait only.

Descargas

  • arm64 → dispositivos modernos 64-bit (2018+) ← recomendado
  • arm32 → dispositivos antiguos 32-bit
  • x86_64 → emuladores

Checksums SHA-256

sha256:66193da39f7eaf4f8ce44c1039e0b592766b30a0efe95d6908b401b505853355  Sm64CDPYv1.4.3-arm64.apk
sha256:7e0c1740824064296e50efbdcce8956ab12be1901d8168e3059d2b56e50f9fea  Sm64CDPYv1.4.3-arm32.apk
sha256:2274d40571033412ae1d489d069f91367cc4835d717cdae200679cb65534f6e7  Sm64CDPYv1.4.3-x86_64.apk

Sm64CDPY v1.4.2

Choose a tag to compare

@github-actions github-actions released this 11 Jul 01:38

Sm64CDPY v1.4.2

Added

  • Complete background download + install via Android WorkManager with persistent foreground notifications — download and install both show real-time progress in the notification shade even when the app is in the background.
  • Download progress notification with cancel button — tap "Cancel" in the notification to stop an ongoing download at any time.
  • Install progress notification with cancel button and file counter (e.g. "Extracting 45/120 files").
  • Runtime permission request for POST_NOTIFICATIONS (Android 13+), shown in-context when the user first taps Download, with a rationale dialog explaining why notifications are needed.
  • Guided "Go to Settings" dialog when auto-install is enabled but no mods folder has been selected yet — preventing cryptic errors.
  • When auto-install is OFF but a mods folder is selected, ZIP files are automatically copied to the mods folder after download (ready for manual installation).

Improved

  • Download + install flow is now fully non-blocking — the previous install progress dialog that locked the screen has been removed entirely.
  • Inline status banner on the mod detail screen shows live download percentage and install file count.
  • Real download progress replaces the fake animation — progress bar reflects actual bytes downloaded via EventChannel from native WorkManager.

Removed

  • Invasive "Install to game?" dialog after every download — replaced by the auto-install toggle in Settings as the single source of truth for installation behavior.

Removed

  • Mod installation no longer freezes the UI during ZIP extraction — the entire extraction runs on a native background thread with WorkManager.
  • Downloaded ZIPs no longer remain in the system Downloads folder when a mods folder is selected — they are moved to the mods folder automatically.

Descargas

  • arm64 → dispositivos modernos 64-bit (2018+) ← recomendado
  • arm32 → dispositivos antiguos 32-bit
  • x86_64 → emuladores

Checksums SHA-256

sha256:d04acacd1131b56350fa39e2e908f34af6c6e5faa554e0f3f71a380ae252957f  Sm64CDPYv1.4.2-arm64.apk
sha256:a494dd72467cc17638d4173e7ef1c3a4ed2b98c311146c8c5d4a202efb199bc8  Sm64CDPYv1.4.2-arm32.apk
sha256:e33e3198311303f0ebc2fb9bd130f7dbb8c665a8cb0799897db5821dfd1c2f2d  Sm64CDPYv1.4.2-x86_64.apk