Skip to content

Releases: tanvirr007/quarry-app

v3.4.16

Choose a tag to compare

@github-actions github-actions released this 11 Sep 20:57

Quarry Banner

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

📝 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

Choose a tag to compare

@github-actions github-actions released this 10 Sep 17:01

Quarry Banner

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

📝 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

Choose a tag to compare

@github-actions github-actions released this 10 Sep 08:46

Quarry Banner

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

📝 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

Choose a tag to compare

@github-actions github-actions released this 03 Sep 14:41

Quarry Banner

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

📝 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

Choose a tag to compare

@github-actions github-actions released this 01 Sep 15:13

Quarry Banner

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

📝 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

Choose a tag to compare

@github-actions github-actions released this 01 Sep 14:51

Quarry Banner

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

📝 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

Choose a tag to compare

@github-actions github-actions released this 01 Sep 11:34

Quarry Banner

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

📝 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

Choose a tag to compare

@github-actions github-actions released this 31 Aug 21:51

Quarry Banner

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

📝 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

Choose a tag to compare

@github-actions github-actions released this 31 Aug 21:12

Quarry Banner

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

📝 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

Choose a tag to compare

@github-actions github-actions released this 31 Aug 20:48

Quarry Banner

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

📝 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.