This release adds 3 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
Affected surfaces
Summary
AI summaryAdded an OIDC/SAML single sign‑on authentication flow.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Feature | Medium |
Image editor with layers, brushes, shapes, adjustments, filters, curves, keyboard shortcuts. Image editor with layers, brushes, shapes, adjustments, filters, curves, keyboard shortcuts. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
OIDC / SSO authentication for Google, GitHub, Okta, and other OpenID Connect providers. OIDC / SSO authentication for Google, GitHub, Okta, and other OpenID Connect providers. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
Meme generator with 100 built-in templates and text rendering via opentype.js. Meme generator with 100 built-in templates and text rendering via opentype.js. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
Beautify tool adds device frames, shadows, gradients, social media presets to screenshots. Beautify tool adds device frames, shadows, gradients, social media presets to screenshots. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
Color blindness simulation previews images for protanopia, deuteranopia, tritanopia. Color blindness simulation previews images for protanopia, deuteranopia, tritanopia. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
PNG transparency fixer detects and repairs fake-transparent PNGs using BiRefNet HR-matting. PNG transparency fixer detects and repairs fake-transparent PNGs using BiRefNet HR-matting. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
AI canvas expand extends image boundaries with AI fill, offering three quality tiers. AI canvas expand extends image boundaries with AI fill, offering three quality tiers. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
URL import allows pasting URLs into dropzone or bulk-importing from a list with SSRF protection. URL import allows pasting URLs into dropzone or bulk-importing from a list with SSRF protection. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
Multi-file eraser draws erase masks across multiple images, processing them with one click. Multi-file eraser draws erase masks across multiple images, processing them with one click. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
Pipeline import/export saves and shares tool chains as JSON. Pipeline import/export saves and shares tool chains as JSON. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
Support for 20 languages including Arabic, Chinese, Czech, Dutch, French, German, Hindi, Indonesian, Italian, Japanese, Korean, Polish, Portuguese, Russian, Spanish, Thai, Turkish, Ukrainian, Vietnamese; RTL works for Arabic. Support for 20 languages including Arabic, Chinese, Czech, Dutch, French, German, Hindi, Indonesian, Italian, Japanese, Korean, Polish, Portuguese, Russian, Spanish, Thai, Turkish, Ukrainian, Vietnamese; RTL works for Arabic. Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Feature | Medium |
Support for 17 new camera RAW formats via exiftool plus QOI, JP2, EPS, DDS, CUR, DPX, FITS, PPM/PGM/PBM, SVGZ inputs; new output codecs BMP, ICO, JP2, QOI, AVIF, TIFF, GIF, JXL, PSD. Support for 17 new camera RAW formats via exiftool plus QOI, JP2, EPS, DDS, CUR, DPX, FITS, PPM/PGM/PBM, SVGZ inputs; new output codecs BMP, ICO, JP2, QOI, AVIF, TIFF, GIF, JXL, PSD. Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Feature | Medium |
Exotic formats now supported for OCR, image-to-PDF, favicon generator, composition, stitch, vectorize (HEIC, RAW, PSD). Exotic formats now supported for OCR, image-to-PDF, favicon generator, composition, stitch, vectorize (HEIC, RAW, PSD). Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Performance | Medium |
Image enhancement replaced with CLAHE + normalize + gamma pipeline; Deep Enhance toggle uses AI model for aggressive results. Image enhancement replaced with CLAHE + normalize + gamma pipeline; Deep Enhance toggle uses AI model for aggressive results. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Performance | Medium |
Compress target-size tolerance tightened from 5% to 1%; stepper buttons and KB/MB unit selector added. Compress target-size tolerance tightened from 5% to 1%; stepper buttons and KB/MB unit selector added. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Bugfix | Medium |
Restore photo scratch detection rewritten with 8-angle Otsu filtering and LaMa inpainting at native resolution. Restore photo scratch detection rewritten with 8-angle Otsu filtering and LaMa inpainting at native resolution. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Bugfix | Medium |
TIFF alpha handling forces PNG output instead of producing corruption. TIFF alpha handling forces PNG output instead of producing corruption. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Bugfix | Medium |
HDR/EXR decode converts to 8-bit before CLAHE, fixing decode failures. HDR/EXR decode converts to 8-bit before CLAHE, fixing decode failures. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Bugfix | Medium |
Find duplicates mixed-format batches no longer crash; network errors handled. Find duplicates mixed-format batches no longer crash; network errors handled. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Bugfix | Medium |
Non-ASCII filenames percent-encoded in X-File-Results header, fixing downloads. Non-ASCII filenames percent-encoded in X-File-Results header, fixing downloads. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Bugfix | Medium |
Upscale on CPU no longer times out on NAS boxes and low-power hardware. Upscale on CPU no longer times out on NAS boxes and low-power hardware. Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Bugfix | Medium |
QR code logo addition no longer makes preview vanish permanently. QR code logo addition no longer makes preview vanish permanently. Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Bugfix | Medium |
Crop overflow fixed for tall portrait images staying inside the viewport. Crop overflow fixed for tall portrait images staying inside the viewport. Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Bugfix | Medium |
Face landmarks input buffers converted to PNG before Python sidecar, preventing crashes. Face landmarks input buffers converted to PNG before Python sidecar, preventing crashes. Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Bugfix | Medium |
Beautify preview updates in real time when frame or watermark is active. Beautify preview updates in real time when frame or watermark is active. Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Bugfix | Medium |
Progress bars now show for stitch and vectorize during processing. Progress bars now show for stitch and vectorize during processing. Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Bugfix | Medium |
SVGZ handling for SVG-to-raster improved to process gzip-compressed SVGs. SVGZ handling for SVG-to-raster improved to process gzip-compressed SVGs. Source: llm_adapter@2026-05-21 Confidence: low |
— |
Full changelog
Highlights
Five new tools, a full image editor, SSO login, 20 languages. Probably should have been three separate releases, but here we are.
New features
- Image editor -- Layers, brushes, shapes, adjustments, filters, curves, keyboard shortcuts. Runs in your browser, processes on your hardware.
- OIDC / SSO authentication -- Login with Google, GitHub, Okta, or any OpenID Connect provider. Set a few env vars and your team uses their existing accounts.
- Meme generator -- 100 built-in templates with text rendering via opentype.js. Or upload your own image.
- Beautify -- Drop a screenshot in, get a polished image out. Device frames (macOS, Windows, browser), shadows, gradients, social media presets.
- Color blindness simulation -- Preview how images look with protanopia, deuteranopia, tritanopia, and other color vision deficiencies.
- PNG transparency fixer -- Detects fake-transparent PNGs and fixes them with BiRefNet HR-matting. Optional watermark removal via LaMa inpainting.
- AI canvas expand -- Extend image boundaries with AI fill. Three quality tiers (fast, balanced, quality) depending on how much GPU time you want to trade.
- 20 languages -- Arabic, Chinese (Simplified/Traditional), Czech, Dutch, French, German, Hindi, Indonesian, Italian, Japanese, Korean, Polish, Portuguese, Russian, Spanish, Thai, Turkish, Ukrainian, Vietnamese. RTL works for Arabic.
- URL import -- Paste URLs into the dropzone or bulk-import from a list. Server-side fetch with SSRF protection.
- Multi-file eraser -- Draw erase masks across multiple images, process them all with one click. Strokes persist per-image.
- Pipeline import/export -- Save tool chains as JSON, share them with others.
- 17 new camera RAW formats via exiftool, plus QOI, JP2, EPS, DDS, CUR, DPX, FITS, PPM/PGM/PBM, SVGZ, and APNG input. New output codecs for BMP, ICO, JP2, QOI. AVIF, TIFF, GIF, JXL, and PSD export recovered from a previously lost branch.
Improvements
- Image enhancement -- Replaced the old pipeline with CLAHE + normalise + gamma. New Deep Enhance toggle uses the AI model for more aggressive results.
- Restore photo -- Scratch detection rewritten with 8-angle Otsu filtering. LaMa inpainting now runs at native resolution. The confusing mode selector is gone, replaced with a colorize strength slider.
- Exotic formats everywhere -- OCR, image-to-PDF, favicon generator, composition, stitch, and vectorize all decode HEIC, RAW, PSD now. Previously they just errored out.
- Compress -- Target-size tolerance tightened from 5% to 1%. Target size is the default mode. Added stepper buttons and KB/MB unit selector.
- Sentry cleanup -- 644 non-actionable events filtered. Real errors (non-ASCII filename crashes, EPIPE on dispatcher, EACCES on storage) now handled properly.
- GPU detection -- Better diagnostics for containers where CUDA is present but nvidia-smi is not.
- DNG/RAW metadata -- Image info reads EXIF from RAW files without full decode.
- Auth-disabled mode -- Anonymous user is seeded in the DB with admin role. API keys, pipelines, and user files no longer break on FK constraints.
- 2,705+ new tests across unit, integration, and E2E.
Bug fixes
- Upscale on CPU -- No longer times out on NAS boxes and low-power hardware.
- QR code logo -- Adding a logo no longer makes the preview vanish permanently.
- Crop overflow -- Tall portrait images stay inside the viewport.
- TIFF alpha -- Files needing alpha correctly force PNG output instead of producing corruption.
- HDR/EXR decode -- Converts to 8-bit before CLAHE, fixing decode failures.
- Face landmarks -- Input buffers converted to PNG before the Python sidecar, fixing crashes.
- Find duplicates -- Mixed-format batches no longer crash. Network errors handled.
- Beautify preview -- Updates in real time, no longer collapses when frame or watermark is active.
- Progress bars -- Stitch and vectorize show progress during processing.
- SVGZ -- SVG-to-raster handles gzip-compressed SVGs.
- Non-ASCII filenames -- X-File-Results header is percent-encoded, fixing downloads for non-Latin names.
Upgrade
docker pull snapotter/snapotter:1.17.0
Or with Docker Compose:
docker compose pull && docker compose up -d
Full Changelog: https://github.com/snapotter-hq/SnapOtter/compare/v1.16.0...v1.17.0
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
Related context
Related tools
Beta — feedback welcome: [email protected]