Changelog

What changed, why it changed, and what broke because of it.

v1.25

Example page navigation and internal linking

  • new Visible breadcrumb navigation on all example pages (Tools / Parent Tool / Example), replacing the single back-arrow link. Breadcrumbs include schema.org JSON-LD with a Tools root item.
  • new "Related Conversions" strip on unit-converter example pages showing 1-3 sibling conversion links in the same category (e.g., cm-to-inches links to inches-to-centimeters, feet-to-meters, meters-to-feet).
  • changed Updated related-tools cards on 14 unit-converter example pages. Replaced irrelevant `unix-timestamp` with complementary tools (`css-units-converter`, `color-converter`).
v1.24

SEO index-coverage fixes

  • fix Fixed broken 301 redirect targets for localized regex-cheat-sheet pages (de, tr, es, pt-BR were 404ing).
  • fix Added missing redirect for legacy `/es/tools/diff-compare-json` slug.
  • fix Fixed 90 doubled `json-to-typescript` URLs (`/json-to-typescript/json-to-typescript/X` → `/json-to-typescript/X`).
  • fix Fixed pt-BR locale accent corruption across 100+ content files (Turkish dotless-ı, misplaced circumflexes, missing cedillas).
  • fix Fixed broken internal links in DE regex-tester, DE base64-encoder, and pt-BR base64-encoder.
  • fix Updated stale external links (lint-staged repo moved, sqlfluff www prefix).
  • fix Added internal cross-links between parent tool pages and example pages.
v1.23

Unit Converter Example Pages

  • new Expanded all 14 unit-converter example pages with conversion formulas, extended reference tables (15-25 rows with real-world objects), real-world use cases, gotchas, and expanded FAQs.
  • i18n Translated expanded content to Spanish, Turkish, Brazilian Portuguese, and German with locale-specific keywords and localized internal links.
v1.22

String Manipulation Tool

  • new String Manipulation mega-tool with 39 operations across 6 categories: Transform, Search & Replace, Clean & Sort, Generate & Encode, Number Base, and Analyze. Case conversion, find & replace with regex, slugify, ROT13, zalgo text, Levenshtein distance, n-grams, and more.
  • new 12 example pages for String Tools with pre-filled samples and educational content (case converter, find & replace, Levenshtein distance, remove duplicates, remove whitespace, reverse string, ROT13, slugify, sort lines, truncate text, word frequency, zalgo text).
v1.21

SEO Quick Wins

  • new 3 new example pages: HTTP Status Code Generator, Gitignore for macOS, Placeholder Text Generator.
  • changed Updated keywords on 5 tool pages (Code Formatter, Markdown Preview, WCAG Contrast, Diff Checker, HTTP Status Codes).
  • changed Improved content on HTTP Status Codes, UUID Generator, and Mermaid Editor pages with better CTAs and related tool suggestions.
v1.20

JSON → Code Generator: 5 New Languages

  • new JSON → Code Generator now supports 11 output modes: TypeScript (interface/type), JSON Schema, Go, Python, Zod, Rust, C#, Swift, Kotlin, Java. Each language generates idiomatic code with proper type mappings, naming conventions, and serialization attributes.
  • new 10 new example pages for Rust, C#, Swift, Kotlin, Java (API response + config per language), translated to all 5 locales.
v1.19

