Releases: SysAdminDoc/SnapCrop
Release list
v6.91.0
SnapCrop v6.91.0
- Delete-original on save now actually removes the original screenshot from the gallery. The previous path used a direct MediaStore update to move the source into a visible
Pictures/trashed/album — but MANAGE_MEDIA does not authorize direct updates to media the app did not create, so on real (system-owned) screenshots the move silently failed and the original stayed in the gallery. Save & Replace now usescreateTrashRequest(the request API MANAGE_MEDIA does authorize), so the original goes to the system trash (Recently deleted) — out of every gallery view, recoverable — prompt-free when Media management access is granted. Verified on-device. - Fixed the Custom redaction patterns settings section rendering as overlapping, unreadable text. Its call site wrapped the panel in a
Box, stacking the title, description, action buttons, and pattern list on top of each other; it now lays out vertically.
APKs are signed with the project's own release keystore (no code-signing certificate). Install the ABI matching your device, or the universal APK.
v6.90.0
SnapCrop v6.90.0
- Moved on-device ML model inventory queries off the main thread.
OcrModelManagerandTranslationModelManagernow construct ML Kit recognizer clients and initiate Play services module IPC onDispatchers.IO, so a cold or slow Play services can no longer stall the Settings UI thread while the ML models panel resolves its live inventory. On-device testing on a physical Android 16 target surfaced this as an intermittent ANR/process kill when the panel first composed. - Fixed local-network search routing on Android 16 and below: the routed reveal now reliably scrolls to the always-present Network exports section instead of silently scrolling nowhere; the dedicated local-network control remains Android 17+ only.
- Validated the full instrumentation suite on a physical Android 16 (API 36) device for the first time, including the optional Japanese OCR module download/run/release round-trip over Wi-Fi and the Ultra HDR JPEG gain-map round-trip.
Unsigned-trust-chain note: APKs are signed only with the project's own release keystore (no code-signing certificate). Install the ABI matching your device, or the universal APK.
SnapCrop v6.89.0
Capture-first redesign and prompt-free replacement.
What's changed since v6.88.0
- Save & Replace now publishes the edited crop first, then moves the source MediaStore item into the visible
Pictures/trashed/album instead of Android Trash. Manual Delete continues to use recoverable Trash. - Android 12+ uses one-time Media management and photo-location access so source moves complete without confirmation for every image. Settings reports readiness and links to the exact system control; denial or failure retains the original while keeping the saved crop.
- Android 10-11 retains the platform confirmation fallback because prompt-free media-management access is unavailable there.
- Reworked dark and light design tokens around graphite/navy surfaces with distinct coral action, violet organization, and green readiness roles while retaining automated normal-text contrast coverage.
- Home combines monitoring readiness and Edit image into one compact hero, moves optional permission recovery below the primary workflow, condenses the tool catalog into a scannable Workspace grid, and labels Gallery as Library.
- Library opens without a redundant Back control, hides stale keyboard focus, pairs search with filters, and elevates Unfiled and All Photos into full-width review lanes ahead of denser album cards.
- Editor mode navigation is slimmer and segmented, uses the clearer Redact label, gives the canvas more visual priority, and applies the new primary action treatment to crop handles and save controls.
- Added the generated three-surface design target and emulator-rendered visual QA for Home, Library, and Editor under
docs/mockups/.
Verification
- Complete debug unit-test suite and Android lint passed.
- Debug and instrumentation APK assembly passed.
- Official five-APK signing, ABI, 16 KB alignment, release-size, SBOM, provenance, and redaction-quality gate passed.
- Verified Save & Replace on a physical Samsung SM-S938B: source moved to
Pictures/trashed/,is_trashed=0, and no SnapCrop Trash request was launched.
Full Changelog: v6.88.0...v6.89.0
SnapCrop v6.88.0
Highlights
- Adds a deterministic Unfiled screenshot inbox with File, Remind, Keep unfiled, and recoverable Trash actions.
- Adds private local two-screenshot comparison and user-managed optional ML model delivery.
- Adds a generated screenshot-similarity benchmark; measured candidates did not clear the production safety gate, so reviewed duplicate matching remains unchanged.
- Removes unused Navigation Compose and enforces compressed/expanded APK, dependency, and native-library size budgets.
- Publishes five production-signed APKs with CycloneDX SBOM and schema-4 provenance.
See CHANGELOG.md for the complete release history.
SnapCrop v6.68.0
Privacy-safe home widget with Latest, Quick Crop, and Gallery actions that never render screenshot pixels. Focused PDF and crop raster renderers reduce activity complexity without behavior changes. Lossless dimension/luma/hash-prefix indexing scales duplicate grouping while preserving complete-link semantics. Includes the signed APK, CycloneDX SBOM, and clean-source provenance manifest.
SnapCrop v6.67.0
Premium interface release: status-led Home, focused Edit action, structured quick tools and Recent states, complete light/dark design tokens, accessible full-row Settings toggles, recoverable Gallery empty states, a simplified editor app bar, 44dp selected color swatches, distinct destructive styling, and aligned Room migration-test serialization runtime. Includes signed APK, CycloneDX SBOM, and clean-source provenance.
SnapCrop v6.27.0
What's New
Trust, distribution, and resilience.
Features
- Quick Crop clipboard copy — saved crops are ready to paste immediately
- Long screenshot seed cleanup — delete the short trigger screenshot after saving
- Color sampler with HEX/RGB/HSL codes and WCAG/APCA contrast checker
- Searchable OCR PDF export with invisible text layer
- Selectable OCR scripts (Chinese/Japanese/Korean/Devanagari)
- EXIF metadata transfer on save (strip GPS/device info, keep photo metadata)
- Settings backup & restore to JSON
- Process-death editor checkpointing
- Local crash diagnostics (viewable/shareable from Settings)
- Opt-in sideload update checker via GitHub Releases API
- Secure editor screen (FLAG_SECURE) option
- Per-app language support
Fixes
- WebDAV upload now appends filename when endpoint URL has no trailing slash
- Fixed bitmap leak in export pipeline when rotation + identity adjustments
- Color picker RGB conversion uses proper rounding (no more off-by-one colors)
- Curves gamma LUT uses rounding for faithful preview-to-export match
- Project sidecars now persist perspective warp data (was silently dropped)
- Edge-to-edge inset hardening across all screens
- TalkBack canvas semantics with custom accessibility actions
- 36dp touch target enforcement for compact controls
Requirements
- Android 10+ (API 29)
- Google Play Services (for ML Kit features)
SnapCrop v6.26.0
SnapCrop is a privacy-first, local-first Android screenshot autocrop + annotation studio. This is a large cumulative release with a deep correctness/security/UX hardening pass.
Install
Download SnapCrop-v6.26.0.apk below and open it on your device. You may need to allow "Install unknown apps" for your browser/file manager. The APK is release-signed (no developer keys or extra setup required) and installs on Android 10 (API 29) and newer.
Highlights since the last public release
- Capture workflows — long/scrolling screenshot stitcher, delayed capture, one-tap last-action tile, screen-recording frame & clip tools, and a new step-capture mode that turns a sequence of taps into a numbered guide image.
- Editor — perspective/quad crop, a measurement ruler tool, movable/resizable/rotatable annotation layer transforms, smart erase, AI reframe, and re-openable
.snapcrop.jsonprojects with SVG annotation sidecars. - Privacy — on-device sensitive-text detection with auto-redact on share, conditional Quick Crop auto-actions, and a strict permission posture (no all-files access, backups disabled, optional overlay).
- Library — Room-backed screenshot intelligence index with reactive smart albums and indexed search, gallery cleanup, and PDF export.
- Theming & i18n — Dark / Light / System themes and ~660 externalized strings for full localization.
This release — deep audit hardening (v6.26.0)
- Fixed a fullscreen-viewer crash on delete, a corrupt magnifier export, and a project-sidecar decode crash.
- Made the editor adapt correctly to light theme (semantic accent/channel tokens; fixed low-contrast surfaces).
- Share/Copy now apply the configured border + watermark and fail safely on out-of-memory.
- Stitch & Collage stream image decodes to fix out-of-memory crashes on large jobs.
- Services: lifecycle-bound coroutine scopes, overlay/step-capture leak fixes, and a refusal to send credentials over non-HTTPS.
- Accessibility: larger touch targets, proper content descriptions, and internationalized editor controls.
See CHANGELOG.md for the full list.
SnapCrop v6.7.3
Signed SnapCrop v6.7.3 release.
Changes:
- Home Recent crops now expose visible delete controls instead of hidden long-press deletion.
- Deleting a recent crop now asks for confirmation and clarifies that the source screenshot is not touched.
- Recent crop open/delete actions have clearer accessibility labels and stable touch targets.
Verification:
- Built with
./gradlew :app:clean :app:assembleRelease. - Verified APK signature with
apksigner verify --print-certs. - Confirmed package metadata: versionCode 55, versionName 6.7.3, minSdk 29, targetSdk 35.
SnapCrop v6.7.0
Gallery cleanup: one-tap select all screenshots.
When you open an album with raw screenshots cluttering it, a phone-icon button + count now appears in the top bar. Tap it to enter selection mode with every screenshot-sized image pre-selected — then tap the trash icon to delete them all at once.
How detection works
- Every image's MediaStore
WIDTH/HEIGHTis compared against your device's physical display resolution (with ~2% tolerance for status-bar / cutout trims). - Filename hint (
Screenshot_..., contains "screenshot") is also accepted, so manufacturer-specific or long-screenshot files still get flagged. - Detected screenshots get a small phone-icon badge in the top-left of the grid tile so you can verify before bulk-deleting.
Browse-by-swipe
Tap any image in the gallery viewer → swipe left/right to flip through the rest of the album.
Install
Sideload SnapCrop-v6.7.0.apk. minSdk 29.