Geocoder fix. Canadian, UK, and Dutch postal codes were 404'ing against zippopotam.us because we sent the full postcode but the service only stores the outward portion (FSA / sector). Now we look up the outward and preserve the user's typed code in the label. Bare outward codes (SW1A, M5V) also resolve directly.
MCP server. D Fetcher now speaks the Model Context Protocol at /mcp. Add https://dfetcher.com/mcp to Claude Desktop / Claude Code / any MCP client and the calculate, geocode, and describe_skin_types tools light up.
FAQ. Plain-English answers to the ten questions people actually ask about the model: accuracy, cloud handling, glass / sunscreen / shade, the 20° elevation cutoff, what counts as medical advice. Search-engine-friendly (FAQPage schema). Read the FAQ →
Structured data. JSON-LD added to every page (WebApplication, TechArticle, FAQPage, WebPage + breadcrumbs) so Google / Bing / AI assistants can surface the calculator with richer context.
API docs page. Endpoint, parameters, response shape, errors, and caching documented at /api, with a one-click copy for the URL. Footer-linked from every page.
JSON API./api/calculate?lat=…&lon=… returns the same data the page computes — sun position, UV index, IU/min, minutes to target, MED, peak window, and full day + year curves. Same model, no scraping. CORS-open, 60s edge cache.
Shared model. The math moved to lib/dfetcher.js so the page and the API can't drift. Page now loads as an ES module.
Hour-by-hour chart. Today's "minutes to target" plotted across the day, anchored on live UV forecast where available and clear-sky elsewhere. Sun-below-horizon, low-sun, and synthesis-viable bands are shaded distinctly so the curve's shape is readable at a glance.
Global postal codes. Canadian, UK, Dutch, Japanese, and Brazilian postal formats now route directly to zippopotam.us. Other countries can be resolved with a code, CC suffix (e.g. 10115, DE). City-name search worldwide is unchanged.
Header refresh. Sun mark added next to the D Fetcher wordmark, with a one-line intro about what the tool is for.
Social card. Open Graph + Twitter card image (og.png, 1200×630) for previews on Twitter/X, LinkedIn, Facebook, iMessage, Slack.
Changelog page. You're reading it. Linked from the footer; included in sitemap.xml.