Data Converter Format Expansion

  • new Data Converter now supports XML, HTML, and Markdown formats (8 formats total: JSON, YAML, TOML, CSV, XML, HTML, Markdown, .env). Converts between all combinations except CSV→TOML and CSV→ENV (arrays can't represent as top-level objects).
  • new HTML and Markdown input now extract structured data instead of raw text. Tables become arrays of objects, lists with bold key:value patterns become objects, and headings with content become nested structures.
  • new "What is X?" educational sections added to all 19 tool pages across 5 locales — direct answers to search queries above each tool.
  • new 4 new Data Converter example pages (json-to-xml, json-to-csv, html-to-json, markdown-to-json) with pre-filled samples.
  • fix Invalid format combinations (CSV→TOML, CSV→ENV) now show grayed-out buttons with tooltip instead of throwing errors at runtime.
  • fix Nested objects in CSV, HTML, and Markdown output now serialize as JSON strings instead of [object Object].
  • fix Broken hreflang links for changelog page.
v1.18

Graph View for JSON Formatter

  • new Graph view on JSON Formatter — visualize JSON as an interactive hierarchical diagram. Zoom, pan, click nodes to expand/collapse subtrees. Nodes are color-coded by value type. Export as PNG or SVG.
  • new Smart truncation for large structures — arrays with more than 8 items and objects with more than 12 keys start collapsed with a "+N more" badge. Click to expand all children.
v1.17

Python, Zod & More Output Modes

  • new Python dataclass output mode — generates `@dataclass` classes with type annotations, `Optional[T]` for missing fields, snake_case names, and proper typing imports. Download as `.py`.
  • new Zod schema output mode — generates `z.object()` schemas with `z.optional()` for missing fields, `z.infer` type exports, and nested schema references. Download as `.ts`.
  • new Union types for mixed arrays — `[1, "two", true]` now generates `(boolean | number | string)[]` instead of `unknown[]` in TypeScript modes.
  • new Custom root type name — rename the default `Root` interface/type to any name via the advanced options row.
  • new Import path option — add an `import type { ... } from '...'` header to TypeScript output.
  • new 6 example pages — Go API response, Go config, Python API response, Zod API response, pre-filled with sample data and localized for all 5 languages.
v1.16

JSON Schema Generation

  • new JSON Schema output mode on JSON to TypeScript — switch to Schema mode to generate draft-07 JSON Schema from any JSON input. Distinguishes integers from floats, detects optional fields in arrays of objects, and handles nested structures recursively. Download as `.json`.
  • new Optional field detection across all output modes — when an array of objects has varying shapes, fields missing from some items are marked optional. Works in Interface (`field?: type`), Type alias, and Schema (`required` array) modes.
  • new 2 example pages — JSON Schema from API response and JSON Schema from config object, pre-filled with sample data in Schema mode. Localized for all 5 languages.
v1.15

JSON to TypeScript

  • new JSON to TypeScript converter — paste JSON, get typed TypeScript interfaces or type aliases. Handles nested objects with path-based names, arrays, reserved word quoting, drag-and-drop file upload, copy, and download as `.ts`. Includes 2 example pages (API response, config object).
  • fix Locale cleanup — removed 650+ dead keys across all 5 locales, fixed broken JSON in locale files, and completed missing translations.
v1.14

Hydration & Permalink Fixes

  • fix Live clocks on Unix Timestamp and Timezone Converter no longer flicker on page load. Clock starts ticking after React mounts instead of rendering a server-side timestamp that gets replaced immediately.
  • fix Permalink state restores correctly on direct URL navigation for Base64 Encoder, Cron Builder, and Diff Checker. The async permalink load now triggers state updates instead of being silently dropped.
v1.13

JWT Generator

  • new JWT Generator — sign HS256 and RS256 tokens entirely in the browser using Web Crypto API. RSA key pair generation (auto or pasted PEM), full claim builder (sub, name, email, iss, aud, jti with auto-UUID), expiration presets (1h/6h/24h/7d/custom), custom claims, shareable permalinks.
  • new 2 example pages — HS256 JWT for API auth testing (pre-filled secret, sub, name, email, 1h expiry) and RS256 JWT for OAuth2/OIDC testing (pre-filled iss/aud/sub, 24h expiry, auto-generated RSA key pair).
v1.12

Color Palette from Image

  • new Color Palette from Image — upload, paste, or load from URL any photo and extract dominant colors using median cut quantization. Adjustable color count (2-16), click-to-copy on any swatch, per-color pixel coverage percentage, and CSS variable / JSON export.
  • new 2 example pages — sunset color palette extraction (loads a sample sunset photo) and brand colors from a Google logo (loads the Google logo SVG to demonstrate four-brand-color extraction).
v1.11

SVG Toolkit & Image-to-SVG

  • new SVG Viewer & Optimizer with 3 tabs — View (live preview, DOM tree explorer, code view, stats panel, PNG export), Optimize (SVGO with Conservative/Moderate/Aggressive/Custom presets, before/after comparison), and Format (prettify, minify, inline CSS, absolute paths, remove metadata). Paste SVG code, upload a file, or load from a URL. Shareable permalinks.
  • new Image Converter now outputs SVG — select SVG as the output format to trace any raster image (PNG, JPG, WebP) to vector paths using Potrace. Threshold, detail, color mode, and posterize controls appear when SVG is selected.
  • new 5 example pages — SVG Optimizer, SVG Prettifier, SVG Minifier (for SVG Toolkit), PNG to SVG Converter and Image to SVG Converter (for Image Converter). All localized for 5 locales.
v1.10

.env Support

  • new .env ↔ JSON converter added to Data Converter. Parses KEY=VALUE pairs to/from JSON with auto-typing (booleans, numbers), nested object flattening via `__` separator, comment stripping, and multi-line value support.
v1.9

Lorem Ipsum Generator

  • new Lorem Ipsum Generator with 20 languages, fixed literary passages per language (Cicero for Latin, Don Quixote for Spanish, Dante for Italian, etc.), deterministic sequential output, and CJK/Hindi sentence splitting.
  • new HTML output mode generates realistic page structure with h1/h2/h3 headings, blockquotes, tables, code blocks, and lists — not just `

    ` tags.

  • new 2 example pages — HTML for web prototypes (pre-filled with HTML format) and multilingual placeholder text (pre-filled with language comparison content).
v1.8

CSS Units Converter

  • new CSS Units Converter with 14 CSS units (px, pt, pc, cm, mm, in, rem, em, vw, vh, vmin, vmax, ex, ch), configurable base font size and viewport dimensions, shareable permalinks, and per-row copy on results.
  • new 2 example pages — px to rem and rem to px — with conversion reference tables and educational content on when to use each unit.
v1.7

Password Strength Analyzer

  • new Password Strength Analyzer with zxcvbn-powered strength scoring, crack time estimates for offline/online attack scenarios, pattern detection, entropy breakdown, and Have I Been Pwned breach check via k-anonymity.
  • new 2 example pages — weak password and strong password — with educational content explaining password vulnerabilities.
v1.6

WCAG Color Contrast Checker

  • new WCAG Color Contrast Checker with foreground/background pair pickers, WCAG 2.x ratings (AA/AAA normal and large text), APCA Lc ratings with grade, live text preview at multiple sizes, accessible color suggestions targeting both WCAG AA and APCA >= 60, CSS variable output, and shareable permalinks.
  • new 3 example pages — dark mode accessibility, placeholder text contrast ratio, button color contrast — each with educational content and pre-filled tool state.
v1.5

Random String / API Key Generator

  • new Random String / API Key Generator with charset presets (hex, alphanumeric, base64url, custom), API key presets (OpenAI sk-, GitHub ghp_, Stripe sk_live_), configurable grouping, prefix/suffix, batch generation. All client side via Web Crypto API.
  • new 4 example pages with full localization — OpenAI key format, UUID-like hex IDs, bulk session tokens, readable coupon codes with ambiguous-character exclusion.
  • fix Permalink state hydration on tools with initial props. Async hash from usePermalinkState now restores via useEffect instead of useState initializer.
  • fix Example page breadcrumbs show localized parent tool titles instead of always English.
  • i18n Full localization (27 UI strings, tool content, 4 example pages) across tr, es, pt-BR, de.
v1.4

Text Statistics

  • new Text Statistics tool with word count, character count, sentence count, paragraph count, reading time, Flesch Reading Ease, word frequency analysis, longest sentence detection, and multi-script reading speed estimates for CJK, Arabic, and Cyrillic text.
  • i18n Full localization for Text Statistics across all 5 locales. Reading speed calibrated per script family.
  • new 3 example pages with localized content — essay word count, blog post readability check, social media character counter.
  • fix CJK sentence counting now recognizes 。?! as sentence endings. Previously returned "1 sentence" for all Chinese text.
  • fix Permalink URL hash state now hydrates reliably on tools with initial props. Switched from useState initializer to useEffect to avoid render-before-hydration mismatches.
v1.3

Image Rotate, Flip, and Example Pages

  • new Rotate and flip images directly in the Image Converter. 0, 90, 180, 270 degree rotation with live preview. Horizontal and vertical flip toggles. Apply transforms and download as PNG.
v1.2

Timezone Converter & Example Pages

  • new Timezone converter with DST-aware IANA timezone conversion. Add and remove target timezones, live "Now" mode, source timezone search, swap, shareable permalinks.
  • i18n Full i18n for timezone converter across all 5 locales. Locale-aware date formatting and localized timezone name display using Intl API.
  • new Example pages with localized content: EST to PST and UTC to IST conversions.
  • fix Unit converter locale fallback on non-English pages. Related tool card now shows translated content for all locales.
v1.1

Unit Converter & Analytics

  • new Unit converter with length, weight, temperature, speed conversions. Uses a single conversion graph. Add a new unit by adding one edge, not writing a switch case.
  • new Google Analytics 4 with event tracking per tool. Off by default, no data collected until you consent.
  • i18n Full i18n for unit converter across all 5 locales. Added unit-converter card to homepage.
v1.0

German Locale & Better Navigation

  • i18n German locale (de). 27 tools, examples, homepage, and error pages fully translated.
  • i18n Canonicalized locale list. Locale validation script catches missing translations before build.
  • fix pt-BR case sensitivity redirects. Old tool slug redirects. Mixed content warnings on image export.
  • changed Homepage now groups tools by category with card descriptions. Less scrolling, more scanning.
  • changed 301 redirects on trailing-slash tool URLs for SEO canonical consistency.
v0.9

Terminal 404 & Portuguese Locale

  • new Terminal-style 404 page with tool suggestions. Style: pretend it was intentional.
  • fix Content-blocker taint error on canvas export. Switched from blob-URL canvas to html-to-image capture.
  • fix Content collection locale merging, hydration mismatch on first render, Radix a11y warning suppression.
  • i18n Portuguese (Brazil) locale with full translation parity across all tools.
v0.8

Spanish, Turkish, i18n Infrastructure

  • i18n Spanish locale (es). First non-English locale, built the translation pipeline from scratch.
  • i18n Turkish locale (tr). Full UI localization, SSR i18n, content translations, and a CSV data converter.
  • i18n hreflang annotations in sitemap for correct locale targeting in search results.
v0.7

HAR Viewer

  • new HAR Viewer. Upload, inspect, and sanitize HAR files. Waterfall timeline, request size calculation, time axis.
  • new Sanitization flow to strip sensitive headers before sharing HAR exports.
  • new Quick filters: filter by status code, MIME type, domain. Sort by size, duration, or timestamp.
  • fix Size calculation for compressed responses. Timeline rendering for sub-millisecond requests.
v0.6

The 26 Tool Release

  • new 26 tools covering generators, converters, encoders, formatters, calculators, and viewers.
  • new JSON Formatter, Base64 Encoder, UUID Generator, Unix Timestamp, Token Counter, Diff Checker, JWT Decoder, URL Encoder, Hash Generator, Cron Builder, Regex Tester, Color Converter, Image Converter, Background Remover, Passport Photo, Code Formatter, CSS Gradient, Data Converter, Gitignore Generator, HTTP Status Codes, Markdown Preview, Mermaid Editor, Password Generator, QR Code Generator, Currency Converter.
  • new Astro + React + Tailwind v4 stack. WASM modules load on page load, no server calls during tool usage.
  • new Dark/light theme with system preference detection. CSS variable tokens throughout.
  • new Command palette search with keyboard shortcut ⌘K.
  • new Shareable permalinks via URL hash for text-based tools.
v0.5

First Tools and Patterns

  • new JSON Formatter, Base64 Encoder, UUID Generator as the first three tools. Proved out the component pattern and WASM loading.
  • new CSS variable token system for theming. Dark mode works before light mode does.
  • new Permalink support via URL hash. Text in the URL, no server needed.
v0.4

Astro and Tailwind v4

  • new Astro project with React islands and Tailwind v4. Static site generation, zero client JS for the shell.
  • new i18n infrastructure with locale JSON files and SSR hydration. Five locales planned from day one.
  • new Homepage bento grid layout for tool cards. Category based grouping.
v0.3

Scaffolding

  • new Project scaffold with Astro, React, Tailwind, and Vitest. Build pipeline configured for Cloudflare Pages.
  • new Favicon and OG image placeholders. Domain pointed at devbento.dev.
  • new Tool list drafted: 27 tools across 6 categories. Some would not survive the first cut.
v0.2

The Master List

  • new Research phase. Looked at every developer tools site, noted what they do well, decided to build the ones that matter.
  • new Rejected: hex editor, ASCII table, Lorem ipsum generator, barcode generator, stopwatch.
  • new Kept: JSON tools, crypto tools, converters, formatters, generators, calculators.
v0.1

It Compiles

  • new npm create astro@latest. Default template with nothing in it.
  • new Decided on the name DevBento over DevBox, Toolbox, and CodeKitchen.