changelog

Changelog

Release notes, in rough chronological order.

2026-05-03

toolSix viewer capabilities — console, format, drop, libs, ruler, PNG

  • Live console & error panel below the preview — captures console.log/warn/error, uncaught exceptions, unhandled rejections, and broken-resource events from the iframe via postMessage.
  • Format / Prettify command (⌘⇧F) on /, /html-to-pdf, /markdown-editor. Prettier loads only when you click — no first-paint cost.
  • Drag-and-drop file import — drop a .html / .md / .json onto the editor; loads with an Undo toast.
  • + Add lib dropdown — one-click insert for Tailwind, Bootstrap, jQuery, htmx, Alpine, Lucide, Pico, daisyUI, and more. Pinned versions, head-aware insertion, dedupes if already present.
  • Custom preview width — drag the right edge to any pixel width with snap-to-breakpoint at 320 / 375 / 768 / 1024 / 1280 / 1440 and a floating px label.
  • PNG screenshot export — captures the preview at native devicePixelRatio. Honest failure toast when cross-origin images taint the canvas.
2026-05-03

polishPhone optimization, CSP fix, internal cleanup

  • Mobile tab toggle (Code | Preview) replaces the stacked layout below 960px — keyboard no longer covers the preview.
  • Phone/tablet device-frame buttons hidden on mobile (the frames were larger than the screen).
  • CodeMirror bumped to 16px on mobile so iOS Safari stops auto-zooming on focus.
  • JSON tree wraps long string values on phones instead of forcing horizontal scroll.
  • 100dvh replaces 100vh, single 960px mobile breakpoint, mobile section padding tightened. Tighter share modal and iOS-specific PDF instructions on narrow phones.
  • Pasted HTML can now load Tailwind CDN, Lucide, Google Fonts and other CDN-hosted assets — the strict CSP from the SEO pass was blocking them inside the preview iframe.
  • Internal: useShortcut / useFormatter / replaceWithUndo hooks kill ~190 lines of duplication; localStorage no longer thrashes during custom-width drag.
2026-05-01

polishPlausible analytics, cookie banner gone

  • Switched from PostHog to Plausible — privacy-friendly, cookieless, GDPR-compliant by default. ~1KB script.
  • Cookie consent banner removed entirely. There's nothing to consent to (no cookies), so the prompt was misleading.
  • Privacy page and FAQ updated to reflect the new analytics provider.
  • All existing tool-action events preserved; renamed to Plausible's Title-Case convention.
2026-05-01

toolJSON viewer — fourth tool

  • New /json-viewer — paste minified or messy JSON and read it as a collapsible tree.
  • Type-tinted leaves (string, number, boolean, null), key counts on collapsed nodes, expand-all / collapse-all controls.
  • Format and minify actions; copy formatted or single-line minified output.
  • Parse status line shows ✓ valid · N nodes · depth N or × error with line and column.
  • Same browser-only, localStorage-persisted, no-signup pattern as the other three tools.
2026-05-01

polishAccessibility, privacy, and quiet bugs

  • Restored visible focus rings everywhere — plain textareas had been missing a focus indicator entirely.
  • Inline body links now underline; chrome links stay clean.
  • Cookie banner no longer paints over the fullscreen preview; scrollbar gutter is stable so entering fullscreen no longer shifts the page on Windows / Linux.
  • Mobile nav: ☰ menu at narrow widths so Viewer / Tools / Why / FAQ are reachable from the chrome again.
  • Markdown preview iframe (/markdown-editor) no longer requests Google Fonts — system-font stack only. Closes the third-party request from a tool that promises "everything in your browser".
  • useFullscreen hook hardened — pure state updaters (no double-fire in StrictMode dev), generic editing-surface gate (no library coupling).
  • SplitPane refactored to a compound <SplitPane.Pane> API; either pane can go fullscreen.
2026-05-01

toolPitch-black, tool-first redesign (v4)

  • Replaced the warm-orange terminal brand with a near-monochrome pitch-black surface so the editor + preview can dominate the viewport.
  • Compact 44px navbar — drops the brand tagline and ASCII cat. Single-row footer — no decorative copy.
  • Studio: tighter pane labels (HTML / Preview), 32px pane headers, so editor + preview claim ~88% of the viewport above the fold on desktop. Preview now has a fullscreen toggle (⤢ button, F to enter, Esc to exit).
  • Homepage and the other two tool pages trimmed from H3 thickets to one short paragraph linking out to /why and /faq.
  • Hello-world default sample on / so the first paste reads as a coder's demo, not a marketing pitch.
  • New design tokens: pitch-black backgrounds, grayscale chrome, no accent color. THEME.md updated.
2026-04-20

polishGeneral website improvements

  • Cut back to three tools — HTML viewer, markdown editor, HTML-to-PDF. Legacy URLs 301 to the homepage.
  • SEO and copy cleanup for the 3-tool positioning across /why, /faq, /privacy.
  • Explicit www → apex 308 redirect in next.config.
  • Dedupe, debounce, and a few rounds of refactor across chrome, hooks, and editor.
2026-04-20

toolThree-tool brand era

  • Terminal redesign — warm black + burnt orange + Instrument Serif italics. (Replaced May 1; see above.)
  • Shipped a handful of extra tools around the HTML viewer; most cut back to the three core tools.
  • Tools hub, content pages, sitemap, llms.txt.
  • Shared nav + footer across every tool.
2026-04-12

polishWebsite updates

  • Cookieless, anonymized PostHog analytics for tool usage.
  • Comprehensive SEO pass across all pages.
  • Fixed branding and style inconsistencies.
  • Removed stale GitHub and open-source references.
2026-02-05

launchInitial creation

  • First version of the HTML editor with live preview.
  • CodeMirror editor, syntax highlighting, draggable split pane.
  • Responsive phone / tablet / desktop preview sizes.
  • Mobile toggle between editor and preview panels.