Files
SnapOtter/apps/docs/changelog.md
T
SnapOtterandGitHub 9941a1db03 feat: add 52 per-tool SEO landing pages and public changelog (#145)
* feat: add 52 per-tool SEO landing pages and public changelog

- Create individual landing pages for all 52 tools at /tools/{slug}
  with search-intent title tags, unique FAQs (156 Q&As), per-tool
  features, and rich schema markup (BreadcrumbList, WebApplication,
  HowTo, FAQPage)
- Replace static sitemap.xml with dynamic generation including all
  tool URLs
- Refactor bento grid to import from @snapotter/shared (eliminates
  330 lines of duplicated tool data) and link cards to tool pages
- Add @snapotter/shared as workspace dependency to landing site
- Add public changelog page to docs site with curated release notes
  from v1.8 through v1.17
- Update docs nav and sidebar with changelog link

* feat: enhance SEO and performance with updated metadata, robots.txt, and llms.txt
2026-05-18 16:39:54 +08:00

5.1 KiB

description
description
Release notes and version history for SnapOtter. See what's new, improved, and fixed in each release.

Changelog

v1.17.0

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.
  • Exotic formats everywhere -- OCR, image-to-PDF, favicon generator, composition, stitch, and vectorize all decode HEIC, RAW, PSD now.
  • 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 now handled properly.
  • GPU detection -- Better diagnostics for containers where CUDA is present but nvidia-smi is not.
  • 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 no longer makes the preview vanish permanently.
  • Crop overflow fixed for tall portrait images.
  • TIFF alpha files 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 handles mixed-format batches and network errors.
  • Beautify preview updates in real time.
  • Progress bars for stitch and vectorize.
  • SVGZ handled by SVG-to-raster.
  • Non-ASCII filenames fixed via percent-encoded X-File-Results header.

Upgrade

docker pull snapotter/snapotter:1.17.0

Or with Docker Compose:

docker compose pull && docker compose up -d

Full diff on GitHub


v1.14.0

Unified Docker image with GPU auto-detection. One image handles both CPU and GPU workloads. Simplified compose to a single file with log rotation. Model pre-downloads now include verification and a smoke test.


v1.13.0

Role-based access control (RBAC). 14 granular permissions, three built-in roles (admin, editor, user), custom role support. Permission checks on all API routes. Frontend tabs filtered by user permissions.


v1.12.0

PDF to Image tool. Convert PDF pages to PNG, JPEG, WebP, or TIFF at custom DPI. Unified Docker image with GPU auto-detection.


v1.11.0

Auto-generated llms.txt via vitepress-plugin-llms for AI-friendly documentation.


v1.10.0

Content-aware resize (seam carving) with face protection. Resize images while preserving important content.


v1.9.0

Stitch / Combine tool. Join images side by side, stacked vertically, or in a custom grid.


v1.8.0

Edit Metadata tool. View and edit EXIF, IPTC, and XMP metadata with a granular strip/keep interface.


Older releases

For the full commit-level changelog including patch releases, see GitHub Releases.