Files
SnapOtter/CHANGELOG.md
T
2026-03-29 09:24:13 +00:00

453 lines
24 KiB
Markdown

# [0.18.0](https://github.com/siddharthksah/Stirling-Image/compare/v0.17.7...v0.18.0) (2026-03-29)
### Features
* add worker threads, persistent Python sidecar, graceful shutdown, and architectural improvements ([1274cc1](https://github.com/siddharthksah/Stirling-Image/commit/1274cc103fa2f0f934e9e2322c6034533ab62ec4))
## [0.17.7](https://github.com/siddharthksah/Stirling-Image/compare/v0.17.6...v0.17.7) (2026-03-28)
### Bug Fixes
* move health diagnostics behind admin auth ([ee9a20f](https://github.com/siddharthksah/Stirling-Image/commit/ee9a20f6a35a0681b3688f0e206914fceed8fd8c))
* reject HTML tags in settings API to prevent stored XSS ([d5bd011](https://github.com/siddharthksah/Stirling-Image/commit/d5bd01189766ee0797fe35ff3651f38f59a65881))
* simplify public health to static response, add 403 test ([9c05da6](https://github.com/siddharthksah/Stirling-Image/commit/9c05da6f1372abd071e5249b102d86fa294e0d22))
* switch README Docker references from GHCR to Docker Hub ([9e15679](https://github.com/siddharthksah/Stirling-Image/commit/9e1567971d50d755ef3b51d31e80b5a31a28ed2d))
* use two-pass validation in settings PUT to prevent partial writes ([2dc39d3](https://github.com/siddharthksah/Stirling-Image/commit/2dc39d353320b73d9abb96ee5ae1080c2ee2f9cb))
## [0.17.6](https://github.com/siddharthksah/Stirling-Image/compare/v0.17.5...v0.17.6) (2026-03-28)
### Bug Fixes
* resolve pipeline step race condition and infinite re-render loop ([e0177d4](https://github.com/siddharthksah/Stirling-Image/commit/e0177d405ef043a64f0b3a885e98169312be1fac))
* show checkerboard behind transparent images in before/after slider ([73741e6](https://github.com/siddharthksah/Stirling-Image/commit/73741e6efbdee53396810a2bb11eaf9597e4aa32))
## [0.17.5](https://github.com/siddharthksah/Stirling-Image/compare/v0.17.4...v0.17.5) (2026-03-28)
### Bug Fixes
* sync stepsRef during render, not useEffect ([0c86744](https://github.com/siddharthksah/Stirling-Image/commit/0c86744dda1073988c7e6bb55073f08e399c26f3))
## [0.17.4](https://github.com/siddharthksah/Stirling-Image/compare/v0.17.3...v0.17.4) (2026-03-28)
### Bug Fixes
* prevent stale closure in pipeline step callbacks ([c67f002](https://github.com/siddharthksah/Stirling-Image/commit/c67f0027804f167e250bd497505399c07b539c4e))
## [0.17.3](https://github.com/siddharthksah/Stirling-Image/compare/v0.17.2...v0.17.3) (2026-03-28)
### Bug Fixes
* clear search when adding a step from the tool picker ([ae2e63f](https://github.com/siddharthksah/Stirling-Image/commit/ae2e63f7fc4af3556539eee577b253c0616cbd0f))
## [0.17.2](https://github.com/siddharthksah/Stirling-Image/compare/v0.17.1...v0.17.2) (2026-03-28)
### Bug Fixes
* prevent pipeline step settings from resetting on collapse ([d899ef1](https://github.com/siddharthksah/Stirling-Image/commit/d899ef128004e46200da785a960da50894e93861))
## [0.17.1](https://github.com/siddharthksah/Stirling-Image/compare/v0.17.0...v0.17.1) (2026-03-28)
### Bug Fixes
* add remove-background settings to pipeline step configurator ([ae5ac81](https://github.com/siddharthksah/Stirling-Image/commit/ae5ac8134689e211f17534f3064995597b6337c8))
# [0.17.0](https://github.com/siddharthksah/Stirling-Image/compare/v0.16.4...v0.17.0) (2026-03-28)
### Features
* make AI tools pipeline-compatible and add search to tool picker ([2d46b09](https://github.com/siddharthksah/Stirling-Image/commit/2d46b096fa80e43f7a59e213ac884b5d1d30b586))
## [0.16.4](https://github.com/siddharthksah/Stirling-Image/compare/v0.16.3...v0.16.4) (2026-03-28)
### Bug Fixes
* surface hidden errors and add batch rejection tests ([2f8e2ce](https://github.com/siddharthksah/Stirling-Image/commit/2f8e2ce7e2b96613ebda249890632bc54c11980b))
## [0.16.3](https://github.com/siddharthksah/Stirling-Image/compare/v0.16.2...v0.16.3) (2026-03-28)
### Bug Fixes
* remove Google Drive coming soon placeholder from files nav ([e487fe0](https://github.com/siddharthksah/Stirling-Image/commit/e487fe06bf4cad6512100bf9660498e06c1047ba))
## [0.16.2](https://github.com/siddharthksah/Stirling-Image/compare/v0.16.1...v0.16.2) (2026-03-28)
### Bug Fixes
* pipeline only shows compatible tools and displays errors ([fe021c1](https://github.com/siddharthksah/Stirling-Image/commit/fe021c18b134c853262c8f0dac81c13f9ceeb435))
## [0.16.1](https://github.com/siddharthksah/Stirling-Image/compare/v0.16.0...v0.16.1) (2026-03-28)
### Bug Fixes
* trigger browser password save prompt on password change ([6b279ad](https://github.com/siddharthksah/Stirling-Image/commit/6b279ad09b9e74de34732b0e854f1180f25b34bd))
# [0.16.0](https://github.com/siddharthksah/Stirling-Image/compare/v0.15.0...v0.16.0) (2026-03-28)
### Features
* add password generator and browser save prompt on change-password page ([d56c644](https://github.com/siddharthksah/Stirling-Image/commit/d56c6446fee8384ab61ba180160f5e020a1e412e))
# [0.15.0](https://github.com/siddharthksah/Stirling-Image/compare/v0.14.2...v0.15.0) (2026-03-28)
### Features
* add forced password change page on first login ([e0900a8](https://github.com/siddharthksah/Stirling-Image/commit/e0900a877643c75266aeed5ac29501458ef0dcda))
## [0.14.2](https://github.com/siddharthksah/Stirling-Image/compare/v0.14.1...v0.14.2) (2026-03-28)
### Bug Fixes
* **tests:** remove temp DB cleanup that races with other test files ([498bfb3](https://github.com/siddharthksah/Stirling-Image/commit/498bfb3def2d6786fa5e387b3e30ede9768ef616))
## [0.14.1](https://github.com/siddharthksah/Stirling-Image/compare/v0.14.0...v0.14.1) (2026-03-28)
### Bug Fixes
* handle migration race condition in concurrent test workers ([d576ab1](https://github.com/siddharthksah/Stirling-Image/commit/d576ab1dfb1e9d2aa739c681c1f83d6fef3f7d22))
# [0.14.0](https://github.com/siddharthksah/Stirling-Image/compare/v0.13.1...v0.14.0) (2026-03-28)
### Features
* multi-arch Docker support, security hardening, and test improvements ([748d2b7](https://github.com/siddharthksah/Stirling-Image/commit/748d2b70460b3975a9c61edec0b121d788d0ee06))
## [0.13.1](https://github.com/siddharthksah/Stirling-Image/compare/v0.13.0...v0.13.1) (2026-03-27)
### Bug Fixes
* **docs:** remove hero logo from home page ([64c0ec8](https://github.com/siddharthksah/Stirling-Image/commit/64c0ec895f82b09e50d5ecf2b85f759f0a481232))
# [0.13.0](https://github.com/siddharthksah/Stirling-Image/compare/v0.12.1...v0.13.0) (2026-03-27)
### Features
* **docs:** add gem logo to GitHub Pages nav bar and home hero ([f0b8162](https://github.com/siddharthksah/Stirling-Image/commit/f0b8162955fa8f6b1891968163b4292b279f1ea1))
## [0.12.1](https://github.com/siddharthksah/Stirling-Image/compare/v0.12.0...v0.12.1) (2026-03-27)
### Bug Fixes
* **docs:** clean up footer llms.txt links ([e842cde](https://github.com/siddharthksah/Stirling-Image/commit/e842cde838ad3deb1437c4c43c8ccd796276248c))
# [0.12.0](https://github.com/siddharthksah/Stirling-Image/compare/v0.11.1...v0.12.0) (2026-03-27)
### Bug Fixes
* **api:** resolve team name lookup and show server error messages ([609fc8b](https://github.com/siddharthksah/Stirling-Image/commit/609fc8b6cc2d2408226e2576c35d7715bdf1498c))
### Features
* **docs:** add llms.txt links to GitHub Pages footer ([b874445](https://github.com/siddharthksah/Stirling-Image/commit/b874445dc6d31c54a095d7471390e664b233d491))
## [0.11.1](https://github.com/siddharthksah/Stirling-Image/compare/v0.11.0...v0.11.1) (2026-03-27)
### Bug Fixes
* **docs:** ignore localhost dead links in VitePress build ([78269d4](https://github.com/siddharthksah/Stirling-Image/commit/78269d499c914d5d68c4455475a1608f4af2a075))
# [0.11.0](https://github.com/siddharthksah/Stirling-Image/compare/v0.10.0...v0.11.0) (2026-03-27)
### Bug Fixes
* **a11y:** add aria-hidden to decorative GemLogo SVG ([ae185ce](https://github.com/siddharthksah/Stirling-Image/commit/ae185ce767a480719d2f54d5675cbd7d64beb7b5))
* **api:** allow Scalar docs through auth and CSP ([6023109](https://github.com/siddharthksah/Stirling-Image/commit/6023109df9c66c1e7b4d81f3e902f081809ed6ba))
* **api:** use content instead of spec.content for Scalar v1.49 API ([dfcb4d5](https://github.com/siddharthksah/Stirling-Image/commit/dfcb4d579f4b44013d23dff8617d9a9f6315b452))
* **ui:** clean up settings, automate page, fullscreen logo, and README ([b3c8ad4](https://github.com/siddharthksah/Stirling-Image/commit/b3c8ad4697000454a11aaace27d0baa37a9959d9))
### Features
* **api:** add all remaining endpoints to OpenAPI spec ([e7b38ba](https://github.com/siddharthksah/Stirling-Image/commit/e7b38ba68f8ae7fae5675bafc0f2dc2c4f22ecd2))
* **api:** add all tool endpoints to OpenAPI spec ([753ba3e](https://github.com/siddharthksah/Stirling-Image/commit/753ba3e4689b1a3504960d15d1ebceaf2a08876e))
* **api:** add llms.txt and llms-full.txt endpoints ([12ba52a](https://github.com/siddharthksah/Stirling-Image/commit/12ba52a6a0c1260f02a4d7787be8113383575d9e))
* **api:** add OpenAPI 3.1 spec skeleton with common schemas ([b2189f5](https://github.com/siddharthksah/Stirling-Image/commit/b2189f556815ef8d5c781eee72b8263db09f6a1a))
* **api:** add Scalar docs route and install dependency ([6f2c319](https://github.com/siddharthksah/Stirling-Image/commit/6f2c3190b8414d1c4c3b1a78cf7a86a96109c934))
* **api:** register docs route in server and test helper ([bc6b389](https://github.com/siddharthksah/Stirling-Image/commit/bc6b38918ff11f1027efeb934ae0e56d6068b81f))
* **branding:** add faceted gem SVG logo assets ([4bc9335](https://github.com/siddharthksah/Stirling-Image/commit/4bc93351541b039534197821d290d34cad12c9a7))
* **branding:** add favicon and meta tags to index.html ([2508fd0](https://github.com/siddharthksah/Stirling-Image/commit/2508fd04871cdb776523ec9d602ad934283c6211))
* **branding:** add OG social preview image ([c6c5b92](https://github.com/siddharthksah/Stirling-Image/commit/c6c5b926e271d457effea9aec07b70bbc7227ef5))
* **branding:** add PWA manifest and PNG logo assets ([298567d](https://github.com/siddharthksah/Stirling-Image/commit/298567d090f298600b334184b09d35c178097362))
* **branding:** show gem icon in app header as default logo ([dd857fb](https://github.com/siddharthksah/Stirling-Image/commit/dd857fbcc778a2425806f1d96d83f118dc92831a))
* **docs:** add gem favicon to VitePress site ([0918f93](https://github.com/siddharthksah/Stirling-Image/commit/0918f933719ae0d8ff16cf7a8ac0e8936e90805a))
* **docs:** add llms.txt and llms-full.txt to GitHub Pages ([5f6959a](https://github.com/siddharthksah/Stirling-Image/commit/5f6959a21e3b2708edb011a0a7ce48fbfbc64c87))
# [0.10.0](https://github.com/siddharthksah/Stirling-Image/compare/v0.9.0...v0.10.0) (2026-03-26)
### Bug Fixes
* **ocr:** update PaddleOCR for v3 API and add Tesseract fallback ([e260a93](https://github.com/siddharthksah/Stirling-Image/commit/e260a93cf65f1e7cd22b7b5d491c6125fee8c915))
### Features
* **erase-object:** replace mask upload with in-browser brush painting ([40e3081](https://github.com/siddharthksah/Stirling-Image/commit/40e30815915f18f9f7fc25c05a61c643f1dfdbe4))
# [0.9.0](https://github.com/siddharthksah/Stirling-Image/compare/v0.8.2...v0.9.0) (2026-03-26)
### Bug Fixes
* **blur-faces:** switch from MediaPipe to OpenCV and auto-orient images ([dc10f90](https://github.com/siddharthksah/Stirling-Image/commit/dc10f905c62c662f1a40701c81874e5854ea33e6))
* **docker:** add build layer caching for faster Docker rebuilds ([03ba30d](https://github.com/siddharthksah/Stirling-Image/commit/03ba30d8f01c5c2500641d934b08a875589bcd68))
* **upscale:** auto-orient images before upscaling and improve UI ([8a6e665](https://github.com/siddharthksah/Stirling-Image/commit/8a6e665a4484bda1e4b93b520c393bb707a624aa))
### Features
* **adjustments:** add real-time live preview for all color tools ([b5c924e](https://github.com/siddharthksah/Stirling-Image/commit/b5c924e0fc7468c6364ef320958cea2e5ef18420))
* **image-to-pdf:** add live PDF page preview with margin visualization ([cd666ea](https://github.com/siddharthksah/Stirling-Image/commit/cd666eaef0b13bcd9223439f0bbb5efd88b2f25e))
* **rotate:** add editable angle input and fine-tune +/- buttons ([e1f04c2](https://github.com/siddharthksah/Stirling-Image/commit/e1f04c28a6b03c0503266c0e78e7a9161011d939))
## [0.8.2](https://github.com/siddharthksah/Stirling-Image/compare/v0.8.1...v0.8.2) (2026-03-25)
### Bug Fixes
* **test:** add missing PNG fixture files to repo ([45c6b9d](https://github.com/siddharthksah/Stirling-Image/commit/45c6b9de08124fb357ac759e43c4fbf1eb5fbfb9))
* **test:** exclude e2e tests from vitest and fix CI test suite ([9d28485](https://github.com/siddharthksah/Stirling-Image/commit/9d28485339e17b80586cea91bd18dafc989d7f24))
## [0.8.1](https://github.com/siddharthksah/Stirling-Image/compare/v0.8.0...v0.8.1) (2026-03-25)
### Bug Fixes
* resolve test failures from shared DB race conditions ([1a7116d](https://github.com/siddharthksah/Stirling-Image/commit/1a7116d79072d131b94d1c454abbc32b9e961c1b))
# [0.8.0](https://github.com/siddharthksah/Stirling-Image/compare/v0.7.0...v0.8.0) (2026-03-25)
### Bug Fixes
* **docker:** skip husky prepare script in production install ([fdfb0a0](https://github.com/siddharthksah/Stirling-Image/commit/fdfb0a0e7412c86e3b85a70daf5093f44c34ee99))
* prevent useAuth infinite loop causing rate limit storms ([9624dae](https://github.com/siddharthksah/Stirling-Image/commit/9624dae1569b6f2ad52ce990fc84eca809b849a8))
### Features
* **api:** add logo upload/serve/delete routes with tests ([6063f4d](https://github.com/siddharthksah/Stirling-Image/commit/6063f4daa98acf3f03e004a588de562e377105c7))
* **api:** add persistent file management helpers to frontend api module ([ecbfcce](https://github.com/siddharthksah/Stirling-Image/commit/ecbfcceec82010fa44244c6839928b9930d59b5a))
* **api:** add teams CRUD routes and update auth team references ([ec22e53](https://github.com/siddharthksah/Stirling-Image/commit/ec22e53a3b15ae030743e76db0d57584000727b6))
* **api:** add tool filtering and DB-backed cleanup settings ([07e7e8d](https://github.com/siddharthksah/Stirling-Image/commit/07e7e8d58d311d89f43cee1c7fa21dd0eb4c9dfb))
* **api:** add user files CRUD routes at /api/v1/files/* ([6a07007](https://github.com/siddharthksah/Stirling-Image/commit/6a070071456611d2bf2acf4a474be8c43680e1b0))
* **db:** add teams table and migration ([365783b](https://github.com/siddharthksah/Stirling-Image/commit/365783b6dc1f5cfa631bb4f6915fcf99d91f574d))
* **db:** add userFiles table and migration ([a2fdbd5](https://github.com/siddharthksah/Stirling-Image/commit/a2fdbd5fef2cf02f90692166d6386c5ac21c2cef))
* **env:** add FILES_STORAGE_PATH config variable ([3c737a6](https://github.com/siddharthksah/Stirling-Image/commit/3c737a6c724f4862d302bf22a75ebcd745f0df4c))
* **files:** add Files page with nav, list, details, upload, and routing ([3f127a4](https://github.com/siddharthksah/Stirling-Image/commit/3f127a457e8a7a07d22fdf8776c3166092db562f))
* **files:** add mobile layout for Files page ([e864d1e](https://github.com/siddharthksah/Stirling-Image/commit/e864d1e430bd516ccbe1732ec7451e1e7d670177))
* **files:** wire serverFileId for version tracking ([8868d3e](https://github.com/siddharthksah/Stirling-Image/commit/8868d3e556beedcff35de268e72241e7f10998a3))
* **i18n:** add translation keys for settings phase 1 ([c5ff80a](https://github.com/siddharthksah/Stirling-Image/commit/c5ff80acfbe18b953cfd96a88498fc70b82b541e))
* implement Files page with persistent storage and version tracking ([f6183d2](https://github.com/siddharthksah/Stirling-Image/commit/f6183d2c62e6ad04dec3fe0250468cbfd6cbc035))
* **storage:** add file storage helpers module ([7c37213](https://github.com/siddharthksah/Stirling-Image/commit/7c372135c8eb9d65198c0720bc2d0c83ac145004))
* **stores:** add Zustand store for Files page state management ([fb487be](https://github.com/siddharthksah/Stirling-Image/commit/fb487be051c6da6ca22a443323cf4788d4ca4e6b))
* **tool-factory:** auto-save results to persistent file store when fileId provided ([27d8629](https://github.com/siddharthksah/Stirling-Image/commit/27d8629c704bc9cabed8c7dd87c34ea8e9433347))
* **ui:** add teams, tools, feature flags, temp files, logo to settings dialog ([fbce0dd](https://github.com/siddharthksah/Stirling-Image/commit/fbce0dddd05c1e539bfbdb084c3b53d59f5dfd76))
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
### Added
- Files page — persistent server-side storage with version tracking and a mobile layout
- Teams — full CRUD API, database table, and migration
- Admin settings panel covering teams, tool visibility, feature flags, temp file cleanup, and logo upload
- Branding API routes (logo upload, serve, delete)
- Tool filtering and DB-backed cleanup settings on the API side
- i18n keys for the new settings screens
- `userFiles` table for persistent file management
- `FILES_STORAGE_PATH` config variable for controlling where uploaded files live
- Tool results auto-save to persistent storage when a `fileId` is provided
### Changed
- Renamed `Tool.alpha` to `Tool.experimental` everywhere
- Tightened TypeScript types in tool-factory registry (removed `any` casts)
- Bumped login attempt limit from 5 to 10
- Switched `isNaN` to `Number.isNaN` in cleanup interval parsing
- Null-safe team lookup in auth registration
### Removed
- Internal planning docs (`docs/superpowers/`) and Claude Code config (`.claude/`) from version control — these stay local only
## [0.7.0] - 2026-03-24
### Added
- Inline settings configuration for pipeline automation steps, allowing per-step parameter overrides
### Security
- Hardened authentication with stricter session validation
- Added security headers (HSTS, CSP, X-Content-Type-Options)
- SVG sanitization on upload to prevent XSS via malicious SVGs
- Pipeline ownership enforcement — users can only execute their own pipelines
## [0.6.0] - 2026-03-24
### Added
- Extracted reusable auto-orient utility from image processing pipeline
- Expanded integration test coverage across tool routes
## [0.5.2] - 2026-03-23
### Fixed
- Restored `APP_VERSION` import used by the `/health` endpoint, fixing version reporting in production
## [0.5.1] - 2026-03-23
### Fixed
- Crop tool now uses `percentCrop` from `onChange` callback, fixing inflated pixel values that produced incorrect crop regions
### Changed
- Removed unused Swagger dependencies, reducing bundle size
- Parallelized CI jobs for faster pipeline execution
## [0.5.0] - 2026-03-23
### Added
- **Interactive crop tool** with visual overlay, grid lines, aspect ratio presets, pixel input fields, and keyboard controls
- **Multi-image support** — upload and process multiple files with arrow navigation and filmstrip thumbnail strip
- Batch processing wired across all tool settings with `processAllFiles` method
- `clientJobId` correlation for SSE progress during batch operations
- Side-by-side comparison view for resize results
- Live CSS transform preview for rotate/flip operations
- Redesigned resize settings with tabbed UI (presets, custom dimensions, scale percentage)
- Client-side ZIP extraction via `fflate` for batch result downloads
- Per-file metadata display with caching
### Fixed
- White screen crash when uploading photos with null GPS EXIF data
- TypeScript `Uint8Array` type incompatibility with `fflate`
## [0.4.1] - 2026-03-23
### Fixed
- Unified all services on port 1349 (was split across multiple ports)
- Strip-metadata tool now correctly removes all EXIF data
- Before/after slider and side-by-side comparison component rendering fixes
## [0.4.0] - 2026-03-23
### Added
- **Resize tool redesign** with tabbed settings UI — presets, custom dimensions, and scale percentage
- **Rotate/flip live preview** using CSS transforms before server round-trip
- Side-by-side comparison component for visual before/after on resize
- Conditional result views — side-by-side for resize, live preview for rotate
### Fixed
- CI/CD pipeline — removed broken AI docs updater workflow, fixed Docker publish job
## [0.3.1] - 2026-03-23
### Fixed
- CI workflow failure: `tsx` binary not found in AI docs updater action
## [0.3.0] - 2026-03-23
### Added
- **Real progress bars** replacing indeterminate spinners across all tools
- SSE-based progress streaming from Python AI scripts through the API to the frontend
- `ProgressCard` component with determinate progress display for all tool types
- `useToolProcessor` hook rewritten with XHR upload progress and SSE event streaming
- `onProgress` callback support in all AI wrapper functions (rembg, RealESRGAN, PaddleOCR, MediaPipe, LaMa)
- `emit_progress()` calls in all Python AI scripts for granular status updates
- Intuitive subject/quality selector replacing raw model dropdown in background removal tool
### Fixed
- Progress bar no longer resets from 100% to 0% between processing stages
- `setError(null)` no longer overrides `setProcessing(true)` race condition
- SSE progress endpoint added to public auth paths (was returning 401)
## [0.2.1] - 2026-03-22
### Added
- **Monorepo foundation** — Turborepo with pnpm workspaces (`apps/api`, `apps/web`, `apps/docs`, `packages/shared`, `packages/image-engine`, `packages/ai`)
- **Fastify API server** with health check, environment config, and SQLite database via Drizzle ORM
- **Authentication system** with default admin user, login page, and session management
- **React SPA** with Vite, Tailwind CSS, dark/light/system theme, and sidebar layout
- **14 Sharp-based image operations** — resize, crop, rotate, convert, compress, metadata strip, color adjust, and more
- **Generic tool route factory** for declarative API endpoint creation
- **Tool settings UI** for all core image tools with before/after comparison slider
- **Batch processing** with ZIP download and SSE progress tracking
- **30+ tools** including watermark, text overlay, composition, collage, splitting, border/frame, image info, compare, duplicates, color palette, QR code, barcode, replace-color, SVG-to-raster, vectorize, GIF, favicon, and image-to-PDF
- **6 AI-powered tools** via Python sidecar — background removal, upscaling, OCR, face detection/blur, object erasure (LaMa inpainting)
- **Pipeline system** — builder UI with templates, execution/save/list API endpoints
- i18n architecture with English translations
- Keyboard shortcuts for tool navigation
- Mobile responsive layout with bottom navigation
- Fullscreen tool grid view
- Settings dialog (general, security, API keys, about)
- API key management routes
- Home page redesign with upload flow and auth guard
- Multi-stage Docker build with Python ML dependencies
- Playwright end-to-end test suite
- VitePress documentation site with GitHub Pages deployment
- GitHub Actions CI pipeline and Docker Hub auto-publish workflow
- Semantic-release for automated versioning
- Swagger/OpenAPI documentation at `/api/docs`
- Automatic workspace file cleanup cron
### Fixed
- Python bridge ENOENT handling for venv fallback — no longer swallows script errors
- Port configuration unified to 1349 for the UI across all modes
- Home upload flow, auth redirect, and form submit handling bugs
- Background removal defaults to U2-Net (fast, ~2s) instead of slow BiRefNet
[Unreleased]: https://github.com/siddharthksah/Stirling-Image/compare/v0.7.0...HEAD
[0.7.0]: https://github.com/siddharthksah/Stirling-Image/compare/v0.6.0...v0.7.0
[0.6.0]: https://github.com/siddharthksah/Stirling-Image/compare/v0.5.2...v0.6.0
[0.5.2]: https://github.com/siddharthksah/Stirling-Image/compare/v0.5.1...v0.5.2
[0.5.1]: https://github.com/siddharthksah/Stirling-Image/compare/v0.5.0...v0.5.1
[0.5.0]: https://github.com/siddharthksah/Stirling-Image/compare/v0.4.1...v0.5.0
[0.4.1]: https://github.com/siddharthksah/Stirling-Image/compare/v0.4.0...v0.4.1
[0.4.0]: https://github.com/siddharthksah/Stirling-Image/compare/v0.3.1...v0.4.0
[0.3.1]: https://github.com/siddharthksah/Stirling-Image/compare/v0.3.0...v0.3.1
[0.3.0]: https://github.com/siddharthksah/Stirling-Image/compare/v0.2.1...v0.3.0
[0.2.1]: https://github.com/siddharthksah/Stirling-Image/releases/tag/v0.2.1