> Changelog
A short, honest list of what has shipped on tooldev.app, when, and why. The site is actively maintained by a single developer; this page is updated each time a meaningful batch of work lands on production. Full git history is available on request — write to privacy@tooldev.app.
v1.5
2026-05-20
Phase B — Consolidation & original-proof benchmarks.
- Indexed surface consolidated from 32+ pages to a curated 13-page core: the image converter, six main format-pair landings (PNG↔WebP, JPG↔WebP, PNG↔JPG), two comparison guides (
webp-vs-png,avif-vs-webp), About, Privacy, Tools, and this Changelog. Twenty doorway-pattern pages were taken out ofsitemap.xmland given<meta robots="noindex, follow">; they remain reachable by URL. - AdSense loader stripped from all 20 noindexed pages so the Mediapartners-Google reviewer cannot evaluate them. GA4 stays everywhere for owner analytics.
- All internal links from the 12 indexed pages to the 20 noindexed pages were removed — including the "Other Tools" header nav, footer-conversions for legacy formats, related-card grids, and the entire Image Tools section of the Tools hub.
- Real-world benchmark sections added to all six main converter landing pages. Each shows a 5×3 (or 4-column for lossless paths) byte-exact table generated by driving this exact converter via headless Chromium on a fixed set of five self-generated sample images. Methodology blocks call out the honest caveats — double-lossy chains, transparency flattening, animated WebP first-frame-only, JPG q=100 quantization bloat.
- Five CC0 self-generated sample images committed under
src/assets/benchmarks/samples/with SOURCES.md documenting the licensing position (rasterised font glyphs are not copyrightable per US Copyright Office Compendium § 906.4). SHA256 of each committed asset recorded for reproducibility. - Tooling added to the repository:
scripts/generate_samples.py(Python + Pillow) regenerates the sample set;scripts/benchmark.mjs(Node + Puppeteer) regenerates the byte-exact benchmark numbers and side-by-side comparison PNGs. Puppeteer is the only npm devDependency; nothing ships to the browser. - Schema.org
softwareVersionbumped tov1.5;dateModifiednormalised on every page touched by this release.
v1.4
2026-05-11
Phase A — AdSense content uplift.
- Six main format-pair landing pages rewritten from scratch to 1,800–2,200 words of unique, technically-specific content each (PNG↔WebP, JPG↔WebP, PNG↔JPG).
- About page expanded to ~1,666 words with full E-E-A-T signals (real author, real GitHub link, twenty-year retail-technology background, technical honesty about Canvas API limits).
- Privacy Policy rewritten to ~1,000 words with concrete Canvas-API privacy disclosures, third-party processor list, and GDPR/CCPA data-rights walkthrough.
- Sitewide trust block added to every page: client-side processing, no account, open about limits.
- Tools hub page (
/pages/tools) added with all formats grouped by category. - Initial render forced to English on every page for SEO/AdSense crawlers; localised UI activates only after consent and JS hydration.
- JSON-LD upgraded:
Personauthor schema on every tool/landing/guide,Organizationwith founder + contactPoint,FAQPage+HowTocoverage. - Honest download-button label (single file ≠ ZIP, button hidden when zero successful conversions); slider track contrast fix.
v1.0
2026-03
Initial public launch.
- Image Converter MVP supporting seven formats: PNG, JPG, WebP, AVIF, GIF, BMP, ICO. Batch upload, ZIP download, drag-and-drop, all processing client-side via the Canvas API.
- Six cyber-minimal themes: matrix, amber, cyan, purple, red, blue — all free, no gating, no account.
- Nine UI languages: EN, UA, ES, PT, FR, DE, PL, ZH, JA. Preference stored in
localStorage. - Six initial SEO landing pages for format pairs and two comparison guides; Schema.org markup on every page.
- Google Analytics 4 (G-GXT10TCK06) with Consent Mode v2 (all four params denied by default in EEA regions).
- Cloudflare Pages hosting from the
mainbranch; Bot Fight Mode, Early Hints, and Crawler Hints enabled.