
Sqush
Local-first image optimization for modern web formats
- 1 commit
Added an upstream signal ledger to track relevant source-project activity.
- 26 commits
Rebuilt the editor landing screen as a pink-blob drop/paste affordance with a horizontal logo lockup driven by attachments, matched to Squoosh's typography. Resolved the optimising spinner into a green Optimised badge that never flashes, defaulted WebP to quality 80, and consolidated docs into a single README.
- 38 commits
Upgraded every image codec to current CVE-closing versions: libwebp, libavif with libaom, libjxl, mozjpeg, oxipng, imagequant, and resize. Restored cross-origin isolation for WASM threads via COOP/COEP middleware, removed the dead WebP 2 codec, and added a benchmark harness plus a Playwright codec-regression suite.
- 34 commits
Hardened the migrated editor through a sweep of Svelte 5 idiom passes: value-typed control bindings, loadId-scoped reactivity, per-probe diagnostics effects with cleanup, and extracted OptionRow, ToggleRow, and AdvancedSection wrappers. Purged Preact-era dead code, guarded the service worker against loopback origins, made the landing keyboard-accessible, and added a user guide.
- 28 commits
Completed the Vite/SvelteKit migration and promoted the app to root. Rebuilt the dual-side editor to match Squoosh with resize, quantize, and rotate controls, a two-up before/after view with synced pinch-zoom, and per-codec option panels, moved history to SvelteKit shallow routing, and restored browser-native encoders with feature detection.
- 4 commits
Added a runnable single-image compressor UI in Svelte 5 for WebP, AVIF, and JPEG XL, then recorded and corrected its browser verification with actually-measured results.
- 45 commits
Pushed the SvelteKit migration deep into its codec layer: proved single-thread asset seams for every codec (WebP, AVIF, JPEG XL, OxiPNG, MozJPEG, QOI, ImageQuant, resize, rotate), shared the worker bridge, service worker, and image pipeline through SvelteKit, and generated the codec asset manifest. Deprioritized WebP 2 across the roadmap.
- 127 commits
Continued the deep refactor pulling editor and bulk-processing state into small, testable workflows and selectors, with async-update guards and listener cleanup throughout. Ran the SvelteKit migration probe end to end, proving the WebP pipeline, worker codec assets, and service worker cache, and recorded the prototype verdict.
- 161 commits
Ran a deep refactor pulling the editor and bulk-processing app into small, testable state helpers and workflows, with async-update guards and listener and worker-bridge cleanup. Built out the bulk queue: session snapshots and restore, requeue and abort handling, export naming, and concurrency limits, covered by browser smoke tests.
- 116 commits
Renamed the project to Sqush and stood it up as a standalone repo with domain metadata, CI across macOS, and a dependency-audit sweep clearing npm findings and migrating the CSS build stack. Built the bulk image processing architecture: session, queue, import, export, and retry helpers with orchestration and tests.

