Releases: camilopaezz/SwiftMask
Releases · camilopaezz/SwiftMask
Release list
SwiftMask 1.3.0
Added
- Paste copied image files or image pixels with Ctrl+V; multiple files enter the batch queue
- Expanded end-to-end coverage for queue, folder watch, and settings
Fixed
- Single-image cancel can be retried if IPC cancel fails instead of wedging Process
- Output PNG and
config.jsonwrites go through a temp file then rename - Malformed
config.jsonis quarantined so the app still boots - Queue runs record last-job timings in Settings
- Folder-watch auto-run no longer imports through a module cycle
Removed
- Dead single-image
acceptDroppath and unused generatedgetModelById
SwiftMask 1.2.0
English and Spanish UI localization.
Added
- i18n — wire
i18next/react-i18nextacross the UI; English and Spanish locale files - Language follows the OS locale (
es*→ Spanish, otherwise English); documentlangupdates with language changes - Spanish review page (
locale-review.html) for checking translated strings
Changed
- Error copy, finish notices, queue/overwrite dialogs, and settings/about UI use translation keys instead of hard-coded English
SwiftMask 1.1.1
Finish notices polish and folder-watch reliability on the 1.1 batch line.
Added
- Dual-surface finish notices for queue batches and single-image Process: always show AppNotice; OS desktop toast when the main window is unfocused or minimized
- AppNotice auto-dismiss: info after 5s, warning after 8s (paused while hovered); errors stay until dismissed
- Prefer GPU→CPU fallback wording over a plain success summary when a job fell back mid-run
Fixed
- Folder watch: detect rename-into-place and harden settle so late-arriving files are not missed
SwiftMask 1.1.0
Batch processing and settings polish on top of the 1.0 stable line.
Added
- Batch queue — multi-image drop and serial processing with per-row progress, fail-continue, cancel that leaves remaining items pending, retry/clear, and keyboard Process/Cancel in queue mode
- Open folder — load a folder of images into the queue; outputs write under
{folder}-nobg/(created on Process, not on open); directory drop andCtrl+Shift+O - Folder watch (optional) — top-level notify watch with settle delay and junk filters; auto-enqueue/process new images after the first manual Process; cancel pauses auto-run until Process again
- Overwrite policy for batch — one-shot Yes/No/Cancel dialog (Overwrite all / Skip existing / Cancel); sticky mid-run policy; watch auto-run overwrites without re-prompting
- Warm ORT session across queue jobs — successful runs keep the cached session for serial throughput; drop on OOM (all keys), other errors (one key), EP invalidate, or 120s idle TTL
- Settings panel redesign: theme segmented control, EP chips + mini benchmark, output path Browse/Reset (
clear_output_dir), updates status card with version badge and status pills - Hybrid quality rail (Balanced / Balanced+ / High / Max) with detail panel; Turbo/
u2netpremains benchmark-only and is not a user-facing mode
Changed
- File source UI: compact file block with mini actions and Watch toggle; queue drawer with status/action icons and animated expand/collapse
- Quit/leave confirmations when the queue has pending or running work; EP locked while a batch run is active
Fixed
- Queue FIFO ordering, path-key dedup (Windows separators/case), and finish-toast suppression on cancel
- E2E mocks and specs for queue finish/failed UX, High mode segments, and multi-drop path_is_dir
SwiftMask 1.0.0
First stable release. Non-prerelease tags enable the in-app auto-updater (/releases/latest).
Added
- High quality mode (
birefnet-general-lite, MIT) — mid/high tier between Balanced+ and Max Quality; BiRefNet postprocess uses sigmoid then min-max - Signed auto-updater via static
latest.jsonon GitHub Releases (Settings → Check for updates; quiet check after launch) - About & licenses panel in Settings: app/ORT versions, MIT notice, model license table, GitHub links; external links open in the system browser (including the NC license modal)
- Release and CI publish extra installers: Linux
.deb/.rpmand Windows.msi(alongside AppImage + NSIS)
Changed
- High mode uses studioludens/birefnet-lite-512 (512×512 ONNX, ~183 MB) instead of rembg’s 1024 BiRefNet-general-lite, to reduce peak VRAM / OOM on constrained GPUs; download URL is pinned to a Hugging Face commit; legacy
birefnet-general-lite.onnxcache files are purged on model list/download
Fixed
- Windows MSI bundling with SemVer pre-release versions (e.g.
0.9.0-beta.1) by setting a numericbundle.windows.wix.version(stable1.0.0uses the app version directly)
SwiftMask 0.9.0-beta.1
Added
- User-facing README with download/install steps, screenshots, keyboard shortcuts, and troubleshooting
- Screenshots under
docs/screenshots/for the main window, quality modes, and before/after results - User-visible error handling: structured
{code, message}wire format, friendly copy, sticky notices, and download retry - Keyboard shortcuts for core workflows (
Ctrl+Oopen,Ctrl+Enterprocess,Esccancel) - NC license acknowledgment modal before downloading non-commercial (CC BY-NC) models
- GPU OOM → automatic CPU inference fallback with user notice
- Backend download cancellation with single-flight download slot
- Custom scrollbar styles using theme tokens
- Dev → main release workflow and CI/CD gating for production PRs
- Redesigned UI shell: custom titlebar, left rail, animated modals/mode options
- Theme picker and rebranded color palette/logo
Fixed
- Windows downloads: partial/stalled files, atomic finalize, progress freezes, verify race
- Windows GPU detection via DXCore (aligned with DirectML adapter selection)
- Windows ORT/DirectML session leaks and OOM recovery
- Cached ORT session released after each inference run
Changed
- Prefer Balanced+ as default quality mode with safe Turbo fallback
- Fit image previews by aspect ratio
- Rename project from yabr to SwiftMask