Siddharth Kumar Sah
cc8a27239b
fix: complete RBAC implementation lost during merge
...
Several RBAC features from feat/rbac-permissions were silently lost
during the merge into main. This restores and completes them:
- Add permissions and teamName to login/session API responses
- Export Permission and Role types from shared package
- Filter settings tabs by user permissions in frontend
- Extend useAuth hook with role, permissions, and hasPermission
- Restrict teams listing to admin only
- Add admin override for API keys, files, and pipelines listing
- Add ownership scoping to file access, download, and delete routes
- Register userFileRoutes in integration test server
- Mock auth import in unit permissions test to avoid SQLite lock
2026-04-10 21:25:30 +08:00
Siddharth Kumar Sah
6c6fb113fa
test: add e2e tests for role-based settings tab visibility and API access
2026-04-10 21:25:30 +08:00
Siddharth Kumar Sah
bcbd24a239
feat: filter settings tabs by user permissions, remove admin fallback
2026-04-10 21:25:30 +08:00
Siddharth Kumar Sah
e0ba8be7b3
feat: extend useAuth hook with role and permissions from session
2026-04-10 21:25:30 +08:00
Siddharth Kumar Sah
59f40dbfd4
feat: add permission checks and admin override to pipeline routes
...
Replace requireAuth with requirePermission("pipelines:own") on pipeline
save/list/delete routes. Admin users with pipelines:all can see and
delete all pipelines. Unauthorized delete returns 404 to avoid leaking
resource existence.
2026-04-10 21:25:30 +08:00
Siddharth Kumar Sah
86ba69825a
feat: add permission checks and ownership scoping to user-files routes
...
Replace getAuthUser (optional auth) with requirePermission("files:own") on all
user-files routes, enforcing mandatory authentication and ownership checks.
Admin users with files:all permission bypass ownership restrictions. Returns 404
(not 403) for ownership failures to avoid leaking resource existence.
2026-04-10 21:25:30 +08:00
Siddharth Kumar Sah
d776680f2d
feat: add permission checks and admin override to API key routes
...
Replace requireAuth with requirePermission(apikeys:own). Admin users
with apikeys:all can see and delete any user's keys.
2026-04-10 21:25:30 +08:00
Siddharth Kumar Sah
af7f57d52f
feat: replace requireAdmin with requirePermission on all routes
...
Migrate settings, teams, branding, and user management routes to use
the new permission-based authorization system. Remove requireAdmin
function entirely.
2026-04-10 21:25:30 +08:00
Siddharth Kumar Sah
885ace54f0
feat: add tools:use permission check to tool, batch, pipeline, and upload routes
2026-04-10 21:25:30 +08:00
Siddharth Kumar Sah
49431772ec
feat: include permissions and teamName in login/session responses
2026-04-10 21:25:30 +08:00
Siddharth Kumar Sah
1a99571153
feat: add backend permission map and requirePermission middleware
...
Create the RBAC permission module that maps roles to permissions and
provides a requirePermission middleware to replace requireAdmin. Update
the test server to use requirePermission for the admin health check.
2026-04-10 21:25:30 +08:00
Siddharth Kumar Sah
2f594e9605
feat: add shared Permission and Role types
2026-04-10 21:25:29 +08:00
semantic-release-bot
e8bad0e67b
chore(release): 1.12.0 [skip ci]
...
# [1.12.0](https://github.com/stirling-image/stirling-image/compare/v1.11.0...v1.12.0 ) (2026-04-10)
### Bug Fixes
* **a11y:** add keyboard support to pdf-to-image upload dropzone ([1778f72 ](https://github.com/stirling-image/stirling-image/commit/1778f7266b9837a07b20f167e82e1e9b163086b7 ))
* use specific selector in pdf-to-image e2e test ([b2a2c89 ](https://github.com/stirling-image/stirling-image/commit/b2a2c890a1d25f60e392e6a2df23e1600cc3ad8d ))
### Features
* add pdf-to-image backend route with info and processing endpoints ([30155c1 ](https://github.com/stirling-image/stirling-image/commit/30155c1c7073c55290d4f662f7f93779cc4512b7 ))
* add pdf-to-image frontend settings component ([44bbfba ](https://github.com/stirling-image/stirling-image/commit/44bbfba80dfb3eb069c563e5ca691a0f8dce1eea ))
* register pdf-to-image in frontend tool registry ([5fd294c ](https://github.com/stirling-image/stirling-image/commit/5fd294c994e7df076c4de0016f62d952a161345b ))
* register pdf-to-image tool in shared constants and i18n ([43324c1 ](https://github.com/stirling-image/stirling-image/commit/43324c1f23e3f278c89fa301d5a0275b12f587e7 ))
* unified Docker image with GPU auto-detection ([#37 ](https://github.com/stirling-image/stirling-image/issues/37 )) ([b0083e2 ](https://github.com/stirling-image/stirling-image/commit/b0083e2b083d0bf52b6a576f7ef67fbff0cc8cbe ))
v1.12.0
2026-04-10 12:56:42 +00:00
Siddharth Kumar Sah
1778f7266b
fix(a11y): add keyboard support to pdf-to-image upload dropzone
2026-04-10 20:56:13 +08:00
Siddharth Kumar Sah
b2a2c890a1
fix: use specific selector in pdf-to-image e2e test
...
The getByText("3 pages") matched multiple elements including the
convert button. Scope the selector to the file info area.
2026-04-10 20:56:13 +08:00
Siddharth Kumar Sah
cab6772dab
test: add e2e test for pdf-to-image tool
2026-04-10 20:56:13 +08:00
Siddharth Kumar Sah
5fd294c994
feat: register pdf-to-image in frontend tool registry
2026-04-10 20:56:13 +08:00
Siddharth Kumar Sah
48cf919fb7
test: add integration tests for pdf-to-image endpoints
2026-04-10 20:56:13 +08:00
Siddharth Kumar Sah
44bbfba80d
feat: add pdf-to-image frontend settings component
2026-04-10 20:56:13 +08:00
Siddharth Kumar Sah
30155c1c70
feat: add pdf-to-image backend route with info and processing endpoints
2026-04-10 20:56:13 +08:00
Siddharth Kumar Sah
6b03cdb6d8
test: add unit tests for pdf-to-image page range parser
2026-04-10 20:56:13 +08:00
Siddharth Kumar Sah
43324c1f23
feat: register pdf-to-image tool in shared constants and i18n
2026-04-10 20:56:13 +08:00
Siddharth Kumar Sah
d650f301ca
chore: add mupdf dependency for PDF-to-image tool
2026-04-10 20:56:13 +08:00
semantic-release-bot
b20039eddf
chore(release): 1.12.0 [skip ci]
...
# [1.12.0](https://github.com/stirling-image/stirling-image/compare/v1.11.0...v1.12.0 ) (2026-04-10)
### Features
* unified Docker image with GPU auto-detection ([#37 ](https://github.com/stirling-image/stirling-image/issues/37 )) ([b0083e2 ](https://github.com/stirling-image/stirling-image/commit/b0083e2b083d0bf52b6a576f7ef67fbff0cc8cbe ))
2026-04-10 05:45:42 +00:00
stirling-image and GitHub
b0083e2b08
feat: unified Docker image with GPU auto-detection ( #37 )
...
Merge CPU, CUDA, and lite Docker images into a single unified image.
One tag (latest) works on all platforms: amd64 (NVIDIA CUDA) and arm64 (CPU).
GPU auto-detected at runtime. All ML models and packages baked in.
Key changes:
- Platform-conditional Dockerfile (nvidia/cuda on amd64, node on arm64)
- tini as PID 1 for proper signal handling
- Fix FILES_STORAGE_PATH data loss bug
- Fix RealESRGAN upscaler (was broken, always fell back to Lanczos)
- Fix PaddleOCR language codes and stdout corruption
- Simplified CI/CD (single build, single tag)
- Expanded model pre-download with verification
- Shutdown timeout, improved health endpoint
- Remove unused lama-cleaner
2026-04-10 13:21:06 +08:00
semantic-release-bot
7bc979f677
chore(release): 1.11.0 [skip ci]
...
# [1.11.0](https://github.com/stirling-image/stirling-image/compare/v1.10.0...v1.11.0 ) (2026-04-07)
### Features
* **docs:** auto-generate llms.txt via vitepress-plugin-llms ([6a362d6 ](https://github.com/stirling-image/stirling-image/commit/6a362d6443cd85ac58a46f5b5cf29f9b6ff3020c ))
v1.11.0
2026-04-07 16:53:54 +00:00
Siddharth Kumar Sah
6a362d6443
feat(docs): auto-generate llms.txt via vitepress-plugin-llms
...
Replace static llms.txt and llms-full.txt with auto-generated versions
that stay in sync with docs on every build. The plugin also generates
per-page .md files for individual page fetching by LLMs.
2026-04-08 00:53:26 +08:00
Siddharth Kumar Sah
e8c6a26cb9
chore: add __pycache__ and .pyc to gitignore
2026-04-08 00:19:58 +08:00
semantic-release-bot
d4d421d3ff
chore(release): 1.10.0 [skip ci]
...
# [1.10.0](https://github.com/stirling-image/stirling-image/compare/v1.9.0...v1.10.0 ) (2026-04-07)
### Features
* add content-aware resize API route and registration ([d464942 ](https://github.com/stirling-image/stirling-image/commit/d464942cd9a7c1fecc837a14211e3fc5030d5cee ))
* add content-aware resize toggle to resize settings UI ([aace4ca ](https://github.com/stirling-image/stirling-image/commit/aace4caf0c5b10059a31e9dff5476d11b34b4323 ))
* add seam carving AI bridge module ([d3b6462 ](https://github.com/stirling-image/stirling-image/commit/d3b646207d3312aea9e12cc9435649b039bc4ac8 ))
* add seam carving Python script with face protection ([1460ab7 ](https://github.com/stirling-image/stirling-image/commit/1460ab7a4ad8235714ebd72ab1f8092baa456032 ))
v1.10.0
2026-04-07 16:11:15 +00:00
stirling-image and GitHub
28d0dfb45d
Merge pull request #28 from stirling-image/feat/content-aware-resize
...
feat: add content-aware resize (seam carving) to resize tool
2026-04-08 00:10:50 +08:00
Siddharth Kumar Sah
4435559d5f
chore: add seam-carving to Docker Python dependencies
2026-04-07 23:37:55 +08:00
Siddharth Kumar Sah
fc7d355d08
test: add integration tests for content-aware resize endpoint
2026-04-07 23:36:51 +08:00
Siddharth Kumar Sah
aace4caf0c
feat: add content-aware resize toggle to resize settings UI
2026-04-07 23:33:34 +08:00
Siddharth Kumar Sah
d464942cd9
feat: add content-aware resize API route and registration
2026-04-07 23:29:21 +08:00
Siddharth Kumar Sah
d3b646207d
feat: add seam carving AI bridge module
2026-04-07 23:26:47 +08:00
Siddharth Kumar Sah
18119166f0
refactor: align seam_carve.py with sidecar script conventions
2026-04-07 23:25:40 +08:00
Siddharth Kumar Sah
1460ab7a4a
feat: add seam carving Python script with face protection
2026-04-07 23:21:14 +08:00
semantic-release-bot
14deda12b8
chore(release): 1.9.0 [skip ci]
...
# [1.9.0](https://github.com/stirling-image/stirling-image/compare/v1.8.1...v1.9.0 ) (2026-04-07)
### Features
* add stitch API route handler ([1716468 ](https://github.com/stirling-image/stirling-image/commit/171646886f678b0f98140d378e675443bc7c737f ))
* add stitch settings UI component ([330bfcf ](https://github.com/stirling-image/stirling-image/commit/330bfcf162deeb30fb573702b554d304500eebde ))
* register stitch component in web tool registry ([7ec5d86 ](https://github.com/stirling-image/stirling-image/commit/7ec5d86d9123696e84ebeae603ec09ce4c1477d3 ))
* register stitch route in API tool registry ([66520cd ](https://github.com/stirling-image/stirling-image/commit/66520cdd0ee49bbecffdb3e248c03d2763aa5d08 ))
* register stitch tool in shared constants and i18n ([fbbbe70 ](https://github.com/stirling-image/stirling-image/commit/fbbbe70a35a6cd3cbc389503cff3333b85392871 ))
v1.9.0
2026-04-07 14:21:16 +00:00
stirling-image and GitHub
8b251df518
Merge pull request #27 from stirling-image/feat/stitch-tool
...
feat: add Stitch tool for joining images
2026-04-07 22:20:52 +08:00
Siddharth Kumar Sah
7ec5d86d91
feat: register stitch component in web tool registry
2026-04-07 21:55:49 +08:00
Siddharth Kumar Sah
330bfcf162
feat: add stitch settings UI component
2026-04-07 21:54:55 +08:00
Siddharth Kumar Sah
eda151faf3
test: add integration tests for stitch API endpoint
2026-04-07 21:53:42 +08:00
Siddharth Kumar Sah
66520cdd0e
feat: register stitch route in API tool registry
2026-04-07 21:52:28 +08:00
Siddharth Kumar Sah
171646886f
feat: add stitch API route handler
2026-04-07 21:51:24 +08:00
Siddharth Kumar Sah
fbbbe70a35
feat: register stitch tool in shared constants and i18n
2026-04-07 21:49:46 +08:00
Siddharth Kumar Sah
625e16c7b6
chore: remove all docs/superpowers from git tracking
...
These are local planning artifacts that should not be in the
repository. The directory is already gitignored.
2026-04-07 21:48:20 +08:00
Siddharth Kumar Sah
44dd66283f
chore: remove docs/superpowers spec from git tracking
2026-04-07 21:48:20 +08:00
Siddharth Kumar Sah
3c42d6625a
docs: add stitch tool design spec
...
New tool for joining images horizontally or vertically,
distinct from the grid-based collage tool. Preserves aspect
ratios with fit/original resize modes, optional gap, and
multi-format output.
2026-04-07 21:48:20 +08:00
semantic-release-bot
c598230331
chore(release): 1.8.1 [skip ci]
...
## [1.8.1](https://github.com/stirling-image/stirling-image/compare/v1.8.0...v1.8.1 ) (2026-04-07)
### Bug Fixes
* add variant diagnostics to health endpoint and lite mode banner ([3be388e ](https://github.com/stirling-image/stirling-image/commit/3be388e12f8bc6a35d30b1b94e2772f9e005bccd ))
v1.8.1
2026-04-07 10:35:05 +00:00
stirling-image and GitHub
463f7ff524
Merge pull request #26 from stirling-image/fix/lite-variant-diagnostics
...
fix: add variant diagnostics to health endpoint and lite mode banner
2026-04-07 18:34:41 +08:00