May 4, 2025
Welcome to the April edition of the MapLibre Monthly!
We’re excited to share major updates across Native, GL JS, and Martin - ranging from performance optimizations to new extensibility features. And before we dive in, a heartfelt thanks to Komoot for renewing their sponsorship!
Action Journal for Crash Debugging: We are adding an ‘action journal’ to MapLibre Native. This is a persistent log of internal events, written out as JSON files. You can use this as a sort of black box to get information what the library was doing when rare, difficult to reproduce crashes and bugs happen. Please check out the PR and tell us if this is useful. We expect this to be mostly used by mission-critical enterprise type applications, which tend to have extremely low acceptable crash rates.
Efficient Memory Management with Dynamic Texture Atlas: Work on implementing a dynamic texture atlas is almost complete. Testing indicates that reduction in memory may be more significant than expected! This can also be useful when using MapLibre Native for server-side rendering. We are very interested to hear your findings on memory usage in production when releases containing this functionality are out.
Plugin Support for Custom Layers (WIP): There is a draft PR that adds plugin functionality to MapLibre Native, allowing custom layer types to be added at runtime. Allowing the library to be extended more easily from the outside is something that has been talked about a long time. Although the PR in question is very much a work-in-progress, it is exciting to see some movement in this area which many users will be following with interest.
Call for Accessibility Feedback: We are interested in input from accessibility experts or developers who developed accessible maps in the past. Do you have any ideas for MapLibre Native features or perhaps style spec additions that can benefit accessibility? If yes, then please add to the discussion.
Releases this month:
We released two versions this month:
Looking ahead, map-state persistence and expanded hillshade options are in the pipeline, stay tuned! There’s also early progress on a plugin to support complicated scripting languages, a feature that’s been discussed in previous newsletter posts.
Be sure to explore the awesome-maplibre repository. It’s packed with creative tools, plugins, and use cases built by our amazing community!
We’re actively shaping the roadmap for Martin v1.0 and would love your input!
A discussion is underway on what features or changes are needed before we consider a 1.0 release. If you have thoughts, suggestions, or feature requests, please join the conversation and help guide the future of Martin.
GTFS Visualization for Public Transport in Zamora, Mexico
This project by Codeando México visualizes the public transport routes in Zamora using MapLibre + Svelte. It’s part of a crowdmapping initiative where local students helped digitize the city’s transit network using mobile phones.
Before this effort, the information wasn’t publicly available. Now, it’s accessible to both residents and organizations who can build on the data. A great example of civic tech and open mapping in action!
“It was super easy to get something done quickly using Svelte + MapLibre.” — Óscar Hernández, Tech Lead @ Codeando México
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.
Upcoming May Calls
🌏 MapLibre Eastern Call
Held on the last Wednesday of the month at an Asia/Oceania-friendly hour:
🔗 View meeting times in your local timezone
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. We’d love to see you there!