Repository navigation
Releases: tanvirr007/quarry-app
Releases · tanvirr007/quarry-app
Release list
v3.4.16
Quarry
Note
This release tracks build v3.4.16 (Build 58)
📦 Build Information
- Version:
v3.4.16 - Commit:
6c57203 - Build Time:
2026-09-11 20:56:59 UTC - Android:
12.0+ - SHA-256:
dc3c9e9aaecbf827e8cca6427ab519cfac3cfe65460b7f0fb3fe9ab6918be79a
🔗 Direct Downloads
- Versioned APK: Quarry-v3.4.16.apk
- Latest APK (Permanent Link): Quarry.apk
📝 Changelog
- feat: add external storage support
- Add StorageDeviceType enum to classify internal, SD card, and USB OTG drives.
- Add selected_volume_id preference in DataStore to track active storage device.
- Add volumeId column to FileEntity and Room queries for strict data isolation.
- Scope FastStorageScanner and ScanRepository scans and snapshots to volumeId.
- Scope historical scan growth deltas strictly per volume path in StorageAnalyzer.
- Exclude installed apps calculation and category on external storage devices.
- Add dynamic volume selector on StorageOverviewCard when multiple drives exist.
- Scope ExploreViewModel navigation, breadcrumbs, and file queries to active volume.
- Scope CleanupViewModel candidates, duplicate detection, and rescans to volume.
- Continuously observe selectedVolumeId in HomeViewModel for reactive updates.
- Trigger automatic indexing in HomeViewModel when selecting unscanned volume.
- Dismiss active sheets and reset file details on volume selection in Home.
- Reset search query, category, and file selections on volume change in Explore.
- Clear stale duplicate groups and candidate dialogs on volume change in Cleanup.
- Lock volume dropdown button to a fixed 36dp circular touch container.
- Prevent header layout shifting with weight constraint and text ellipsis.
- Maintain constant subtitle height during drive switching and scanning.
- Display percentage used chip alongside dropdown chevron when multi-volume.
- Ensure volume dropdown chevron displays across both internal and external views.
- Add real-time storage observation callbackFlow in StorageVolumeManager.
- Listen for StorageManager state changes, media broadcasts, and USB disconnects.
- Filter disconnected or non-existent external drives in getDetectedVolumes.
- Automatically fallback to primary internal storage when a drive is unplugged.
- Update MainViewModel, HomeViewModel, and SettingsViewModel to observe volume changes.
- Replace +/- math signs with natural freed and added phrasing in storage growth delta text.
- Remove misleading upward trending arrow icon from growth indicator.
- Display clean text directly below storage overview progress bar.
v3.4.11
Quarry
Note
This release tracks build v3.4.11 (Build 51)
📦 Build Information
- Version:
v3.4.11 - Commit:
3b3e86b - Build Time:
2026-09-10 17:01:42 UTC - Android:
12.0+ - SHA-256:
594fa3463765db808ac24bc5a6a548dfcf7526dfb15402d149a558181a0ec6e8
🔗 Direct Downloads
- Versioned APK: Quarry-v3.4.11.apk
- Latest APK (Permanent Link): Quarry.apk
📝 Changelog
- fix: prevent toast queue buildup (3b3e86b)
- Add QuarryToast singleton that cancels the active toast before showing a new one.
- Replace all raw Toast.makeText().show() calls across 11 files with QuarryToast.show().
- Use applicationContext to avoid activity memory leaks.
- feat: animate full-screen dialog pages (984ec9d)
- Add slide + fade transition to QuarryFullScreenDialog matching nav transitions.
- Split into AnimatedFullScreenDialog and StaticFullScreenDialog internal variants.
- Expose LocalAnimatedDismiss CompositionLocal for exit animation before dismiss.
- Wire all settings dialogs to use animated dismiss for back and button actions.
- Update FolderPickerDialog to use animated dismiss on close paths.
- Add animated parameter (default true) to preserve original OnboardingDialog behavior.
- Remove Dialog window dim and default animation so slide reveals parent screen.
- style: Polish exclusions dialog text (ead381c)
- Rename info card title to How It Works.
- Remove trailing period from subtitle.
- Shorten input placeholder to fit without ellipsis.
- Sort quick presets by character count, shortest first.
- docs: update UI screenshots (615998f)
- Refresh home, explore, cleanup, and settings screenshots.
v3.4.10
Quarry
Note
This release tracks build v3.4.10 (Build 50)
📦 Build Information
- Version:
v3.4.10 - Commit:
7aa50df - Build Time:
2026-09-10 08:45:54 UTC - Android:
12.0+ - SHA-256:
656236169b0203dad5b550c07f9b50e95db5211a6e03db3dcea0d1d954f7b080
🔗 Direct Downloads
- Versioned APK: Quarry-v3.4.10.apk
- Latest APK (Permanent Link): Quarry.apk
📝 Changelog
- feat: add nav transition animations (7aa50df)
- Add directional slide and fade transitions to NavHost.
- Tabs slide left or right based on their bottom bar position.
- Use 300ms duration with Material FastOutSlowIn easing.
- Apply transitions at NavHost level for all routes automatically.
- fix: remove back button from main tabs (b26c980)
- Remove redundant back arrow from top app bar on Explore, Cleanup, and Settings screens.
- Users switch between main tabs via bottom navigation bar, making the back button unnecessary.
- Clean up unused ArrowBack icon and related imports from MainActivity.
v3.4.9
Quarry
Note
This release tracks build v3.4.9 (Build 49)
📦 Build Information
- Version:
v3.4.9 - Commit:
8315ed1 - Build Time:
2026-09-03 14:41:26 UTC - Android:
12.0+ - SHA-256:
1727fe8b17a903a651d9eb1757b7b7f7cf6b7d5068d373bbe08adc6780f5793f
🔗 Direct Downloads
- Versioned APK: Quarry-v3.4.9.apk
- Latest APK (Permanent Link): Quarry.apk
📝 Changelog
- fix: disable rescan without storage (8315ed1)
- Disable Rescan and Find Duplicates when storage access is missing.
- Add storage permission state and lifecycle refresh in CleanupViewModel.
- Guard pull-to-refresh and rescan calls against missing storage access.
- feat: show folder size in list cards (9ecc633)
- Display folder aggregate storage size on List view cards.
- Highlight folder size with primary color matching Folders view.
- Streamline file and folder subtitle strings to avoid duplicate size text.
- style: move reclaim label under size (594311e)
- Position Space to Reclaim as subtitle under total bytes.
- Render total size as primary bold header in delete dialog.
- docs: shorten bug report section (1fb2fb8)
- Shorten Reporting a Bug to single line like feature request.
- Remove version/device/permission/repro checklist; template covers it.
- Rename Requesting Features to Requesting a Feature.
- chore: Add Apache License 2.0 (e651602)
- Add Apache License 2.0 file at repo root with full official text.
- docs: add visitor badge to readme (38af4a2)
- Add visitor badge from laobi.icu matching cash-figure-app style.
- Place badge in header shields row with quarry-app page id.
- docs: refine readme layout and badges (74bed55)
- Direct Download Now badge to latest APK release download URL.
- Apply high-contrast blue badge palette matching license styling.
- Move download CTAs to dedicated Download section and add Index list.
- Integrate tagline into Overview and label screenshot columns.
- Shorten comparison table header to Others for mobile alignment.
v3.4.8
Quarry
Note
This release tracks build v3.4.8 (Build 48)
📦 Build Information
- Version:
v3.4.8 - Commit:
67448d8 - Build Time:
2026-09-01 15:13:02 UTC - Android:
12.0+ - SHA-256:
e018bef6866525dc4a97d3ec672c74c092e17f7fbbd1d1937d644aaf55defcf9
🔗 Direct Downloads
- Versioned APK: Quarry-v3.4.8.apk
- Latest APK (Permanent Link): Quarry.apk
📝 Changelog
- fix: isolate pull-to-refresh indicators (67448d8)
- Limit pull-to-refresh indicators to manual swipe gestures.
- Prevent button-triggered scans from showing pull spinner.
- Track pull-down refresh state across Home and Cleanup screens.
- docs: add download badges to readme (d030b2b)
- Add Download Now and live release version badges to header.
- Add dedicated Download section with release matrix and integrity tip.
- Add License badge to header metadata badges.
- Normalize horizontal dividers between sections.
- chore: add default issue assignees (be81d6d)
- Add tanvirr007 as default assignee to bug report template.
- Add tanvirr007 as default assignee to feature request template.
- docs: align codebase trees in readme and agents (aeb2471)
- Update data directory subfolder tree in AGENTS.md to match filesystem, MediaStore, and SAF packages.
- Align domain, data, and ui package descriptions in README.md.
v3.4.7
Quarry
Note
This release tracks build v3.4.7 (Build 47)
📦 Build Information
- Version:
v3.4.7 - Commit:
630ae37 - Build Time:
2026-09-01 14:51:14 UTC - Android:
12.0+ - SHA-256:
847f1b5d3966014f3db8a91a4a846e855c22097344d104c3a50d6d74707d51b4
🔗 Direct Downloads
- Versioned APK: Quarry-v3.4.7.apk
- Latest APK (Permanent Link): Quarry.apk
📝 Changelog
- refactor: rename delete dialog (630ae37)
- Rename DeleteCountdownDialog to DeleteConfirmationDialog.
- Move DeleteConfirmationDialog to ui/components package.
- Update dialog usages across Home, Explore, and Cleanup.
- Update documentation and architectural guidelines.
- refactor: refine delete dialog ui (bc771a4)
- Update dialog title to Delete forever to prevent awkward text wrapping.
- Remove single-line truncation to show full file name and folder directory.
- Update space recovery card label to Space to Reclaim.
- Add vertical scrolling to dialog content container.
- feat: add pull to refresh on screens (6915754)
- Wrap HomeScreen in PullToRefreshBox to trigger storage scans.
- Wrap CleanupScreen in PullToRefreshBox to trigger storage rescans.
- Play haptic feedback when pull-to-refresh action triggers.
- Bind refresh indicators to active scan state flows.
- feat: scan storage on duplicate rescan (afeb56d)
- Run full storage scan before duplicate analysis on rescan.
- Observe ScanRepository scan state in CleanupUiState.
- Show live progress banner during active storage scanning.
- Disable duplicate scan buttons while scanning is active.
- fix: prevent deselect all line wrap (0869f2c)
- Shorten selection counter text to prevent pushing action buttons off row.
- Add maxLines 1 and softWrap false to action buttons in DuplicateGroupView.
- Prevent Deselect All text wrapping in CleanupCategoryDetailBottomSheet.
- Adjust button spacing to 2.dp for compact row layout.
- chore: update ui preview screenshots (c1b8103)
- Replace outdated UI screenshots with updated captures.
- Normalize asset filenames to match README references.
- docs: add why choose quarry section (ded20ce)
- Add Why Choose Quarry comparison section to README.md.
- Highlight modern Android support, offline privacy, and touch-optimized treemap.
- Simplify comparative matrix into a clean 2-column format.
v3.4.6
Quarry
Note
This release tracks build v3.4.6 (Build 46)
📦 Build Information
- Version:
v3.4.6 - Commit:
11115bf - Build Time:
2026-09-01 11:34:10 UTC - Android:
12.0+ - SHA-256:
81ea08d7034453ffa194b8d4572b4db32e9ffe84d32713bc51aedf9badec2635
🔗 Direct Downloads
- Versioned APK: Quarry-v3.4.6.apk
- Latest APK (Permanent Link): Quarry.apk
📝 Changelog
- feat: add file info dialog on long-press (11115bf)
- Add FileInfoDialog composable in ui/components for read-only file details.
- Show full untruncated path, size, format, date, and copy-to-clipboard.
- Use AlertDialog to avoid nested bottom sheet gesture conflicts.
- Add long-press via combinedClickable to DuplicateGroupView file rows.
- Add long-press via combinedClickable to CleanupCategoryDetailBottomSheet cards.
- Add long-press via combinedClickable to TrashManagementDialog items.
- Existing tap-to-select checkbox behavior is fully preserved.
v3.4.5
Quarry
Note
This release tracks build v3.4.5 (Build 44)
📦 Build Information
- Version:
v3.4.5 - Commit:
2909c0e - Build Time:
2026-08-31 21:50:59 UTC - Android:
12.0+ - SHA-256:
d9f5ab91e86ff4efab17652a9b24fd2554c2614ebdba97d9e453613e381de649
🔗 Direct Downloads
- Versioned APK: Quarry-v3.4.5.apk
- Latest APK (Permanent Link): Quarry.apk
📝 Changelog
- chore: prepare v3.4.5 prod release (2909c0e)
- Set versionName to 3.4.5 in build.gradle.kts for production release.
- feat: polish exit confirmation dialog (c2d4f48)
- Replace warning sphere with theme-aware squircle exit badge.
- Place Exit and Stay buttons side-by-side for compact height.
- Update exit dialog strings and theme token bindings.
v2.3.9
Quarry
Note
This release tracks build v2.3.9 (Build 43)
📦 Build Information
- Version:
v2.3.9 - Commit:
6ab00d6 - Build Time:
2026-08-31 21:12:36 UTC - Android:
12.0+ - SHA-256:
3354017d395220ee38c3497a8fff9f26468e88d9e8768a2ef0c725b2165b6249
🔗 Direct Downloads
- Versioned APK: Quarry-v2.3.9.apk
- Latest APK (Permanent Link): Quarry.apk
📝 Changelog
- feat: redesign exit confirm sheet (6ab00d6)
- Replace AlertDialog with modern ModalBottomSheet exit confirmation.
- Add 3D warning badge with radial gradient and high-contrast icon.
- Provide full-width stacked Yes and No action buttons with haptics.
- Clean up unused exit dialog description in strings.
- fix: cleanup candidate card subtitles (574d92d)
- Allow subtitles in CleanupCategoryCard to wrap up to 2 lines with ellipsis.
- Refine candidate group descriptions to be clear and concise.
- Prevent incomplete text clipping across all storage candidate cards.
- fix: prevent treemap blank screen (7ac0b2e)
- Key navigation transition strictly on currentPath in TreemapCanvas.
- Prevent async node emissions from cancelling active navigation animations.
- Guarantee transitionAnim reaches 1f when not actively navigating.
v2.3.8
Quarry
Note
This release tracks build v2.3.8 (Build 42)
📦 Build Information
- Version:
v2.3.8 - Commit:
366af1e - Build Time:
2026-08-31 20:48:42 UTC - Android:
12.0+ - SHA-256:
5a365fb4d33d9e48c5ccfb7080fdd523bd61cd1a7751e60055d8162ebb28ac5d
🔗 Direct Downloads
- Versioned APK: Quarry-v2.3.8.apk
- Latest APK (Permanent Link): Quarry.apk
📝 Changelog
- fix: sync folder rename descendant paths (366af1e)
- Add renamePathPrefix transaction to FileDao updating child path prefixes.
- Expose renamePath in ScanRepository for atomic folder/file rename updates.
- Update FileOperationsManager to synchronize descendants on folder rename.
- Trigger Android MediaScannerConnection scan on renamed paths.
- fix: switch to list mode on open folder (96a3d31)
- Switch Explore viewMode to LIST when navigating to containing folder.
- Ensure folder navigation from Types or Largest mode displays directory hierarchy.
- Provide immediate visual confirmation when jumping to a file's folder.
- fix: support search delete and selection (60d4a1a)
- Allow selectAll to accept displayed files collection in ExploreViewModel.
- Pass currentFiles to selectAll and promptDeleteSelected in ExploreScreen.
- Resolve selected file candidates against all loaded files for deletion.
- Fix silent failure when deleting search results residing in subfolders.
- fix: fix old downloads cleanup filter (d68b999)
- Wrap download identification conditions in parentheses in DefaultCleanupEngine.
- Ensure 30-day age requirement applies to all download candidate paths.
- Prevent recently downloaded files from appearing in old downloads cleanup.
- Add unit tests verifying old vs recent download candidate categorization.
- fix: resolve types category crash (5938f0c)
- Replace unvirtualized category accordion with interactive category cards in FileTypeGroupView.
- Open full virtualized bottom sheet when tapping categories in Explore Types mode.
- Add batch trash and delete handlers with biometric authentication to ExploreViewModel.
- Prevent UI thread freeze and ANR crashes on large categories across all devices.
- feat: animate treemap navigation (66fbd4f)
- Add direction-aware drill-down and drill-up transitions to TreemapCanvas.
- Add glowing tactile touch highlight on active tile press.
- Add smooth double-tap zoom reset animation using Animatable.
- Add animated empty directory transitions and maintain layout measurement.
- Pass currentPath from ExploreScreen to TreemapCanvas for navigation transitions.
- feat: add app exit confirmation (e3df9c8)
- Add ExitConfirmationDialog with Material 3 styling and haptics.
- Intercept system back press on HomeScreen with BackHandler.
- Prompt user with confirmation dialog before exiting application.
- Add string resources for exit dialog title, message, and actions.
- chore: improve issue templates (272d5d4)
- Update bug report template with log file attachment instructions and friendly guidelines.
- Add support for drag and drop log files, crash traces, and screenshots.
- Add discussion and question issue template for community queries.
- Update feature request template with clearer prompts and mockup support.
- Enable blank issue option in configuration and update documentation links.
