SnapOtter and GitHub
ef342c268b
docs: clarify nvidia cuda ai support ( #378 )
2026-06-29 21:29:00 +08:00
SnapOtter
649e65b035
feat: add PostHog customer feedback
2026-06-29 18:16:33 +08:00
dependabot[bot] and GitHub
af7cd77e84
chore(deps): bump the production-deps group with 16 updates
...
Bumps the production-deps group with 16 updates:
| Package | From | To |
| --- | --- | --- |
| [@scalar/fastify-api-reference](https://github.com/scalar/scalar/tree/HEAD/integrations/fastify ) | `1.60.0` | `1.62.0` |
| [@sentry/node](https://github.com/getsentry/sentry-javascript ) | `10.59.0` | `10.62.0` |
| [bullmq](https://github.com/taskforcesh/bullmq ) | `5.79.1` | `5.79.2` |
| [fastify](https://github.com/fastify/fastify ) | `5.8.5` | `5.9.0` |
| [js-yaml](https://github.com/nodeca/js-yaml ) | `4.2.0` | `4.3.0` |
| [playwright](https://github.com/microsoft/playwright ) | `1.61.0` | `1.61.1` |
| [posthog-node](https://github.com/PostHog/posthog-js/tree/HEAD/packages/node ) | `5.38.2` | `5.38.6` |
| [sharp](https://github.com/lovell/sharp ) | `0.35.1` | `0.35.2` |
| [tar](https://github.com/isaacs/node-tar ) | `7.5.16` | `7.5.19` |
| [lucide](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide ) | `1.21.0` | `1.22.0` |
| [@sentry/react](https://github.com/getsentry/sentry-javascript ) | `10.59.0` | `10.62.0` |
| [pdfjs-dist](https://github.com/mozilla/pdf.js ) | `6.0.227` | `6.1.200` |
| [posthog-js](https://github.com/PostHog/posthog-js ) | `1.391.9` | `1.395.0` |
| [react-hotkeys-hook](https://github.com/JohannesKlauss/react-keymap-hook ) | `5.3.2` | `5.3.3` |
| [@aws-sdk/client-s3](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3 ) | `3.1073.0` | `3.1075.0` |
| [@aws-sdk/lib-storage](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/lib/lib-storage ) | `3.1073.0` | `3.1075.0` |
Updates `@scalar/fastify-api-reference` from 1.60.0 to 1.62.0
- [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.59.0 to 10.62.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.59.0...10.62.0 )
Updates `bullmq` from 5.79.1 to 5.79.2
- [Release notes](https://github.com/taskforcesh/bullmq/releases )
- [Commits](https://github.com/taskforcesh/bullmq/compare/v5.79.1...v5.79.2 )
Updates `fastify` from 5.8.5 to 5.9.0
- [Release notes](https://github.com/fastify/fastify/releases )
- [Commits](https://github.com/fastify/fastify/compare/v5.8.5...v5.9.0 )
Updates `js-yaml` from 4.2.0 to 4.3.0
- [Changelog](https://github.com/nodeca/js-yaml/blob/4.3.0/CHANGELOG.md )
- [Commits](https://github.com/nodeca/js-yaml/compare/4.2.0...4.3.0 )
Updates `playwright` from 1.61.0 to 1.61.1
- [Release notes](https://github.com/microsoft/playwright/releases )
- [Commits](https://github.com/microsoft/playwright/compare/v1.61.0...v1.61.1 )
Updates `posthog-node` from 5.38.2 to 5.38.6
- [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.38.6/packages/node )
Updates `sharp` from 0.35.1 to 0.35.2
- [Release notes](https://github.com/lovell/sharp/releases )
- [Commits](https://github.com/lovell/sharp/compare/v0.35.1...v0.35.2 )
Updates `tar` from 7.5.16 to 7.5.19
- [Release notes](https://github.com/isaacs/node-tar/releases )
- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md )
- [Commits](https://github.com/isaacs/node-tar/compare/v7.5.16...v7.5.19 )
Updates `lucide` from 1.21.0 to 1.22.0
- [Release notes](https://github.com/lucide-icons/lucide/releases )
- [Commits](https://github.com/lucide-icons/lucide/commits/1.22.0/packages/lucide )
Updates `@sentry/react` from 10.59.0 to 10.62.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.59.0...10.62.0 )
Updates `pdfjs-dist` from 6.0.227 to 6.1.200
- [Release notes](https://github.com/mozilla/pdf.js/releases )
- [Commits](https://github.com/mozilla/pdf.js/compare/v6.0.227...v6.1.200 )
Updates `posthog-js` from 1.391.9 to 1.395.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.391.9...posthog-js@1.395.0 )
Updates `react-hotkeys-hook` from 5.3.2 to 5.3.3
- [Release notes](https://github.com/JohannesKlauss/react-keymap-hook/releases )
- [Changelog](https://github.com/JohannesKlauss/react-hotkeys-hook/blob/main/CHANGELOG.md )
- [Commits](https://github.com/JohannesKlauss/react-keymap-hook/compare/v.5.3.2...v5.3.3 )
Updates `@aws-sdk/client-s3` from 3.1073.0 to 3.1075.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases )
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-s3/CHANGELOG.md )
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.1075.0/clients/client-s3 )
Updates `@aws-sdk/lib-storage` from 3.1073.0 to 3.1075.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases )
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/lib/lib-storage/CHANGELOG.md )
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.1075.0/lib/lib-storage )
---
updated-dependencies:
- dependency-name: "@scalar/fastify-api-reference"
dependency-version: 1.62.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-deps
- dependency-name: "@sentry/node"
dependency-version: 10.62.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-deps
- dependency-name: bullmq
dependency-version: 5.79.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-deps
- dependency-name: fastify
dependency-version: 5.9.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-deps
- dependency-name: js-yaml
dependency-version: 4.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-deps
- dependency-name: playwright
dependency-version: 1.61.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-deps
- dependency-name: posthog-node
dependency-version: 5.38.6
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-deps
- dependency-name: sharp
dependency-version: 0.35.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-deps
- dependency-name: tar
dependency-version: 7.5.19
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-deps
- dependency-name: lucide
dependency-version: 1.22.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-deps
- dependency-name: "@sentry/react"
dependency-version: 10.62.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-deps
- dependency-name: pdfjs-dist
dependency-version: 6.1.200
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-deps
- dependency-name: posthog-js
dependency-version: 1.395.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-deps
- dependency-name: react-hotkeys-hook
dependency-version: 5.3.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-deps
- dependency-name: "@aws-sdk/client-s3"
dependency-version: 3.1075.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-deps
- dependency-name: "@aws-sdk/lib-storage"
dependency-version: 3.1075.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-deps
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-06-29 05:44:44 +00:00
SnapOtter and GitHub
0cdd560ac4
feat: add Sign PDF tool (draw/type/upload signatures, place on a PDF) ( #370 )
...
Draw, type, or upload a signature and place resizable/rotatable copies across PDF pages; output flattened server-side with PyMuPDF. Visual electronic signature, not cryptographic. New interactive-sign display mode (pdf.js + Konva) and a custom docs-pool route.
2026-06-29 11:01:25 +08:00
SnapOtter and GitHub
5a51ae6a83
docs(llms): refresh root llms.txt to 2.0 and drop drift-prone per-category counts ( #368 )
...
Root llms.txt was still 1.x: 157 tools, old per-modality counts, single-container 'docker run' quick-start, 14 permissions. Rewrote it from the live catalog to 200+ tools with accurate per-section listings (image/video/audio/PDF/files = 240), a Docker Compose quick-start, and the current stack. Landing public/llms.txt: removed the '(N tools)' counts from the 5 section headers (drift-proof) and renamed 'Data & File Tools' to 'File Tools'.
2026-06-28 22:26:38 +08:00
SnapOtter and GitHub
19b515dc5f
chore: use "200+ tools" for the tool-count claim across public surfaces ( #364 )
...
* fix(landing): correct PDF tool count to 28 in alternatives copy
The pdf section has 28 tools (section.test.ts asserts bySection('pdf')=28). PR #363 corrected the docs breakdown but the alternatives pages still said 40 PDF tools (the document-modality count, not the pdf section) with 200 for the rest. Update to 28 PDF tools and 212 for the non-PDF remainder.
* chore: use "200+ tools" for the tool-count claim across public surfaces
Replaces the exact '240 tools' count (which drifts as tools are added) with the stable '200+ tools' on README, the Docker Hub overview, landing pages, the docs site (meta, homepage, search), the API self-description, the demo OG tag, llms.txt, package.json, the branding readme, and the en/nl app strings. Per-modality breakdown tables stay exact. Leaves the architecture doc's technical 'tool routes' figure, an internal vitest comment, and a QA report line unchanged. Updates the two tests that assert the docs strings.
2026-06-28 21:49:14 +08:00
SnapOtter and GitHub
a5a3ba85e6
chore(branding): refresh dashboard GIF + OG card to 240 tools ( #359 )
...
The dashboard GIF and social/OG card still showed 157 tools with the old
per-section counts. Regenerated both at the current catalog (240: image 105,
video 57, audio 27, pdf 28, files 23).
Also fixed the root cause in generate-social-preview.mjs: it hardcoded the
card counts, so they drift every time tools are added. It now derives them
live from TOOLS + toolSection (the same source the landing CategoryCards use)
and runs under tsx.
2026-06-28 21:24:24 +08:00
SnapOtter and GitHub
63a03d26f2
feat: pipeline templates, analytics opt-out, 83 conversion presets, positioning + e2e modernization
...
Lands five integrated branches: pipeline templates (#355 ), analytics opt-out (#354 ), 83 conversion presets bringing the catalog to 240 tools (#356 ), self-hosted positioning (#353 ), and e2e modernization (#351 ).
Integration fixes: aligned stale web analytics tests with the opt-out/allow-list model, closed 3 CodeQL incomplete-sanitization alerts in the i18n generator, resolved settings/index/docs/format-matrix conflicts, and corrected tool counts to 240.
2026-06-28 18:57:53 +08:00
SnapOtter and GitHub
607c24895b
Improve docs search UX, dash cleanup, and colored modality tool icons ( #338 )
...
* feat(docs): improve search UX
- Hide the 'Search by Pagefind' branding in the search dialog footer
- Replace the 'No results found.' message shown before any query with a
friendly hint (detected via empty-input :placeholder-shown state)
- Tune placeholder, empty-state, and results-heading copy; show a few
sub-section matches per result (pageResultCount)
* docs: replace double-dash em-dash substitute with single dash
Swept prose ' -- ' to ' - ' and numeric ranges (e.g. 2--20 to 2-20)
across the documentation. CLI flags and code blocks left untouched.
* fix(landing): show colored category icons on modality tool pages
The /tools/<modality>/ pages rendered bare name+description cards with no
icon or color. Port the colored, category-tinted icon card from /tools/
so modality pages match the main catalog (icon, tint, 'Learn more').
2026-06-24 12:06:31 +08:00
SnapOtter
8e530f2f1b
docs: simplify analytics copy across all surfaces
2026-06-24 11:22:34 +08:00
SnapOtter
5c30167bab
docs: remove IP address mentions from privacy copy
2026-06-24 11:17:58 +08:00
SnapOtter and GitHub
9378b2caab
docs: update privacy and analytics disclosure ( #337 )
...
Update README, in-app privacy page, landing privacy page, and
deployment docs to reflect the new analytics model. Remove references
to opt-in consent, Settings toggle, and ANALYTICS_ENABLED env var.
Document the SNAPOTTER_ANALYTICS build arg for disabling.
2026-06-24 11:13:23 +08:00
717de2577a
chore(deps): bump the production-deps group across 1 directory with 18 updates ( #326 )
...
Bumps the production-deps group with 18 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [@scalar/fastify-api-reference](https://github.com/scalar/scalar/tree/HEAD/integrations/fastify ) | `1.59.3` | `1.60.0` |
| [@sentry/node](https://github.com/getsentry/sentry-javascript ) | `10.57.0` | `10.59.0` |
| [bullmq](https://github.com/taskforcesh/bullmq ) | `5.78.1` | `5.79.1` |
| [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser ) | `5.9.0` | `5.9.3` |
| [ipaddr.js](https://github.com/whitequark/ipaddr.js ) | `2.3.0` | `2.4.0` |
| [papaparse](https://github.com/mholt/PapaParse ) | `5.5.3` | `5.5.4` |
| [pg](https://github.com/brianc/node-postgres/tree/HEAD/packages/pg ) | `8.21.0` | `8.22.0` |
| [playwright](https://github.com/microsoft/playwright ) | `1.60.0` | `1.61.0` |
| [posthog-node](https://github.com/PostHog/posthog-js/tree/HEAD/packages/node ) | `5.37.0` | `5.38.2` |
| [sharp](https://github.com/lovell/sharp ) | `0.35.1` | `0.35.2` |
| [astro](https://github.com/withastro/astro/tree/HEAD/packages/astro ) | `6.4.7` | `6.4.8` |
| [lucide](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide ) | `1.18.0` | `1.21.0` |
| [@sentry/react](https://github.com/getsentry/sentry-javascript ) | `10.57.0` | `10.59.0` |
| [posthog-js](https://github.com/PostHog/posthog-js ) | `1.386.6` | `1.391.9` |
| [react-image-crop](https://github.com/dominictobias/react-image-crop ) | `11.0.10` | `11.1.2` |
| [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom ) | `7.17.0` | `7.18.0` |
| [@aws-sdk/client-s3](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3 ) | `3.1068.0` | `3.1073.0` |
| [@aws-sdk/lib-storage](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/lib/lib-storage ) | `3.1068.0` | `3.1073.0` |
Updates `@scalar/fastify-api-reference` from 1.59.3 to 1.60.0
- [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.57.0 to 10.59.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.57.0...10.59.0 )
Updates `bullmq` from 5.78.1 to 5.79.1
- [Release notes](https://github.com/taskforcesh/bullmq/releases )
- [Commits](https://github.com/taskforcesh/bullmq/compare/v5.78.1...v5.79.1 )
Updates `fast-xml-parser` from 5.9.0 to 5.9.3
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases )
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md )
- [Commits](https://github.com/NaturalIntelligence/fast-xml-parser/compare/v5.9.0...v5.9.3 )
Updates `ipaddr.js` from 2.3.0 to 2.4.0
- [Changelog](https://github.com/whitequark/ipaddr.js/blob/main/Changes.md )
- [Commits](https://github.com/whitequark/ipaddr.js/compare/v2.3.0...v2.4.0 )
Updates `papaparse` from 5.5.3 to 5.5.4
- [Release notes](https://github.com/mholt/PapaParse/releases )
- [Changelog](https://github.com/mholt/PapaParse/blob/master/CHANGELOG.md )
- [Commits](https://github.com/mholt/PapaParse/compare/5.5.3...5.5.4 )
Updates `pg` from 8.21.0 to 8.22.0
- [Changelog](https://github.com/brianc/node-postgres/blob/master/CHANGELOG.md )
- [Commits](https://github.com/brianc/node-postgres/commits/pg@8.22.0/packages/pg )
Updates `playwright` from 1.60.0 to 1.61.0
- [Release notes](https://github.com/microsoft/playwright/releases )
- [Commits](https://github.com/microsoft/playwright/compare/v1.60.0...v1.61.0 )
Updates `posthog-node` from 5.37.0 to 5.38.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.38.2/packages/node )
Updates `sharp` from 0.35.1 to 0.35.2
- [Release notes](https://github.com/lovell/sharp/releases )
- [Commits](https://github.com/lovell/sharp/compare/v0.35.1...v0.35.2 )
Updates `astro` from 6.4.7 to 6.4.8
- [Release notes](https://github.com/withastro/astro/releases )
- [Changelog](https://github.com/withastro/astro/blob/astro@6.4.8/packages/astro/CHANGELOG.md )
- [Commits](https://github.com/withastro/astro/commits/astro@6.4.8/packages/astro )
Updates `lucide` from 1.18.0 to 1.21.0
- [Release notes](https://github.com/lucide-icons/lucide/releases )
- [Commits](https://github.com/lucide-icons/lucide/commits/1.21.0/packages/lucide )
Updates `@sentry/react` from 10.57.0 to 10.59.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.57.0...10.59.0 )
Updates `posthog-js` from 1.386.6 to 1.391.9
- [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.386.6...posthog-js@1.391.9 )
Updates `react-image-crop` from 11.0.10 to 11.1.2
- [Release notes](https://github.com/dominictobias/react-image-crop/releases )
- [Commits](https://github.com/dominictobias/react-image-crop/compare/11.0.10...11.1.2 )
Updates `react-router-dom` from 7.17.0 to 7.18.0
- [Release notes](https://github.com/remix-run/react-router/releases )
- [Changelog](https://github.com/remix-run/react-router/blob/react-router-dom@7.18.0/packages/react-router-dom/CHANGELOG.md )
- [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@7.18.0/packages/react-router-dom )
Updates `@aws-sdk/client-s3` from 3.1068.0 to 3.1073.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases )
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-s3/CHANGELOG.md )
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.1073.0/clients/client-s3 )
Updates `@aws-sdk/lib-storage` from 3.1068.0 to 3.1073.0
- [Release notes](https://github.com/aws/aws-sdk-js-v3/releases )
- [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/lib/lib-storage/CHANGELOG.md )
- [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.1073.0/lib/lib-storage )
---
updated-dependencies:
- dependency-name: "@aws-sdk/client-s3"
dependency-version: 3.1073.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-deps
- dependency-name: "@aws-sdk/lib-storage"
dependency-version: 3.1073.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-deps
- dependency-name: "@scalar/fastify-api-reference"
dependency-version: 1.60.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-deps
- dependency-name: "@sentry/node"
dependency-version: 10.59.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-deps
- dependency-name: "@sentry/react"
dependency-version: 10.59.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-deps
- dependency-name: astro
dependency-version: 6.4.8
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-deps
- dependency-name: bullmq
dependency-version: 5.79.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-deps
- dependency-name: fast-xml-parser
dependency-version: 5.9.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-deps
- dependency-name: ipaddr.js
dependency-version: 2.4.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-deps
- dependency-name: lucide
dependency-version: 1.21.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-deps
- dependency-name: papaparse
dependency-version: 5.5.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production-deps
- dependency-name: pg
dependency-version: 8.22.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-deps
- dependency-name: playwright
dependency-version: 1.61.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-deps
- dependency-name: posthog-js
dependency-version: 1.391.2
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-deps
- dependency-name: posthog-node
dependency-version: 5.38.2
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-deps
- dependency-name: react-image-crop
dependency-version: 11.1.2
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-deps
- dependency-name: react-router-dom
dependency-version: 7.18.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production-deps
- dependency-name: sharp
dependency-version: 0.35.2
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-22 22:16:14 +08:00
SnapOtter and GitHub
5b86eaa2c5
chore(branding): multi-modal press kit, hero OG + dashboard.gif ( #323 )
...
- Recolor banner/wordmark SVGs to the Otter Orange palette with brand fonts
- Rebuild social-preview.png as a hero-style OG card (trust badges, headline, five modality cards with section counts), synced to apps/landing + apps/web og-image.png
- Replace static dashboard PNGs with dashboard.gif: a guided tab tour of all 157 tools across the five modalities
- Update branding/README.md (Otter Palette, brand fonts, asset list); add scripts/branding generator + sync helpers
2026-06-22 19:51:35 +08:00
SnapOtter and GitHub
33671d2d92
feat(landing): auto-refresh live GitHub stars and image-pull stats ( #292 )
...
Fetch landing stars + image pulls at build time via a shared stats lib, refreshed by a daily cron + authenticated GITHUB_TOKEN. Image Pulls totals live Docker Hub pull_count + a maintained GHCR estimate (ghcr.io has no public pull-count API).
2026-06-22 14:11:48 +08:00
SnapOtter
2927e0d4be
fix(e2e): disable Astro Dev Toolbar during landing e2e tests
...
The Astro Dev Toolbar (enabled by default in dev mode) injects h1
elements ("No islands detected", "Audit", "Settings") and a
"Community" link inside its shadow DOM. Playwright CSS selectors
pierce shadow DOM, causing 6 test failures:
- 5 heading-hierarchy tests saw extra h1 elements from the toolbar
- footer "Community" column title resolved to 2 elements (footer h4
plus toolbar's Astro community chat link)
Root-cause fix: set PLAYWRIGHT=1 env var in the Playwright webServer
command; Astro config conditionally disables devToolbar when set.
Normal development retains the toolbar.
2026-06-21 12:13:48 +08:00
SnapOtter
a6837b687a
fix(e2e,landing): robust path escaping (CodeQL) + unique file-tools card
...
- tests/e2e/helpers.ts: build the sharp script path via JSON.stringify
instead of single-quote-only replace (CodeQL js/incomplete-sanitization,
high: backslashes were not escaped). Proper fix, no suppression.
- landing CategoryCards: rename the file-modality marketing card to
"File Tools" (matches the Image/Video/Audio Tools siblings and is
unique vs the 23 "Files" tool pills, which broke the e2e locator).
Modality label stays "Files" everywhere it is the actual modality.
2026-06-21 03:25:45 +08:00
SnapOtter
6e1b9cd3cc
fix(lint): resolve #280 Lint failures (route formatting + landing import sort)
...
#280 left 10 section-prefixed custom-route files mis-indented and one
unsorted import block in the new landing section-index page. Fixed via
biome formatter (api) and manual import sort (landing). No config change
(biome.json is hook-protected); no suppression. pnpm lint + typecheck
now exit 0.
2026-06-21 02:58:46 +08:00
SnapOtter
71fefc05b0
feat(modality): rename "file" modality label "Data" -> "Files"
...
The fifth user-facing group is now Image, Video, Audio, PDF, Files
(internal modality id stays "file"; section.ts "files" was already
"Files"). Updates modality.ts label + comment, all 21 i18n locales
(categories.data "Data Files"->"Files", modalities.documentsAndFiles
"PDF & Data"->"PDF & Files", dead homePage.data), landing cards/hero
search/tools filter, docs headings, and e2e modality-tab assertions
(/^Data/ -> /^Files/, which had been failing).
2026-06-21 02:45:56 +08:00
SnapOtter
c1c66efd3f
chore: section-prefix remaining tool paths in docs, examples, benchmarks, and multi-input test
2026-06-21 00:30:10 +08:00
SnapOtter
0051655bbf
feat(landing): generate 301 redirects for old tool URLs; fix robots sitemap reference
2026-06-20 23:56:03 +08:00
SnapOtter
f158be6aaa
feat(landing): section-nested tool routes, section index pages, and section-prefixed links
2026-06-20 23:53:54 +08:00
SnapOtter and GitHub
35222249cb
chore: remove dead landing components and a stale vitest exclude
...
Remove 3 unreferenced landing components (HowItWorks, ModalityExplorer, TerminalBlock) and a stale vitest exclude.
2026-06-19 18:46:55 +08:00
SnapOtter
620552569e
feat!: SnapOtter 2.0.0
...
Bump all workspace package versions and APP_VERSION to 2.0.0, marking the
official 2.0 release. Removes the stale 1.x .release-notes.md artifact
(semantic-release regenerates release notes). The 2.0/multimodality docs
and rebrand already landed on main via #254 and #261 , so this carries only
the version designation forward from the rebrand branch.
BREAKING CHANGE: SnapOtter 2.0 - the platform re-architecture (Postgres 17 +
Redis 8 + BullMQ durable jobs, 157 tools across five modalities) is the 2.0
release line, replacing the 1.x SQLite single-container architecture.
2026-06-17 14:33:09 +08:00
SnapOtter and GitHub
c3d7411c67
chore(landing): upgrade to Astro 6 (resolves the astro security advisory) ( #260 )
...
Bump astro ^5.8.0 -> ^6.4.7, @astrojs/sitemap ^3.3.0 -> ^3.7.3, @astrojs/check ^0.9.0 -> ^0.9.9.
The landing uses none of the Astro APIs removed in v6 (no Astro.glob, ViewTransitions, or content collections), so no code changes were required. Astro 6 runs on the repo's existing Vite 8 (the monorepo is already on Vite 8 via the shared override).
Verified: landing build (165 pages) + astro check (0 errors); full monorepo build/typecheck/lint all pass; homepage renders correctly.
2026-06-17 11:11:34 +08:00
SnapOtter and GitHub
17726ae59d
docs: multi-modality rebrand, 2.0 architecture accuracy, and full OpenAPI coverage ( #254 )
...
* docs: rebrand from image-only to multi-modality across docs and metadata
SnapOtter expanded from image-only to 157 tools across 5 modalities
(image, video, audio, document/PDF, data). Update all product-level
copy, metadata, and i18n that still framed it as an image-only tool.
- README, package.json, root llms.txt: multi-modality framing, 157 tools
- OpenAPI info + tags, generated /llms.txt tagline (docs.ts)
- VitePress docs site: hero, getting-started, architecture, security,
deployment, configuration, developer, supported-formats
- i18n: 10 product keys across all 21 locales (hero, app description,
privacy notes, AI features, progress messages, getting-started)
- web/demo/landing meta + privacy copy, COMMUNITY_GUIDE, .env.example
Stale tool counts (53/50+/52/70+/35) corrected to 157 throughout.
Database/container deployment claims left unchanged (out of scope).
* docs: fix stale post-rebrand test assertions and README language list
- tests/e2e-docs/homepage.spec.ts: assert the current docs homepage (file toolkit, 157 tools, 5 modalities) instead of the old image-only strings
- tests/unit/api/docs-route.test.ts: sync the reproduced llms.txt tagline with docs.ts
- README.md: 21 languages with the correct list (add Swedish and Chinese Traditional, drop Czech which is not supported)
* docs: correct 2.0 architecture references (Postgres 17 + Redis 8, 3-container stack)
The docs and metadata still described the 1.x stack (SQLite, single container, p-queue). Update them to the current 2.0 reality.
- README: replace the broken single-container `docker run` quick-start with the real Docker Compose stack (app + Postgres 17 + Redis 8); fix the "no Redis, no Postgres" feature bullet
- package.json: description no longer claims a single container
- apps/docs: rewrite database.md for Postgres; configuration.md DB_PATH -> DATABASE_URL + REDIS_URL; architecture.md SQLite/p-queue/better-sqlite3 -> Postgres/BullMQ/pg and add media-engine + doc-engine; developer/security/deployment/docker-tags/getting-started/contributing compose examples now include postgres + redis; index.md + api/ai.md AI count 16 -> 19
- SECURITY.md: Drizzle (SQLite) -> (PostgreSQL)
- landing: enterprise/FeatureHighlights single-container wording; TrustSignals/ToolGrid 150+ -> 157 (dynamic); Pricing/FAQ 15 -> 19 AI tools
* docs(api): document all video, audio, document, and data tool endpoints in OpenAPI
The spec covered only image tools; the Scalar UI and the generated /llms.txt and /llms-full.txt inherited that gap. Add the 104 missing tool endpoints so the API docs match the code.
- Video: 29 endpoints (most long/async; auto-subtitles is AI)
- Audio: 17 (transcribe-audio is AI)
- Document/PDF: 36 (ocr-pdf is AI; conversions are long/async)
- Data: 10
- Image: 12 newer tools (background-replace, blur-background AI; histogram/lqip-placeholder/sprite-sheet custom responses; barcode-generate uses a JSON body)
Each schema is derived from the tool's Zod validator and executionHint (fast -> 200, long -> 202+SSE, AI adds 501 FeatureNotInstalledError, multi-file inputs as arrays), referencing the existing shared schemas. Tool path entries: 64 -> 168. Spec parses as valid YAML with no duplicate paths and only known $refs.
2026-06-16 18:04:52 +08:00
SnapOtter and GitHub
f622a4f691
feat(landing): enterprise-focused hero redesign and section polish ( #239 )
...
Reframe the landing page around the self-hosted enterprise buyer.
Hero
- Rotating-modality headline with a fixed "Nothing leaves your network"
promise (pure CSS, no client JS) and an enterprise subtitle
- Instant, modality-aware tool search (multi-word) linking to per-tool pages
- Modality cards with live counts; stat strip (150+ tools, GitHub stars,
100K+ image pulls, 20+ languages); 7 enterprise trust badges
- Removed the Docker terminal and the hero CTAs
Sections
- "Built for enterprise deployment" redesigned as a security control plane
(category-tagged 4-up grid, audit-ready frameworks row)
- "Built for regulated environments" polished with numbered kickers and an
accurate Docker Compose deployment description
- ToolGrid is browse-only now (dropped its redundant search) with a clearer heading
Fixes and infra
- Per-tool pages render the real tool icon instead of a placeholder square
- Navbar GitHub stars fetch live client-side with a 1-hour localStorage cache
- Stats auto-update from the GitHub and Docker Hub APIs at build time
- Enterprise tab title and meta description
2026-06-15 21:55:00 +08:00
SnapOtter
9a61cb6af1
chore(deps-dev): bump the dev-deps group with 10 updates ( #238 )
...
Bumps @biomejs/biome, @testcontainers/postgresql, @testcontainers/redis,
@tailwindcss/vite, @types/node, @types/react, @types/yauzl, tailwindcss,
semantic-release, turbo.
2026-06-15 15:03:19 +08:00
SnapOtter
f387e98fff
feat: tool-first workflow polish -- fix tests, lint cleanup
...
- Remove obsolete fullscreen redirect test (route deleted in Task 3)
- Update dropzone test strings to match new i18n values
- Fix categories count in i18n locale test (12 -> 24)
- Add chart-maker to no-dropzone exempt list in tool-registry test
- Auto-fix import ordering (Biome) in popular tools route and landing config
2026-06-14 19:44:58 +08:00
SnapOtter
8403222d08
feat(landing): migrate from Next.js to Astro 5
...
Zero client JS, 165 static pages, self-hosted fonts, Otter Orange
design system. Includes tool SEO data for all 157 tools, enterprise
page, and updated e2e landing tests.
2026-06-14 16:50:20 +08:00
SnapOtter
47b6984be0
fix(landing): add www redirect, noindex JS chunks, and website badge
...
Edge worker 301-redirects www.snapotter.com to snapotter.com to stop
Google from splitting domain authority. Adds X-Robots-Tag: noindex on
/_next/static/ and /_next/data/ paths to reclaim crawl budget wasted
on JS chunks. Adds snapotter.com website badge to README so the
highest-authority backlink (GitHub) points to the main site.
2026-06-13 11:09:02 +08:00
SnapOtter
acee5a6651
fix(landing): slow hero message rotation from 3s to 5s
2026-06-08 13:27:08 +08:00
SnapOtter
25e7c79982
fix(landing): move docker command into hero section
...
Relocate the terminal mockup from the separate HowItWorks section
into the hero so the install command is visible immediately without
scrolling. Remove the now-empty HowItWorks component from the page.
2026-06-08 13:23:53 +08:00
SnapOtter
1e44963f68
fix(landing): replace hero messages with personality-driven copy
...
Swap 25 dry feature bullets for 15 messages with voice -- mix of
cheeky, warm, and playful tones across privacy, simplicity, open
source, use cases, and capability themes. Interleaved rotation order
ensures theme variety for any viewing window.
2026-06-08 13:18:17 +08:00
SnapOtter
7db6bb97da
docs: add per-tool API documentation and fix parity gaps
...
- Create 53 per-tool VitePress documentation pages with accurate
parameters from Zod schemas, example requests, and response formats
- Add root llms.txt for LLM-friendly repo browsing
- Fix OpenAPI spec: add auth and 422 error schemas to
edit-metadata/inspect and strip-metadata/inspect sub-routes
- Fix tool count inconsistency (52 -> 53) across landing site,
e2e tests, and local docs
- Rename color-adjustments.ts to adjust-colors.ts to match tool ID
- Update VitePress sidebar with all 8 tool categories and top nav
2026-06-08 11:52:28 +08:00
SnapOtter
ed177e7cc1
fix(landing): simplify footer copyright to product name only
...
Drop verbose company registration details (entity name, UEN, country)
from the footer -- legal entity info already lives in the Terms page.
2026-06-08 11:51:49 +08:00
SnapOtter
862ff172ef
fix(landing): correct API reference link in footer
...
Footer linked to /api which has no index page, causing a 404.
Point to /api/rest to match the docs site navigation.
2026-06-08 11:51:05 +08:00
SnapOtter
5bcc357725
chore: update tool counts and references for html-to-image (53 tools)
2026-06-06 21:45:39 +08:00
SnapOtter
a8b79f9da5
docs: add html-to-image tool to API docs, OpenAPI, and LLM docs
2026-06-06 21:45:39 +08:00
SnapOtter
9f2498f0d2
docs: add legal entity info to landing footer, terms, and privacy pages
...
SnapOtter is a product of Chocolate Wafers General Trading Pte. Ltd.
(UEN 202527149C), registered in Singapore. Surfaces company identity
in the footer copyright, a "Who We Are" section on the terms page,
and a "Data Controller" section on the privacy page.
2026-06-06 12:06:27 +08:00
SnapOtter
357f39ed7b
fix: update landing word cloud with current tool list
...
Add Meme, Erase Object, Text Overlay, AI Expand, Compose, Split,
Enhance Faces, Replace Color, Beautify, Closeup. Remove Flip
(not a standalone tool) and Open Source (not a tool).
2026-06-06 11:41:10 +08:00
SnapOtter
cfe3c1a2b3
fix: refine landing hero layout and spacing
...
Clean headline break, two-tier subtitle with tool list and lighter
attributes line, more vertical breathing room.
2026-06-06 11:38:48 +08:00
SnapOtter
fa897148a4
docs: update hero copy across landing page and docs
...
Clearer messaging: "50+ image tools. One Docker container." on landing,
"Self-Hosted Image Toolkit" on docs.
2026-06-06 11:22:30 +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
SnapOtter and GitHub
dfddaef260
feat: add /tools index page and fix navbar links on subpages ( #148 )
...
- Add /tools hub page listing all 52 tools grouped by category with
CollectionPage + ItemList schema markup
- Include /tools in dynamic sitemap at priority 0.9
- Fix Features and Pricing nav links using relative anchors (#features,
#pricing) that broke on subpages by prefixing with /
2026-05-18 16:46:58 +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