1616ad1a5a
chore(deps-dev): bump dev-deps group + fix vitest 3.2.6 mock resolution ( #197 )
...
* chore(deps-dev): bump the dev-deps group across 1 directory with 7 updates
Bumps the dev-deps group with 7 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [@biomejs/biome](https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome ) | `2.4.15` | `2.4.16` |
| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8 ) | `3.2.4` | `3.2.6` |
| [turbo](https://github.com/vercel/turborepo ) | `2.9.14` | `2.9.16` |
| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest ) | `3.2.4` | `3.2.6` |
| [@types/opentype.js](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/opentype.js ) | `1.3.9` | `1.3.10` |
| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ) | `6.4.2` | `6.4.3` |
| [vitepress-plugin-llms](https://github.com/okineadev/vitepress-plugin-llms ) | `1.12.2` | `1.13.1` |
Updates `@biomejs/biome` from 2.4.15 to 2.4.16
- [Release notes](https://github.com/biomejs/biome/releases )
- [Changelog](https://github.com/biomejs/biome/blob/main/packages/@biomejs/biome/CHANGELOG.md )
- [Commits](https://github.com/biomejs/biome/commits/@biomejs/biome@2.4.16/packages/@biomejs/biome )
Updates `@vitest/coverage-v8` from 3.2.4 to 3.2.6
- [Release notes](https://github.com/vitest-dev/vitest/releases )
- [Changelog](https://github.com/vitest-dev/vitest/blob/main/docs/releases.md )
- [Commits](https://github.com/vitest-dev/vitest/commits/v3.2.6/packages/coverage-v8 )
Updates `turbo` from 2.9.14 to 2.9.16
- [Release notes](https://github.com/vercel/turborepo/releases )
- [Changelog](https://github.com/vercel/turborepo/blob/main/RELEASE.md )
- [Commits](https://github.com/vercel/turborepo/compare/v2.9.14...v2.9.16 )
Updates `vitest` from 3.2.4 to 3.2.6
- [Release notes](https://github.com/vitest-dev/vitest/releases )
- [Changelog](https://github.com/vitest-dev/vitest/blob/main/docs/releases.md )
- [Commits](https://github.com/vitest-dev/vitest/commits/v3.2.6/packages/vitest )
Updates `@types/opentype.js` from 1.3.9 to 1.3.10
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/opentype.js )
Updates `vite` from 6.4.2 to 6.4.3
- [Release notes](https://github.com/vitejs/vite/releases )
- [Changelog](https://github.com/vitejs/vite/blob/v6.4.3/packages/vite/CHANGELOG.md )
- [Commits](https://github.com/vitejs/vite/commits/v6.4.3/packages/vite )
Updates `vitepress-plugin-llms` from 1.12.2 to 1.13.1
- [Release notes](https://github.com/okineadev/vitepress-plugin-llms/releases )
- [Commits](https://github.com/okineadev/vitepress-plugin-llms/compare/v1.12.2...v1.13.1 )
---
updated-dependencies:
- dependency-name: "@biomejs/biome"
dependency-version: 2.4.16
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: dev-deps
- dependency-name: "@vitest/coverage-v8"
dependency-version: 3.2.6
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: dev-deps
- dependency-name: turbo
dependency-version: 2.9.16
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: dev-deps
- dependency-name: vitest
dependency-version: 3.2.6
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: dev-deps
- dependency-name: "@types/opentype.js"
dependency-version: 1.3.10
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: dev-deps
- dependency-name: vite
dependency-version: 6.4.3
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: dev-deps
- dependency-name: vitepress-plugin-llms
dependency-version: 1.13.1
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: dev-deps
...
Signed-off-by: dependabot[bot] <support@github.com >
* fix(test): resolve vitest 3.2.6 mock path breakage for posthog-node and @sentry/node
Add posthog-node and @sentry/node to vitest resolve aliases (matching
the existing pattern for all other api-workspace packages) and switch
the analytics test mocks from fragile relative node_modules paths to
bare specifiers. Vitest 3.2.6 changed how it matches mock paths through
pnpm symlinks after vi.resetModules(), causing 9 analytics test failures.
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-04 22:22:40 +08:00
ed8cea7dc9
chore(deps): bump the production-deps group across 1 directory with 15 updates ( #195 )
...
Bumps the production-deps group with 15 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [@neplex/vectorizer](https://github.com/neplextech/vectorizer ) | `0.0.5` | `0.1.0` |
| [@scalar/fastify-api-reference](https://github.com/scalar/scalar/tree/HEAD/integrations/fastify ) | `1.57.2` | `1.57.5` |
| [@sentry/node](https://github.com/getsentry/sentry-javascript ) | `10.53.1` | `10.55.0` |
| [js-yaml](https://github.com/nodeca/js-yaml ) | `4.1.1` | `4.2.0` |
| [posthog-node](https://github.com/PostHog/posthog-js/tree/HEAD/packages/node ) | `5.34.3` | `5.35.9` |
| [tsx](https://github.com/privatenumber/tsx ) | `4.22.1` | `4.22.4` |
| [zxing-wasm](https://github.com/Sec-ant/zxing-wasm ) | `3.0.3` | `3.1.0` |
| [react](https://github.com/facebook/react/tree/HEAD/packages/react ) | `19.2.6` | `19.2.7` |
| [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom ) | `19.2.6` | `19.2.7` |
| [@sentry/react](https://github.com/getsentry/sentry-javascript ) | `10.53.1` | `10.55.0` |
| [posthog-js](https://github.com/PostHog/posthog-js ) | `1.374.0` | `1.377.0` |
| [react-colorful](https://github.com/omgovich/react-colorful ) | `5.6.1` | `5.7.0` |
| [react-konva](https://github.com/konvajs/react-konva ) | `19.2.3` | `19.2.4` |
| [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom ) | `7.15.1` | `7.16.0` |
| [zustand](https://github.com/pmndrs/zustand ) | `5.0.13` | `5.0.14` |
Updates `@neplex/vectorizer` from 0.0.5 to 0.1.0
- [Release notes](https://github.com/neplextech/vectorizer/releases )
- [Commits](https://github.com/neplextech/vectorizer/compare/v0.0.5...v0.1.0 )
Updates `@scalar/fastify-api-reference` from 1.57.2 to 1.57.5
- [Release notes](https://github.com/scalar/scalar/releases )
- [Changelog](https://github.com/scalar/scalar/blob/main/integrations/fastify/CHANGELOG.md )
- [Commits](https://github.com/scalar/scalar/commits/HEAD/integrations/fastify )
Updates `@sentry/node` from 10.53.1 to 10.55.0
- [Release notes](https://github.com/getsentry/sentry-javascript/releases )
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/develop/CHANGELOG.md )
- [Commits](https://github.com/getsentry/sentry-javascript/compare/10.53.1...10.55.0 )
Updates `js-yaml` from 4.1.1 to 4.2.0
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md )
- [Commits](https://github.com/nodeca/js-yaml/commits )
Updates `posthog-node` from 5.34.3 to 5.35.9
- [Release notes](https://github.com/PostHog/posthog-js/releases )
- [Changelog](https://github.com/PostHog/posthog-js/blob/main/packages/node/CHANGELOG.md )
- [Commits](https://github.com/PostHog/posthog-js/commits/posthog-node@5.35.9/packages/node )
Updates `tsx` from 4.22.1 to 4.22.4
- [Release notes](https://github.com/privatenumber/tsx/releases )
- [Changelog](https://github.com/privatenumber/tsx/blob/master/release.config.cjs )
- [Commits](https://github.com/privatenumber/tsx/compare/v4.22.1...v4.22.4 )
Updates `zxing-wasm` from 3.0.3 to 3.1.0
- [Release notes](https://github.com/Sec-ant/zxing-wasm/releases )
- [Changelog](https://github.com/Sec-ant/zxing-wasm/blob/main/CHANGELOG.md )
- [Commits](https://github.com/Sec-ant/zxing-wasm/compare/v3.0.3...v3.1.0 )
Updates `react` from 19.2.6 to 19.2.7
- [Release notes](https://github.com/facebook/react/releases )
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md )
- [Commits](https://github.com/facebook/react/commits/v19.2.7/packages/react )
Updates `react-dom` from 19.2.6 to 19.2.7
- [Release notes](https://github.com/facebook/react/releases )
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md )
- [Commits](https://github.com/facebook/react/commits/v19.2.7/packages/react-dom )
Updates `@sentry/react` from 10.53.1 to 10.55.0
- [Release notes](https://github.com/getsentry/sentry-javascript/releases )
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/develop/CHANGELOG.md )
- [Commits](https://github.com/getsentry/sentry-javascript/compare/10.53.1...10.55.0 )
Updates `posthog-js` from 1.374.0 to 1.377.0
- [Release notes](https://github.com/PostHog/posthog-js/releases )
- [Changelog](https://github.com/PostHog/posthog-js/blob/main/CHANGELOG.md )
- [Commits](https://github.com/PostHog/posthog-js/compare/posthog-js@1.374.0...posthog-js@1.377.0 )
Updates `react-colorful` from 5.6.1 to 5.7.0
- [Release notes](https://github.com/omgovich/react-colorful/releases )
- [Changelog](https://github.com/omgovich/react-colorful/blob/master/CHANGELOG.md )
- [Commits](https://github.com/omgovich/react-colorful/commits/5.7.0 )
Updates `react-konva` from 19.2.3 to 19.2.4
- [Release notes](https://github.com/konvajs/react-konva/releases )
- [Commits](https://github.com/konvajs/react-konva/compare/v19.2.3...v19.2.4 )
Updates `react-router-dom` from 7.15.1 to 7.16.0
- [Release notes](https://github.com/remix-run/react-router/releases )
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md )
- [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@7.16.0/packages/react-router-dom )
Updates `zustand` from 5.0.13 to 5.0.14
- [Release notes](https://github.com/pmndrs/zustand/releases )
- [Commits](https://github.com/pmndrs/zustand/compare/v5.0.13...v5.0.14 )
---
updated-dependencies:
- dependency-name: "@neplex/vectorizer"
dependency-version: 0.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-deps
- dependency-name: "@scalar/fastify-api-reference"
dependency-version: 1.57.5
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-deps
- dependency-name: "@sentry/node"
dependency-version: 10.55.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-deps
- dependency-name: js-yaml
dependency-version: 4.2.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-deps
- dependency-name: posthog-node
dependency-version: 5.35.9
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-deps
- dependency-name: tsx
dependency-version: 4.22.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-deps
- dependency-name: zxing-wasm
dependency-version: 3.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-deps
- dependency-name: react
dependency-version: 19.2.7
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-deps
- dependency-name: react-dom
dependency-version: 19.2.7
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-deps
- dependency-name: "@sentry/react"
dependency-version: 10.55.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-deps
- dependency-name: posthog-js
dependency-version: 1.377.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-deps
- dependency-name: react-colorful
dependency-version: 5.7.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-deps
- dependency-name: react-konva
dependency-version: 19.2.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-deps
- dependency-name: react-router-dom
dependency-version: 7.16.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-deps
- dependency-name: zustand
dependency-version: 5.0.14
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-deps
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-04 21:49:06 +08:00
SnapOtter
e70fca054a
fix: replace hardcoded "52 tools" with "50+" across all copy
...
Future-proofs marketing text so it doesn't need updating every time
a tool is added.
2026-05-20 14:45:45 +08:00
SnapOtter
dfbc4cfd59
chore(release): 1.17.1
...
Bump version across all workspaces, update changelog, release notes,
OpenAPI spec, bug report template, and OpenSSF badge answers.
2026-05-18 19:10:56 +08:00
0bfbe31fe0
chore(deps-dev): bump the dev-deps group with 13 updates ( #147 )
...
Bumps the dev-deps group with 13 updates:
| Package | From | To |
| --- | --- | --- |
| [@biomejs/biome](https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome ) | `2.4.8` | `2.4.15` |
| [@playwright/test](https://github.com/microsoft/playwright ) | `1.58.2` | `1.60.0` |
| [@semantic-release/github](https://github.com/semantic-release/github ) | `12.0.6` | `12.0.8` |
| [@semantic-release/release-notes-generator](https://github.com/semantic-release/release-notes-generator ) | `14.1.0` | `14.1.1` |
| [jsdom](https://github.com/jsdom/jsdom ) | `29.0.1` | `29.1.1` |
| [turbo](https://github.com/vercel/turborepo ) | `2.8.20` | `2.9.14` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node ) | `22.19.15` | `22.19.19` |
| [@types/pdfkit](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/pdfkit ) | `0.17.5` | `0.17.6` |
| [@tailwindcss/vite](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite ) | `4.2.2` | `4.3.0` |
| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss ) | `4.2.2` | `4.3.0` |
| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ) | `6.4.1` | `6.4.2` |
| [vitepress-plugin-llms](https://github.com/okineadev/vitepress-plugin-llms ) | `1.12.0` | `1.12.2` |
| [@tailwindcss/postcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss ) | `4.2.4` | `4.3.0` |
Updates `@biomejs/biome` from 2.4.8 to 2.4.15
- [Release notes](https://github.com/biomejs/biome/releases )
- [Changelog](https://github.com/biomejs/biome/blob/main/packages/@biomejs/biome/CHANGELOG.md )
- [Commits](https://github.com/biomejs/biome/commits/@biomejs/biome@2.4.15/packages/@biomejs/biome )
Updates `@playwright/test` from 1.58.2 to 1.60.0
- [Release notes](https://github.com/microsoft/playwright/releases )
- [Commits](https://github.com/microsoft/playwright/compare/v1.58.2...v1.60.0 )
Updates `@semantic-release/github` from 12.0.6 to 12.0.8
- [Release notes](https://github.com/semantic-release/github/releases )
- [Commits](https://github.com/semantic-release/github/compare/v12.0.6...v12.0.8 )
Updates `@semantic-release/release-notes-generator` from 14.1.0 to 14.1.1
- [Release notes](https://github.com/semantic-release/release-notes-generator/releases )
- [Commits](https://github.com/semantic-release/release-notes-generator/compare/v14.1.0...v14.1.1 )
Updates `jsdom` from 29.0.1 to 29.1.1
- [Release notes](https://github.com/jsdom/jsdom/releases )
- [Commits](https://github.com/jsdom/jsdom/compare/v29.0.1...v29.1.1 )
Updates `turbo` from 2.8.20 to 2.9.14
- [Release notes](https://github.com/vercel/turborepo/releases )
- [Changelog](https://github.com/vercel/turborepo/blob/main/RELEASE.md )
- [Commits](https://github.com/vercel/turborepo/compare/v2.8.20...v2.9.14 )
Updates `@types/node` from 22.19.15 to 22.19.19
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node )
Updates `@types/pdfkit` from 0.17.5 to 0.17.6
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/pdfkit )
Updates `@tailwindcss/vite` from 4.2.2 to 4.3.0
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases )
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md )
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.3.0/packages/@tailwindcss-vite )
Updates `tailwindcss` from 4.2.2 to 4.3.0
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases )
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md )
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.3.0/packages/tailwindcss )
Updates `vite` from 6.4.1 to 6.4.2
- [Release notes](https://github.com/vitejs/vite/releases )
- [Changelog](https://github.com/vitejs/vite/blob/v6.4.2/packages/vite/CHANGELOG.md )
- [Commits](https://github.com/vitejs/vite/commits/v6.4.2/packages/vite )
Updates `vitepress-plugin-llms` from 1.12.0 to 1.12.2
- [Release notes](https://github.com/okineadev/vitepress-plugin-llms/releases )
- [Commits](https://github.com/okineadev/vitepress-plugin-llms/compare/v1.12.0...v1.12.2 )
Updates `@tailwindcss/postcss` from 4.2.4 to 4.3.0
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases )
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md )
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.3.0/packages/@tailwindcss-postcss )
---
updated-dependencies:
- dependency-name: "@biomejs/biome"
dependency-version: 2.4.15
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: dev-deps
- dependency-name: "@playwright/test"
dependency-version: 1.60.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: dev-deps
- dependency-name: "@semantic-release/github"
dependency-version: 12.0.8
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: dev-deps
- dependency-name: "@semantic-release/release-notes-generator"
dependency-version: 14.1.1
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: dev-deps
- dependency-name: jsdom
dependency-version: 29.1.1
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: dev-deps
- dependency-name: turbo
dependency-version: 2.9.14
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: dev-deps
- dependency-name: "@types/node"
dependency-version: 22.19.19
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: dev-deps
- dependency-name: "@types/pdfkit"
dependency-version: 0.17.6
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: dev-deps
- dependency-name: "@tailwindcss/vite"
dependency-version: 4.3.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: dev-deps
- dependency-name: tailwindcss
dependency-version: 4.3.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: dev-deps
- dependency-name: vite
dependency-version: 6.4.2
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: dev-deps
- dependency-name: vitepress-plugin-llms
dependency-version: 1.12.2
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: dev-deps
- dependency-name: "@tailwindcss/postcss"
dependency-version: 4.3.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: dev-deps
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-18 16:41:09 +08:00
SnapOtter and GitHub
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
0dadca3b99
chore(deps): bump the production-deps group across 1 directory with 17 updates ( #144 )
...
Bumps the production-deps group with 17 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [@scalar/fastify-api-reference](https://github.com/scalar/scalar/tree/HEAD/integrations/fastify ) | `1.49.5` | `1.57.2` |
| [@sentry/node](https://github.com/getsentry/sentry-javascript ) | `10.49.0` | `10.53.1` |
| [fflate](https://github.com/101arrowz/fflate ) | `0.8.2` | `0.8.3` |
| [p-queue](https://github.com/sindresorhus/p-queue ) | `9.1.0` | `9.3.0` |
| [posthog-node](https://github.com/PostHog/posthog-js/tree/HEAD/packages/node ) | `5.29.5` | `5.34.2` |
| [sharp](https://github.com/lovell/sharp ) | `0.33.5` | `0.34.5` |
| [tsx](https://github.com/privatenumber/tsx ) | `4.21.0` | `4.22.1` |
| [zxing-wasm](https://github.com/Sec-ant/zxing-wasm ) | `3.0.2` | `3.0.3` |
| [react](https://github.com/facebook/react/tree/HEAD/packages/react ) | `19.2.4` | `19.2.6` |
| [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom ) | `19.2.4` | `19.2.6` |
| [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react ) | `0.469.0` | `0.577.0` |
| [@sentry/react](https://github.com/getsentry/sentry-javascript ) | `10.49.0` | `10.53.1` |
| [posthog-js](https://github.com/PostHog/posthog-js ) | `1.370.0` | `1.373.5` |
| [react-colorful](https://github.com/omgovich/react-colorful ) | `5.6.1` | `5.7.0` |
| [react-konva](https://github.com/konvajs/react-konva ) | `19.2.3` | `19.2.4` |
| [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom ) | `7.13.1` | `7.15.1` |
| [zustand](https://github.com/pmndrs/zustand ) | `5.0.12` | `5.0.13` |
Updates `@scalar/fastify-api-reference` from 1.49.5 to 1.57.2
- [Release notes](https://github.com/scalar/scalar/releases )
- [Changelog](https://github.com/scalar/scalar/blob/main/integrations/fastify/CHANGELOG.md )
- [Commits](https://github.com/scalar/scalar/commits/HEAD/integrations/fastify )
Updates `@sentry/node` from 10.49.0 to 10.53.1
- [Release notes](https://github.com/getsentry/sentry-javascript/releases )
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/develop/CHANGELOG.md )
- [Commits](https://github.com/getsentry/sentry-javascript/compare/10.49.0...10.53.1 )
Updates `fflate` from 0.8.2 to 0.8.3
- [Release notes](https://github.com/101arrowz/fflate/releases )
- [Changelog](https://github.com/101arrowz/fflate/blob/master/CHANGELOG.md )
- [Commits](https://github.com/101arrowz/fflate/compare/v0.8.2...v0.8.3 )
Updates `p-queue` from 9.1.0 to 9.3.0
- [Release notes](https://github.com/sindresorhus/p-queue/releases )
- [Commits](https://github.com/sindresorhus/p-queue/compare/v9.1.0...v9.3.0 )
Updates `posthog-node` from 5.29.5 to 5.34.2
- [Release notes](https://github.com/PostHog/posthog-js/releases )
- [Changelog](https://github.com/PostHog/posthog-js/blob/main/packages/node/CHANGELOG.md )
- [Commits](https://github.com/PostHog/posthog-js/commits/posthog-node@5.34.2/packages/node )
Updates `sharp` from 0.33.5 to 0.34.5
- [Release notes](https://github.com/lovell/sharp/releases )
- [Commits](https://github.com/lovell/sharp/compare/v0.33.5...v0.34.5 )
Updates `tsx` from 4.21.0 to 4.22.1
- [Release notes](https://github.com/privatenumber/tsx/releases )
- [Changelog](https://github.com/privatenumber/tsx/blob/master/release.config.cjs )
- [Commits](https://github.com/privatenumber/tsx/compare/v4.21.0...v4.22.1 )
Updates `zxing-wasm` from 3.0.2 to 3.0.3
- [Release notes](https://github.com/Sec-ant/zxing-wasm/releases )
- [Changelog](https://github.com/Sec-ant/zxing-wasm/blob/main/CHANGELOG.md )
- [Commits](https://github.com/Sec-ant/zxing-wasm/compare/v3.0.2...v3.0.3 )
Updates `react` from 19.2.4 to 19.2.6
- [Release notes](https://github.com/facebook/react/releases )
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md )
- [Commits](https://github.com/facebook/react/commits/v19.2.6/packages/react )
Updates `react-dom` from 19.2.4 to 19.2.6
- [Release notes](https://github.com/facebook/react/releases )
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md )
- [Commits](https://github.com/facebook/react/commits/v19.2.6/packages/react-dom )
Updates `lucide-react` from 0.469.0 to 0.577.0
- [Release notes](https://github.com/lucide-icons/lucide/releases )
- [Commits](https://github.com/lucide-icons/lucide/commits/0.577.0/packages/lucide-react )
Updates `@sentry/react` from 10.49.0 to 10.53.1
- [Release notes](https://github.com/getsentry/sentry-javascript/releases )
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/develop/CHANGELOG.md )
- [Commits](https://github.com/getsentry/sentry-javascript/compare/10.49.0...10.53.1 )
Updates `posthog-js` from 1.370.0 to 1.373.5
- [Release notes](https://github.com/PostHog/posthog-js/releases )
- [Changelog](https://github.com/PostHog/posthog-js/blob/main/CHANGELOG.md )
- [Commits](https://github.com/PostHog/posthog-js/compare/posthog-js@1.370.0...posthog-js@1.373.5 )
Updates `react-colorful` from 5.6.1 to 5.7.0
- [Release notes](https://github.com/omgovich/react-colorful/releases )
- [Changelog](https://github.com/omgovich/react-colorful/blob/master/CHANGELOG.md )
- [Commits](https://github.com/omgovich/react-colorful/commits/5.7.0 )
Updates `react-konva` from 19.2.3 to 19.2.4
- [Release notes](https://github.com/konvajs/react-konva/releases )
- [Commits](https://github.com/konvajs/react-konva/compare/v19.2.3...v19.2.4 )
Updates `react-router-dom` from 7.13.1 to 7.15.1
- [Release notes](https://github.com/remix-run/react-router/releases )
- [Changelog](https://github.com/remix-run/react-router/blob/main/packages/react-router-dom/CHANGELOG.md )
- [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@7.15.1/packages/react-router-dom )
Updates `zustand` from 5.0.12 to 5.0.13
- [Release notes](https://github.com/pmndrs/zustand/releases )
- [Commits](https://github.com/pmndrs/zustand/compare/v5.0.12...v5.0.13 )
---
updated-dependencies:
- dependency-name: "@scalar/fastify-api-reference"
dependency-version: 1.57.2
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-deps
- dependency-name: "@sentry/node"
dependency-version: 10.53.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-deps
- dependency-name: "@sentry/react"
dependency-version: 10.53.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-deps
- dependency-name: fflate
dependency-version: 0.8.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-deps
- dependency-name: lucide-react
dependency-version: 0.577.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-deps
- dependency-name: p-queue
dependency-version: 9.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-deps
- dependency-name: posthog-js
dependency-version: 1.373.5
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-deps
- dependency-name: posthog-node
dependency-version: 5.34.2
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-deps
- dependency-name: react
dependency-version: 19.2.6
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-deps
- dependency-name: react-colorful
dependency-version: 5.7.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-deps
- dependency-name: react-dom
dependency-version: 19.2.6
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-deps
- dependency-name: react-konva
dependency-version: 19.2.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-deps
- dependency-name: react-router-dom
dependency-version: 7.15.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-deps
- dependency-name: sharp
dependency-version: 0.34.5
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-deps
- dependency-name: tsx
dependency-version: 4.22.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-deps
- dependency-name: zustand
dependency-version: 5.0.13
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-deps
- dependency-name: zxing-wasm
dependency-version: 3.0.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-deps
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-18 16:39:47 +08:00
SnapOtter
d693d5e762
fix: update OG images from 45+ to 50+ tools
2026-05-17 10:13:27 +08:00
SnapOtter
228f70d011
feat: add static demo site at demo.snapotter.com
...
- New apps/demo/ that reuses apps/web components with mocked API layer
- Full UI shell: login, change password, analytics consent, dashboard, all tool pages
- Stateful mock tracks session flow (password change, analytics consent)
- Demo banner with link to GitHub repo
- Processing attempts show info message with GitHub link
- Deployed to Cloudflare Pages as static site (no backend)
Also links demo across all surfaces:
- README: "Live Demo" badge
- Landing navbar: "Try Demo" CTA button (replaces "Book a Demo")
- Landing hero: "No sign-ups. No credit card." tagline
- Docs getting-started: "Try before installing" tip box
Other changes:
- Docs: move NVIDIA GPU section above GHCR, demote GHCR to collapsed details
- Fix before-after slider checkerboard background for transparency
- Fix remove-bg preview reset when no effects applied
2026-05-17 09:25:12 +08:00
SnapOtter
fd69a60e48
feat: add "Hello from the otter side" easter eggs
...
Custom 404 pages for landing and docs sites, otter greeting on the
first-login sidebar, and a one-time welcome toast after password change.
2026-05-16 22:45:22 +08:00
SnapOtter
b5db8f3192
docs: restructure README sponsor section and add pink fund button to docs
...
Fold the sponsor call-to-action into the Contributing section as a
natural bullet point instead of a standalone heavy section. Remove
the large badge buttons. Keep star history chart under Contributing.
Add a pink "Fund Development" button component to the docs site nav
bar (left of Star on GitHub), matching the landing page style.
Remove the plain-text nav link that replaced the heart icon.
2026-05-16 21:14:06 +08:00
SnapOtter
6e103d31f8
docs: add Fund Development button to landing navbar and docs nav
...
Add pink heart-styled "Fund Development" button to landing page
navbar (left of Star on GitHub) and mobile menu. Rename "Sponsor"
to "Fund Development" in the open-source section. Replace icon-only
heart in docs socialLinks with a named "Fund Development" nav link.
2026-05-16 20:00:25 +08:00
SnapOtter
50a25691d9
docs: add GitHub Sponsors CTAs across README, landing, and docs
...
Remove Ko-fi from FUNDING.yml since GitHub Sponsors is now active.
Add sponsor badge to README badge row and support section. Add
sponsor button to landing page open-source section and footer.
Add heart icon social link to docs site nav bar.
2026-05-16 19:38:12 +08:00
SnapOtter
7d617a2675
docs: update docs site to welcome pull requests and translations
...
Rewrite contributing page to match new CONTRIBUTING.md with PR types,
CLA process, and good-first-issue links. Update translation guide to
encourage direct PRs instead of issue-only workflow.
2026-05-16 16:24:03 +08:00
SnapOtter
d025a569e2
docs: add SEO descriptions to all doc pages and update hero subtitle
2026-05-16 12:48:23 +08:00
SnapOtter
3e06d68f4f
chore: bump version to 1.17.0 and update docs for release
...
- Bump all workspace package versions to 1.17.0
- Update APP_VERSION constant and OpenAPI spec
- Update AI tool count from 15 to 16 across docs and i18n
- Update tool table with AI Canvas Expand, Meme Generator, Beautify
- Add image editor, OIDC, and 20 languages to README features
- Add release notes for v1.17.0
- Add JSON-LD structured data and SEO improvements to landing/docs
2026-05-16 12:48:02 +08:00
SnapOtter
f86ef124c2
fix: grant admin role to anonymous user and add DEFAULT_TOOL_VIEW env var
...
When AUTH_ENABLED=false, the anonymous user was assigned the "user" role
which lacks settings:write permission, making all settings saves return
403. Since no admin exists when auth is disabled, settings were
permanently read-only. Promote the anonymous user to "admin" so the
single user has full control of the instance.
Also adds DEFAULT_TOOL_VIEW env var (sidebar|fullscreen) following the
existing DEFAULT_THEME pattern, seeded via ensureDefaultSettings() on
first boot.
Closes #135
2026-05-16 11:37:28 +08:00
SnapOtter
2c45a3a9e8
fix: update tool count to 52 and add ai-canvas-expand to landing page
...
ai-canvas-expand was added to constants.ts and route files but never
added to the landing page bento grid, causing all hardcoded counts
to remain at 51. This updates all references across source, docs,
i18n, and tests to reflect the correct count of 52 tools.
2026-05-16 10:02:19 +08:00
SnapOtter
a01a65e9ac
docs: complete API sync and documentation audit
...
Audit all 52 tools and 119 API operations against the OpenAPI spec.
Fix schema mismatches, add missing endpoints, and update all doc surfaces.
OpenAPI spec (apps/api/src/openapi.yaml):
- Add operationId to all 119 operations for SDK code generation
- Add descriptions to 17 operations that only had summaries
- Fix 9 bare error responses with proper content/schema blocks
- Fix wrong $ref on GET /api/v1/settings/{key} 404 (was UnauthorizedError)
- Fix 10 async AI tools using 200 instead of 202 Accepted
- Add missing JXL format to 9 tool enums (convert, collage, stitch, split,
svg-to-raster, pdf-to-image, optimize-for-web, erase-object, noise-removal)
- Add 3 missing endpoints: POST /api/v1/fetch-urls, GET /api/v1/config/locale,
POST /api/v1/tools/ai-canvas-expand
- Add missing meme-templates/fonts/{filename} endpoint
- Fix watermark-image and compose: settings not required (all have defaults)
- Fix compare similarity description (0-100 percentage, not 0-1)
- Fix find-duplicates: add nullable thumbnail, add skippedFiles response field
- Fix upscale format default ("auto" not "png"), add clientJobId fields
- Fix restore-photo: remove phantom mode param, fix denoiseStrength default,
add missing colorizeStrength
- Fix smart-crop: add 5 missing parameter defaults
- Add missing params: image-enhancement deepEnhance, transparency-fixer
removeWatermark, image-to-pdf collate, image-to-base64 jxl enum
- Fix files/{id}/thumbnail security (requires auth, was marked public)
- Annotate 7 empty description strings in pipeline/role schemas
Documentation surfaces:
- VitePress config: "50 tools" to "51 tools" (2 locations)
- README: add OIDC/SSO docs link
- getting-started.md: add Color Blindness Simulation to tool table
- database.md: fix hash descriptions (bcrypt/SHA-256 to scrypt)
2026-05-15 23:13:42 +08:00
SnapOtter
d38621d7b9
feat: add multi-language support for 20 locales
...
Add complete i18n infrastructure with 21 supported languages:
English, Simplified Chinese, Traditional Chinese, Japanese, Korean,
Spanish, French, Italian, Brazilian Portuguese, German, Dutch, Swedish,
Russian, Polish, Ukrainian, Arabic (RTL), Turkish, Hindi, Vietnamese,
Indonesian, and Thai.
- I18nProvider context with three-tier locale detection
(user preference > navigator.languages > instance default > English)
- ~1500 translation keys per locale with TypeScript-enforced completeness
- Dynamic code-splitting: only the active locale is loaded at runtime
- Language selectors in footer, login page, settings, and mobile sidebar
- Arabic RTL support with CSS logical properties across all components
- Tool names, descriptions, and categories translated via i18n helpers
- Public API endpoint GET /api/v1/config/locale for instance default
- Multi-script font stack (CJK, Arabic, Devanagari, Thai, Cyrillic)
- format() and plural() helpers for interpolation and pluralization
- API error translation mapping (translateApiError)
- 36 Playwright e2e tests verifying all 21 locales load correctly
- 25 unit tests for format, plural, locale detection, and completeness
- Updated translations.md docs and CLAUDE.md conventions
2026-05-15 17:02:49 +08:00
SnapOtter
eacdb867ac
docs: add OIDC setup guide with provider examples
2026-05-13 19:17:14 +08:00
SnapOtter
8598808b3c
fix: correct repository name casing in clone instructions
2026-05-10 22:41:52 +08:00
SnapOtter
172c0fa772
fix: update tool count to 51, refresh hero copy and login page
...
- Update stale tool counts (48/49/50) to 51 across all apps, docs, and tests
- Add Meme Generator to landing page bento grid (was missing)
- Add 12 SEO-friendly rotating phrases to hero typing cursor
- Change landing hero subtitle to "Every image tool you need."
- Replace outdated login page copy with branded hero + rotating phrases
2026-05-10 22:18:11 +08:00
SnapOtter
caf351209b
fix: upgrade favicons to 48x48 for Google Search visibility
...
Google requires favicons to be a multiple of 48px. The previous 32x32
favicon.png was being ignored, causing the generic globe icon in search
results. Adds favicon.ico (multi-size), apple-touch-icon, and fixes
og:image to use absolute URLs.
2026-05-10 21:49:56 +08:00
SnapOtter
78ca9720e7
fix: sync all workspace package versions to 1.16.0
2026-05-10 20:19:02 +08:00
SnapOtter
86a74ab706
fix: replace hardcoded version in deployment docs with placeholder
2026-05-10 20:17:40 +08:00
SnapOtter
6f1c00711b
feat: add version badge to docs navigation bar
2026-05-10 20:15:44 +08:00
SnapOtter
f0021a53d3
docs: sync API docs with codebase -- add meme-generator, remove phantom endpoints
...
- Add meme-generator tool and meme-templates API to OpenAPI spec, VitePress
docs, and README
- Remove 4 phantom OpenAPI entries (brightness-contrast, saturation,
color-channels, color-effects) that were consolidated into adjust-colors
- Bump OpenAPI version to 1.16.0, tool count to 51
- llms.txt and llms-full.txt auto-update from OpenAPI at runtime
2026-05-10 14:11:23 +08:00
SnapOtter
e118717337
merge: resolve conflict with main branch in README.md
2026-05-08 17:32:16 +08:00
SnapOtter
3d9324b82a
chore: update tool count to 50 across all references
2026-05-08 16:33:12 +08:00
SnapOtter
466ef1efb1
docs(beautify): add API docs, OpenAPI spec, LLM docs, update README
...
Add beautify tool endpoint to OpenAPI spec with full parameter
documentation. Add tool to REST API docs Layout & Composition table.
Update tool count from 49 to 50 across README, docs homepage,
architecture docs, VitePress config, OpenAPI spec, and LLM docs
generator.
2026-05-08 16:31:43 +08:00
SnapOtter
136a4a0752
Merge branch 'feat/format-support-expansion'
...
# Conflicts:
# README.md
# apps/web/src/components/layout/app-layout.tsx
2026-05-08 16:21:11 +08:00
SnapOtter
bcdc4bdf82
docs: add color-blindness tool to API docs and update tool counts
2026-05-08 15:23:22 +08:00
SnapOtter
bb6d26ffc6
docs: add comprehensive format support documentation
2026-05-08 00:26:56 +08:00
SnapOtter
16af9c573a
feat: remove app name and logo customization feature
...
Users can no longer customize the app name or logo. The branding API
endpoints, permission, frontend UI, env vars (APP_NAME, MAX_LOGO_SIZE_KB),
and all related tests are removed. Includes a migration to clean up
branding data from existing databases.
2026-05-07 19:41:30 +08:00
SnapOtter
84e62e6132
refactor: rename tool display name to "PNG Transparency Fixer"
2026-05-06 18:53:37 +08:00
SnapOtter
eb3d0828cb
docs: add transparency-fixer endpoint documentation
2026-05-05 23:24:22 +08:00
SnapOtter
7ff100c4f9
docs: update tagline to "Your images never leave your home"
2026-05-05 21:12:44 +08:00
SnapOtter
6a44c455a3
fix: remove printf banner from docker commands in docs
...
The printf welcome banner was overflowing code blocks on
docs.snapotter.com, making docker commands hard to read and copy.
2026-05-01 19:42:11 +08:00
SnapOtter
84f24b8736
chore: add Discord community links across README, docs, and landing page
...
- README: Discord badge in header + community section link
- Docs: GitHub and Discord social links in VitePress config
- Landing: Discord in navbar, footer, open-source section, pricing copy
2026-05-01 16:13:38 +08:00
SnapOtter
e6cb3ef91d
docs: add targetSize parameter to image-to-pdf API docs
2026-04-27 22:39:57 +08:00
SnapOtter
bd84728588
docs: comprehensive API sync and documentation audit
...
- Rewrite OpenAPI spec to match actual code (988 lines changed):
- Fix ToolResponse schema (add previewUrl, savedFileId)
- Fix Error schema shape ({error, details} not {statusCode, error, message})
- Fix POST /api/auth/register URL (was /api/auth/users)
- Fix login/session responses (7 missing user fields + expiresAt)
- Fix 8 endpoints returning 204 → 200 with {ok: true}
- Fix pipeline execute field name (steps → pipeline)
- Fix API keys response key (keys → apiKeys)
- Fix settings response wrapper, teams UUID type
- Rewrite 7 major tool response schemas (info, barcode-read,
find-duplicates, compare, remove-background, upscale, ocr, blur-faces)
- Fix files/save-result (JSON → multipart), files/upload (201 + array)
- Fix SSE progress schema (integers not arrays)
- Add 422/501 error responses to AI and processing tools
- Fix settings required → optional on 29 tool endpoints
- Add 5 missing color adjustment fields to alias endpoints
- Rewrite rest.md tool parameter descriptions (12 tools fixed)
- Add Tool Sub-Routes section to rest.md (11 endpoints)
- Fix file library, settings, pipeline, auth docs in rest.md
- Fix API key hashing description (SHA-256 → scrypt)
- Fix "GitHub Pages" → "Cloudflare Pages" in architecture + deployment docs
- Fix tool count "45+" → "47" across all doc surfaces
- Fix branding endpoint paths in rest.md (/branding/logo → /settings/logo)
2026-04-25 07:17:45 +08:00
SnapOtter
6c43802280
fix: use Docker Hub as primary one-liner (GHCR is private)
...
GHCR packages default to private and require docker login. Switch the
primary quick-start command to Docker Hub (snapotter/snapotter) which
is publicly accessible. GHCR remains available as an alternative.
2026-04-25 01:28:02 +08:00
SnapOtter
3e3eb6f180
fix: update Docker Hub image path from snapotterhq to snapotter
...
The Docker Hub username is `snapotter`, not `snapotterhq`. Updates all
references in README, CI workflow, and documentation.
2026-04-25 01:25:45 +08:00
SnapOtter
119037e31d
fix: remove reference to local-only HARDWARE_RECOMMENDATIONS.md
...
The file is gitignored and not in the repo, so the link was broken.
2026-04-25 00:49:25 +08:00
SnapOtter
2edb25883e
fix: replace broken local file reference with GitHub link in docs
...
The deployment guide referenced `docs/HARDWARE_RECOMMENDATIONS.md` as
inline code, which is inaccessible from the deployed VitePress site.
2026-04-25 00:42:47 +08:00
SnapOtter
8633dba431
fix: sync API docs, register content-aware-resize, normalize tool counts
...
- Fix 23 OpenAPI schema discrepancies across 16+ tools (wrong ranges,
missing fields, incorrect schemas for gif-tools/collage/ocr)
- Add content-aware-resize to canonical TOOLS array and landing BentoGrid
- Normalize tool count to 47 across README, docs, landing, i18n, OpenAPI
- Remove dead "automation" ToolCategory variant
- Add BMP and JPEG XL format decoding via ImageMagick
- Add libopenexr-dev to Docker runtime image
- Update e2e test selectors for current pipeline builder UI
2026-04-24 23:27:08 +08:00
SnapOtter
78fa325380
fix: optimize logos and fix favicon transparency
...
- Regenerate all favicons with transparent background
- Resize logos from 768x768 (456KB) to 128x128 (29KB) for web use
- Regenerate PWA icons (192, 512) with transparency
- Update social preview with word cloud and light theme
2026-04-24 18:55:11 +08:00
SnapOtter
d80b504f41
chore: update social preview and docs homepage layout
...
- Redesign social-preview.png with polished amber brand theme
- Fix docs homepage layout ordering (hero → docker command → features)
2026-04-24 18:49:23 +08:00
SnapOtter
0309e0f680
chore: deploy to Cloudflare Pages and update branding
...
- Add Cloudflare Pages deployment for landing page (snapotter.com) and
docs (docs.snapotter.com)
- Create deploy-landing.yml and update deploy-docs.yml workflows
- Update CI to ignore apps/landing/** paths
- Fix logo transparency (remove white background) across all apps
- Recreate social-preview.png with SnapOtter branding
- Update all docs URLs from GitHub Pages to docs.snapotter.com
- Update VitePress config: light theme default, fix llms.txt paths
- Add .vitepress/cache/ and .env.* to gitignore
2026-04-24 18:06:29 +08:00