← Back to all sparks
M

Mapnik

DEVOPS
Velocity2.5

Toolkit for developing mapping applications and rendering cartographic maps

Mapnik trades a reverted font fix for a working one, and turns off debug builds.

map-renderingfont-renderingvector-tilesdatasource-pluginscpp-modernizationgeospatial
Current state
Mapnik ships small point releases driven by a handful of maintainers with a widening set of outside contributors. v4.3.1 is a corrective release: the multi-font Unicode work that landed in 4.3.0 was patched, the patch was reverted, and a different font-fallback implementation went in instead. Alongside it are unattributed performance improvements and NDEBUG enabled by default, which removes assertion overhead from stock builds.
Where it's heading
Two threads continue in parallel. The datasource layer is being generalized so tile sources sit alongside PostGIS and GDAL as first-class inputs, and the C++ substrate is modernized in place — boost::optional replaced by std::optional, a C++ port of polylabel pulled in. Text rendering has become the noisier area: complex script shaping across a fontset has now taken three attempts across two releases, which is the kind of churn that usually means the fallback logic lacks test coverage rather than that the problem is hard.
Prediction
Vector-tile compression is still marked work-in-progress, so 4.4.0 remains the place for it to land. Expect at least one more font-fallback correction before the multi-font path settles, given the revert in this release.

Recent moves

  1. 19d ago

    Mapnik 4.3.1 reworks font fallback and enables NDEBUG by default

    A corrective point release: 4.3.0's multi-font Unicode fix was patched, the patch reverted, and a separate font-fallback change landed in its place. NDEBUG on by default strips assertions from stock builds, which together with the unspecified performance work makes this a speed-and-text-rendering release.

    View source ↗
  2. 1mo ago

    Mapnik 4.3.0 fixes PostGIS pool churn and multi-font Unicode runs

    The release 4.3.1 corrects. Brought PostGIS async connection pooling under control, added an unbuffered bbox variable, finished the boost::optional removal, and made the first attempt at shaping complex Unicode across a fontset. Three first-time contributors landed here.

    View source ↗
  3. 5mo ago

    Mapnik v4.2.2

    A minimal patch release with no user-facing change described in the notes.

    View source ↗
  4. 7mo ago

    Mapnik 4.2.1 makes the plug-in infrastructure more flexible

    Part of the generalization of the datasource layer, loosening how input plugins are registered and combined so tile sources can sit beside the established PostGIS and GDAL inputs.

    View source ↗
  5. 8mo ago

    Mapnik 4.2.0 combines the input plugins

    Consolidated the separate input plugins into a combined build, the structural step that the later plugin-infrastructure work builds on.

    View source ↗
  6. 10mo ago

    Mapnik 4.1.4 adds layer sort-by, fixes GDAL 3.12 build

    Layer sort-by gives style authors ordering control at render time; the GDAL 3.12 fix is the routine cost of tracking a fast-moving dependency.

    View source ↗