Nov 3, 2026
Welcome to the October 2026 edition of the MapLibre newsletter!
It was a busy month across the ecosystem: the Plugin API landed in stable MapLibre Native releases, MapLibre Native FFI bindings are now published across all major package registries, MapLibre GL JS shipped its most requested feature, experimental custom Coordinate Reference System. Plus, the Style Spec approved new additions, MapLibre Flutter was presented at FlutterCon Berlin, and MapLibre Agent Skills v0.3.0 is out.
A special thanks to our sponsor, Microsoft, for their continued support.
Our thanks to Microsoft for their renewed sponsorship and steadfast support since 2024.
global-state expressions. Perhaps less exciting, but very helpful when you need to symbolicate a crash: debug symbols are now included in the XCFramework.feature/terrain3d branch last month. Stay tuned for pre-releases!We released versions v6.12.0, v6.13.0, v6.14.0, v6.15.0 and v6.16.0 this month.
🌍 v6.15 ships the project’s most requested feature: experimental support for custom Coordinate Reference System(CRS).
National grid maps, polar maps and all sorts of world projections are now supported. You can pass in your own projection logic, so it’s very flexible.
Explore it in the showcase, and let us know what you think in the Slack announcement. Big thanks to John Carmack and Birk Skyum for getting this over the finish line!

Custom CRS showcase: national grids, world projections and polar maps
We also added experimental terrain support for custom layers, which improves the deck.gl integration.
These versions also ship lots of bug fixes and performance improvements, so make sure to upgrade to the latest version.
Thanks to everyone who contributed this month!
MapLibre Native FFI has hit a major milestone; all of its language bindings are now published to their package registries. Kotlin Multiplatform bindings were already on Maven Central, and the C library on GitHub Releases, and now we’ve also got:
Sargun Vohra also completed internal rework so the library now manages threads that were previously left to the host integration. That change is what made the Flutter integration described in the next section of the newsletter possible. Each language binding is now generated automatically from the C header, which makes it easier to iterate on the API and to maintain or add language bindings.
Versions 0.3.7 and 0.3.7+1 for flutter-maplibre were released this month. These are maintenance releases with updated dependencies and a couple of bug fixes.
Work is ongoing for the upcoming 0.4.0 release. The package has been migrated to unified C bindings using maplibre-native-ffi, which removed about 160,000 lines of code. Most of that was generated code but it still shows how much complexity the platform-specific SDK bindings added.
The upcoming release also delivers the most upvoted feature request on the issue tracker: better type safety in the API with statically typed layer properties and statically typed expressions.
The prerelease is available on pub.dev now: v0.4.0-pre.1.
Feedback is very welcome! Share it on
GitHub or in
the #maplibre-flutter Slack channel.
On 9 October, MapLibre Flutter was presented at FlutterCon at next.app devCon in Berlin, in the talk Chasing Behavioral Parity by Gabriel Palmisano. The slides themselves ran on Flutter, next to a live globe drawn by the plugin. After the talk, many community members joined discussions about the future of the package. Thank you to everyone who stopped by with questions, use cases and ideas.

Chasing Behavioral Parity at FlutterCon Berlin, 9 October 2026
🎉 flutter-maplibre-gl 0.28.0 is coming!
The next release closes more than 50 issues since 0.27.0, with one theme: the same call gives the same result on every platform.
moveLayer, setLayerZoomRange, setLayersVisibility, panInertia, image sources on Web, F-Droid-friendly Android builds and more.Most apps upgrade without code changes. See the migration guide and docs for the exceptions. maplibre_gl also passed 150,000 monthly downloads, nearly double August’s figure.
MapLibre Agent Skills drops the latest eval-tested MapLibre guidance into agent-assisted coding environments including Cursor, Copilot, Codex and Claude Code so they stop guessing and are kept current beyond their training data.
v0.3.0 shipped on 26 October with 11 skills, covering cartography, fonts and glyphs, sprites and icons, terrain, tile sources, PMTiles, source wiring, and Mapbox and v6 migration. It also adds a Claude Code plugin marketplace:
/plugin install maplibre-agent-skills --marketplace maplibre/maplibre-agent-skills
It’s been a big quarter. Stephanie May overhauled the repo’s skill structure and eval process and gave a well-received talk at FOSS4G 2026 in Hiroshima. John Carmack hardened the CI and automation and fixed countless small issues along the way.

Stephanie May presenting MapLibre Agent Skills at FOSS4G 2026, Hiroshima
verified / provisional status from the outcome. Since mid-September it has run nearly every week.validate:skills checks front matter against the Agent Skills spec.A Native/GL JS parity skill is the next candidate. If you maintain a repo in the MapLibre ecosystem, reach out about guiding coding agents on your contribution practices. We’d love for you to try the skills!
And channels are open to thoughts, skills, and suggestions from you 🫵 💟
This month we approved:
emptyResponse to try and support sparse tile matrix by defining better what the server returns as an empty response.elevation in fill-extrusion-color to better facilitate coloring buildings by height.{fill,line}-layer-blend to bring more graphics capabilities to the style spec.We also included the TileJSON additions to the docs, clearly marking which parts come from TileJSON 3.0 and which are MapLibre extensions.
📝 The MapLibre Style Spec is evolving! Join the discussion on shadows, rooftops and immersive 3D, all features we are considering adding to the style spec.
We start with spec changes before implementation so that we can take as much input as possible into account. The best way to move a spec proposal forward is to present it at one of the monthly meetings, so we can shape it together.
We continue our regular community calls on the second Wednesday of each month, with an additional session on the last Wednesday to better accommodate Asia/Oceania time zones.
Held on the last Wednesday of the month at an Asia/Oceania-friendly hour:
All calls are open to everyone. Zoom links are shared in the MapLibre Slack.
Not yet a member? Request an invite via the OpenStreetMap US Slack and join the #maplibre channel.
We’d love to see you there!