Changelog
All notable changes to this project will be documented here.
The format follows Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased
Documentation
Tool.dateAdded: documented optional ISOYYYY-MM-DDfield for build-time ordering / future home-page “New Tools” surfacing (docs/TOOL_ENGINE_SPEC.md); tracks GitHub #21.
Added
- Social share popover on tool pages with copy link, X, WhatsApp, Facebook, LinkedIn, Reddit, Telegram, and email targets.
@radix-ui/react-popoverdependency for accessible share panels.
Changed
- Tool share action now keeps native
navigator.shareon supported mobile devices and uses the social popover as the desktop/fallback path.
0.3.0 — 2026-04-26
Added
- 5 new tools: Unix Timestamp Converter (
/datetime/unix-timestamp-converter), Age in Planets (/lifestyle/age-in-planets), GPA Calculator (/lifestyle/gpa-calculator), Pythagorean Theorem (/math/pythagorean-theorem), UTM Builder (/seo/utm-builder). - GPA Calculator supports international scales: US (4.0), UK honours, India 10-point, Germany 5-point (inverted), and custom scale.
- Cmd+K command palette for tools and KB search (
components/search/CommandPalette.tsx). lib/kb-markdown.tsstrips a leading Markdown heading when it duplicates the catalog title, so KB pages keep a single visibleh1.
Changed
- Knowledge base articles render as static Markdown via
react-markdown+ GFM; metadata lives inlib/kb-articles.ts(not per-file YAML frontmatter). - Documentation aligned with the KB pipeline, dev server port 3001, and pnpm 10.
- Next.js 16 network boundary:
middleware.ts→proxy.tswithexport function proxy; CSPconnect-srcuses valid Sentry hosts (https://*.ingest.sentry.io,https://*.sentry.io) instead of invalido*.ingest. - Root layout:
themeColormoved frommetadatatoexport const viewport(NextgenerateViewport/ viewport API).
0.2.0 — 2026-04-21
Added
- Visual breadcrumb navigation on tool pages and category pages (
components/seo/Breadcrumbs.tsx) FavoriteButton(star) on every tool page — persisted tolocalStoragevialib/user-data.ts- Recents and Favorites sections in search modal (shows last 5 tools used / starred)
- Category filter chips inside search modal to narrow results by category
- Tool descriptions shown in search results (third line below category badge)
- Tool descriptions shown on Popular Tools cards on the home page
- Hero trust signals on home page (Runs in your browser · Instant results · Every formula shown)
- Theme toggle (light / dark) in the header; persists across sessions; no flash on load
tabular-numson primary result value to prevent digit-width jitter
Changed
- Primary result card now renders with
CheckCircle2icon,text-3xlvalue, and highlightedbg-primary-softbackground (ToolResult.tsx) - Empty result state shows a contextual prompt and a "Try example" shortcut button
ToolForminput height increased to 44 px touch targets (py-2.5); number fields setinputMode="numeric"/"decimal"andenterKeyHint="done"for mobile keyboardToolActionsshare and reset buttons use consistent outline style with press feedback (active:scale-[0.98])- Brand name (
NEXT_PUBLIC_BRAND_NAME) now wired into all metadata —app/layout.tsxandapp/page.tsxno longer hardcode "Utilix" - Search modal backdrop uses a theme-adaptive
--color-overlayCSS variable withbackdrop-blur-smso light and dark themes both render a uniform backdrop (no more grey-header / white-content split in light mode)
0.1.0 — 2026-04-01
Added
- Schema-driven tool engine (
lib/engine/) — tools defined as data, not code; no bespoke component per tool - 49 tools across 11 categories: Finance, Health, Math, Date & Time, Converters, Text, Developer, Design, SEO, Generators, Lifestyle
- Static prerendering for all tool and category pages with URL ↔ form state sync
- Cached RSC for live currency FX rates via Frankfurter API (
cacheLife('day')) - Knowledge-base articles (
content/kb/) — 35+ paired KB articles pnpm create-tool <category> <slug>CLI scaffolding command- CI pipeline: TypeScript strict check, ESLint, Vitest unit tests, Playwright E2E, axe accessibility gate
- CD pipeline: Docker image → GHCR → VPS SSH deploy via GitHub Actions
- WCAG 2.1 AA compliance gate (
@axe-core/playwright, hard-fail) - Lighthouse performance budget enforcement (≥ 95 perf / 100 SEO / 100 a11y)
- JSON-LD structured data: SoftwareApplication, HowTo, FAQPage, BreadcrumbList, CollectionPage
- GA4 Consent Mode v2 with cookie consent banner
- Sentry error tracking integration