Skip to main content

Changelog

Future releases will be logged here in reverse-chronological order.


2026-06-06 — data= grammar extensions

Two new pair shapes on the data= parameter, lifted from the JSON body to the URL endpoint. No new query parameters; existing requests render identically.

What's new:

  • data=id:#hex — color-only paint per region, no value, no scale binning. Use this for "color X red, Y blue, Z green" requests; pair with legend=false since there's no scale to show. Equivalent to the previous data=id:0:#hex placeholder, with the noise removed. See Color overrides.
  • data=id:label — text-label categorical buckets. Each distinct label gets a distinct color from the theme's categorical palette; the legend names the buckets. The renderer auto-selects colorScale=categorical on the GET endpoint when string values are present. See Color scales → Categorical.
  • JSON bodyregions[].value now accepts a string (max 64 chars) in addition to the existing number / null shapes.

Breaking-change semantics: none. Every URL that worked before still produces a byte-identical render. The grammar is strictly additive.

New error code:

  • mixed_data_types (400) — returned when a single request mixes numeric values (e.g. US:200) with string labels (e.g. CN:NATO). Color-only pairs (id:#hex) are exempt and mix freely with either kind. See Errors.

2026-05-25 — Public preview

Initial public release of the maproll rendering API at https://api.maproll.io.

What shipped:

  • Two endpoints: GET /map.{svg,png} (URL-only, cache-friendly) and POST /render/map (full JSON body).
  • Two scopes: world (countries, OSM-derived) and RO (Romania regions, OSM-derived). Both available at low, medium, and high detail levels.
  • Six themes: light, dark, satellite, terrain, minimal, contrast.
  • Five projections: naturalEarth1, albersUsa, conicConformal, mercator, equalEarth.
  • Color scales: sequential, diverging, categorical with Jenks, quantile, equal-interval, and custom break classification.
  • Proportional symbols: sized circles, optionally dual-encoded with choropleth fill.
  • Five fill patterns: stripes, stripes-diagonal, dots, crosshatch, solid-outline.
  • 30 marker icons with label positioning.
  • Routes: great-circle paths with optional arrows, dashes, and custom colors.
  • Region labels: ISO mode and explicit id lists, with labelMinArea filtering.
  • Cartographic overlays: north arrow, scale bar, graticule.
  • Annotations: per-region SVG <title> hover tooltips.
  • Title, subtitle, attribution, and logo branding fields.
  • Three legend layouts: vertical, horizontal, continuous.
  • Immutable caching: Cache-Control: public, max-age=31536000, immutable + ETag + 304 Not Modified support.
  • PNG rasterisation via @resvg/resvg-js (no headless browser).