Siddharth Kumar Sah
6cfa3b0c38
feat: multi-arch Docker support, security hardening, and test improvements
...
Remove hardcoded --platform=linux/amd64 from Dockerfile so buildx produces
native arm64 images for Apple Silicon and Raspberry Pi. Add audit logging
for auth events, harden file storage with extension whitelists and
double-extension attack prevention, reject null-byte buffers in validation,
add data-testid attributes to all tool settings components, update
deployment docs with architecture notes and correct CI workflow references,
and fix unit test mock to match throwWithMessage error extraction.
2026-03-28 11:19:09 +08:00
semantic-release-bot
8f09c0678b
chore(release): 0.13.1 [skip ci]
...
## [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 ([d3f6bac ](https://github.com/siddharthksah/Stirling-Image/commit/d3f6bac62b7e01e3a39371a1a52d865909412117 ))
v0.13.1
2026-03-27 12:55:10 +00:00
Siddharth Kumar Sah
d3f6bac62b
fix(docs): remove hero logo from home page
2026-03-27 20:54:46 +08:00
semantic-release-bot
55df7dd768
chore(release): 0.13.0 [skip ci]
...
# [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 ([98478e2 ](https://github.com/siddharthksah/Stirling-Image/commit/98478e271934c8b3deb1b3003d88fe1a165e75a0 ))
v0.13.0
2026-03-27 12:52:29 +00:00
Siddharth Kumar Sah
98478e2719
feat(docs): add gem logo to GitHub Pages nav bar and home hero
2026-03-27 20:52:06 +08:00
Siddharth Kumar Sah
8ae1d8cec3
docs: slim down REST API page to quick-start guide
...
The full API reference now lives at /api/docs (Scalar). This page
becomes a getting-started guide covering auth, tool pattern, tool IDs,
batch, pipelines, and errors — pointing to the interactive docs for
per-endpoint details.
2026-03-27 17:36:58 +08:00
Siddharth Kumar Sah
0e938c9b7e
docs: add llms.txt info box to REST API page and fix Swagger reference
2026-03-27 17:32:11 +08:00
semantic-release-bot
10b15bf838
chore(release): 0.12.1 [skip ci]
...
## [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 ([a4d4d36 ](https://github.com/siddharthksah/Stirling-Image/commit/a4d4d368286a80decf73563ca6d7e7cae119099a ))
v0.12.1
2026-03-27 09:11:21 +00:00
Siddharth Kumar Sah
a4d4d36828
fix(docs): clean up footer llms.txt links
2026-03-27 17:10:58 +08:00
semantic-release-bot
efc96f98c4
chore(release): 0.12.0 [skip ci]
...
# [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 ([620b8ad ](https://github.com/siddharthksah/Stirling-Image/commit/620b8ad038506a03633ab9baf738c6c316fa4336 ))
### Features
* **docs:** add llms.txt links to GitHub Pages footer ([c59e4a0 ](https://github.com/siddharthksah/Stirling-Image/commit/c59e4a06686db62ad8ec134ec1c97080673fbcb3 ))
v0.12.0
2026-03-27 08:42:16 +00:00
Siddharth Kumar Sah
c59e4a0668
feat(docs): add llms.txt links to GitHub Pages footer
...
Add llms.txt and llms-full.txt links in the footer with
"AI-friendly docs" label. Also add link rel="llms-txt" head tag
for automatic discovery by AI tools.
2026-03-27 16:41:44 +08:00
Siddharth Kumar Sah
620b8ad038
fix(api): resolve team name lookup and show server error messages
...
- Backend: look up teams by name first (frontend sends name, not ID)
- Frontend: parse response body on API errors instead of showing
generic "API error: 400" — now shows the actual server message
(e.g. "Password must be at least 8 characters...")
2026-03-27 16:41:44 +08:00
semantic-release-bot
b5721d9854
chore(release): 0.11.1 [skip ci]
...
## [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 ([5c4b2a5 ](https://github.com/siddharthksah/Stirling-Image/commit/5c4b2a59d3a9f1fa2dd428fd626f2bbbb9e3fea6 ))
v0.11.1
2026-03-27 05:54:02 +00:00
Siddharth Kumar Sah
5c4b2a59d3
fix(docs): ignore localhost dead links in VitePress build
...
The /api/docs tip box links to localhost which fails the dead link
check in CI.
2026-03-27 13:53:34 +08:00
semantic-release-bot
355022d374
chore(release): 0.11.0 [skip ci]
...
# [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 ([d47548a ](https://github.com/siddharthksah/Stirling-Image/commit/d47548a1d7d2de995c881465b79a463de20354df ))
* **api:** allow Scalar docs through auth and CSP ([a46d500 ](https://github.com/siddharthksah/Stirling-Image/commit/a46d500012e1f0724038c695a17e7dafd9be0c40 ))
* **api:** use content instead of spec.content for Scalar v1.49 API ([05854fd ](https://github.com/siddharthksah/Stirling-Image/commit/05854fd61f90a1096e1682ad021d744d178d9b9b ))
* **ui:** clean up settings, automate page, fullscreen logo, and README ([e3a8558 ](https://github.com/siddharthksah/Stirling-Image/commit/e3a85581349b6a992939b08ede932705613d915f ))
### Features
* **api:** add all remaining endpoints to OpenAPI spec ([9ed1090 ](https://github.com/siddharthksah/Stirling-Image/commit/9ed109065189f20545eb24893c2c0b9332e40249 ))
* **api:** add all tool endpoints to OpenAPI spec ([2bf8689 ](https://github.com/siddharthksah/Stirling-Image/commit/2bf86894d0005ff4c273334699c30de1fcb38ee6 ))
* **api:** add llms.txt and llms-full.txt endpoints ([cff1930 ](https://github.com/siddharthksah/Stirling-Image/commit/cff1930920c488fc853eab5aa36128fac19b3bf5 ))
* **api:** add OpenAPI 3.1 spec skeleton with common schemas ([9488201 ](https://github.com/siddharthksah/Stirling-Image/commit/948820180663783d463a07f966dd4336c1a7c503 ))
* **api:** add Scalar docs route and install dependency ([abb2916 ](https://github.com/siddharthksah/Stirling-Image/commit/abb2916233de85e62675e609b9d497dcc0a01882 ))
* **api:** register docs route in server and test helper ([849878e ](https://github.com/siddharthksah/Stirling-Image/commit/849878e72fc0e5cb3e775afeea802dac933c4e13 ))
* **branding:** add faceted gem SVG logo assets ([0214ac1 ](https://github.com/siddharthksah/Stirling-Image/commit/0214ac11b1ba4142349c09fd2465a425b4e8dd6b ))
* **branding:** add favicon and meta tags to index.html ([0364927 ](https://github.com/siddharthksah/Stirling-Image/commit/036492725eea6cb6b4c0aff307edeee8516ec280 ))
* **branding:** add OG social preview image ([dcd926c ](https://github.com/siddharthksah/Stirling-Image/commit/dcd926c57e9877c2b47e70c494b679f0c00d93d6 ))
* **branding:** add PWA manifest and PNG logo assets ([26cc183 ](https://github.com/siddharthksah/Stirling-Image/commit/26cc18342fb6d4027f2130b198090469e27ef797 ))
* **branding:** show gem icon in app header as default logo ([39dfb93 ](https://github.com/siddharthksah/Stirling-Image/commit/39dfb93679765366253115240adcbc573e83b8e7 ))
* **docs:** add gem favicon to VitePress site ([42ec0f2 ](https://github.com/siddharthksah/Stirling-Image/commit/42ec0f2490267f2e3730764539bdd2920b7b3793 ))
* **docs:** add llms.txt and llms-full.txt to GitHub Pages ([e6dc7b0 ](https://github.com/siddharthksah/Stirling-Image/commit/e6dc7b0a18d3d022de4e2f0b971bf25678042b3a ))
v0.11.0
2026-03-27 05:51:30 +00:00
Siddharth Kumar Sah
e3a8558134
fix(ui): clean up settings, automate page, fullscreen logo, and README
...
- README: simplify to match Stirling-PDF style, add dashboard screenshot
- Settings: remove unsupported languages from dropdown, remove unused
experimental tools toggle
- Automate: remove hardcoded template pipelines from sidebar
- Fullscreen: add GemLogo icon to header
2026-03-27 13:50:04 +08:00
Siddharth Kumar Sah
e6dc7b0a18
feat(docs): add llms.txt and llms-full.txt to GitHub Pages
...
Serve LLM-friendly documentation at the docs site root.
llms.txt is the index, llms-full.txt has all docs in one file.
2026-03-27 13:50:04 +08:00
Siddharth Kumar Sah
cff1930920
feat(api): add llms.txt and llms-full.txt endpoints
...
Serve LLM-friendly documentation at /llms.txt (index) and
/llms-full.txt (full API docs as markdown). Generated from the
OpenAPI spec at startup.
2026-03-27 13:50:04 +08:00
Siddharth Kumar Sah
655398e184
test(api): add integration tests for API docs endpoint
...
Also update GitHub Pages REST API doc to link to /api/docs.
2026-03-27 13:50:03 +08:00
Siddharth Kumar Sah
9ed1090651
feat(api): add all remaining endpoints to OpenAPI spec
...
Add batch, pipeline, file, auth, API key, settings, teams, branding, and
system endpoints — bringing the total from 38 to 67 documented paths.
2026-03-27 13:50:03 +08:00
Siddharth Kumar Sah
2bf86894d0
feat(api): add all tool endpoints to OpenAPI spec
2026-03-27 13:50:03 +08:00
Siddharth Kumar Sah
05854fd61f
fix(api): use content instead of spec.content for Scalar v1.49 API
2026-03-27 13:50:03 +08:00
Siddharth Kumar Sah
9488201806
feat(api): add OpenAPI 3.1 spec skeleton with common schemas
2026-03-27 13:50:03 +08:00
Siddharth Kumar Sah
849878e72f
feat(api): register docs route in server and test helper
2026-03-27 13:50:03 +08:00
Siddharth Kumar Sah
a46d500012
fix(api): allow Scalar docs through auth and CSP
2026-03-27 13:50:03 +08:00
Siddharth Kumar Sah
abb2916233
feat(api): add Scalar docs route and install dependency
2026-03-27 13:50:03 +08:00
Siddharth Kumar Sah
dcd926c57e
feat(branding): add OG social preview image
2026-03-27 13:50:03 +08:00
Siddharth Kumar Sah
fadf0a8a22
refactor(branding): extract GemLogo to shared component and add to About section
2026-03-27 13:50:03 +08:00
Siddharth Kumar Sah
26cc18342f
feat(branding): add PWA manifest and PNG logo assets
2026-03-27 13:50:02 +08:00
Siddharth Kumar Sah
42ec0f2490
feat(docs): add gem favicon to VitePress site
2026-03-27 13:50:02 +08:00
Siddharth Kumar Sah
d47548a1d7
fix(a11y): add aria-hidden to decorative GemLogo SVG
2026-03-27 13:50:02 +08:00
Siddharth Kumar Sah
39dfb93679
feat(branding): show gem icon in app header as default logo
2026-03-27 13:50:02 +08:00
Siddharth Kumar Sah
036492725e
feat(branding): add favicon and meta tags to index.html
2026-03-27 13:50:02 +08:00
Siddharth Kumar Sah
0214ac11b1
feat(branding): add faceted gem SVG logo assets
2026-03-27 13:50:02 +08:00
Siddharth Kumar Sah
2faf3efe59
docs: add logo implementation plan
2026-03-27 13:50:01 +08:00
Siddharth Kumar Sah
2a936d9488
docs: add logo design spec for faceted gem mark
2026-03-27 13:50:01 +08:00
semantic-release-bot
d4d4321b98
chore(release): 0.10.0 [skip ci]
...
# [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 ([f71c3c8 ](https://github.com/siddharthksah/Stirling-Image/commit/f71c3c8c05bc7203d37a46743bebb62b79c8ac51 ))
### Features
* **erase-object:** replace mask upload with in-browser brush painting ([40656a0 ](https://github.com/siddharthksah/Stirling-Image/commit/40656a0452109c1d6ea2441b2735b0ffaf4f3867 ))
v0.10.0
2026-03-26 09:34:20 +00:00
Siddharth Kumar Sah
f71c3c8c05
fix(ocr): update PaddleOCR for v3 API and add Tesseract fallback
...
Fix PaddleOCR crash by removing deprecated parameters (use_angle_cls,
show_log, cls) that were removed in PaddleOCR v3. Add graceful
fallback to Tesseract when PaddleOCR fails at runtime, so users
always get OCR results without errors.
2026-03-26 17:33:42 +08:00
Siddharth Kumar Sah
40656a0452
feat(erase-object): replace mask upload with in-browser brush painting
...
Replace the external mask file upload workflow with an interactive
canvas-based brush tool. Users now paint directly on the image to
mark areas for erasure. Adds EraserCanvas component with adjustable
brush size, undo/clear, and mask export. Switch Python inpainting
from broken lama-cleaner to OpenCV cv2.inpaint (Telea algorithm).
Add before/after comparison slider after processing.
2026-03-26 17:33:17 +08:00
semantic-release-bot
563892774d
chore(release): 0.9.0 [skip ci]
...
# [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 ([f15102c ](https://github.com/siddharthksah/Stirling-Image/commit/f15102c632d3fcbc5d33b33fd9cfdea5e4689eb6 ))
* **docker:** add build layer caching for faster Docker rebuilds ([14c630f ](https://github.com/siddharthksah/Stirling-Image/commit/14c630ff23d973aa9d512ed87ede049ebd4b600f ))
* **upscale:** auto-orient images before upscaling and improve UI ([8ee4d7b ](https://github.com/siddharthksah/Stirling-Image/commit/8ee4d7b2fb3f88b2869ada8d6a6c5fb0df432e3b ))
### Features
* **adjustments:** add real-time live preview for all color tools ([f357b18 ](https://github.com/siddharthksah/Stirling-Image/commit/f357b18ced8757da0a6c34f18541bb8875c2199a ))
* **image-to-pdf:** add live PDF page preview with margin visualization ([ddde152 ](https://github.com/siddharthksah/Stirling-Image/commit/ddde152545456770ec4a97418968c2ad309a88e0 ))
* **rotate:** add editable angle input and fine-tune +/- buttons ([bf62820 ](https://github.com/siddharthksah/Stirling-Image/commit/bf6282006489a4cadcd849b476e97239e3624673 ))
v0.9.0
2026-03-26 08:02:46 +00:00
Siddharth Kumar Sah
0401900a69
chore(ui): remove technical jargon and update tool count
...
Remove approximate processing times from remove-bg quality options.
Update tool count from 37 to 33 across README, settings dialog, login
page, and i18n strings to reflect the accurate count.
2026-03-26 16:02:12 +08:00
Siddharth Kumar Sah
f15102c632
fix(blur-faces): switch from MediaPipe to OpenCV and auto-orient images
...
Fix face detection failure caused by MediaPipe 0.10.33 removing the
mp.solutions API. Replace with OpenCV Haar cascade which works reliably
in headless Docker. Add autoOrient() call before detection to handle
EXIF-rotated phone photos. Remove technical jargon from UI.
2026-03-26 16:01:56 +08:00
Siddharth Kumar Sah
8ee4d7b2fb
fix(upscale): auto-orient images before upscaling and improve UI
...
Fix rotated output by calling autoOrient() before passing images to
the Python upscaler, correcting EXIF orientation metadata. Replace
2x/4x buttons with 2x-8x slider plus quick-select buttons (2x, 3x,
4x, 6x, 8x). Remove technical jargon about Real-ESRGAN/Lanczos from
the UI and progress bar.
2026-03-26 16:01:40 +08:00
Siddharth Kumar Sah
f357b18ced
feat(adjustments): add real-time live preview for all color tools
...
Add CSS filter-based live preview for brightness, contrast, saturation,
color effects (grayscale/sepia/invert), and color channels (via SVG
feColorMatrix). The image in the right panel updates instantly as
sliders are adjusted. Adds cssFilter prop to ImageViewer, onPreviewFilter
callback to ColorSettings, and wires them through the tool page.
2026-03-26 16:01:18 +08:00
Siddharth Kumar Sah
ddde152545
feat(image-to-pdf): add live PDF page preview with margin visualization
...
Add a miniature page preview in the settings panel that shows how the
image will look in the PDF. The preview updates in real-time as the
user changes page size, orientation, or margin. Uses the same scaling
logic as the backend to accurately represent image placement. Preview
tracks the currently selected image when multiple files are uploaded.
2026-03-26 16:01:00 +08:00
Siddharth Kumar Sah
bf62820064
feat(rotate): add editable angle input and fine-tune +/- buttons
...
Replace the static angle display between Left/Right buttons with an
editable input field that accepts direct angle entry. Add - and +
buttons for 1-degree fine-tuned control. All controls update the
rotation state which triggers real-time CSS preview on the image.
2026-03-26 16:00:44 +08:00
Siddharth Kumar Sah
14c630ff23
fix(docker): add build layer caching for faster Docker rebuilds
...
Add --mount=type=cache for pnpm store, turbo cache, and pip cache in
Dockerfile. This significantly reduces rebuild times by reusing
previously downloaded dependencies across builds.
2026-03-26 16:00:28 +08:00
Siddharth Kumar Sah
e8436683d9
chore: remove CLAUDE.md from repo and keep it local-only
2026-03-26 12:06:06 +08:00
semantic-release-bot
21e40f5bbf
chore(release): 0.8.2 [skip ci]
...
## [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 ([8474b0e ](https://github.com/siddharthksah/Stirling-Image/commit/8474b0ee52fe803c55247a082becc4334e83186f ))
* **test:** exclude e2e tests from vitest and fix CI test suite ([91acab9 ](https://github.com/siddharthksah/Stirling-Image/commit/91acab9967e2b5dd7dbc7a98e667f785f3e7364e ))
v0.8.2
2026-03-25 17:33:09 +00:00
Siddharth Kumar Sah
91acab9967
fix(test): exclude e2e tests from vitest and fix CI test suite
...
Playwright e2e tests were being collected by vitest in CI, causing
failures since Playwright isn't available in that context. Exclude
tests/e2e/** from vitest runs (e2e tests should run via pnpm test:e2e).
2026-03-26 01:32:48 +08:00