• v0.0.pr10 3eacc9dd90

    Claude released this 2026-06-06 22:42:02 +00:00 | 163 commits to main since this release

    Added

    • Session-only undo/redo (Ctrl+Z / Ctrl+Y) for tag assignment and DELETE marking, covering the tag panel, grid context menu, viewer, and bulk-apply actions. History clears whenever a new directory is opened.

    Fixed

    • A duplicate shortcut binding that blocked Ctrl+Z from working
    • A crash when rotating images in the viewer with the ] key
    Downloads
  • v0.0.pr09 b676ec5ac5

    Bulk Image Organizer Pre-Release 9
    All checks were successful
    CI / lint (push) Successful in 9s
    CI / test (push) Successful in 2m33s
    CI / nuitka-smoke (push) Successful in 17m1s
    Pre-release

    Claude released this 2026-06-06 21:50:51 +00:00 | 167 commits to main since this release

    Added

    • Sorting by filename, date, size, resolution, or tag priority, applied consistently in both the grid and viewer; metadata scans now process images in the active sort order
    • Full workspace tagging system: tag panel with colored swatches, context-menu and keyboard tagging, a real tag filter, and DELETE marking in the grid and viewer with a confirmation-backed bulk clear
    • Filmstrip tag dots and a viewer metadata bar listing applied tags

    Fixed

    • Sort changes now apply immediately instead of requiring a re-trigger
    • Metadata scans no longer reprocess stale rows from prior sessions or double-process images when batching
    • Tags were being lost on reopening a directory because of how image rows were upserted; fixed to preserve existing tag links
    • The Linux launcher now warns when the compiled binary is older than the source instead of silently running a stale build
    Downloads
  • v0.0.pr08 f7a6994696

    Claude released this 2026-06-06 01:32:22 +00:00 | 176 commits to main since this release

    Added

    • Full image viewer sub-workbench: large image pane with carousel side previews, a resizable filmstrip, keyboard navigation, a quality/metadata overlay, and debounced rotation writes to the original file
    • A Back button and status bar position counts ("N of total") in the viewer
    • ViewerImageLoader and RotationWriteWorker, following the project's threading contract

    Fixed

    • Keyboard focus, rotation centering, carousel/filmstrip background colors, and grid column overflow
    • Workbench switching from the viewer no longer leaves floating grid controls behind
    • Panel overlap and a clean-shutdown crash when closing the app from certain workbenches
    • Stale post-scan dialog removed; viewer now reconciles smoothly after a rescan adds, removes, or rotates images
    Downloads
  • v0.0.pr07 22c68a8fcc

    Bulk Image Organizer Pre-Release 7
    Some checks failed
    CI / lint (push) Successful in 8s
    CI / test (push) Successful in 1m53s
    CI / nuitka-smoke (push) Has been cancelled
    Pre-release

    Claude released this 2026-06-05 23:09:15 +00:00 | 184 commits to main since this release

    Added

    • Multi-workbench UI shell: Grid, Duplicates, Trash, Settings, and Help workbenches plus an image-viewer sub-mode, with toolbar-driven switching and a Tag Filter control
    • Filter proxy powering Trash review and tag filtering
    • Refactored the PR5/PR6 thumbnail grid to plug in as the real Grid workbench, with the other workbenches as stubs for now

    Fixed

    • A shutdown crash ("Internal C++ object already deleted") caused by workbench widgets being deleted on mode switches; shared widgets are now detached and reused instead
    • CI packaging smoke job now skips cleanly when build inputs haven't changed, and artifact uploads no longer fail on re-runs of the same commit
    Downloads
  • v0.0.pr06 1bf11c46cb

    Bulk Image Organizer Pre-Release 6
    Some checks failed
    CI / lint (pull_request) Successful in 8s
    CI / lint (push) Successful in 8s
    CI / test (pull_request) Successful in 1m29s
    CI / test (push) Successful in 2m50s
    CI / nuitka-smoke (pull_request) Successful in 14m44s
    CI / nuitka-smoke (push) Failing after 13m28s
    Pre-release

    Claude released this 2026-06-04 19:25:16 +00:00 | 190 commits to main since this release

    Added

    • Background thumbnail generation worker with a BLOB cache in the working database, replacing on-demand decoding
    • Fractional display-size slider for the grid, with a separate save-resolution setting, both backed by global preferences
    Downloads
  • v0.0.pr05 badec3f5e9

    Bulk Image Organizer Pre-Release 5
    All checks were successful
    CI / lint (pull_request) Successful in 6s
    CI / test (pull_request) Successful in 1m13s
    CI / nuitka-smoke (pull_request) Successful in 8m5s
    Pre-release

    Claude released this 2026-06-04 17:11:57 +00:00 | 193 commits to main since this release

    Added

    • Visual thumbnail grid: switched the main list view to icon mode with a custom delegate that paints thumbnail cells, filenames, tag badges, and DELETE overlays
    • New model roles for thumbnails, tags, and delete-flag state
    • pytest-qt test coverage for the grid and delegate
    Downloads
  • v0.0.pr04 fcc929bba9

    Bulk Image Organizer Pre-Release 4
    Some checks failed
    CI / lint (push) Successful in 6s
    CI / test (push) Successful in 1m11s
    CI / nuitka-smoke (push) Has been cancelled
    Pre-release

    Claude released this 2026-06-04 16:43:42 +00:00 | 198 commits to main since this release

    Added

    • Full scanning engine: background discovery + metadata scan workers with progress reporting, cancellation, and live grid population as results arrive
    • Automatic pruning of missing files and cleanup of singleton duplicate tags after each scan
    • First real MainWindow: File menu with Open + Recent directories, toolbar (open/cancel), list view, progress bar, and a post-scan summary dialog
    • "Open last directory on startup" preference

    Changed

    • Split scanning into a fast discovery pass (names/totals only) followed by a metadata pass (quality signals), instead of one big blocking scan
    • Live model enrichment as metadata arrives, rather than a full reload when the scan finishes

    Fixed

    • An all-images-skipped bug caused by a datetime import ordering issue
    Downloads
  • v0.0.pr03 6e7ad6fffd

    Bulk Image Organizer Pre-Release 3
    All checks were successful
    CI / lint (push) Successful in 6s
    CI / test (push) Successful in 2m3s
    CI / nuitka-smoke (push) Successful in 3m39s
    Pre-release

    Claude released this 2026-06-03 03:19:37 +00:00 | 203 commits to main since this release

    Added

    • Two-tier SQLite data layer: GlobalConfigDB and WorkingDB with full schema (images, tags, image_tags, scan_history), WAL mode, and schema versioning via PRAGMA user_version
    • ImageRecord / Tag / ScanHistoryEntry dataclasses and row factories, short context-managed transactions, and duplicate-tag helpers (get-or-create, link/unlink, prune)
    • Global config DB support for preferences, recent directories, and shortcut overrides
    • Path/extension utilities for portable, cross-platform image handling
    • First pure image scanner (SHA-256 exact hash, perceptual hash, Pillow metadata) and an initial background ScanWorker skeleton following the threading contract
    • 10 unit tests covering the new data layer milestone

    Changed

    • Moved CI package uploads to the new ai-collab org and its packager token
    • Increased Nuitka smoke-build tarball compression to reduce CI artifact storage
    Downloads
  • v0.0.pr02 3eac288682

    Bulk Image Organizer Pre-Release 2
    All checks were successful
    CI / lint (push) Successful in 6s
    CI / test (push) Successful in 1m5s
    CI / nuitka-smoke (push) Successful in 2m38s
    Pre-release

    Claude released this 2026-06-01 05:22:10 +00:00 | 209 commits to main since this release

    Added

    • Structured logging (console + optional file handler), wired into the main window at startup
    • Application constants module
    • First packaging groundwork: Nuitka project directives in main.py, a smoke build script, and a CI job that compiles a standalone build as a packaging health check
    • Local artifact build script for versioned single-file executables, with a persistent Nuitka cache for faster repeat builds

    Changed

    • Pinned the project to Python 3.12
    • Split CI into separate lint and test jobs so heavy Qt-dependent tests only run after lint passes

    Fixed

    • Installed missing Qt runtime libraries and switched pytest to the offscreen platform, fixing libEGL.so.1 failures on CI runners
    • Various lint/formatting cleanups so CI passes reliably across runner images
    Downloads
  • v0.0.pr01 047e9eaa0a

    Bulk Image Organizer Pre-Release 1
    Some checks failed
    CI / lint-and-test (3.11) (push) Failing after 1m4s
    CI / lint-and-test (3.12) (push) Failing after 1m10s
    Pre-release

    Claude released this 2026-06-01 01:16:05 +00:00 | 231 commits to main since this release

    Added

    • Initial project scaffold: pyproject.toml, package skeleton, and a minimal runnable PySide6 window
    • Core documentation: README with milestone checklist, TECHNICAL_OUTLINE.md, DESIGN.md, DECISIONS.md, and dual MIT/GPL-3.0 licensing
    • CI: lint (ruff) + pytest GitHub Actions workflow, plus basic smoke tests
    • Local validation tooling: a fully automatic Linux build/launcher script that sets up a venv, installs dependencies, and runs the app against real test images

    Decided

    • Resolved several early open product questions: exact-duplicate hashing strategy (full-file SHA-256), rotation write semantics (debounced direct write, no DB storage), where duplicate-tag padding is configured, the "sort into folders by tag" UI vision, and the local test-images workflow
    Downloads