Skip to content

Releases

EzSort v0.4.0: a redesigned desktop experience

Choose a tag to compare

@github-actions github-actions released this 23 Oct 15:37

EzSort v0.4.0

A redesigned desktop experience. The sorting engine, the CLI, and the
on-disk config/history formats keep working exactly as before; the entire
presentation layer, responsiveness, and large-folder performance were
rebuilt.

Organizer preview

Highlights

  • One design system, two real themes. A single token scale for spacing,
    type, radii, and color, with independently tuned warm-slate dark and warm-paper
    light palettes. Every text/background pair the UI uses is checked against
    WCAG AA in the test suite.
  • All six pages rebuilt. Dashboard, Organizer, Categories & Rules,
    History & Undo, Activity, and Settings now share the same sidebar, page
    header, cards, tables, badges, banners, dialogs, toasts, and empty states.
  • Truthful state everywhere. Statistics, folder badges, table counts,
    progress, history rows, and activity entries come from the live engine,
    config, history, and activity log. There are no placeholder numbers and no
    dead controls.
  • Responsive at the minimum size. Tables re-proportion columns instead of
    forcing the page wider, scrollbars hide themselves when content fits, and
    toolbars switch to compact labels at narrow widths. Every page was captured
    and inspected at the 1281x851 physical minimum.
  • Search and filtering. Organizer filters by move/rename/skip and searches
    file, category, and destination; History and Activity have live search;
    Categories filters by name; Activity has kind chips.
  • Persistent activity log. The last 500 events survive restarts in
    activity.json, v0.3.0 entries load unchanged, and an unreadable file is
    moved aside rather than deleted.
  • Faster large folders. Planning is now O(n), the scanner reuses
    DirEntry metadata, and table inserts avoid a quadratic empty-state check.
    A 10k-file preview dropped from roughly 100 seconds to under 10 seconds on
    the test machine.

Safety and compatibility

  • No files are deleted, overwritten, extracted, or uploaded. Existing files at
    a destination are renamed, never replaced.
  • Undo stays conflict-safe: occupied original paths are skipped and the
    remaining work stays in history for a later retry.
  • Cancellation is per task, so cancelling a scan never stops a sort or watch.
  • v0.3.0 config, custom rules, history, and activity files load unchanged.
    History additions (status, cancelled, total_planned, undo tombstones)
    are additive and old readers ignore them.
  • A golden test runs the CLI and the GUI against identical synthetic folders
    and asserts the resulting file trees match.

Keyboard shortcuts

Key Action
Ctrl+1 … Ctrl+6 Jump to a page
F5 Refresh the current page
Ctrl+F Focus the current page's search
Ctrl+O Choose a folder
F1 Show the shortcut sheet
Enter Run a preview from the folder box
Esc Close an overlay / leave search

Downloads

Asset Contents
EzSort-gui-windows.zip Standalone desktop app (EzSort.exe), no Python required
ezsort-cli-windows.zip Standalone CLI (ezsort.exe)
SHA256SUMS.txt SHA-256 checksums for both zips

Extract a zip and run the executable inside it. Verify a download with:

Get-FileHash .\EzSort-gui-windows.zip -Algorithm SHA256

The release build runs the full test suite, builds both executables, and
verifies them end to end (version, real sort, undo, GUI launch, screenshot,
persistence, clean close) before publishing these assets.

Upgrading

pip install --upgrade ezsort for the CLI and module entry points, or replace
your extracted Windows folder with the new zip. Existing configuration and
history are picked up automatically.

Full details: CHANGELOG.md
and docs/DECISIONS.md.

EzSort v0.3.0

Choose a tag to compare

@kritagyadubey kritagyadubey released this 15 Oct 03:57

EzSort 0.3.0

A stability-and-polish release: no new commands — the focus was making every
existing path correct and making the desktop app feel finished.

Highlights

  • Every GUI sort was failing. The organizer passed a cancel_check name
    that no longer existed after the cancel-token refactor, so every run ended
    with "Sorting failed" and moved nothing. Fixed, with an end-to-end test that
    runs a real sort.
  • Stale previews could sort the wrong folder. Picking a new folder while a
    previous scan was still running let the old plan land afterwards. Scans now
    carry a sequence number and superseded results are dropped.
  • "Sort unfinished downloads too" was inverted — ticking it stopped
    partials being sorted, and unticking them let half-finished .crdownload
    files be moved mid-download.
  • Cancel could hit the wrong task (organizer vs. watch mode); tokens are
    now per-task.
  • Light theme leaked dark colors — the sidebar brand block stayed black
    after switching. Fixed.
  • Clipped scan summary — short windows squashed the options card and cut
    the "N file(s) scanned | N move(s) planned" line in half. Only the
    scrollable table row flexes now.
  • History detail rows keyed by operation index (duplicate filenames showed the
    wrong file), frozen EXE icon lookup, scanner O(n²) exclusion check, and
    wave-based watch-mode history batching.
  • Premium UX pass: WCAG AA contrast on both themes, visible keyboard
    focus, Ctrl+1..6 / F5 shortcuts, striped table rows, Per-Monitor V2 DPI,
    real app icon, and Windows version metadata in both executables.

Verification

  • 172 tests (170 passed, 2 skipped — up from 120 at 0.2.0), including 45
    new desktop-app tests with real end-to-end sort and cancel runs.
  • GUI smoke test: 28/28 checks.
  • Both executables verified end-to-end on disposable temp folders:
    CLI 32/32, GUI 16/16 (launch, screenshot, close, config/geometry
    persistence, relaunch).
  • Explorer Properties shows 0.3.0.0 / Kritagya Dubey for both EXEs.

Install

Download the zip for what you need and extract it:

  • EzSort-gui-windows.zip — the desktop app (EzSort.exe), no Python required
  • ezsort-cli-windows.zip — the command-line tool (ezsort.exe)

No files are ever deleted or overwritten; every sort is undoable from
History or ezsort undo.

Full changelog: https://github.com/kritagyadubey/EzSort/blob/main/CHANGELOG.md

Full Changelog: v0.2.0...v0.3.0

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 14 Oct 14:53

What's Changed

New Contributors

Full Changelog: https://github.com/kritagyadubey/EzSort/commits/v0.2.0