MapLibre Newsletter June 2025

Jul 2, 2025

Categories: Newsletter
Authors: Bart Louwers Harel Mazor Ramya Ragupathy Yuri Astrakhan Ian Wagner

Welcome to the June edition of the MapLibre newsletter!

This month’s roundup includes new feature updates in MapLibre Native and Web, along with milestones in projects like the SwiftUI DSL and Compose Playground. We’re also pleased to share that the MapLibre Workshop Kit now supports GitHub Codespaces, making it easier to get started without any local setup which means you can generate and serve tiles directly on cloud.

We’re grateful for the continued support of all our sponsors and contributors who make this work possible. In this edition we would specially like to highlight the renewed sponsorship support from Mapme 💙

MapLibre logoMierune logo

Thanks to Mapme for their continued support (2024–2025) 🤝

📱 MapLibre Native

Releases this month

Refer to the changelog and the linked PRs in the changelog for the details, but here are some highlights from this month’s releases.

  • We now have level-of-detail (LOD) controls available. This functionality is especially useful for navigation use-cases where the map is tilted. To avoid overloading the system you can use the LOD controls to use tiles with a lower zoom level for areas that are further in the distance.

  • We have also added the ability to toggle a rendering statistics HUD. This is especially useful for users of MapLibre Native on embedded systems.

Rendering statistics HUD

Rendering statistics HUD

  • MapLibre iOS 6.15.0 has support for defining plugin layers as described in last month’s newsletter. See this page in the iOS documentation for more information on what is currently possible and how to create your own plugin layers. There is a tracking issue to bring plugin layers to Android too. We are looking forward to see what plugins are developed by the community.

  • We fixed a dangling reference bug on Android in #3522 and #3541. Thanks to the engineers from ExpressVPN who brought this issue to our attention and were quick to provide feedback to our fix.

In Development

  • We are developing a long running test for both Android and iOS. This test is intended to ensure that MapLibre Native remains stable when running for very long periods of time (72 hours+). After a vote by the developers, this ‘very long running test’ is now officially called Desert Bus, named after a game from the 90’s where you had to drive a bus from Arizona to Nevada (an exciting 8 hour playthrough can be found on YouTube).
Screenshot from Desert Bus

Screenshot from Desert Bus (the game, not our test)

🌐 MapLibre Web

We have released version 5.6.0 this month which includes two great features:

  • Global State: This feature lets you define the equivalent of global variables in the style JSON and use them throughout the style for things like multilingual support & color theming. This valuable feature addition was contributed by TomTom. Thanks!!
  • Color relief layer: The new color-relief layer will allow to define coloring of the map according to elevation as can be seen in the image below.
Color relief layer GL JS

Color relief layer GL JS

Besides the above nice additions there were some bug fixes contributed. We would like once more to thank all the people who devote time to contribute to this project. Without you, it would’ve not been where it is today!

🎉 We’ve also been nominated to “project of the week” by PullFlow as can be read here on their LinkedIn post.

🧑‍💻 MapLibre SwiftUI DSL

The SwiftUI DSL continues to support more of the underlying style features from MapLibre Native, directly from SwiftUI. Over the last month we’ve merged the following:

Both PRs came from first-time contributors, which is exciting! If you’re using MapLibre with SwiftUI, check it out. And if you’re missing a particular feature, adding it just might be easier than you think.

📦 MapLibre Compose Playground

The MapLibre Compose Playground, one of several community projects integrating MapLibre Native with Jetpack Compose, has reached a new milestone: a 1.0.0 release 🎉

The milestone is a reflection that the library is now stable and being used in “real” apps. The maintainers are also happy to announce that the library now targets MapLibre Android’s 11.x branch. Previously there were a few edge cases which mostly manifested on emulators, but these have now been resolved (hat tip to the MapLibre Native team!).

👥 Meet Us at FOSS4G Europe!

The MapLibre team will be at FOSS4G Europe this month in Mostar. If you’re attending, stop by, and let’s talk maps!

🗓️ Dates: July 14-20, 2025
📍 Location: Mostar, Bosnia-Herzegovina

Talk/Workshop

Date

Time (Europe/Sarajevo)

Location

Presenter

Tile serving with MapLibre/Martin/Planetiler — base and overlays (Workshop)

Jul 1414:00–18:00PL14Yuri Astrakhan

MapLibre projects, in one status update

Jul 1613:30–14:00EL11Yuri Astrakhan

Serverless Rasters on the Web: The MapLibre COG Protocol extension

Jul 1616:00–16:30CA01Marti Pericay, Oscar Fonts

Scaling FOSS Development and Decisionmaking feat MapLibre Native

Jul 1711:30–12:00SA02Bart Louwers

maplibre-gl-terradraw — new drawing plugin for maplibre-gl-js

Jul 1814:30–15:00CA01Jin Igarashi

🗓️ Monthly meetings

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 Calls

  • MapLibre Navigation: July 09, 2025 – 4:00–5:00 PM UTC
  • MapLibre Native: July 09, 2025 – 5:00–6:00 PM UTC
  • MapLibre GL JS: July 09, 2025 – 6:00–7:00 PM UTC

🌏 MapLibre Eastern Call

Held on the last Wednesday of the month at an Asia/Oceania-friendly hour:

  • July 30, 2025 – 9:00–10:00 AM UTC

🔗 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!