Skip to content

Releases: MalyStern/quickfile-actions

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 27 Jul 17:24
Fix data-safety bugs and packaging (v0.5.0)

Rename engine (ops.ts):
- applyRename now returns per-file OpResult[] and refuses to run if two
  files collide on one target or an unrelated existing file would be
  clobbered; renames go through temp names so chains (a->b, b->c) can't
  destroy data, with rollback on failure.
- uniquePath() everywhere so no output ever overwrites an existing file.
- unzip: Zip Slip guard (entries must resolve under the output dir).
- zipFiles: de-duplicate entry names; guard empty input.

UI (App.tsx):
- RenamePanel surfaces the OpResult[] instead of silently discarding it;
  the file list only clears when every rename actually succeeded. Fixes a
  silent "fake success" data-loss path.
- SHA-256 button catches errors and reports them instead of throwing an
  unhandled rejection.

Main process (index.ts):
- runBatch uses bounded concurrency (max 4) so large batches don't spawn
  hundreds of parallel pipelines.
- filesFromArgv resolves paths and ignores flags.

Packaging (package.json):
- asarUnpack sharp/@img so the native module actually loads in the packaged
  app (previously invisible because tests run from source).
- macOS builds arm64-only; the cross-compiled x64 dmg had a broken native
  binary. Intel Macs build from source (README updated).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 27 Jul 17:10
v0.4: CLI + 20 languages

- Add a scriptable CLI (bin/quickfile.mjs, built via esbuild): convert, resize,
  compress, clean, hash, merge/split PDF, zip/unzip. Verified against real files.
- Reach 20 UI languages (added Hindi, Korean, Turkish, Indonesian, Dutch, Polish,
  Ukrainian, Vietnamese; 3 RTL: Hebrew, Arabic, Persian).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 27 Jul 15:59
v0.3: ZIP create & extract

Add ZIP actions via adm-zip: zip the selected files into archive.zip, or extract
an archive into a new folder next to it. Local, non-destructive, covered by tests.
A ZIP action row appears in the UI (Extract shows when a .zip is selected).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 27 Jul 15:55
v0.2: PDF merge & split

Add PDF actions via pdf-lib (pure JS): merge several PDFs into one, or split one
PDF into single-page files. Non-destructive, local, covered by tests. A PDF
action row appears in the UI when PDFs are selected.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

v0.1.1

Choose a tag to compare

@github-actions github-actions released this 27 Jul 15:49
Fix macOS release: build separate arm64 + x64 dmgs (sharp native bina…

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 27 Jul 15:39
Add app icon + 12 languages (incl. 3 RTL)

App icon (document + lightning) generated from SVG via sharp, wired into
electron-builder. UI localized to 12 languages: English, Spanish, Portuguese,
French, German, Italian, Russian, Chinese, Japanese, Hebrew, Arabic, Persian
(the last three right-to-left). More can be added easily — one dict per language.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>