API Changelog

Breaking and additive contract changes for the REST API and hosted MCP server.

August 26, 2026

2.2.1

Fixed

  • Forecast refresh failures now fall back to existing cached rows with stale: true.
  • The map control panel now groups controls and instructions clearly without stray separator bullets.

August 26, 2026

2.2.0

Added

  • Interactive Swagger UI for safe live read-only requests.
  • Full OpenAPI response examples and curl, JavaScript, and Python samples for every operation.
  • Explicit MCP output schemas with validated structured content.
  • Expanded agent workflow and response guidance in /llms.txt.
  • Redocly OpenAPI validation in local tooling and CI.

Fixed

  • Exact forecast rows and complete map feature properties are now reflected in OpenAPI.

August 26, 2026

2.1.0

Added

  • Wildcard CORS on public read-only REST routes.
  • Explicit daily-category-maximum metadata and labeling for map values.
  • Five-minute shared edge caching with stale-while-revalidate.

Changed

  • Invalid, zero, negative, fractional, and oversized limit values now return 400.

August 26, 2026

2.0.1

Fixed

  • Malformed and impossible date parameters now return 400 before querying the database.
  • Database connection and query failures are distinguished in private logs, while public errors no longer expose configuration hints.

August 26, 2026

2.0.0

Breaking changes

  • Daily pollen rows now use tree, grass, weed, and total instead of avg_* names.
  • Pollen-range hourly and daily modes now return one flat row shape.

Added

  • One documented 404 UNSUPPORTED_CITY response across all city-aware REST operations, with the same actionable error message from MCP tools.
  • Hosted MCP discovery metadata in OpenAPI.
  • Complete pollen data in the initial server-rendered city page HTML.

September 20, 2025

1.0.0

Initial public pollen, forecast, weather, map, OpenAPI, and discovery endpoints.