<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>MapLibre</title><description>The MapLibre Organization is an umbrella for open-source mapping libraries.</description><link>https://maplibre.org/</link><language>en-US</language><lastBuildDate>Wed, 03 Jun 2026 12:18:35 GMT</lastBuildDate><item><title>Welcoming YellowMap as a Silver Sponsor!</title><link>https://maplibre.org/news/2026-05-15-yellowmap-announcement/</link><guid isPermaLink="true">https://maplibre.org/news/2026-05-15-yellowmap-announcement/</guid><pubDate>Fri, 15 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;We are thrilled to officially welcome &lt;a href=&quot;https://yellowmap.com/&quot;&gt;YellowMap&lt;/a&gt; as a Silver sponsor of the MapLibre organization!&lt;/p&gt;
&lt;div style=&quot;background-color:white;padding:2rem;border:10px solid #cfd8dc;border-radius:0;margin-bottom:3rem;display:flex;justify-content:center;align-items:center;gap:2rem;flex-wrap:nowrap;overflow:hidden&quot;&gt;&lt;img src=&quot;https://maplibre.org/_astro/maplibre-logo-for-light-bg.CSR25x_s_Z22k2tS.svg&quot; alt=&quot;MapLibre logo&quot; style=&quot;width:40%;max-width:300px;height:auto;object-fit:contain&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;1354&quot; height=&quot;317&quot;&gt;&lt;img src=&quot;https://maplibre.org/_astro/smartmaps-logo.D5162RA2_Z25iYUf.svg&quot; alt=&quot;YellowMap logo&quot; style=&quot;width:40%;max-width:330px;height:auto;object-fit:contain&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;222&quot; height=&quot;47&quot;&gt;&lt;/div&gt;
&lt;h2 id=&quot;why-yellowmap-chose-maplibre-a-shift-to-modern-vector-maps&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#why-yellowmap-chose-maplibre-a-shift-to-modern-vector-maps&quot;&gt;Why YellowMap Chose MapLibre: A Shift to Modern Vector Maps&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;For YellowMap, the decision to migrate to MapLibre was driven by a desire to modernise and add functionality. They recently transitioned from raster map configurations to vector tile approach allowing for smoother zooming and easier customisation. During this transition, YellowMap conducted exhaustive high-load and performance testing that confirmed MapLibre could meet their high standards.&lt;/p&gt;
&lt;div class=&quot;announcement-callout&quot; data-astro-cid-tmlihunq=&quot;&quot;&gt; &lt;div class=&quot;announcement-content&quot; data-astro-cid-tmlihunq=&quot;&quot;&gt; &lt;p&gt;Today, YellowMap’s infrastructure, powered by a Kubernetes cluster, serves
nearly a million map views a day and handles global map tile updates every
four weeks. MapLibre GL JS has helped them handle this massive scale
effortlessly.&lt;/p&gt; &lt;/div&gt; &lt;/div&gt;
&lt;h2 id=&quot;how-yellowmap-meets-data-compliance-needs-with-maplibre&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#how-yellowmap-meets-data-compliance-needs-with-maplibre&quot;&gt;How YellowMap Meets Data Compliance Needs with MapLibre&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;At the core of YellowMap’s product offering is &lt;a href=&quot;https://www.smartmaps.net/en/&quot;&gt;SmartMaps&lt;/a&gt;, built to address the strict data privacy demands of the European B2B market.
While many modern mapping providers rely on external content delivery networks (CDNs) or track user behaviors via cookies, YellowMap takes a self-hosted approach:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;100% &lt;a href=&quot;https://www.smartmaps.net/en/gdpr/&quot;&gt;GDPR&lt;/a&gt; Compliance: YellowMap hosts all mapping systems entirely on their own self-managed servers.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;No Tracking: SmartMaps solution operates completely without cookies and does not transmit any user data (such as IP addresses or advertising IDs) to external providers or third-party CDNs.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Digital Sovereignty: SmartMaps’ independent architecture provides data security for privacy-critical B2B power users, including major financial institutions like Sparkasse, where end-users rely on secure interfaces to do things like look up local ATM branches.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;max-width:600px;margin:2rem auto;text-align:center;padding:0 0.75rem&quot;&gt;&lt;div style=&quot;background-color:#161b22;border-radius:12px;padding:12px;border:1px solid #30363d&quot;&gt;&lt;img src=&quot;https://maplibre.org/_astro/smartmaps-store-locator.BWcXO3YF_1WIV1I.webp&quot; alt=&quot;SmartMaps store locator example&quot; style=&quot;width:100%;height:auto;display:block;border-radius:6px&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;960&quot; height=&quot;540&quot;&gt;&lt;/div&gt;&lt;p style=&quot;margin-top:0.75rem;line-height:1.4&quot;&gt;&lt;em style=&quot;font-size:0.9rem;color:#8b949e;font-style:italic&quot;&gt;&lt;p&gt;Showcase of SmartMaps used in a store-locator application.&lt;/p&gt;&lt;/em&gt;&lt;/p&gt;&lt;/div&gt;
&lt;div class=&quot;announcement-callout&quot; data-astro-cid-tmlihunq=&quot;&quot;&gt; &lt;div class=&quot;announcement-content&quot; data-astro-cid-tmlihunq=&quot;&quot;&gt; &lt;p&gt;MapLibre’s open-source, vendor-agnostic nature goes hand-in-hand with
YellowMap’s data privacy and digital sovereignty philosophy, allowing them to
maintain complete ownership of their tech stack and uphold their digital
sovereignty unique selling proposition (USP).&lt;/p&gt; &lt;/div&gt; &lt;/div&gt;
&lt;h2 id=&quot;how-yellowmap-utilizes-maplibre-today&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#how-yellowmap-utilizes-maplibre-today&quot;&gt;How YellowMap Utilizes MapLibre Today&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;YellowMap’s core mapping SDK, &lt;a href=&quot;https://docs.smartmaps.cloud/maps/&quot;&gt;SmartMaps GL&lt;/a&gt;, functions as a specialized wrapper around MapLibre GL JS. Their current deployment relies heavily on several advanced MapLibre features:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://maplibre.org/maplibre-gl-js/docs/examples/display-a-globe-with-a-vector-map/&quot;&gt;Globe View&lt;/a&gt;: Providing an immersive, global perspective for large-scale data visualization.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://maplibre.org/maplibre-gl-js/docs/examples/change-a-maps-language/&quot;&gt;Multi-Language Support&lt;/a&gt;: Enabling end users customers to switch map languages dynamically.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://maplibre.org/maplibre-gl-js/docs/examples/display-buildings-in-3d/&quot;&gt;3D Buildings&lt;/a&gt;: Rendering buildings as 3D extrusions for detailed cityscapes and immersive urban visualizations.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;the-road-ahead&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#the-road-ahead&quot;&gt;The Road Ahead&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;YellowMap’s integration with MapLibre is only expanding. Driven by growing customer demand for digital sovereignty and data protection, they are currently preparing to integrate MapLibre Native into their environment, with internal technical documentation slated for completion in the coming days.&lt;/p&gt;
&lt;p&gt;YellowMap is also interested in developments surrounding the entire backend tile generation stack, Martin tile server format integrations, and native support for simple SVG sources.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;We are incredibly grateful for YellowMap’s support, which helps ensure that MapLibre remains open, and community-driven mapping framework for everyone.
If you are interested in &lt;a href=&quot;https://maplibre.org/sponsors/&quot;&gt;sponsoring&lt;/a&gt; MapLibre, please reach out to us at &lt;a href=&quot;mailto:sponsor@maplibre.org&quot;&gt;sponsor@maplibre.org&lt;/a&gt;. We would love to hear from you!&lt;/p&gt;</content:encoded><author/></item><item><title>MapLibre Newsletter April 2026</title><link>https://maplibre.org/news/2026-05-02-maplibre-newsletter-april-2026/</link><guid isPermaLink="true">https://maplibre.org/news/2026-05-02-maplibre-newsletter-april-2026/</guid><pubDate>Sun, 03 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Welcome to the April 2026 edition of the MapLibre Newsletter! This month, we have exciting updates across all our projects. Key milestones include overhauls for React Native and Flutter, the transition toward MapLibre GL JS v6, and foundational research into a native MLT 3D tile format.&lt;/p&gt;
&lt;h2 id=&quot;-maplibre-native&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-maplibre-native&quot;&gt;📱 MapLibre Native&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/alexcristici&quot;&gt;Alex Cristici&lt;/a&gt; improved the resilience of MapLibre Native when the system runs out of memory (see &lt;a href=&quot;https://github.com/maplibre/maplibre-native/pull/4178&quot;&gt;PR&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;There now is a new experimental C API for MapLibre Native, which can serve as a foundation for new platforms. See the &lt;a href=&quot;https://github.com/maplibre/maplibre-native-ffi&quot;&gt;new repository&lt;/a&gt; as well as the &lt;a href=&quot;https://github.com/maplibre/maplibre/issues/500&quot;&gt;onboarding discussion&lt;/a&gt;. This is the work of &lt;a href=&quot;https://github.com/sargunv&quot;&gt;Sargun Vohra&lt;/a&gt;, who also used what he learned when creating &lt;a href=&quot;https://maplibre.org/maplibre-compose/&quot;&gt;MapLibre Compose&lt;/a&gt; for the new C API.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Releases:&lt;/strong&gt;&lt;/p&gt;
&lt;table class=&quot;release-table&quot; data-astro-cid-vpegdinb=&quot;&quot;&gt; &lt;thead data-astro-cid-vpegdinb=&quot;&quot;&gt; &lt;tr data-astro-cid-vpegdinb=&quot;&quot;&gt; &lt;th data-astro-cid-vpegdinb=&quot;&quot;&gt;Platform&lt;/th&gt; &lt;th data-astro-cid-vpegdinb=&quot;&quot;&gt;Latest Versions&lt;/th&gt; &lt;/tr&gt; &lt;/thead&gt; &lt;tbody data-astro-cid-vpegdinb=&quot;&quot;&gt; &lt;tr data-astro-cid-vpegdinb=&quot;&quot;&gt; &lt;td class=&quot;platform-name&quot; data-astro-cid-vpegdinb=&quot;&quot;&gt; &lt;strong data-astro-cid-vpegdinb=&quot;&quot;&gt;Android&lt;/strong&gt; &lt;/td&gt; &lt;td class=&quot;version-links&quot; data-astro-cid-vpegdinb=&quot;&quot;&gt;  &lt;a href=&quot;https://github.com/maplibre/maplibre-native/releases/tag/android-v13.1.0&quot; data-astro-cid-vpegdinb=&quot;&quot;&gt;13.1.0&lt;/a&gt;  &lt;/td&gt; &lt;/tr&gt;&lt;tr data-astro-cid-vpegdinb=&quot;&quot;&gt; &lt;td class=&quot;platform-name&quot; data-astro-cid-vpegdinb=&quot;&quot;&gt; &lt;strong data-astro-cid-vpegdinb=&quot;&quot;&gt;iOS&lt;/strong&gt; &lt;/td&gt; &lt;td class=&quot;version-links&quot; data-astro-cid-vpegdinb=&quot;&quot;&gt;  &lt;a href=&quot;https://github.com/maplibre/maplibre-native/releases/tag/ios-v6.25.1&quot; data-astro-cid-vpegdinb=&quot;&quot;&gt;6.25.1&lt;/a&gt; ,  &lt;a href=&quot;https://github.com/maplibre/maplibre-native/releases/tag/ios-v6.26.0&quot; data-astro-cid-vpegdinb=&quot;&quot;&gt;6.26.0&lt;/a&gt;  &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt;
&lt;h2 id=&quot;-maplibre-gl-js&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-maplibre-gl-js&quot;&gt;🌐 MapLibre GL JS&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Versions &lt;a href=&quot;https://github.com/maplibre/maplibre-gl-js/releases/tag/v5.22.0&quot;&gt;5.22.0&lt;/a&gt;, &lt;a href=&quot;https://github.com/maplibre/maplibre-gl-js/releases/tag/v5.23.0&quot;&gt;5.23.0&lt;/a&gt;, and &lt;a href=&quot;https://github.com/maplibre/maplibre-gl-js/releases/tag/v5.24.0&quot;&gt;5.24.0&lt;/a&gt; were released this month, introducing mostly performance improvements and bug fixes along with minor public API additions, and marking the final releases for version 5.&lt;/p&gt;
&lt;p&gt;We have begun releasing version 6 pre-releases featuring the breaking changes planned for this major update. We will continue rolling these out over the next few weeks and expect to finish shortly.&lt;/p&gt;
&lt;p&gt;The primary breaking changes for this version include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Dropping WebGL1 support&lt;/strong&gt; to resolve long-standing bugs and feature requests while improving performance and compatibility with modern libraries.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Transitioning from CommonJS to ESM&lt;/strong&gt;, which will allow us to move faster, adopt modern tools, and upgrade our overall build system and infrastructure.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;announcement-callout&quot; data-astro-cid-tmlihunq=&quot;&quot;&gt; &lt;div class=&quot;announcement-content&quot; data-astro-cid-tmlihunq=&quot;&quot;&gt; &lt;p&gt;Once all breaking changes are in place, we will provide a migration guide to assist with the transition from version 5 to version 6. While most changes so far are fairly trivial, some may be tricky; we encourage you to try these pre-releases and help us build robust migration documentation for the community.&lt;/p&gt; &lt;/div&gt; &lt;/div&gt;
&lt;p&gt;It has been over a year since our last major update, and we believe now is the right time to move on from legacy constraints we have carried for a while.&lt;/p&gt;
&lt;p&gt;As always, we would like to thank all our contributors:&lt;/p&gt;
&lt;p&gt;👏 &lt;a href=&quot;https://github.com/xavierjs&quot;&gt;Xavier Bourry&lt;/a&gt;, &lt;a href=&quot;https://github.com/CommanderStorm&quot;&gt;Frank Elsing&lt;/a&gt;, &lt;a href=&quot;https://github.com/kubapelc&quot;&gt;Jakub Pelc&lt;/a&gt;, &lt;a href=&quot;https://github.com/itisyb&quot;&gt;itisyb&lt;/a&gt;, &lt;a href=&quot;https://github.com/YuChunTsao&quot;&gt;Yu Chun Tsao&lt;/a&gt;, &lt;a href=&quot;https://github.com/neodescis&quot;&gt;neodescis&lt;/a&gt;, &lt;a href=&quot;https://github.com/mvanhorn&quot;&gt;Matt Van Horn&lt;/a&gt;, &lt;a href=&quot;https://github.com/Willjfield&quot;&gt;Will Field&lt;/a&gt;, &lt;a href=&quot;https://github.com/ashwinuae&quot;&gt;Ashwin Chandran&lt;/a&gt;, &lt;a href=&quot;https://github.com/kkokkojeong&quot;&gt;Seokcheol Jeong&lt;/a&gt;, &lt;a href=&quot;https://github.com/Lievesley&quot;&gt;Sam&lt;/a&gt;, and &lt;a href=&quot;https://github.com/k-yle&quot;&gt;Kyℓe Hensel&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;-maplibre-tile-mlt&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-maplibre-tile-mlt&quot;&gt;🧩 MapLibre Tile (MLT)&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Markus Tremmel has shared initial design considerations and encoding strategies for &lt;strong&gt;MLT 3D&lt;/strong&gt;, building on an original proposal by Anas. This project explores how a dedicated 3D tile format can be optimized for the MapLibre ecosystem while identifying key areas where it diverges from existing standards like 3D Tiles.&lt;/p&gt;
&lt;p&gt;There is potential for direct MapLibre GL JS integration, which would pave the way for more robust 3D capabilities natively and the project is currently seeking feedback on both use cases and technical encoding.&lt;/p&gt;
&lt;div class=&quot;announcement-callout&quot; data-astro-cid-tmlihunq=&quot;&quot;&gt; &lt;div class=&quot;announcement-content&quot; data-astro-cid-tmlihunq=&quot;&quot;&gt; &lt;p&gt;You can explore the design document and provide feedback on the &lt;a href=&quot;https://github.com/mactrem/mlt-3d&quot;&gt;GitHub
repository&lt;/a&gt;.&lt;/p&gt; &lt;/div&gt; &lt;/div&gt;
&lt;h2 id=&quot;️-maplibre-react-native&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#️-maplibre-react-native&quot;&gt;⚛️ MapLibre React Native&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/maplibre/maplibre-react-native/releases/tag/v11.0.0&quot;&gt;MapLibre React Native v11&lt;/a&gt; is here, and it is the first release to exclusively support React Native’s new architecture. Alongside this foundational shift, the entire API has been overhauled to align with MapLibre GL JS, making it easier than ever to share knowledge and code between web and native map implementations.&lt;/p&gt;
&lt;p&gt;One of the most exciting additions is style-spec compliant &lt;code&gt;paint&lt;/code&gt; and &lt;code&gt;layout&lt;/code&gt; props on the unified &lt;code&gt;Layer&lt;/code&gt; component. This means layer definitions exported from the style spec can be spread directly onto a &lt;code&gt;Layer&lt;/code&gt; component with no translation needed.&lt;/p&gt;
&lt;div class=&quot;announcement-callout&quot; data-astro-cid-tmlihunq=&quot;&quot;&gt; &lt;div class=&quot;announcement-content&quot; data-astro-cid-tmlihunq=&quot;&quot;&gt; &lt;p&gt;A full migration guide with before-and-after code snippets for every breaking
change is available in the &lt;a href=&quot;https://maplibre.org/maplibre-react-native/docs/setup/migrations/v11&quot;&gt;v11 migration
docs&lt;/a&gt;.
Grateful to everyone who contributed to this release and look forward to
building on this clean foundation in the versions ahead!&lt;/p&gt; &lt;/div&gt; &lt;/div&gt;
&lt;h2 id=&quot;-maplibre-flutter&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-maplibre-flutter&quot;&gt;🪶 MapLibre Flutter&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id=&quot;flutter-maplibre-gl&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#flutter-maplibre-gl&quot;&gt;flutter-maplibre-gl&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/maplibre/flutter-maplibre-gl&quot;&gt;&lt;strong&gt;flutter-maplibre-gl&lt;/strong&gt;&lt;/a&gt;, the long-standing Flutter plugin, has shipped v0.26.0! This release focuses on closing years of accumulated backlog and bringing the package back to a healthy maintenance baseline.&lt;/p&gt;
&lt;div style=&quot;max-width:600px;margin:2rem auto;text-align:center;padding:0 0.75rem&quot;&gt;&lt;div style=&quot;background-color:#161b22;border-radius:12px;padding:12px;border:1px solid #30363d&quot;&gt;&lt;img src=&quot;https://maplibre.org/_astro/flutter_examples.DQSm5D0o_m7tyQ.webp&quot; alt=&quot;MapLibre Examples Gallery&quot; style=&quot;width:100%;height:auto;display:block;border-radius:6px&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;1451&quot; height=&quot;744&quot;&gt;&lt;/div&gt;&lt;p style=&quot;margin-top:0.75rem;line-height:1.4&quot;&gt;&lt;em style=&quot;font-size:0.9rem;color:#8b949e;font-style:italic&quot;&gt;&lt;p&gt;Interactive examples of new features.&lt;/p&gt;&lt;/em&gt;&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Highlights:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Offline regions, rebuilt end-to-end&lt;/strong&gt; — the offline manager now supports pause/resume of downloads, per-tile progress reporting, cache eviction policies, and rate-limit safety on the tile server side.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;WASM release mode on Flutter Web&lt;/strong&gt; — long-standing build issues with WASM in release mode have been resolved, making Flutter Web a viable production target.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;takeSnapshot()&lt;/code&gt;&lt;/strong&gt; — a single, unified snapshot API now works consistently across Android, iOS, and Web.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tap handling&lt;/strong&gt; — &lt;code&gt;onMapClick&lt;/code&gt; now reliably fires on every tap, including taps on rendered features.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Feature State on Web&lt;/strong&gt; — &lt;code&gt;setFeatureState&lt;/code&gt;, &lt;code&gt;getFeatureState&lt;/code&gt;, and &lt;code&gt;removeFeatureState&lt;/code&gt; are now available on the Web platform, closing a feature parity gap with the native platforms.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Camera interpolation&lt;/strong&gt; — &lt;code&gt;easeCamera&lt;/code&gt; now accepts interpolation curves, removing velocity jumps in GPS-following scenarios.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Synchronous GeoJSON drag&lt;/strong&gt; — drag handling for GeoJSON features is now synchronous, eliminating stale positions during interactions.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;A long tail of fixes&lt;/strong&gt; — including Android split-screen behavior, an iOS &lt;code&gt;onStyleLoaded&lt;/code&gt; race condition, and a brand new example app.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;max-width:600px;margin:2rem auto;text-align:center;padding:0 0.75rem&quot;&gt;&lt;div style=&quot;background-color:#161b22;border-radius:12px;padding:12px;border:1px solid #30363d&quot;&gt;&lt;img src=&quot;https://maplibre.org/_astro/flutter_hover.CShgbgaK_2lIAMX.webp&quot; alt=&quot;MapLibre Hover Effect Demo&quot; style=&quot;width:100%;height:auto;display:block;border-radius:6px&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;1454&quot; height=&quot;806&quot;&gt;&lt;/div&gt;&lt;p style=&quot;margin-top:0.75rem;line-height:1.4&quot;&gt;&lt;em style=&quot;font-size:0.9rem;color:#8b949e;font-style:italic&quot;&gt;&lt;p&gt;A screenshot of the new hover effect.&lt;/p&gt;&lt;/em&gt;&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;Full changelog: &lt;a href=&quot;https://github.com/maplibre/flutter-maplibre-gl/blob/main/CHANGELOG.md&quot;&gt;https://github.com/maplibre/flutter-maplibre-gl/blob/main/CHANGELOG.md&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Package: &lt;a href=&quot;https://pub.dev/packages/maplibre_gl&quot;&gt;https://pub.dev/packages/maplibre_gl&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Special thanks to all the contributors and maintainers for shepherding the package through this work.&lt;/p&gt;
&lt;h3 id=&quot;flutter-maplibre&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#flutter-maplibre&quot;&gt;flutter-maplibre&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Version &lt;a href=&quot;https://pub.dev/packages/maplibre/changelog#035&quot;&gt;0.3.5&lt;/a&gt; of the &lt;a href=&quot;https://github.com/josxha/flutter-maplibre&quot;&gt;flutter-maplibre&lt;/a&gt; has been released, featuring several improvements to consistency and stability alongside general maintenance. The MapLibre SDKs and the dependencies on &lt;code&gt;jni&lt;/code&gt; / &lt;code&gt;jnigen&lt;/code&gt; have been updated.&lt;/p&gt;
&lt;div class=&quot;announcement-callout&quot; data-astro-cid-tmlihunq=&quot;&quot;&gt; &lt;div class=&quot;announcement-content&quot; data-astro-cid-tmlihunq=&quot;&quot;&gt; &lt;p&gt;As an ongoing task, work continues on static typed expressions that fit well
into Dart. Ideas regarding the Dart syntax, can be &lt;a href=&quot;https://github.com/josxha/flutter-maplibre/issues/72#issuecomment-4358841272&quot;&gt;discussed
here&lt;/a&gt;.&lt;/p&gt; &lt;/div&gt; &lt;/div&gt;
&lt;h2 id=&quot;-community-spotlight&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-community-spotlight&quot;&gt;✨ Community Spotlight&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;HDTP is an open data platform by Codeando México that features a notable GTFS Realtime (GTFS-RT) visualizer. This tool combines MapLibre with deck.gl to create &lt;a href=&quot;https://hdtp.codeandomexico.org/datos/mex-cdmx-cdmx-metrobus-rt&quot;&gt;an interactive map (&lt;em&gt;checkout the cine mode&lt;/em&gt;)&lt;/a&gt; for exploring real-time transit data, efficiently displaying live vehicle positions.&lt;/p&gt;
&lt;h2 id=&quot;-conferences--events&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-conferences--events&quot;&gt;👥 Conferences &amp;amp; Events&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id=&quot;linuxfest-northwest&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#linuxfest-northwest&quot;&gt;LinuxFest Northwest&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;On April 25, Stephanie May and Matt Wilden delivered a joint presentation at &lt;a href=&quot;https://linuxfestnorthwest.org/&quot;&gt;LinuxFest Northwest&lt;/a&gt; on the synergies between MapLibre and OpenStreetMap US. They discussed how the tooling and infrastructure across both ecosystems have matured enough for anyone to build an open-source map—including building custom tiles, styling layers, and scaling a CDN or dynamic tile server.&lt;/p&gt;
&lt;p&gt;The enthusiastic crowd was eager to dive deeper into the world of open mapping. You can find the slides for their talk, titled “The Latest in Open Source Maps,” &lt;a href=&quot;https://github.com/mizmay/LinuxFestNorthwest2026/blob/main/The%20Latest%20in%20Open%20Source%20Maps.pdf&quot;&gt;here&lt;/a&gt;, along with &lt;a href=&quot;https://github.com/mizmay/LinuxFestNorthwest2026&quot;&gt;various demos showcasing how accessible working with open-source data and maps has become&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;️-monthly-meetings&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#️-monthly-meetings&quot;&gt;🗓️ Monthly meetings&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;We continue our regular community calls on the &lt;em&gt;&lt;strong&gt;second Wednesday&lt;/strong&gt;&lt;/em&gt; of each month, with an additional session on the last Wednesday to better accommodate Asia/Oceania time zones.&lt;/p&gt;
&lt;p&gt;Upcoming Calls&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;MapLibre Native: May 13, 2026 – 7:00–8:00 PM Berlin Time (UTC+2)&lt;/li&gt;
&lt;li&gt;MapLibre GL JS: May 13, 2026 – 8:00–9:00 PM Berlin Time (UTC+2)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;🌏 MapLibre Eastern Call&lt;/p&gt;
&lt;p&gt;Held on the last Wednesday of the month at an Asia/Oceania-friendly hour:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;May 27, 2026 – 9–10:00 AM UTC&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;All calls are open to everyone. Zoom links are shared in the MapLibre Slack.
Not yet a member? Request an invite via the &lt;a href=&quot;https://slack.openstreetmap.us/&quot;&gt;OpenStreetMap US Slack&lt;/a&gt; and join the &lt;code&gt;#maplibre&lt;/code&gt; channel.
We’d love to see you there!&lt;/p&gt;</content:encoded><author/></item><item><title>MapLibre Newsletter March 2026</title><link>https://maplibre.org/news/2026-04-01-maplibre-newsletter-march-2026/</link><guid isPermaLink="true">https://maplibre.org/news/2026-04-01-maplibre-newsletter-march-2026/</guid><pubDate>Fri, 03 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Welcome to the March 2026 edition of the MapLibre Newsletter! This month marks a significant transition for our community. We have made the decision to &lt;a href=&quot;https://maplibre.org/news/2026-03-17-reinivisioning-the-bounty-program/&quot;&gt;sunset the current MapLibre Bounty Program&lt;/a&gt; as we shift towards a contributor recognition system.&lt;/p&gt;
&lt;p&gt;Please stay tuned for more details in the coming months as we finalize how this new system will empower our community. In the meantime, we encourage everyone to read the FAQ included in our recent blog post for more context on this change.&lt;/p&gt;
&lt;p&gt;This evolution is made possible by the continued and growing support from our partners.&lt;/p&gt;
&lt;div class=&quot;announcement-callout&quot; data-astro-cid-tmlihunq=&quot;&quot;&gt; &lt;div class=&quot;announcement-content&quot; data-astro-cid-tmlihunq=&quot;&quot;&gt; &lt;p&gt;🙏 We are particularly grateful to &lt;a href=&quot;https://www.notion.com/&quot;&gt;Notion&lt;/a&gt; for their
recent &lt;a href=&quot;https://opencollective.com/maplibre/contributions/935577&quot;&gt;financial
contribution&lt;/a&gt; via
Open Collective.&lt;/p&gt; &lt;/div&gt; &lt;/div&gt;
&lt;p&gt;Contributions like these are vital as we look out for co-funding models for major features like Terrain3D and the maturation of the MapLibre Tile (MLT) project.&lt;/p&gt;
&lt;p&gt;Now, let’s dive in for the latest updates!&lt;/p&gt;
&lt;h2 id=&quot;-maplibre-native&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-maplibre-native&quot;&gt;📱 MapLibre Native&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id=&quot;releases&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#releases&quot;&gt;Releases&lt;/a&gt;&lt;/h3&gt;
&lt;table class=&quot;release-table&quot; data-astro-cid-vpegdinb=&quot;&quot;&gt; &lt;thead data-astro-cid-vpegdinb=&quot;&quot;&gt; &lt;tr data-astro-cid-vpegdinb=&quot;&quot;&gt; &lt;th data-astro-cid-vpegdinb=&quot;&quot;&gt;Platform&lt;/th&gt; &lt;th data-astro-cid-vpegdinb=&quot;&quot;&gt;Latest Versions&lt;/th&gt; &lt;/tr&gt; &lt;/thead&gt; &lt;tbody data-astro-cid-vpegdinb=&quot;&quot;&gt; &lt;tr data-astro-cid-vpegdinb=&quot;&quot;&gt; &lt;td class=&quot;platform-name&quot; data-astro-cid-vpegdinb=&quot;&quot;&gt; &lt;strong data-astro-cid-vpegdinb=&quot;&quot;&gt;Android&lt;/strong&gt; &lt;/td&gt; &lt;td class=&quot;version-links&quot; data-astro-cid-vpegdinb=&quot;&quot;&gt;  &lt;a href=&quot;https://github.com/maplibre/maplibre-native/releases/tag/android-v13.0.0&quot; data-astro-cid-vpegdinb=&quot;&quot;&gt;13.0.0&lt;/a&gt; ,  &lt;a href=&quot;https://github.com/maplibre/maplibre-native/releases/tag/android-v13.0.1&quot; data-astro-cid-vpegdinb=&quot;&quot;&gt;13.0.1&lt;/a&gt; ,  &lt;a href=&quot;https://github.com/maplibre/maplibre-native/releases/tag/android-v13.0.2&quot; data-astro-cid-vpegdinb=&quot;&quot;&gt;13.0.2&lt;/a&gt;  &lt;/td&gt; &lt;/tr&gt;&lt;tr data-astro-cid-vpegdinb=&quot;&quot;&gt; &lt;td class=&quot;platform-name&quot; data-astro-cid-vpegdinb=&quot;&quot;&gt; &lt;strong data-astro-cid-vpegdinb=&quot;&quot;&gt;iOS&lt;/strong&gt; &lt;/td&gt; &lt;td class=&quot;version-links&quot; data-astro-cid-vpegdinb=&quot;&quot;&gt;  &lt;a href=&quot;https://github.com/maplibre/maplibre-native/releases/tag/ios-v6.24.0&quot; data-astro-cid-vpegdinb=&quot;&quot;&gt;6.24.0&lt;/a&gt; ,  &lt;a href=&quot;https://github.com/maplibre/maplibre-native/releases/tag/ios-v6.25.0&quot; data-astro-cid-vpegdinb=&quot;&quot;&gt;6.25.0&lt;/a&gt;  &lt;/td&gt; &lt;/tr&gt;&lt;tr data-astro-cid-vpegdinb=&quot;&quot;&gt; &lt;td class=&quot;platform-name&quot; data-astro-cid-vpegdinb=&quot;&quot;&gt; &lt;strong data-astro-cid-vpegdinb=&quot;&quot;&gt;Node.js&lt;/strong&gt; &lt;/td&gt; &lt;td class=&quot;version-links&quot; data-astro-cid-vpegdinb=&quot;&quot;&gt;  &lt;a href=&quot;https://github.com/maplibre/maplibre-native/releases/tag/node-v6.4.0&quot; data-astro-cid-vpegdinb=&quot;&quot;&gt;6.4.0&lt;/a&gt; ,  &lt;a href=&quot;https://github.com/maplibre/maplibre-native/releases/tag/node-v6.4.1&quot; data-astro-cid-vpegdinb=&quot;&quot;&gt;6.4.1&lt;/a&gt;  &lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt;
&lt;h3 id=&quot;terrain3d-call-for-funding&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#terrain3d-call-for-funding&quot;&gt;Terrain3D: Call for Funding&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Support for Terrain3D is one of the &lt;a href=&quot;https://github.com/maplibre/maplibre-native/issues/252&quot;&gt;most upvoted&lt;/a&gt; features for MapLibre Native. While several, (mostly) vibe coded prototypes have been developed, delivering a production-grade implementation is something that requires a significant investment in graphics engineering and expertise.&lt;/p&gt;
&lt;div style=&quot;
max-width: 600px;
margin: 1.5rem auto;
text-align: center;
padding: 0 0.75rem;
&quot;&gt;&lt;img src=&quot;https://maplibre.org/_astro/terrain-3d.fiBm63Yv_2mEdja.webp&quot; alt=&quot;MapLibre Terrain 3D&quot; style=&quot;
width: 100%;
height: auto;
display: block;
&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;915&quot; height=&quot;393&quot;&gt;&lt;p style=&quot;margin-top:0.5rem;margin-bottom:0;line-height:1.4&quot;&gt;&lt;em style=&quot;font-size:0.8rem;color:#666;font-style:italic&quot;&gt;&lt;p&gt;A visualization of elevation data&lt;/p&gt;&lt;/em&gt;&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;We are pleased to announce significant progress! We have identified a company that is willing to commit substantial funding to this initiative. However, &lt;strong&gt;they are seeking an additional co-funding partner to bring this feature to life&lt;/strong&gt;.&lt;/p&gt;
&lt;div class=&quot;announcement-callout&quot; data-astro-cid-tmlihunq=&quot;&quot;&gt; &lt;div class=&quot;announcement-content&quot; data-astro-cid-tmlihunq=&quot;&quot;&gt; &lt;p&gt;If your organization is interested in supporting this development, please
reach out to us at &lt;a href=&quot;mailto:team@maplibre.org&quot;&gt;team@maplibre.org&lt;/a&gt;. We are also open to connecting with
individual developers who are interested in contributing to this effort.&lt;/p&gt; &lt;/div&gt; &lt;/div&gt;
&lt;p&gt;To clarify, MapLibre (the organization) is not directly funding Terrain3D for MapLibre Native at this stage. Instead we are facilitating connections between interested parties (companies, developers). MapLibre will provide maintainer support through consensus building, quality control, CI/CD, communication and release management.&lt;/p&gt;
&lt;p&gt;We have created a dedicated branch &lt;code&gt;feature/terrain-3d&lt;/code&gt; for continued work on the initial prototype. You can follow the progress in &lt;a href=&quot;https://github.com/maplibre/maplibre-native/pull/4190&quot;&gt;this PR&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;-maplibre-gl-js&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-maplibre-gl-js&quot;&gt;🌐 MapLibre GL JS&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;We had a great month with 5 new releases: &lt;a href=&quot;https://github.com/maplibre/maplibre-gl-js/releases/tag/v5.20.0&quot;&gt;v5.20.0&lt;/a&gt;, &lt;a href=&quot;https://github.com/maplibre/maplibre-gl-js/releases/tag/v5.20.1&quot;&gt;v5.20.1&lt;/a&gt;, &lt;a href=&quot;https://github.com/maplibre/maplibre-gl-js/releases/tag/v5.20.2&quot;&gt;v5.20.2&lt;/a&gt;, &lt;a href=&quot;https://github.com/maplibre/maplibre-gl-js/releases/tag/v5.21.0&quot;&gt;v5.21.0&lt;/a&gt;, &lt;a href=&quot;https://github.com/maplibre/maplibre-gl-js/releases/tag/v5.21.1&quot;&gt;v5.21.1&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;✨ Some of the highlights of this month include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;We introduced updateable features to the &lt;a href=&quot;https://maplibre.org/geojson-vt/&quot;&gt;geojson-vt&lt;/a&gt; library, which improved the GeoJSON update performance significantly. While this initially caused a few nasty bugs which were quickly resolved thanks to &lt;a href=&quot;https://github.com/wayofthefuture&quot;&gt;Ryan Scully&lt;/a&gt;, the results are worth it. The latest version is reportedly 7x faster compared to when we began GeoJSON optimizations a few months ago. Many thanks to everyone who contributed code, helped with the testing, and submitted bug reports!&lt;/li&gt;
&lt;li&gt;Memory optimizations and removal of legacy code supporting outdated browsers, mainly lead by &lt;a href=&quot;https://github.com/johanrd&quot;&gt;Johan&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Improved ETag handling added by &lt;a href=&quot;https://github.com/rivkamatan&quot;&gt;Rivka Matan&lt;/a&gt; and &lt;a href=&quot;https://github.com/wayofthefuture&quot;&gt;Ryan Scully&lt;/a&gt; stops the map from re-downloading unchanged data, saving bandwidth and speeding up load times.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://maplibre.org/maplibre-style-spec/layers/#resampling&quot;&gt;Resampling&lt;/a&gt; support is available now. This was added by &lt;a href=&quot;https://github.com/larsmaxfield&quot;&gt;Lars Maxfield&lt;/a&gt;. This option lets users turn off smoothing to see raw, pixel-accurate terrain data instead of a blended or blurry image&lt;/li&gt;
&lt;li&gt;An example of how to use MapLibre GL JS with 3D tiles example was added by &lt;a href=&quot;https://github.com/hh-hang&quot;&gt;Hang&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Last month we mentioned starting pre-releases for Version 6. However due to the high volume of contributions to the current branch, we have decided to continue with Version 5 for now. We still aim to begin the Version 6 transition in the coming months.&lt;/p&gt;
&lt;p&gt;🏆 The sheer volume of work contributed this month is amazing! A huge thanks to this month’s contributors:
&lt;a href=&quot;https://github.com/claudiobgit&quot;&gt;Claudio&lt;/a&gt;, &lt;a href=&quot;https://github.com/Bingtagui404&quot;&gt;Baixiaochun&lt;/a&gt;, &lt;a href=&quot;https://github.com/xavierjs&quot;&gt;Xavier Bourry&lt;/a&gt;, &lt;a href=&quot;https://github.com/johanrd&quot;&gt;Johan&lt;/a&gt;, &lt;a href=&quot;https://github.com/kikuomax&quot;&gt;Kikuo Emoto&lt;/a&gt;, &lt;a href=&quot;https://github.com/katemihalikova&quot;&gt;Kate Miháliková&lt;/a&gt;, &lt;a href=&quot;https://github.com/garethbowker&quot;&gt;Gareth Bowker&lt;/a&gt;, &lt;a href=&quot;https://github.com/dannote&quot;&gt;Danila Poyarkov&lt;/a&gt;, &lt;a href=&quot;https://github.com/ted-piotrowski&quot;&gt;Ted Piotrowski&lt;/a&gt;, &lt;a href=&quot;https://github.com/hh-hang&quot;&gt;Hang&lt;/a&gt;, &lt;a href=&quot;https://github.com/HiroyukiYANO&quot;&gt;yano-h-wni&lt;/a&gt;, &lt;a href=&quot;https://github.com/rivkamatan&quot;&gt;Rivka Matan&lt;/a&gt;, &lt;a href=&quot;https://github.com/wayofthefuture&quot;&gt;Ryan Scully&lt;/a&gt;, &lt;a href=&quot;https://github.com/itisyb&quot;&gt;ItisYB&lt;/a&gt;, &lt;a href=&quot;https://github.com/larsmaxfield&quot;&gt;Lars Maxfield&lt;/a&gt;, &lt;a href=&quot;https://github.com/jtfedd&quot;&gt;JT&lt;/a&gt;, &lt;a href=&quot;https://github.com/madoci&quot;&gt;Stephen Andre&lt;/a&gt; and &lt;a href=&quot;https://github.com/pcardinal&quot;&gt;PierreC&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;-maplibre-tile-mlt&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-maplibre-tile-mlt&quot;&gt;🧩 MapLibre Tile (MLT)&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The &lt;a href=&quot;https://maplibre.org/news/2026-01-23-mlt-release/&quot;&gt;MapLibre Tile (MLT) project&lt;/a&gt; has seen significant progress this month. The Rust implementation is rapidly maturing; we have introduced a comprehensive suite of synthetic tests to ensure stability across edge cases.&lt;/p&gt;
&lt;p&gt;Beyond just stability, we have achieved full decoding and expanded partial encoding support, bringing us closer to a production-grade toolkit. This progress is a major step toward making MLT a viable, high-performance alternative to MVT, offering better compression and faster parsing for large-scale geospatial data.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/TimSylvester&quot;&gt;Tim Sylvester&lt;/a&gt; also made many improvements to the Java CLI tool. The performance for parallel conversion from MVT has been improved by several orders of magnitude. This now makes it a suitable tool to adapt existing MVT creation pipelines.
In addition, the data input of the Java encoder is being &lt;a href=&quot;https://github.com/maplibre/maplibre-tile-spec/pull/1176&quot;&gt;generalized&lt;/a&gt;. This prepares MLT for a future where the data model of MLT that goes beyond MVT parity, enabling support for m-values or encoding lists and nested key-value structures.&lt;/p&gt;
&lt;p&gt;On the rust side (competition is good!), both the encoder and decoder have seen major refactorings by &lt;a href=&quot;https://github.com/nyurik&quot;&gt;Yuri Astraken&lt;/a&gt; and &lt;a href=&quot;https://github.com/CommanderStorm&quot;&gt;Frank Elsinga&lt;/a&gt; that have increased this encoders performance and output quality signifcantly.
It can now beat java in most cases, but this is because we have settings that explore more state-space which is slower.
More engineering is neccesary to improve performance beyond what java offers.
There are also experiments using &lt;a href=&quot;https://github.com/rust-diplomat/diplomat&quot;&gt;diplomat&lt;/a&gt; to provide FFI access to the rust based tooling.
More on this in the next update.&lt;/p&gt;
&lt;p&gt;You can follow the development and check out the &lt;a href=&quot;https://github.com/maplibre/maplibre-tile-spec&quot;&gt;MLT Specification&lt;/a&gt; on GitHub.&lt;/p&gt;
&lt;h2 id=&quot;-martin&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-martin&quot;&gt;🦀 Martin&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;This month, like the last month, has been focused on implementing a production-grade MLT encoder/decoder, so there has not been much movement regarding Martin.&lt;/p&gt;
&lt;p&gt;We fixed a startup crash that occurred when &lt;code&gt;ST_Extent&lt;/code&gt; returns a &lt;code&gt;LineString&lt;/code&gt; instead of &lt;code&gt;Polygon&lt;/code&gt; , and added &lt;a href=&quot;https://facebook.github.io/zstd/&quot;&gt;ZSTD support&lt;/a&gt; thanks to &lt;a href=&quot;https://github.com/nuts-rice&quot;&gt;@nuts-rice&lt;/a&gt;.
We also further reworked &lt;a href=&quot;https://maplibre.org/martin/&quot;&gt;our new documentation site&lt;/a&gt; and ironed out a few of the remaining inconsistencies.&lt;/p&gt;
&lt;h2 id=&quot;-community-spotlight&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-community-spotlight&quot;&gt;✨ Community spotlight&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;We are tracking an exciting development in the rendering world: &lt;a href=&quot;https://terathon.com/blog/decade-slug.html&quot;&gt;the Slug algorithm is now out-of-patent&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Most maps currently draw text using pictures of letters, which can look fuzzy when you zoom in close to the map view. The Slug algorithm replaces these pictures with mathematical blueprints, allowing labels to remain perfectly crisp at any angle or scale.&lt;/p&gt;
&lt;div class=&quot;announcement-callout&quot; data-astro-cid-tmlihunq=&quot;&quot;&gt; &lt;div class=&quot;announcement-content&quot; data-astro-cid-tmlihunq=&quot;&quot;&gt; &lt;p&gt;Now that this technology is public property, we are looking for community
members to help us research how to bring these benefits to MapLibre. Join us
in our &lt;a href=&quot;https://github.com/maplibre/maplibre/discussions/493&quot;&gt;GitHub
discussion&lt;/a&gt;.&lt;/p&gt; &lt;/div&gt; &lt;/div&gt;
&lt;h2 id=&quot;-conferences--events&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-conferences--events&quot;&gt;👥 Conferences &amp;amp; Events&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id=&quot;fossgis&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#fossgis&quot;&gt;FOSSGIS&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;MapLibre was well-represented at the &lt;a href=&quot;https://fossgis-konferenz.de/2026/&quot;&gt;FOSSGIS&lt;/a&gt;, a German open source geospatial and OpenStreetMap conference. It was a fantastic opportunity to connect with the community and share updates on our projects.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Oliver Wipfli(former MapLibre coordinator) shared how his project &lt;a href=&quot;https://mapterhorn.com/&quot;&gt;Mapterhorn&lt;/a&gt; is expanding from terrain tiles to create a new dataset with satellite coverage.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/KiwiKilian&quot;&gt;Kilian Finger&lt;/a&gt; discussed progess on getting &lt;a href=&quot;https://maplibre.org/maplibre-react-native/&quot;&gt;MapLibre React Native&lt;/a&gt; ready for the new architecture.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://maplibre.org/about/frank-elsinga/&quot;&gt;Frank Elsinga&lt;/a&gt; and &lt;a href=&quot;https://maplibre.org/about/bart-louwers/&quot;&gt;Bart Louwers&lt;/a&gt; gave a talk on the latest MapLibre developments, specifically introducing the community to MapLibre Tile (MLT).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you want to view the MapLibre talks at the conference, checkout the recordings below (they are in German):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://media.ccc.de/v/fossgis2026-83258-schnellere-karten-kleinere-maplibre-vektorkacheln-und-weitere-neuerungen&quot;&gt;Schnellere Karten, kleinere MapLibre Vektorkacheln und weitere Neuerungen&lt;/a&gt; (&lt;a href=&quot;https://pretalx.com/media/fossgis2026/submissions/NYSASD/resources/MapLibre-FOSSG_wz7XMwI.pdf&quot;&gt;slides&lt;/a&gt;)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://media.ccc.de/v/fossgis2026-84194-verwendung-der-routing-engine-valhalla-mit-dem-maplibre-navigation-sdk&quot;&gt;Verwendung der Routing-Engine Valhalla mit dem MapLibre Navigation SDK&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;fossgiscollage&quot;&gt;&lt;img src=&quot;https://maplibre.org/_astro/mlt-talk.DFqsCFz-_Z1QtDaH.webp&quot; alt=&quot;Photo from Frank&apos;s and Bart&apos;s talk on MapLibre at FOSSGIS. On the slide: Academia, Open Source and Organizations, with hand shaking emoji between them.&quot; style=&quot;display: block; margin: auto;&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;1333&quot; height=&quot;1000&quot;&gt;&lt;img src=&quot;https://maplibre.org/_astro/maplibre-gang.Cot8zaOy_1drw2r.webp&quot; alt=&quot;The MapLibre representation at FOSSGIS.&quot; style=&quot;display: block; margin: auto;&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;750&quot; height=&quot;1000&quot; class=&quot;maplibregang&quot;&gt;&lt;img src=&quot;https://maplibre.org/_astro/mapterhorn-talk.DZCmW8ru_Z2oDL8c.webp&quot; alt=&quot;Photo from Oliver&apos;s talk on Mapterhorn&quot; style=&quot;display: block; margin: auto;&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;1333&quot; height=&quot;1000&quot;&gt;&lt;/div&gt;
&lt;h2 id=&quot;️-monthly-meetings&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#️-monthly-meetings&quot;&gt;🗓️ Monthly meetings&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;We continue our regular community calls on the &lt;em&gt;&lt;strong&gt;second Wednesday&lt;/strong&gt;&lt;/em&gt; of each month, with an additional session on the last Wednesday to better accommodate Asia/Oceania time zones.&lt;/p&gt;
&lt;p&gt;Upcoming Calls&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;MapLibre Navigation: Apr 8, 2026 – 5:00–6:00 PM UTC&lt;/li&gt;
&lt;li&gt;MapLibre Native: Apr 8, 2026 – 6:00–7:00 PM UTC&lt;/li&gt;
&lt;li&gt;MapLibre GL JS: Apr 8, 2026 – 7:00–8:00 PM UTC&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;🌏 MapLibre Eastern Call&lt;/p&gt;
&lt;p&gt;Held on the last Wednesday of the month at an Asia/Oceania-friendly hour:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Apr 29, 2026 – 10:00–11:00 AM UTC&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;All calls are open to everyone. Zoom links are shared in the MapLibre Slack.
Not yet a member? Request an invite via the &lt;a href=&quot;https://slack.openstreetmap.us/&quot;&gt;OpenStreetMap US Slack&lt;/a&gt; and join the &lt;code&gt;#maplibre&lt;/code&gt; channel.
We’d love to see you there!&lt;/p&gt;</content:encoded><author/></item><item><title>We&apos;re Sun-setting the Bounty Program</title><link>https://maplibre.org/news/2026-03-17-reinivisioning-the-bounty-program/</link><guid isPermaLink="true">https://maplibre.org/news/2026-03-17-reinivisioning-the-bounty-program/</guid><pubDate>Mon, 23 Mar 2026 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt;
&lt;strong&gt;MapLibre&lt;/strong&gt; is &lt;strong&gt;sun-setting the bounty program&lt;/strong&gt; as originally conceived because it isn’t a sustainable way to incentivize contributions at our current scale.
The Board and maintainers are working hard to identify what comes next.
We will honor any existing bounty commitments.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Since our founding, MapLibre has asked sponsors to contribute to a development fund intended to incentivize new feature development; primarily through bounties. After running this program for several years, we’ve concluded it no longer serves our community well.&lt;/p&gt;
&lt;p&gt;Effective March 31, 2026, we will no longer be offering bounties for development work. We will instead pursue roadmap and feature development goals through pathways more typical for open source software.&lt;/p&gt;
&lt;p&gt;We are working toward a &lt;strong&gt;contributor recognition system&lt;/strong&gt; that rewards regular, high-value contributions that sustain and strengthen our community. If you have questions or ideas, please &lt;a href=&quot;mailto:board@maplibre.org&quot;&gt;reach out&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;reason-for-the-change&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#reason-for-the-change&quot;&gt;Reason for the change&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;We are making this change because the system as it was designed fails on a structural level:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Overhead:&lt;/strong&gt; The bureaucratic overhead is high for both MapLibre and our community.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Visibility:&lt;/strong&gt; Many very helpful contributions happen outside this system and remain invisible to it, such as community work and ecosystem maintenance.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AI:&lt;/strong&gt; We need to respond to the rising use of coding agents and AI assisted development; the Bounty System does not adequately incentivize the patterns we need from contributors.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Compensation:&lt;/strong&gt; The payouts are not competitive enough to be a meaningful or reliable income source in most markets.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Adoption:&lt;/strong&gt; We have not seen significant usage of this system for contributions.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The Governing Board’s mission is to sustain and grow this project by recognizing those who invest their time and money in it. A bounty-based model may have seemed like a good idea at first, but at our current scale it creates more problems than it solves.&lt;/p&gt;
&lt;h2 id=&quot;looking-ahead&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#looking-ahead&quot;&gt;Looking ahead&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;We would like to replace the bounty system with a contributor recognition system that rewards impact and community contribution. The Board and maintainers are actively working to define what this looks like, and we will share more details as they are finalized.&lt;/p&gt;
&lt;p&gt;MapLibre exists because of its contributors across code, ecosystem integrations, and community work. That hasn’t changed. Our goal is a well-funded project that can pay the people who sustain it. That starts with sponsorship; if your company builds on MapLibre, please &lt;a href=&quot;/sponsors&quot;&gt;become a sponsor&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;MapLibre remains a community-driven project. If you have feedback or ideas, we want to hear from you. This is an ongoing conversation, and we’re building the future together.&lt;/p&gt;
&lt;h2 id=&quot;frequently-asked-questions&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#frequently-asked-questions&quot;&gt;Frequently asked questions&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Q: What is the history of the bounty program?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;MapLibre introduced our bounty program in 2022 to give back to contributors, encourage new participation, and create a lightweight reward system. Developers could sign up, comment on bounty-labeled issues, complete the work, and submit an invoice through OpenCollective. The process was bureaucratic by design, and at the time, we had no budget or runway. We are more established today, and want to align with the common practices of other open source organizations to ensure the sustainability and stability of the project.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q: Is this part of a broader organizational change?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;No. MapLibre remains a lean organization with a Governing Board made entirely of volunteers and four part-time staff members.&lt;/p&gt;
&lt;p&gt;Our financial reports are public. We are currently operating at a loss. See our &lt;a href=&quot;/sponsors&quot;&gt;sponsor page&lt;/a&gt; if you want to help.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q: What if I have an in-flight bounty?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Contact your maintainer. We will honor existing commitments.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q: I maintain a MapLibre integration for another platform or framework. When can MapLibre financially support me?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Ecosystem maintainers — the volunteers who keep integrations like Flutter, React Native, Qt, and others working — extend MapLibre’s reach into developer communities our core team cannot serve directly. That work matters enormously to us, and to the users and companies downstream who depend on it.&lt;/p&gt;
&lt;p&gt;We can’t pay you directly yet, but it’s a goal we’re working toward. In the meantime, we support ecosystem maintainers in concrete ways: we’re exploring grant-based and commercial funding for larger efforts, we can help with hardware or testing resources if you’re blocked by a missing device or platform, and we can cover reasonable conference travel costs for presenting your work. Reach out to a &lt;a href=&quot;/about&quot;&gt;board member&lt;/a&gt; to start the conversation.&lt;/p&gt;</content:encoded><author/></item><item><title>MapLibre Newsletter February 2026</title><link>https://maplibre.org/news/2026-03-03-maplibre-newsletter-february-2026/</link><guid isPermaLink="true">https://maplibre.org/news/2026-03-03-maplibre-newsletter-february-2026/</guid><pubDate>Tue, 03 Mar 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Welcome to the February 2026 edition of MapLibre Newsletter! It’s been an active month with exciting updates, from shifting rendering backends to launching a collection of &lt;a href=&quot;https://agentskills.io/home&quot;&gt;agent skills&lt;/a&gt; to perform MapLibre related tasks.&lt;/p&gt;
&lt;p&gt;A special thanks to MapTiler for their continued support. We updated our &lt;a href=&quot;https://maplibre.org/sponsors/&quot;&gt;Sponsors&lt;/a&gt; page this month, to make clearer how organizations and individuals can give. If you have been thinking about contributing, there has never been a better time.&lt;/p&gt;
&lt;div style=&quot;background-color:white;padding:2.5rem 2rem;border:4px solid #B0BEC5;border-radius:8px;margin:0 auto 3rem;max-width:960px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;box-shadow:0 4px 15px rgba(0, 0, 0, 0.05)&quot;&gt;&lt;div style=&quot;display:flex;justify-content:center;align-items:center;gap:4rem;flex-wrap:wrap;width:100%&quot;&gt;&lt;img src=&quot;https://maplibre.org/_astro/maplibre-logo-for-light-bg.CSR25x_s_Z22k2tS.svg&quot; alt=&quot;MapLibre logo&quot; style=&quot;max-height:70px;width:auto;object-fit:contain&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;1354&quot; height=&quot;317&quot;&gt;&lt;img src=&quot;https://maplibre.org/_astro/maptiler-logo.Ci3qDT4M_nhwl6.svg&quot; alt=&quot;MapTiler logo&quot; style=&quot;max-height:70px;width:auto;object-fit:contain&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;812&quot; height=&quot;212&quot;&gt;&lt;/div&gt;&lt;div style=&quot;margin-top:0.5rem;font-size:0.95rem;text-align:center;color:#455A64;font-style:italic;max-width:35rem&quot;&gt;&lt;p&gt;Our gratitude goes to MapTiler for their continued support to MapLibre.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;With that note, let’s dive into the latest updates across the MapLibre ecosystem!&lt;/p&gt;
&lt;h2 id=&quot;-maplibre-native&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-maplibre-native&quot;&gt;📱 MapLibre Native&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Core library: Distance-Based Level-of-Detail (LOD)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Nathan Olson implemented a &lt;a href=&quot;https://github.com/maplibre/maplibre-native/pull/4057&quot;&gt;distance-based level-of-detail algorithm&lt;/a&gt; into the core library. However, platform APIs for this functionality still need to be added.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Experimental WebGPU Backends for Mobile&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Birk Skyum implemented a &lt;a href=&quot;https://github.com/maplibre/maplibre-native/pull/4097&quot;&gt;WebGPU backend for Android&lt;/a&gt; and for &lt;a href=&quot;https://github.com/maplibre/maplibre-native/pull/4103&quot;&gt;iOS&lt;/a&gt;. At this point the motivation behind this is more or less “because we can”, but it might offer opportunities to share custom shaders between platforms in the future.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;New Hillshading Algorithms Merged&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Andrew Calcutt’s PR that implements additional &lt;a href=&quot;https://github.com/maplibre/maplibre-native/pull/3965&quot;&gt;hillshade algorithms&lt;/a&gt; has been merged! These algorithms are included in the current pre-release for Node.js, and the next releases for MapLibre iOS and MapLibre Android.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Android: Transitioning to Vulkan by Default&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;We released &lt;a href=&quot;https://github.com/maplibre/maplibre-native/releases/tag/android-v13.0.0&quot;&gt;MapLibre Android 13.0.0&lt;/a&gt; which now uses Vulkan as a default rendering backend. This means that the &lt;code&gt;org.maplibre.gl:android-sdk&lt;/code&gt; package is now using Vulkan. You can use the &lt;code&gt;org.maplibre.gl:android-sdk-opengl&lt;/code&gt; package if you prefer to stick to OpenGL ES for now.&lt;/p&gt;
&lt;h2 id=&quot;-maplibre-gl-js&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-maplibre-gl-js&quot;&gt;🌐 MapLibre GL JS&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;New Releases: Versions 5.18 and 5.19&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;We’ve released versions &lt;a href=&quot;https://github.com/maplibre/maplibre-gl-js/releases/tag/v5.18.0&quot;&gt;5.18&lt;/a&gt; and &lt;a href=&quot;https://github.com/maplibre/maplibre-gl-js/releases/tag/v5.19.0&quot;&gt;5.19&lt;/a&gt; this month. A major highlight is the migration of our documentation to &lt;a href=&quot;https://zensical.org/&quot;&gt;Zensical&lt;/a&gt;, the next-generation replacement of Material for MkDocs, which has served us very well until now. We also added &lt;a href=&quot;https://github.com/maplibre/maplibre-gl-js/pull/7134&quot;&gt;&lt;code&gt;anisotropicFilterPitch&lt;/code&gt;&lt;/a&gt; to support some interesting data analysis use cases.&lt;/p&gt;
&lt;p&gt;We would like to thank all the contributors this month for these versions - truly inspiring work!&lt;/p&gt;
&lt;p&gt;🙏 &lt;a href=&quot;https://github.com/n4n5&quot;&gt;n4n5&lt;/a&gt;, &lt;a href=&quot;https://github.com/larsmaxfield&quot;&gt;Lars Maxfield&lt;/a&gt;, &lt;a href=&quot;https://github.com/pcardinal&quot;&gt;pcardinal&lt;/a&gt;, &lt;a href=&quot;https://github.com/simonmnt&quot;&gt;Simon&lt;/a&gt;, &lt;a href=&quot;https://github.com/birkskyum&quot;&gt;Birk Skyum&lt;/a&gt;, &lt;a href=&quot;https://github.com/HarelM&quot;&gt;Harel Mazor&lt;/a&gt;, &lt;a href=&quot;https://github.com/ganesh8068&quot;&gt;Ganesh Lokhande&lt;/a&gt;, &lt;a href=&quot;https://github.com/wayofthefuture&quot;&gt;Ryan&lt;/a&gt;, &lt;a href=&quot;https://github.com/CommanderStorm&quot;&gt;Frank Elsinga&lt;/a&gt;, &lt;a href=&quot;https://github.com/kaigritun&quot;&gt;Kai Gritun&lt;/a&gt;, &lt;a href=&quot;https://github.com/pstaszek&quot;&gt;Stanislaw Puda&lt;/a&gt;, &lt;a href=&quot;https://github.com/lucaswoj&quot;&gt;Lucas Wojciechowski&lt;/a&gt;, &lt;a href=&quot;https://github.com/russellporter&quot;&gt;Russell Porter&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Road to Version 6&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The following PR, which will pave the way for our next major release is now ready to be merged:&lt;/p&gt;
&lt;p&gt;👉 &lt;a href=&quot;https://github.com/maplibre/maplibre-gl-js/pull/6992&quot;&gt;https://github.com/maplibre/maplibre-gl-js/pull/6992&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We expect to release a first pre-release for version 6 in March. While we haven’t made a major (breaking) release in over a year now to keep things as maintainable as possible, it is now time to move forward with changes we’ve previously deferred.&lt;/p&gt;
&lt;p&gt;The primary change in version 6 regarding developer experience will be the transition to ESM. As the industry moves toward ESM and our current build process is becoming increasingly complex, we are considering not releasing a CommonJS version. This transition will allow us to leverage newer technologies like Rolldown.&lt;/p&gt;
&lt;p&gt;We would love to hear your thoughts on these expected breaking changes to ensure we don’t disrupt your workflow.
Please join the discussion in the &lt;a href=&quot;https://github.com/maplibre/maplibre-gl-js/issues/6427&quot;&gt;relevant tracking issue&lt;/a&gt; and share your feedback.&lt;/p&gt;
&lt;h2 id=&quot;-maplibre-flutter&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-maplibre-flutter&quot;&gt;🪶 MapLibre Flutter&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Versions &lt;a href=&quot;https://github.com/josxha/flutter-maplibre/releases/tag/v0.3.4&quot;&gt;0.3.4&lt;/a&gt; and &lt;a href=&quot;https://github.com/josxha/flutter-maplibre/releases/tag/v0.3.4%2B1&quot;&gt;0.3.4+1&lt;/a&gt; of &lt;a href=&quot;https://pub.dev/packages/maplibre&quot;&gt;maplibre&lt;/a&gt; have been released this month, bringing significant architectural improvements and expanded platform support.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;iOS transition to FFI&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A major milestone in this release is the complete transition of the iOS implementation to use &lt;a href=&quot;https://dart.dev/interop/c-interop&quot;&gt;FFI&lt;/a&gt;, removing all remaining usages of method channel serialization. This simplifies the integration between Flutter and the native SDK while providing minor performance gains.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Federated plugin architecture&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;As part of an ongoing committment to code quality, the plugin has been reorganized into a fully federated plugin architecture, separating each platform implementation into a dedicated packages. This restructuring improves long-term maintainability and allows each platform to evolve independently. These changes happened under the hood and require no migration from users.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Experimental desktop support&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Experimental support for Windows and macOS has been introduced via a WebView–based implementation that uses MapLibre GL JS. This is a simple solution to bring performant vector map rendering to these desktop platforms while broader native support continues to mature.&lt;/p&gt;
&lt;div style=&quot;margin-bottom:2rem;width:100%;display:flex;flex-direction:column;align-items:center&quot;&gt;&lt;img src=&quot;https://maplibre.org/_astro/flutter-windows.Dv59z4vD_Z1aXmFO.webp&quot; alt=&quot;MapLibre GL JS map in a Flutter App on Windows&quot; style=&quot;width:100%;max-width:650px;height:auto;display:block;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,0.1)&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;2538&quot; height=&quot;1430&quot;&gt;&lt;p style=&quot;margin-top:0.75rem;margin-bottom:0;line-height:1.4;text-align:center;width:100%;max-width:550px&quot;&gt;&lt;em style=&quot;font-size:0.85rem;color:#666;font-style:italic&quot;&gt;&lt;p&gt;MapLibre GL JS map rendering within a Flutter App on Windows.&lt;/p&gt;&lt;/em&gt;&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Documentation and Future Roadmap&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The documentation website has been migrated to Zensical alongside the broader MapLibre migration. &lt;a href=&quot;https://flutter-maplibre.pages.dev/docs/&quot;&gt;Check it out&lt;/a&gt; and let us know what you think.&lt;/p&gt;
&lt;p&gt;Looking ahead, work is progressing on typed style layer properties and expressions, a highly anticipated feature. We are currently targeting static typing for style expressions, paint/layout properties, and new style layer inspection capabilities for the upcoming &lt;a href=&quot;https://github.com/josxha/flutter-maplibre/milestone/12&quot;&gt;v0.4.0&lt;/a&gt; release.&lt;/p&gt;
&lt;h2 id=&quot;-maplibre-agent-skills&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-maplibre-agent-skills&quot;&gt;🤖 Maplibre Agent Skills&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;In an effort to move with the times and inform the LLMs of all the great things you can build with MapLibre, we’ve launched &lt;a href=&quot;https://github.com/maplibre/maplibre-agent-skills&quot;&gt;&lt;code&gt;maplibre-agent-skills&lt;/code&gt;&lt;/a&gt;, a library of structured knowledge files that help AI coding assistants (Claude Code, Cursor, GitHub Copilot) write better MapLibre applications.&lt;/p&gt;
&lt;p&gt;Rather than putting up with bad or wrong MapLibre integrations, we’re directly informing the AI agents so they in turn share good information and the right recommendations on when it makes sense to use MapLibre, how to deal with tile sources and other renderer resources, and how to follow open-ecosystem patterns.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Skills available now:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;maplibre-tile-sources&lt;/code&gt; — choosing hosted vs. self-hosted tiles, OpenFreeMap, PMTiles, glyphs, CORS&lt;/li&gt;
&lt;li&gt;&lt;code&gt;maplibre-pmtiles-patterns&lt;/code&gt; — serverless tile hosting on S3, R2, and static hosts&lt;/li&gt;
&lt;li&gt;&lt;code&gt;maplibre-mapbox-migration&lt;/code&gt; — migrating from Mapbox GL JS to MapLibre GL JS&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Visit &lt;a href=&quot;https://github.com/maplibre/maplibre-agent-skills&quot;&gt;&lt;code&gt;maplibre-agent-skills&lt;/code&gt;&lt;/a&gt; for more details on how to use or install these, or review the &lt;a href=&quot;https://github.com/maplibre/maplibre-agent-skills/issues&quot;&gt;open issues&lt;/a&gt; for what’s next.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;We’re looking for contributors.&lt;/strong&gt; Skills are plain markdown files, easy to read, review. We welcome your expansions, corrections and questions. If you’ve tackled geocoding, routing, styling, framework integration (React, Vue, Angular, Flutter, Swift), or performance — your experience can make a big impact.&lt;/p&gt;
&lt;p&gt;See &lt;a href=&quot;https://github.com/maplibre/maplibre-agent-skills/blob/main/CONTRIBUTING.md&quot;&gt;contributing guidelines&lt;/a&gt; for how to write a skill, or &lt;a href=&quot;https://github.com/maplibre/maplibre-agent-skills/issues&quot;&gt;open an issue&lt;/a&gt; to propose a new one we haven’t thought of yet.&lt;/p&gt;
&lt;h2 id=&quot;-style-spec&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-style-spec&quot;&gt;🎨 Style Spec&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The MapLibre Style Spec continues to evolve to support more complex styling needs:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://maplibre.org/maplibre-style-spec/expressions/#split&quot;&gt;&lt;code&gt;split&lt;/code&gt;&lt;/a&gt; and &lt;a href=&quot;https://maplibre.org/maplibre-style-spec/expressions/#join&quot;&gt;&lt;code&gt;join&lt;/code&gt;&lt;/a&gt;, which allow better string manipulation, are now part of the spec and are expected to be incorporated in MapLibre GL JS soon.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://maplibre.org/maplibre-style-spec/expressions/#resampling&quot;&gt;&lt;code&gt;resampling&lt;/code&gt;&lt;/a&gt; was also added to support other layers besides raster.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;symbol-elevation&lt;/code&gt; will probably land soon to allow better support for placing symbols in a 3D map, check it out here:
&lt;a href=&quot;https://github.com/maplibre/maplibre-style-spec/pull/1508&quot;&gt;https://github.com/maplibre/maplibre-style-spec/pull/1508&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;-maplibre-rs&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-maplibre-rs&quot;&gt;🦀 maplibre-rs&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;In February our focus has been on text rendering, with the following enhancements merged in:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SDF renderer plugin, adding support for text labels as shown on the picture below. Thanks to @maxammann for the &lt;a href=&quot;https://github.com/maplibre/maplibre-rs/pull/314&quot;&gt;PR&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Support for configurable text-field property for symbol layers, so it’s possible to e.g. set the language of the labels. Thanks to @birkskyum for the &lt;a href=&quot;https://github.com/maplibre/maplibre-rs/pull/326&quot;&gt;PR&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Render tests harness added to the project. Thanks to @birkskyum for the &lt;a href=&quot;https://github.com/maplibre/maplibre-rs/pull/331&quot;&gt;PR&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin-bottom:2rem;width:100%;display:flex;flex-direction:column;align-items:center&quot;&gt;&lt;img src=&quot;https://maplibre.org/_astro/maplibre-rs-text.Bbj8NCVH_1MUhl5.webp&quot; alt=&quot;SDF text rendering in maplibre-rs&quot; style=&quot;width:100%;max-width:650px;height:auto;display:block;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,0.1)&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;1408&quot; height=&quot;1068&quot;&gt;&lt;p style=&quot;margin-top:0.75rem;margin-bottom:0;line-height:1.4;text-align:center;width:100%;max-width:550px&quot;&gt;&lt;em style=&quot;font-size:0.85rem;color:#666;font-style:italic&quot;&gt;&lt;p&gt;Demonstration of the new SDF-based text rendering in maplibre-rs.&lt;/p&gt;&lt;/em&gt;&lt;/p&gt;&lt;/div&gt;
&lt;h2 id=&quot;-maplibre-tile-mlt&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-maplibre-tile-mlt&quot;&gt;🧩 MapLibre Tile (MLT)&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;There is a growing interest in &lt;a href=&quot;https://maplibre.org/news/2026-01-23-mlt-release/&quot;&gt;the new format&lt;/a&gt;. Our current priorities are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Mature decoders. In particular, we are rebuilding the test infrastructure to ensure high quality decoders in all the major languages.&lt;/li&gt;
&lt;li&gt;Encoders in Rust and C++. Having mature encoders will allow integration into all kinds of tools such as databases and tiles servers.&lt;/li&gt;
&lt;li&gt;Leverage the native strengths of the MLT directly. For example, in MapLibre GL JS we aim to move away from the current method of converting data into an MVT-style model.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;📣 Call for Volunteers: MLT Logo&lt;/p&gt;
&lt;p&gt;The MLT project is looking for a volunteer to design our official logo. This is a great opportunity to contribute to the project and leave a lasting mark on the MapLibre ecosystem.
Please &lt;a href=&quot;https://github.com/maplibre/maplibre-tile-spec/issues/942&quot;&gt;join the discussion&lt;/a&gt; to provide your inputs or share your submissions!&lt;/p&gt;
&lt;p&gt;We’ve made great progress on the tooling side, including a Rust-based TUI and a dedicated QGIS plugin 🎉 Stay tuned for more updates!&lt;/p&gt;
&lt;div style=&quot;display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:1.5rem;width:100%;max-width:960px;margin:0 auto 2rem&quot;&gt;&lt;div style=&quot;flex:1&quot;&gt;&lt;img src=&quot;https://maplibre.org/_astro/mlt-tui.DwUg70cZ_1TXkOv.webp&quot; alt=&quot;MLT Terminal UI (TUI) showing geometry inspection&quot; style=&quot;width:100%;height:auto;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,0.1)&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;1904&quot; height=&quot;953&quot;&gt;&lt;p style=&quot;margin-top:0.5rem;font-size:0.85rem;color:#666;text-align:center&quot;&gt;&lt;em&gt;MLT TUI: Direct feature inspection within the terminal.&lt;/em&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style=&quot;flex:1&quot;&gt;&lt;img src=&quot;https://maplibre.org/_astro/mlt-qgis.HNtANoDX_ZLTeIz.webp&quot; alt=&quot;QGIS Desktop application showing MLT data integration&quot; style=&quot;width:100%;height:auto;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,0.1)&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;1920&quot; height=&quot;1080&quot;&gt;&lt;p style=&quot;margin-top:0.5rem;font-size:0.85rem;color:#666;text-align:center&quot;&gt;&lt;em&gt;MLT Data integration progress within the QGIS ecosystem.&lt;/em&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;h2 id=&quot;️-martin&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#️-martin&quot;&gt;⚙️ Martin&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;While it has been a relatively quiet month as we focus on MLT development, we’ve still shipped several key improvements to the tile server:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Web UI Fixes:&lt;/strong&gt; The path-prefix now works correctly within the Web UI.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Smarter Routing:&lt;/strong&gt; Common URL mistakes (e.g., using &lt;code&gt;/source.mvt&lt;/code&gt; instead of &lt;code&gt;/source&lt;/code&gt;) now return a 301 redirect instead of a 404, including periodic log hints to help fix configurations.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;COG Stability:&lt;/strong&gt; The experimental Cloud Optimized GeoTIFF (COG) backend was tightened significantly (thanks to &lt;a href=&quot;https://github.com/Auspicus&quot;&gt;David E Disch&lt;/a&gt;, &lt;a href=&quot;https://github.com/maplibre/martin/pull/2510&quot;&gt;PR #2510&lt;/a&gt;). To ensure stability, COGs must now be fully WebMercator-compatible (EPSG:3857), tiled, and consistently sized. Some previously ambiguous COGs may no longer load as we move toward a more predictable, production-ready implementation.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/manbhav234&quot;&gt;Manbhav Sugla&lt;/a&gt; also migrated &lt;a href=&quot;https://maplibre.org/martin/&quot;&gt;our documentation&lt;/a&gt; to Zensical, which looks much more modern than what we had before.&lt;/p&gt;
&lt;h2 id=&quot;-community-spotlight&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-community-spotlight&quot;&gt;✨ Community spotlight&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Yossef from our community has build &lt;strong&gt;QGIS2VectorTiles&lt;/strong&gt; which streamlines the process of packing a QGIS project into a styled vector tile package ready for MapLibre. It allows users to design maps within the familiar and flexible QGIS Desktop and export stunning MapLibre client-side web maps leveraging GDAL’s MVT driver.&lt;/p&gt;
&lt;p&gt;The exported output package includes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Vector tile source: &lt;code&gt;XYZ&lt;/code&gt; directory&lt;/li&gt;
&lt;li&gt;Styled QGIS layer file: A &lt;code&gt;.qlr&lt;/code&gt; file&lt;/li&gt;
&lt;li&gt;MapLibre style: A ready-tp-use &lt;code&gt;.json&lt;/code&gt; stylesheet&lt;/li&gt;
&lt;li&gt;MapLibre sprites &lt;em&gt;(optional)&lt;/em&gt; :&lt;code&gt;.png&lt;/code&gt; and &lt;code&gt;.json&lt;/code&gt; files&lt;/li&gt;
&lt;li&gt;A ready-to-use MapLibre viewer: A pre-configured &lt;code&gt;.html&lt;/code&gt; file&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This package is ideal for:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Client-side web map rendering via MapLibre, OpenLayers, and Leaflet&lt;/li&gt;
&lt;li&gt;Lightweight WMS/WMTS vector tile serving via GeoServer and QGIS Server&lt;/li&gt;
&lt;li&gt;Sharing complex, multi-source styled QGIS projects packaged as a single data source and layer file&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A short demo is attached:&lt;/p&gt;
&lt;div style=&quot;margin-bottom:2rem;width:100%;display:flex;flex-direction:column;align-items:center&quot;&gt;&lt;img src=&quot;https://maplibre.org/_astro/qgis2-vector-tiles.D7dXsT28_Z1utwSB.webp&quot; alt=&quot;QGIS2VectorTiles workflow demo&quot; style=&quot;width:100%;max-width:650px;height:auto;display:block;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,0.1)&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;818&quot; height=&quot;480&quot;&gt;&lt;p style=&quot;margin-top:0.75rem;margin-bottom:0;line-height:1.4;text-align:center;width:100%;max-width:550px&quot;&gt;&lt;em style=&quot;font-size:0.85rem;color:#666;font-style:italic&quot;&gt;&lt;p&gt;Exporting styled vector tiles directly from QGIS.&lt;/p&gt;&lt;/em&gt;&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;More information is available on the &lt;a href=&quot;https://gallpeters.github.io/QGIS2VectorTiles/&quot;&gt;plugin homepage&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;️-monthly-meetings&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#️-monthly-meetings&quot;&gt;🗓️ Monthly meetings&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;We continue our regular community calls on the &lt;em&gt;&lt;strong&gt;second Wednesday&lt;/strong&gt;&lt;/em&gt; of each month, with an additional session on the last Wednesday to better accommodate Asia/Oceania time zones.&lt;/p&gt;
&lt;p&gt;Upcoming Calls&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;MapLibre Navigation: Mar 11, 2026 – 5:00–6:00 PM UTC&lt;/li&gt;
&lt;li&gt;MapLibre Native: Mar 11, 2026 – 6:00–7:00 PM UTC&lt;/li&gt;
&lt;li&gt;MapLibre GL JS: Mar 11, 2026 – 7:00–8:00 PM UTC&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;🌏 MapLibre Eastern Call&lt;/p&gt;
&lt;p&gt;Held on the last Wednesday of the month at an Asia/Oceania-friendly hour:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Mar 25, 2026 – 9:00–10:00 AM UTC&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;🔗 &lt;a href=&quot;https://notime.zone/OmyPkU_Ha6K7W&quot;&gt;View meeting times in your local timezone&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;All calls are open to everyone. Zoom links are shared in the MapLibre Slack.
Not yet a member? Request an invite via the &lt;a href=&quot;https://slack.openstreetmap.us/&quot;&gt;OpenStreetMap US Slack&lt;/a&gt;.
We’d love to see you there!&lt;/p&gt;</content:encoded><author/></item><item><title>CalTopo joins the MapLibre Sponsorship program</title><link>https://maplibre.org/news/2026-02-16-caltopo-announcement/</link><guid isPermaLink="true">https://maplibre.org/news/2026-02-16-caltopo-announcement/</guid><pubDate>Mon, 16 Feb 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;We’re pleased to announce that &lt;a href=&quot;https://caltopo.com/about/&quot;&gt;CalTopo&lt;/a&gt; is now a &lt;a href=&quot;https://maplibre.org/sponsors/&quot;&gt;Silver sponsor&lt;/a&gt; of the MapLibre project.&lt;/p&gt;
&lt;div style=&quot;background-color:white;padding:2rem;border:10px solid #cfd8dc;border-radius:0;margin-bottom:3rem;display:flex;justify-content:center;align-items:center;gap:2rem;flex-wrap:nowrap;overflow:hidden&quot;&gt;&lt;img src=&quot;https://maplibre.org/_astro/maplibre-logo-for-light-bg.CSR25x_s_Z22k2tS.svg&quot; alt=&quot;MapLibre logo&quot; style=&quot;width:40%;max-width:300px;height:auto;object-fit:contain&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;1354&quot; height=&quot;317&quot;&gt;&lt;img src=&quot;https://maplibre.org/_astro/caltopo-logo.D8Dc8mJ3_133LQN.svg&quot; alt=&quot;CalTopo logo&quot; style=&quot;width:40%;max-width:330px;height:auto;object-fit:contain&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;395&quot; height=&quot;96&quot;&gt;&lt;/div&gt;
&lt;p&gt;CalTopo has built one of the most trusted field mapping platforms in the US, relied on by search and rescue teams, wildland firefighters, and backcountry adventurers who need maps to work when it counts. We’re proud to welcome them as a MapLibre sponsor — and to support the open-source rendering infrastructure that powers their maps.&lt;/p&gt;
&lt;p&gt;CalTopo is an app for collaborative map building and offline adventuring, and they rely heavily on MapLibre powering their &lt;a href=&quot;https://training.caltopo.com/all_users/getting-started/3D&quot;&gt;3D maps&lt;/a&gt;, making it possible for users to explore terrain in a more intuitive, visual way.&lt;/p&gt;
&lt;div style=&quot;position:relative;padding-bottom:56.25%;height:0;overflow:hidden;margin-bottom:2rem&quot;&gt;&lt;iframe src=&quot;https://player.vimeo.com/video/836970545&quot; style=&quot;position:absolute;top:0;left:0;width:100%;height:100%&quot; frameBorder=&quot;0&quot; allow=&quot;autoplay; fullscreen; picture-in-picture&quot; allowFullScreen=&quot;&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;p&gt;Below, the CalTopo team shares more about why they chose to support MapLibre and how it fits into their product roadmap.&lt;/p&gt;
&lt;h2 id=&quot;what-motivated-caltopo-to-support-maplibre&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#what-motivated-caltopo-to-support-maplibre&quot;&gt;What motivated CalTopo to support MapLibre?&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;MapLibre is a core part of how CalTopo works and we rely on it every day to deliver the mapping experience our users expect. Supporting MapLibre is about investing in an organization that we depend on and believe in. When the libraries continue to grow and improve, it helps us build better tools for our community and ensures the long-term stability of the mapping technology behind our apps.&lt;/p&gt;
&lt;h2 id=&quot;how-does-maplibre-fit-into-your-product-and-technical-roadmap&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#how-does-maplibre-fit-into-your-product-and-technical-roadmap&quot;&gt;How does MapLibre fit into your product and technical roadmap?&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;MapLibre plays a central role in how people experience CalTopo. In our mobile app, it’s the map engine that displays all of our layers, routes, and user data. On the web, &lt;a href=&quot;https://caltopo.com/map.html#ll=38.80547,-98.41553&amp;amp;z=5&amp;amp;b=mbt&quot;&gt;MapLibre powers our 3D maps&lt;/a&gt;, making it possible for users to explore terrain in a more intuitive, visual way. As we continue to invest in performance and expand our 3D capabilities, MapLibre remains an important part of how we bring those ideas to life.&lt;/p&gt;
&lt;h2 id=&quot;what-do-open-source-mapping-tools-mean-for-your-community&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#what-do-open-source-mapping-tools-mean-for-your-community&quot;&gt;What do open-source mapping tools mean for your community?&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Open-source mapping tools make it possible for us to stay focused on what matters most to our users. By building on reliable, community-driven libraries, we’re able to move faster, keep costs down, and put more effort into solving real planning and navigation challenges. That ultimately means a better product for our users and access to powerful tools without unnecessary barriers.&lt;/p&gt;
&lt;h2 id=&quot;is-there-a-message-youd-like-to-share-with-maplibre-contributors-and-users&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#is-there-a-message-youd-like-to-share-with-maplibre-contributors-and-users&quot;&gt;Is there a message you’d like to share with MapLibre contributors and users?&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;We’re thankful for the work and care that goes into the libraries and MapLibre organization. The time and effort contributed by the community have a direct impact on the tools our users rely on every day. We’re proud to support this work and excited to be part of an open mapping ecosystem that continues to grow and improve through collaboration.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;We’re grateful to CalTopo for their support and for sharing their perspective.
Sponsorships like this help strengthen the long-term sustainability of the
MapLibre project. If you are interested in sponsoring MapLibre, we invite you
to learn more about our &lt;a href=&quot;https://maplibre.org/sponsors/&quot;&gt;sponsorship program&lt;/a&gt;.&lt;/p&gt;</content:encoded><author/></item><item><title>MapLibre Newsletter January 2026</title><link>https://maplibre.org/news/2026-02-03-maplibre-newsletter-january-2026/</link><guid isPermaLink="true">https://maplibre.org/news/2026-02-03-maplibre-newsletter-january-2026/</guid><pubDate>Tue, 03 Feb 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Welcome to the January 2026 edition of MapLibre Newsletter! This edition covers project updates across the MapLibre ecosystem, a round-up of events from the past month, and highlights from our growing global community.&lt;/p&gt;
&lt;p&gt;MapLibre continues to move forward thanks to the support of its community. Since launching &lt;a href=&quot;https://github.com/sponsors/maplibre&quot;&gt;GitHub Sponsors&lt;/a&gt;, 87 sponsors have supported MapLibre over time, with 35 sponsors currently backing the project, alongside 40+ community backers on &lt;a href=&quot;https://opencollective.com/maplibre&quot;&gt;Open Collective&lt;/a&gt; contributing varied amounts.&lt;/p&gt;
&lt;p&gt;Thank you to everyone who supports MapLibre with their time, feedback, code, and financial contributions 💙.&lt;/p&gt;
&lt;div style=&quot;
background-color: white;
padding: 2rem;
border: 8px solid #1f78c8;
margin: 0 auto 3rem;
max-width: 960px;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
gap: 1.5rem;
&quot;&gt;&lt;div style=&quot;
display: flex;
justify-content: center;
align-items: center;
gap: 3rem;
flex-wrap: wrap;
width: 100%;
&quot;&gt;&lt;img src=&quot;https://maplibre.org/_astro/maplibre-logo-for-light-bg.CSR25x_s_Z22k2tS.svg&quot; alt=&quot;MapLibre logo&quot; style=&quot;max-height: 80px; width: auto; object-fit: contain;&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;1354&quot; height=&quot;317&quot;&gt;&lt;/div&gt;&lt;div style=&quot;
margin-top: 0.5rem;
font-size: 1rem;
text-align: center;
color: #263238;
font-style: italic;
max-width: 42rem;
&quot;&gt;&lt;p&gt;Our sincere thanks to the individuals and organizations who support MapLibre
through GitHub Sponsors and Open Collective. Your contributions, big or
small, help keep the project open, independent, and community-driven.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;h2 id=&quot;-maplibre-native&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-maplibre-native&quot;&gt;📱 MapLibre Native&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;We’ve published the test app for iOS on TestFlight!&lt;/p&gt;
&lt;p&gt;If you have a spare iPhone lying around, please enroll and run the ‘long running test’ made by &lt;a href=&quot;https://github.com/adrian-cojocaru&quot;&gt;Adrian Cojocaru&lt;/a&gt;. Any crashes are automatically reported to our Sentry project and will be available for MapLibre developers to investigate&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot; id=&quot;user-content-fnref-1&quot; data-footnote-ref=&quot;&quot; aria-describedby=&quot;footnote-label&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;. Testflight link: &lt;a href=&quot;https://testflight.apple.com/join/h81pYA1M&quot;&gt;https://testflight.apple.com/join/h81pYA1M&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/NathanMOlson&quot;&gt;Nathan Olson&lt;/a&gt; added camera roll support to MapLibre Native (&lt;a href=&quot;https://github.com/maplibre/maplibre-native/pull/3011&quot;&gt;#3011&lt;/a&gt;). This feature is now available on both MapLibre iOS and MapLibre Android.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Nathan also is working on a distance-based level-of-detail(LOD) implementation in &lt;a href=&quot;https://github.com/maplibre/maplibre-native/pull/4057&quot;&gt;#4057&lt;/a&gt;. This is the same algorithm that is used for MapLibre GL JS. If you (also) have an aviation related use case for MapLibre Native we would love to hear from you.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Releases this month:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;MapLibre iOS &lt;a href=&quot;https://github.com/maplibre/maplibre-native/releases/tag/ios-v6.23.0&quot;&gt;6.23.0&lt;/a&gt;, &lt;a href=&quot;https://github.com/maplibre/maplibre-native/releases/tag/ios-v6.22.2&quot;&gt;6.22.2&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;-maplibre-gl-js&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-maplibre-gl-js&quot;&gt;🌐 MapLibre GL JS&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Versions &lt;a href=&quot;https://github.com/maplibre/maplibre-gl-js/releases/tag/v5.16.0&quot;&gt;5.16&lt;/a&gt; and &lt;a href=&quot;https://github.com/maplibre/maplibre-gl-js/releases/tag/v5.17.0&quot;&gt;5.17&lt;/a&gt; were released this month.
We also integrated the &lt;a href=&quot;https://github.com/maplibre/geojson-vt&quot;&gt;&lt;code&gt;geojson-vt&lt;/code&gt;&lt;/a&gt; version that was recently onboarded into the MapLibre organization, which should facilitate faster GeoJSON updates in the near future.&lt;/p&gt;
&lt;p&gt;We are looking to improve GeoJSON serialization, including addressing limitations related to nested properties. We’d love to get community feedback on the following PR:
&lt;a href=&quot;https://github.com/maplibre/maplibre-gl-js/pull/6992&quot;&gt;https://github.com/maplibre/maplibre-gl-js/pull/6992&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Once this PR is merged and GeoJSON serialization is improved, it will pave the way for releasing version 6 as this will be breaking. Version 6 will also include additional breaking changes that we’ve gathered over the past year, which are described in the following issue:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/maplibre/maplibre-gl-js/issues/6427&quot;&gt;https://github.com/maplibre/maplibre-gl-js/issues/6427&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Any feedback is very welcome.&lt;/p&gt;
&lt;p&gt;We would like to thank this month’s contributors, every contribution helps make the library better for everyone who uses it. THANK YOU! 🙌&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/lucaswoj&quot;&gt;Lucas Wojciechowski&lt;/a&gt;, &lt;a href=&quot;https://github.com/lesbaa&quot;&gt;Les&lt;/a&gt;, &lt;a href=&quot;https://github.com/melitele&quot;&gt;melitele&lt;/a&gt;, &lt;a href=&quot;https://github.com/1ec5&quot;&gt;Minh Nguyễn&lt;/a&gt;, &lt;a href=&quot;https://github.com/pstaszek&quot;&gt;Stanislaw Puda&lt;/a&gt;, &lt;a href=&quot;https://github.com/larsmaxfield&quot;&gt;Lars Maxfield&lt;/a&gt;, &lt;a href=&quot;https://github.com/ToHold&quot;&gt;ToHold&lt;/a&gt;, &lt;a href=&quot;https://github.com/tavimori&quot;&gt;Licheng Mao&lt;/a&gt;,
&lt;a href=&quot;https://github.com/wayofthefuture&quot;&gt;Ryan&lt;/a&gt;, &lt;a href=&quot;https://github.com/mizmay&quot;&gt;Stephanie May&lt;/a&gt;, &lt;a href=&quot;https://github.com/Syncret&quot;&gt;yujian&lt;/a&gt;, &lt;a href=&quot;https://github.com/HarelM&quot;&gt;Harel Mazor&lt;/a&gt;, &lt;a href=&quot;https://github.com/ciscorn&quot;&gt;Taku Fukada&lt;/a&gt;, &lt;a href=&quot;https://github.com/Auspicus&quot;&gt;David E Disch&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;-maplibre-tile&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-maplibre-tile&quot;&gt;🧩 MapLibre Tile&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;This month we &lt;a href=&quot;https://maplibre.org/news/2026-01-23-mlt-release/&quot;&gt;officially announced&lt;/a&gt; MapLibre Tile!&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/TimSylvester&quot;&gt;Tim Sylvester&lt;/a&gt; is working on adding PMTiles support to the Java Encoder CLI (&lt;a href=&quot;https://github.com/maplibre/maplibre-tile-spec/pull/798&quot;&gt;#798&lt;/a&gt;). The Java CLI tools can be downloaded from the &lt;a href=&quot;https://github.com/maplibre/maplibre-tile-spec/releases?q=java&amp;amp;expanded=true&quot;&gt;releases page&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We have added coverage checking to the Java encoder/decoder. At the &lt;a href=&quot;https://app.codecov.io/github/maplibre/maplibre-tile-spec&quot;&gt;Codecov&lt;/a&gt; page you can see that Rust and Java have some catching up to do to reach the coverage number of the TypeScript decoder.&lt;/p&gt;
&lt;p&gt;We have a monthly community call to discuss MLT developments, if you would like an invite, send a message to &lt;a href=&quot;mailto:team@maplibre.org&quot;&gt;team@maplibre.org&lt;/a&gt;&lt;/p&gt;
&lt;div style=&quot;
max-width: 600px;
margin: 1.5rem auto;
text-align: center;
padding: 0 0.75rem;
&quot;&gt;&lt;img src=&quot;https://maplibre.org/_astro/globe.CUXFivbm_6VKw5.webp&quot; alt=&quot;MapLibre Tile demo site showing vector tiles and map styles&quot; style=&quot;
width: 100%;
height: auto;
display: block;
&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;4096&quot; height=&quot;2386&quot;&gt;&lt;p style=&quot;margin-top:0.5rem;margin-bottom:0;line-height:1.4&quot;&gt;&lt;em style=&quot;font-size:0.8rem;color:#666;font-style:italic&quot;&gt;&lt;p&gt;Screen grab from the &lt;a href=&quot;https://github.com/maplibre/demotiles&quot;&gt;MapLibre demo site&lt;/a&gt; showcasing vector tiles.&lt;/p&gt;&lt;/em&gt;&lt;/p&gt;&lt;/div&gt;
&lt;h2 id=&quot;️-martin&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#️-martin&quot;&gt;⚙️ Martin&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;We’ve released &lt;a href=&quot;https://github.com/maplibre/martin/releases/tag/martin-v1.3.0&quot;&gt;Martin 1.3.0&lt;/a&gt;, bringing improvements to logging, font handling, routing, and tile formats - plus several performance and UX fixes.&lt;/p&gt;
&lt;p&gt;Highlights include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;More flexible logging:&lt;/strong&gt;
Martin now uses tracing instead of log, enabling better instrumentation and configurable log output via &lt;code&gt;RUST_LOG_FORMAT&lt;/code&gt;. Supported formats include compact (default), json, full, bare, and pretty.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Improved glyph support beyond &lt;a href=&quot;https://en.wikipedia.org/wiki/Unicode_block&quot;&gt;&lt;code&gt;U+FFFF&lt;/code&gt;&lt;/a&gt;:&lt;/strong&gt;
Fonts with characters outside the Basic Multilingual Plane (e.g. emoji, historic scripts, or private-use glyphs) are now handled correctly.
We also removed FontSources.masks, reducing memory usage and startup time.&lt;/p&gt;
&lt;p&gt;Since not everyone is likely aware of what &lt;code&gt;U+FFFF&lt;/code&gt; means:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;U+0000&lt;/code&gt; - &lt;code&gt;U+FFFF&lt;/code&gt; is Basic Multilingual Plane, which covers characters for almost all modern languages&lt;/li&gt;
&lt;li&gt;&lt;code&gt;U+10000&lt;/code&gt; - &lt;code&gt;U+3347F&lt;/code&gt; covers minor characters such as historic scripts and emojis&lt;/li&gt;
&lt;li&gt;&lt;code&gt;U+E0000&lt;/code&gt; - &lt;code&gt;U+E01EF&lt;/code&gt; is for tags and variation selectors&lt;/li&gt;
&lt;li&gt;&lt;code&gt;U+F0000&lt;/code&gt; - &lt;code&gt;U+10FFFF&lt;/code&gt; is for private use (i.e. can be assigned arbitrary custom characters without worrying about possible conflict with the future standards)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin-top: 1.25rem;&quot;&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Native subpath support:&lt;/strong&gt; A new &lt;code&gt;route_prefix&lt;/code&gt; config option and
&lt;code&gt;--route-prefix&lt;/code&gt; CLI flag allow Martin to serve from a subpath without requiring
reverse-proxy URL rewriting.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;MLT decoding support:&lt;/strong&gt;
Martin now supports the &lt;a href=&quot;https://github.com/maplibre/maplibre-tile-spec/&quot;&gt;MapLibre Tiles Specification (MLT)&lt;/a&gt;, allowing MLT-based tiles to be served directly.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Human-readable time estimates in &lt;code&gt;martin-cp&lt;/code&gt; progress output&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;PostgreSQL materialized view support and improved table metadata&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Check out the &lt;a href=&quot;https://github.com/maplibre/martin/releases/tag/martin-v1.3.0&quot;&gt;full changelog on GitHub&lt;/a&gt;, and as always, thanks to &lt;a href=&quot;https://github.com/yutannihilation&quot;&gt;Hiroaki Yutani&lt;/a&gt;, &lt;a href=&quot;https://github.com/Auspicus&quot;&gt;David E Disch&lt;/a&gt;, &lt;a href=&quot;https://github.com/amandasaurus&quot;&gt;Amanda&lt;/a&gt;, &lt;a href=&quot;https://github.com/kunalsinghdadhwal&quot;&gt;Kunal&lt;/a&gt;, &lt;a href=&quot;https://github.com/thomfuhrmann&quot;&gt;thomfuhrmann&lt;/a&gt;, &lt;a href=&quot;https://github.com/birkskyum&quot;&gt;Birk Skyum&lt;/a&gt;, &lt;a href=&quot;https://github.com/CommanderStorm&quot;&gt;Frank Elsinga&lt;/a&gt; and &lt;a href=&quot;https://github.com/nyurik&quot;&gt;Yuri Astrakhan&lt;/a&gt; who contributed to this release 💙&lt;/p&gt;
&lt;h2 id=&quot;-conferences--events&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-conferences--events&quot;&gt;👥 Conferences &amp;amp; Events&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Last month, members of the MapLibre team were on the ground connecting with the community, sharing updates, and learning alongside fellow open-source contributors at the following events:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://foss4g.asia/2026/&quot;&gt;FOSS4G Asia&lt;/a&gt; in Nashik, India where &lt;a href=&quot;https://maplibre.org/about/frank-elsinga/&quot;&gt;Frank Elsinga&lt;/a&gt; held a &lt;a href=&quot;https://talks.geoinfo-lab.org/foss4g-asia-2026/talk/review/YS39GBKKBZKJRJ9BKNQZP8ZBMKYYYPXP&quot;&gt;workshop on Tile Serving with MapLibre&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.openstreetmap.in/sotm-india/&quot;&gt;State of the Map India&lt;/a&gt; in Nashik, India&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fosdem.org/2026/&quot;&gt;FOSDEM&lt;/a&gt; in Brussels, Belgium where &lt;a href=&quot;https://maplibre.org/about/frank-elsinga/&quot;&gt;Frank Elsinga&lt;/a&gt; and &lt;a href=&quot;https://maplibre.org/about/bart-louwers/&quot;&gt;Bart Louwers&lt;/a&gt; presented &lt;a href=&quot;https://fosdem.org/2026/schedule/event/QAL9VN-state-of-the-maplibre-tile-format/&quot;&gt;State of the MapLibre Tile Format&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;max-width:600px;margin:1.25rem auto 0;padding:0 0.75rem&quot;&gt;&lt;div style=&quot;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:180px auto;gap:0.5rem&quot;&gt;&lt;img src=&quot;https://maplibre.org/_astro/foss4g-asia.Bwzx9ayq_Q9p8W.webp&quot; alt=&quot;Frank&apos;s workshop at FOSS4G Asia&quot; style=&quot;width:100%;height:100%;object-fit:cover;border-radius:0.75rem&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;960&quot; height=&quot;1280&quot;&gt;&lt;img src=&quot;https://maplibre.org/_astro/stickers.DcssBMXC_Z1QQXFN.webp&quot; alt=&quot;MapLibre stickers and conference materials&quot; style=&quot;width:100%;height:100%;object-fit:cover;border-radius:0.75rem&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;4032&quot; height=&quot;3024&quot;&gt;&lt;img src=&quot;https://maplibre.org/_astro/fosdem-brussels.D2TzmtMW_1mCK5K.webp&quot; alt=&quot;MapLibre booth and community interactions at FOSDEM&quot; style=&quot;grid-column:1 / -1;width:100%;height:auto;object-fit:cover;border-radius:0.75rem&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;4032&quot; height=&quot;3024&quot;&gt;&lt;/div&gt;&lt;p style=&quot;margin-top:0.5rem;margin-bottom:0;line-height:1.4;text-align:justify;text-align-last:center&quot;&gt;&lt;em style=&quot;font-size:0.8rem;color:#666;font-style:italic&quot;&gt;&lt;p&gt;MapLibre team members at recent community conferences, including FOSS4G Asia
(Nashik, India), State of the Map India, and FOSDEM (Brussels).&lt;/p&gt;&lt;/em&gt;&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;It was great to meet community members in person, exchange ideas, and represent MapLibre across regions.&lt;/p&gt;
&lt;p&gt;We’re looking forward to attending more events in the coming months. If you’d like to follow along or suggest events we should be part of, please let us know in &lt;a href=&quot;https://github.com/maplibre/maplibre/discussions/484&quot;&gt;this GitHub discussion&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;️-monthly-meetings&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#️-monthly-meetings&quot;&gt;🗓️ Monthly meetings&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;We continue our regular community calls on the &lt;em&gt;&lt;strong&gt;second Wednesday&lt;/strong&gt;&lt;/em&gt; of each month, with an additional session on the last Wednesday to better accommodate Asia/Oceania time zones.&lt;/p&gt;
&lt;p&gt;Upcoming Calls&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;MapLibre Navigation: Feb 11, 2026 – 5:00–6:00 PM UTC&lt;/li&gt;
&lt;li&gt;MapLibre Native: Feb 11, 2026 – 6:00–7:00 PM UTC&lt;/li&gt;
&lt;li&gt;MapLibre GL JS: Feb 11, 2026 – 7:00–8:00 PM UTC&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;🌏 MapLibre Eastern Call&lt;/p&gt;
&lt;p&gt;Held on the last Wednesday of the month at an Asia/Oceania-friendly hour:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Feb 25, 2026 – 9:00–10:00 AM UTC&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;🔗 &lt;a href=&quot;https://notime.zone/OkYx7EDS3F8Hu&quot;&gt;View meeting times in your local timezone&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;All calls are open to everyone. Zoom links are shared in the MapLibre Slack.
Not yet a member? Request an invite via the &lt;a href=&quot;https://slack.openstreetmap.us/&quot;&gt;OpenStreetMap US Slack&lt;/a&gt;.
We’d love to see you there!&lt;/p&gt;
&lt;section data-footnotes=&quot;&quot; class=&quot;footnotes&quot;&gt;&lt;h2 class=&quot;sr-only&quot; id=&quot;footnote-label&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#footnote-label&quot;&gt;Footnotes&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li id=&quot;user-content-fn-1&quot;&gt;
&lt;p&gt;Note: crash reports may include some privacy-sensitive data such as IP addresses (see &lt;a href=&quot;https://maplibre.org/privacy-policy-ios-testapp/&quot;&gt;privacy policy&lt;/a&gt;). &lt;a href=&quot;#user-content-fnref-1&quot; data-footnote-backref=&quot;&quot; aria-label=&quot;Back to reference 1&quot; class=&quot;data-footnote-backref&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded><author/></item><item><title>Announcing MapLibre Tile: a modern and efficient vector tile format</title><link>https://maplibre.org/news/2026-01-23-mlt-release/</link><guid isPermaLink="true">https://maplibre.org/news/2026-01-23-mlt-release/</guid><pubDate>Fri, 23 Jan 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Today we are happy to announce &lt;strong&gt;MapLibre Tile&lt;/strong&gt; (MLT), a new modern and efficient vector tile format.&lt;/p&gt;
&lt;div style=&quot;max-width:1000px;margin:1.5rem auto;text-align:center&quot;&gt;&lt;img src=&quot;https://maplibre.org/_astro/mlt.CaGKYWCo_1VYzVE.webp&quot; alt=&quot;MapLibre Tile Support&quot; style=&quot;width:75%;height:auto;display:block;margin:0 auto;border:1px solid #e5e7eb;border-radius:0.75rem&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;2987&quot; height=&quot;1867&quot; class=&quot;shadow-lg&quot;&gt;&lt;p style=&quot;font-size:0.9rem;color:#666;margin-top:0.5rem;font-style:italic&quot;&gt;&lt;/p&gt;&lt;/div&gt;
&lt;h2 id=&quot;what-is-maplibre-tile&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#what-is-maplibre-tile&quot;&gt;What is MapLibre Tile?&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;MapLibre Tile (MLT) is a successor to &lt;a href=&quot;https://github.com/mapbox/vector-tile-spec&quot;&gt;Mapbox Vector Tile (MVT)&lt;/a&gt;.
It has been redesigned from the ground up to address the challenges of rapidly growing geospatial data volumes
and complex next-generation geospatial source formats, as well as to leverage the capabilities of modern hardware and APIs.&lt;/p&gt;
&lt;p&gt;MLT is specifically designed for modern and next-generation graphics APIs to enable high-performance processing and rendering of
large (planet-scale) 2D and 2.5 basemaps. This current implementation offers feature parity with MVT&lt;sup&gt;&lt;a href=&quot;#user-content-fn-1&quot; id=&quot;user-content-fnref-1&quot; data-footnote-ref=&quot;&quot; aria-describedby=&quot;footnote-label&quot;&gt;1&lt;/a&gt;&lt;/sup&gt; while delivering on the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Improved compression ratio&lt;/strong&gt;: up to 6x on large tiles, based on a column-oriented layout with recursively applied (custom)
lightweight encodings. This leads to reduced latency, storage, and egress costs and, in particular, improved cache utilization.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Better decoding performance&lt;/strong&gt;: fast, lightweight encodings that can be used in combination with SIMD/vectorization instructions.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In addition, MLT was designed to support the following use cases in the future:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Improved support for 3D coordinates&lt;/strong&gt;, i.e. elevation.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Improved processing performance&lt;/strong&gt;, based on storage and in-memory formats that are specifically designed for modern graphics APIs,
allowing for efficient processing on both CPU and GPU. The formats are designed to be loaded into GPU buffers with little or no additional processing.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Support for linear referencing and m-values&lt;/strong&gt; to efficiently support the upcoming next-generation source formats such as Overture Maps (GeoParquet).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Support complex types&lt;/strong&gt;, including nested properties, lists and maps.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;As with any MapLibre project, the future of MLT is decided by the needs of the community. There are a lot of exciting ideas for other future extensions and we welcome contributions to &lt;a href=&quot;https://github.com/maplibre/maplibre-tile-spec&quot;&gt;the project&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For a more in-depth exploration of MLT have a look at the &lt;a href=&quot;https://github.com/mactrem/presentations/blob/main/FOSS4G_2024_Europe/FOSS4G_2024_Europe.pdf&quot;&gt;following slides&lt;/a&gt;, watch
&lt;a href=&quot;https://www.youtube.com/watch?v=YHcoAFcsES0&quot;&gt;this talk&lt;/a&gt; or read &lt;a href=&quot;https://dl.acm.org/doi/10.1145/3748636.3763208&quot;&gt;this publication&lt;/a&gt; by MLT inventor Markus Tremmel.&lt;/p&gt;
&lt;h2 id=&quot;when-can-i-use-it&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#when-can-i-use-it&quot;&gt;When can I use it?&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;For the adventurous, the answer is: &lt;strong&gt;today&lt;/strong&gt;. Both MapLibre GL JS and MapLibre Native now support MLT sources. You can use the new &lt;a href=&quot;https://maplibre.org/maplibre-style-spec/sources/#encoding&quot;&gt;&lt;code&gt;encoding&lt;/code&gt;&lt;/a&gt; property on sources in your style JSON with a value of &lt;code&gt;mlt&lt;/code&gt; for MLT vector tile sources.&lt;/p&gt;
&lt;p&gt;To try out MLT, you have the following options:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The easiest way to try out MLT is to use the &lt;a href=&quot;https://raw.githubusercontent.com/maplibre/demotiles/refs/heads/gh-pages/tiles-mlt/plain.json&quot;&gt;MLT-based demotiles style&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;You can also try out the &lt;a href=&quot;https://github.com/maplibre/maplibre-tile-spec/tree/main/java/encoding-server&quot;&gt;encoding server&lt;/a&gt; that converts existing (MVT-based) styles and vector tile sources to MLT on the fly. This is mostly a tool for development.&lt;/li&gt;
&lt;li&gt;To create tiles for production, you could use &lt;a href=&quot;https://github.com/onthegomap/planetiler&quot;&gt;Planetiler&lt;/a&gt;, as the upcoming version will support generating MLTs.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Refer to &lt;a href=&quot;https://maplibre.org/maplibre-tile-spec/implementation-status/&quot;&gt;this page&lt;/a&gt; for a complete and up-to-date list of integrations and implementations. If you are an integrator working on supporting MLT, feel free to add your own project there.&lt;/p&gt;
&lt;p&gt;We would love to hear your experience with using MLT! Join the &lt;code&gt;#maplibre-tile-format&lt;/code&gt; channel on &lt;a href=&quot;https://maplibre.org/community&quot;&gt;our Slack&lt;/a&gt; or create an Issue or Discussion on the &lt;a href=&quot;https://github.com/maplibre/maplibre-tile-spec&quot;&gt;tile spec repo&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;acknowledgements&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#acknowledgements&quot;&gt;Acknowledgements&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;MapLibre Tile came to be thanks to a multi-year collaboration between academia, open source and enterprise. Thank you to everyone who was involved! We are very proud that our community can innovate like this.&lt;/p&gt;
&lt;p&gt;Special thanks go to Markus Tremmel for inventing the format, Yuri Astrakhan for spearheading the project, Tim Sylvester for the C++ implementation, Harel Mazor, Benedikt Vogl and Niklas Greindl for working on the JavaScript implementation.&lt;/p&gt;
&lt;p&gt;Also thanks to Microsoft and AWS for financing work on MLT.&lt;/p&gt;
&lt;section data-footnotes=&quot;&quot; class=&quot;footnotes&quot;&gt;&lt;h2 class=&quot;sr-only&quot; id=&quot;footnote-label&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#footnote-label&quot;&gt;Footnotes&lt;/a&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li id=&quot;user-content-fn-1&quot;&gt;
&lt;p&gt;One exception: unlike MVT, MLT does not support layers where a value in a column changes type from feature to feature. &lt;a href=&quot;#user-content-fnref-1&quot; data-footnote-backref=&quot;&quot; aria-label=&quot;Back to reference 1&quot; class=&quot;data-footnote-backref&quot;&gt;↩&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;</content:encoded><author/></item><item><title>MapLibre Newsletter December 2025</title><link>https://maplibre.org/news/2026-01-03-maplibre-newsletter-december-2025/</link><guid isPermaLink="true">https://maplibre.org/news/2026-01-03-maplibre-newsletter-december-2025/</guid><pubDate>Sat, 03 Jan 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;As we close out 2025, the MapLibre ecosystem continues to move forward across platforms, tooling, and the broader open-source mapping community. While December is traditionally a quieter month, there’s still plenty to share about performance improvements and new capabilities in MapLibre Native, GL JS, and other community-led initiatives.&lt;/p&gt;
&lt;p&gt;None of this work would be possible without the continued support of our &lt;a href=&quot;https://maplibre.org/sponsors/&quot;&gt;sponsors&lt;/a&gt;, whose contributions help keep MapLibre sustainable and moving forward. Thank you for supporting and here’s wishing our community a Mappy New Year 🗺️🎉.&lt;/p&gt;
&lt;h2 id=&quot;-maplibre-native&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-maplibre-native&quot;&gt;📱 MapLibre Native&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Faster, Synchronous GeoJSON updates:&lt;/strong&gt; The latest releases for MapLibre iOS and Android allow adding GeoJSON sources which use synchronous updates. This is especially useful for time-sensitive GeoJSON layers such as the location puck (the internal location indicator layer on Android has been updated to use a synchronous GeoJSON layer). Please try it out and share your experiences. Thanks &lt;a href=&quot;https://github.com/alexcristici&quot;&gt;Alex Cristici&lt;/a&gt; for implementing this functionality.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Terrain 3D support:&lt;/strong&gt; &lt;a href=&quot;https://github.com/jessecrocker&quot;&gt;Jesse Crocker&lt;/a&gt; and &lt;a href=&quot;https://github.com/NathanMOlson&quot;&gt;Nathan Olson&lt;/a&gt; are cooking up a Terrain 3D implementation for MapLibre Native. Check out the work in progress &lt;a href=&quot;https://github.com/JesseCrocker/maplibre-native/pull/2&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;https://github.com/NathanMOlson/maplibre-native/pull/1&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Enhanced Hillshade &amp;amp; Color-Relief Layers:&lt;/strong&gt; &lt;a href=&quot;https://github.com/acalcutt&quot;&gt;Andrew Calcutt&lt;/a&gt; is working on a PR to &lt;a href=&quot;https://github.com/maplibre/maplibre-native/pull/3965&quot;&gt;update Hillshade Algorithms and add Color-Relief Layer support&lt;/a&gt;. Please have a look, try it out if you can and give his PR a +1!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Android Transform Updates:&lt;/strong&gt; We are still gathering feedback on &lt;a href=&quot;https://github.com/maplibre/maplibre-native/releases/tag/android-v12.3.0-pre0&quot;&gt;an Android pre-release&lt;/a&gt; that enables icon scaling with offsets and makes changes to the transform implementation to allow for concurrent animations. If you’re affected by these changes, please try it and help ensure there are no regressions in your app.&lt;/p&gt;
&lt;p&gt;Releases this month:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;MapLibre Node.js &lt;a href=&quot;https://github.com/maplibre/maplibre-native/releases/tag/node-v6.3.0&quot;&gt;6.3.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;MapLibre Android &lt;a href=&quot;https://github.com/maplibre/maplibre-native/releases/tag/android-v12.3.0&quot;&gt;12.3.0&lt;/a&gt;, &lt;a href=&quot;https://github.com/maplibre/maplibre-native/releases/tag/android-v12.3.1&quot;&gt;12.3.1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;MapLibre iOS &lt;a href=&quot;https://github.com/maplibre/maplibre-native/releases/tag/ios-v6.22.0&quot;&gt;6.22.0&lt;/a&gt;, &lt;a href=&quot;https://github.com/maplibre/maplibre-native/releases/tag/ios-v6.22.1&quot;&gt;6.22.1&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;max-width:600px;margin:1.5rem auto;text-align:center&quot;&gt;&lt;img src=&quot;https://maplibre.org/_astro/mapterhorn.Bq9G6shF_ZoTMB3.webp&quot; alt=&quot;Mapterhorn&quot; sizes=&quot;(min-width: 1024px) 600px, (min-width: 768px) 600px, 100vw&quot; style=&quot;width:100%;height:auto;display:block;border:1px solid #e5e7eb;border-radius:0.75rem&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;3740&quot; height=&quot;2578&quot; class=&quot;shadow-md&quot;&gt;&lt;p&gt;&lt;em style=&quot;font-size:0.85rem;color:#666;margin-top:0.4rem;font-style:italic&quot;&gt; &lt;p&gt;MapLibre Native with &lt;a href=&quot;https://mapterhorn.com/&quot;&gt;Mapterhorn&lt;/a&gt; terrain tiles
(&lt;a href=&quot;https://mapterhorn.com/attribution/&quot;&gt;attribution&lt;/a&gt;) with &lt;code&gt;basic&lt;/code&gt; as
&lt;a href=&quot;https://maplibre.org/maplibre-style-spec/layers/#hillshade-method&quot;&gt;&lt;code&gt;hillshade-method&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;&lt;/em&gt;&lt;/p&gt;&lt;/div&gt;
&lt;h2 id=&quot;-maplibre-gl-js&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-maplibre-gl-js&quot;&gt;🌐 MapLibre GL JS&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Version &lt;a href=&quot;https://github.com/maplibre/maplibre-gl-js/releases/tag/v5.14.0&quot;&gt;5.14.0&lt;/a&gt; and &lt;a href=&quot;https://github.com/maplibre/maplibre-gl-js/releases/tag/v5.15.0&quot;&gt;5.15.0&lt;/a&gt; are now available! These releases include several bug fixes related to terrain, canvas source, abort errors, GeoJSON handling and general packaging improvements.
Another notable addition is support for &lt;a href=&quot;https://maplibre.org/maplibre-style-spec/expressions/#global-state&quot;&gt;&lt;code&gt;global-state&lt;/code&gt;&lt;/a&gt; in expression visibility.&lt;/p&gt;
&lt;p&gt;Many thanks to all the contributors in these releases: &lt;a href=&quot;https://github.com/lucaswoj&quot;&gt;Lucas Wojciechowski&lt;/a&gt;, &lt;a href=&quot;https://github.com/Auspicus&quot;&gt;David E Disch&lt;/a&gt;, &lt;a href=&quot;https://github.com/wayofthefuture&quot;&gt;Ryan&lt;/a&gt;, &lt;a href=&quot;https://github.com/mmc1718&quot;&gt;Mary&lt;/a&gt;, &lt;a href=&quot;https://github.com/andrewda&quot;&gt;Andrew Dassonville&lt;/a&gt;, &lt;a href=&quot;https://github.com/Omkarthipparthi&quot;&gt;Omkarthipparthi&lt;/a&gt;, &lt;a href=&quot;https://github.com/larsmaxfield&quot;&gt;Lars Maxfield&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;GeoJSON Improvements&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Additionally, &lt;a href=&quot;https://github.com/maplibre/geojson-vt&quot;&gt;geojson-vt&lt;/a&gt; has been onboarded to the MapLibre GitHub organisation to support incremental tile updates for GeoJSON. We are also researching solutions to some long-standing issues in GeoJSON usage, such as handling nested and undefined properties.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;MLT TypeScript&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;There’s &lt;a href=&quot;https://github.com/maplibre/maplibre-tile-spec/pull/714&quot;&gt;an open PR to support decoding of FastPFor&lt;/a&gt;, which is the final missing piece for version 1.0 of the tile specification. In parallel, ongoing work is focused on performance optimizations, along with a strong emphasis on unit tests to ensure the codebase is well covered.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;NPM &amp;amp; Tooling&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;We’ve moved all our packages to trusted publishing and aligned the CI workflows to make the changelog and release process consistent across most packages.&lt;/p&gt;
&lt;h2 id=&quot;-martin&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-martin&quot;&gt;🧩 Martin&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Development slowed down a bit over the past month due to the holiday season, but we still managed to ship a handful of useful improvements in the &lt;a href=&quot;https://github.com/maplibre/martin/releases/tag/martin-v1.1.0&quot;&gt;1.1.0&lt;/a&gt; and &lt;a href=&quot;https://github.com/maplibre/martin/releases/tag/martin-v1.2.0&quot;&gt;1.2.0&lt;/a&gt; releases.&lt;/p&gt;
&lt;p&gt;Highlights include better support for automation, more flexible error handling, and a few targeted fixes and performance tweaks:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;code&gt;mbtiles summary&lt;/code&gt; command now supports &lt;code&gt;--format [json | json-pretty | text]&lt;/code&gt;, making it easier to integrate with scripts and other automated tooling (by &lt;a href=&quot;https://github.com/nyurik&quot;&gt;Yuri Astrakhan&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;A new &lt;code&gt;on_invalid: warn&lt;/code&gt; option allows invalid sources to emit warnings instead of aborting execution, giving users more control over failure behavior (by &lt;a href=&quot;https://github.com/gabeschine&quot;&gt;Gabe Schine&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;Fixed an issue where PostgreSQL sources with &lt;code&gt;auto_publish: false&lt;/code&gt; would incorrectly warn about all tables and functions; warnings are now limited to explicitly configured sources (by &lt;a href=&quot;https://github.com/todtb&quot;&gt;Brian Todt&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;martin-cp&lt;/code&gt; now infers default bounds from configured sources, improving performance when copying from sparse source sets (by &lt;a href=&quot;https://github.com/todtb&quot;&gt;Brian Todt&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;Discovery now supports &lt;code&gt;az://&lt;/code&gt; URL schemes, enabling Azure Blob Storage–based workflows (by &lt;a href=&quot;https://github.com/CommanderStorm&quot;&gt;Frank Elsinga&lt;/a&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Even with a quieter month, these changes help smooth out common workflows and make Martin easier to integrate into larger systems.&lt;/p&gt;
&lt;div style=&quot;max-width:540px;margin:2rem auto 1.5rem;text-align:center&quot;&gt;&lt;img src=&quot;https://maplibre.org/_astro/martin.B7cRJPTz_11ahct.webp&quot; alt=&quot;Martin Demo&quot; sizes=&quot;(min-width: 1024px) 540px, (min-width: 768px) 500px, 100vw&quot; style=&quot;width:100%;height:auto;display:block;border:1px solid #e5e7eb;border-radius:0.75rem&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;2874&quot; height=&quot;1020&quot; class=&quot;shadow-md&quot;&gt;&lt;p&gt;&lt;em style=&quot;font-size:0.8rem;color:#666;margin-top:0.4rem;font-style:italic&quot;&gt;&lt;p&gt;Screenshot from &lt;a href=&quot;https://martin.maplibre.org/&quot;&gt;Martin demo site&lt;/a&gt;.&lt;/p&gt;&lt;/em&gt;&lt;/p&gt;&lt;/div&gt;
&lt;h2 id=&quot;-maplibre-swiftui-dsl&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-maplibre-swiftui-dsl&quot;&gt;✨ MapLibre SwiftUI DSL&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;It’s been a few months since our last update, but the &lt;a href=&quot;https://github.com/maplibre/swiftui-dsl&quot;&gt;SwiftUI DSL continues to add new features and receive updates&lt;/a&gt; to keep pace with the latest MapLibre Native releases as well as updates from Apple.&lt;/p&gt;
&lt;p&gt;Some highlights include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Support for the latest SwiftSyntax versions and iOS 26&lt;/li&gt;
&lt;li&gt;A half dozen or so new style property bindings&lt;/li&gt;
&lt;li&gt;Moving more properties to be controlled via the environment, which should help clean up a lot of code going forward!&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Looking back on the year, we’ve picked up quite &lt;a href=&quot;https://github.com/maplibre/swiftui-dsl/graphs/contributors?from=1%2F4%2F2025&quot;&gt;a few new contributors&lt;/a&gt;! While we don’t yet know how this correlates to usage, it’s reasonable to call it a success. Looking forward to 2026, our process for exposing API bindings appears to be working well, so it’s time to consider an automated approach to fill in the rest of the missing bindings. Expect an update in future newsletters, or join us in the &lt;code&gt;#maplibre-swiftui&lt;/code&gt; channel on Slack.&lt;/p&gt;
&lt;h2 id=&quot;-maplibre-flutter&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-maplibre-flutter&quot;&gt;🪶 MapLibre Flutter&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Since the last update in the September newsletter, we’ve continued to focus on good stability and cross-platform experience for developers. Version &lt;a href=&quot;https://pub.dev/packages/maplibre/changelog#031&quot;&gt;0.3.1&lt;/a&gt; and &lt;a href=&quot;https://github.com/josxha/flutter-maplibre/blob/main/maplibre/CHANGELOG.md#032&quot;&gt;0.3.2&lt;/a&gt; have been released, bringing several notable improvements:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Moving to 100% ffi interop on Android. We are looking forward to achieving the same on iOS soon.&lt;/li&gt;
&lt;li&gt;Support for creating map markers from &lt;a href=&quot;https://api.flutter.dev/flutter/material/Icons-class.html&quot;&gt;Material&lt;/a&gt;, &lt;a href=&quot;https://api.flutter.dev/flutter/cupertino/CupertinoIcons-class.html&quot;&gt;Cupertino&lt;/a&gt; or any other Flutter &lt;a href=&quot;https://api.flutter.dev/flutter/widgets/IconData-class.html&quot;&gt;IconData&lt;/a&gt;. These icons can be displayed on the map without any delay between Flutter and the MapLibre map. For the future, support for rendering complete widgets as map markers is planned.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Another exciting release, version &lt;a href=&quot;https://github.com/josxha/flutter-maplibre/milestone/13&quot;&gt;0.3.3&lt;/a&gt;, is coming soon. A big thanks to everyone involved in the progress and development throughout 2025!&lt;/p&gt;
&lt;h2 id=&quot;-ecosystem-spotlight&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-ecosystem-spotlight&quot;&gt;🌍 Ecosystem Spotlight&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Diplomat Plugin&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The &lt;a href=&quot;https://americanamap.org/&quot;&gt;OpenStreetMap Americana&lt;/a&gt; team has released &lt;a href=&quot;https://github.com/osm-americana/diplomat/&quot;&gt;Diplomat&lt;/a&gt;, a new MapLibre GL JS plugin for converting labels into different languages. Diplomat supports dual language labels and all major tile schemas.&lt;/p&gt;
&lt;div style=&quot;max-width:560px;margin:2.5rem auto&quot;&gt;&lt;div style=&quot;display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start&quot;&gt;&lt;div style=&quot;text-align:center&quot;&gt;&lt;img src=&quot;https://maplibre.org/_astro/diplomat-before.WyoUrdFQ_1JHaGz.webp&quot; alt=&quot;Before: single-language labels&quot; sizes=&quot;(min-width: 768px) 260px, 100vw&quot; style=&quot;width:100%;height:auto;border-radius:0.5rem&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;800&quot; height=&quot;600&quot; class=&quot;shadow-sm&quot;&gt;&lt;p style=&quot;font-size:0.75rem;color:#666;margin-top:0.4rem&quot;&gt;&lt;em&gt;Before: single-language labeling&lt;/em&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style=&quot;text-align:center&quot;&gt;&lt;img src=&quot;https://maplibre.org/_astro/diplomat-after.DurStBrn_nkbIm.webp&quot; alt=&quot;After: dual-language labels with Diplomat&quot; sizes=&quot;(min-width: 768px) 260px, 100vw&quot; style=&quot;width:100%;height:auto;border-radius:0.5rem&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;830&quot; height=&quot;620&quot; class=&quot;shadow-sm&quot;&gt;&lt;p style=&quot;font-size:0.75rem;color:#666;margin-top:0.4rem&quot;&gt;&lt;em&gt;After: dual-language labels with Diplomat&lt;/em&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;display:flex;justify-content:center;margin-top:0.6rem&quot;&gt;&lt;p style=&quot;font-size:0.75rem;color:#666;white-space:nowrap;margin:0&quot;&gt;&lt;em style=&quot;margin:0.6rem auto 0;font-size:0.75rem;color:#666;text-align:center;white-space:nowrap&quot;&gt;&lt;p&gt;Map data ©&lt;a href=&quot;https://www.openstreetmap.org&quot;&gt;OpenStreetMap contributors&lt;/a&gt;. Tiles by &lt;a href=&quot;https://openmaptiles.org/&quot;&gt;OpenMapTiles&lt;/a&gt;.&lt;/p&gt;&lt;/em&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;OpenStreetMap Website Migration&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;There has also been steady progress on migrating the OpenStreetMap website to MapLibre. So far, &lt;a href=&quot;https://github.com/openstreetmap/openstreetmap-website/pull/6504&quot;&gt;the dashboard landing page has been migrated&lt;/a&gt;, while many other pages are still pending.&lt;/p&gt;
&lt;p&gt;If you’re interested in contributing to this effort, &lt;a href=&quot;https://github.com/openstreetmap/openstreetmap-website/issues/6234&quot;&gt;here’s the issue&lt;/a&gt; outlining the overall plan and remaining work.&lt;/p&gt;
&lt;h2 id=&quot;-conferences&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-conferences&quot;&gt;👥 Conferences&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;We plan to participate and contribute to sessions/workshops in the following events this month.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://foss4g.asia/2026/&quot;&gt;FOSS4G Asia 2026&lt;/a&gt;, held in &lt;a href=&quot;https://www.openstreetmap.org/relation/10345696#map=11/19.9724/73.7560&quot;&gt;Nashik, Maharashtra, India&lt;/a&gt;, from 21–25 January 2026&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.openstreetmap.in/sotm-india/&quot;&gt;State of the Map India 2026 (SOTM India)&lt;/a&gt;, taking place on 25-January 2026&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://fosdem.org/2026/&quot;&gt;FOSDEM 2026&lt;/a&gt; in &lt;a href=&quot;https://www.openstreetmap.org/relation/58274&quot;&gt;Brussels&lt;/a&gt; on 31-January &amp;amp; 3-February 2026 where &lt;a href=&quot;https://fosdem.org/2026/schedule/event/QAL9VN-state-of-the-maplibre-tile-format/&quot;&gt;Bart Lowers &amp;amp; Frank Elsinga will be presenting a talk on State of the MapLibre Tile Format&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;FOSS4G Asia Talks to watch out for:&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 0.5rem; color:#666; font-size: 0.85rem;&quot;&gt;&lt;em&gt;&lt;em&gt;All times are in Indian Standard Time (IST, UTC +5:30).&lt;/em&gt; &lt;/em&gt;&lt;/p&gt;
&lt;div style=&quot;overflow-x: auto;&quot;&gt;&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 0.95rem; min-width: 600px;&quot;&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style=&quot;border-bottom: 1px solid #ccc; text-align: left; padding: 8px 12px;&quot;&gt;Talk/Workshop&lt;/th&gt;&lt;th style=&quot;border-bottom: 1px solid #ccc; text-align: left; padding: 8px 12px; min-width: 90px;&quot;&gt;Date&lt;/th&gt;&lt;th style=&quot;border-bottom: 1px solid #ccc; text-align: left; padding: 8px 12px;&quot;&gt;Time&lt;/th&gt;&lt;th style=&quot;border-bottom: 1px solid #ccc; text-align: left; padding: 8px 12px;&quot;&gt;Duration&lt;/th&gt;&lt;th style=&quot;border-bottom: 1px solid #ccc; text-align: left; padding: 8px 12px;&quot;&gt;Location&lt;/th&gt;&lt;th style=&quot;border-bottom: 1px solid #ccc; text-align: left; padding: 8px 12px;&quot;&gt;Presenter&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;&lt;p&gt;Tile serving with MapLibre / Martin / Planetiler: base and overlays&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;Jan 21&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;14:30–16:30&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;2h&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;Room 1&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;Frank Elsinga&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;&lt;p&gt;High-performance &amp;amp; large-scale geospatial visualisation using MapLibre and Deck.GL (with React)&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;Jan 22&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;09:00–11:00&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;2h&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;Room 1&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;Srijit S. Madhavan&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;&lt;p&gt;State of the MapLibre Tile Format&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;Jan 23&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;15:00–15:30&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;30 min&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;Room 2&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;Frank Elsinga&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;&lt;p&gt;Next Generation Tile Server Performance Now&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;Jan 24&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;11:00–11:40&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;40 min&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;Room 1&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;Frank Elsinga&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;&lt;p&gt;Faster Maps, Smaller MapLibre Vector Tiles, and What’s Next&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;Jan 24&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;11:45–12:15&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;30 min&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;Room 1&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;Frank Elsinga&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;h2 id=&quot;️-monthly-meetings&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#️-monthly-meetings&quot;&gt;🗓️ Monthly meetings&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;We continue our regular community calls on the &lt;em&gt;&lt;strong&gt;second Wednesday&lt;/strong&gt;&lt;/em&gt; of each month, with an additional session on the last Wednesday to better accommodate Asia/Oceania time zones.&lt;/p&gt;
&lt;p&gt;Upcoming Calls&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;MapLibre Navigation: Jan 14, 2026 – 5:00–6:00 PM UTC&lt;/li&gt;
&lt;li&gt;MapLibre Native: Jan 14, 2026 – 6:00–7:00 PM UTC&lt;/li&gt;
&lt;li&gt;MapLibre GL JS: Jan 14, 2026 – 7:00–8:00 PM UTC&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;🌏 MapLibre Eastern Call&lt;/p&gt;
&lt;p&gt;Held on the last Wednesday of the month at an Asia/Oceania-friendly hour:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Jan 28, 2026 – 9:00–10:00 AM UTC&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;🔗 &lt;a href=&quot;https://notime.zone/OiHU31IVvQCi6&quot;&gt;View meeting times in your local timezone&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;All calls are open to everyone. Zoom links are shared in the MapLibre Slack.
Not yet a member? Request an invite via the &lt;a href=&quot;https://slack.openstreetmap.us/&quot;&gt;OpenStreetMap US Slack&lt;/a&gt;.
We’d love to see you there!&lt;/p&gt;</content:encoded><author/></item><item><title>MapLibre Newsletter November 2025</title><link>https://maplibre.org/news/2025-12-02-maplibre-newsletter-november-2025/</link><guid isPermaLink="true">https://maplibre.org/news/2025-12-02-maplibre-newsletter-november-2025/</guid><pubDate>Tue, 02 Dec 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;We open this edition by acknowledging AWS for their continued support of MapLibre during 2023–2025. Their contribution plays an important role in sustaining the growth of our open-source ecosystem.&lt;/p&gt;
&lt;div style=&quot;background-color:white;padding:2rem;border:10px solid #cfd8dc;border-radius:0;margin:0 auto 3rem;max-width:960px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem&quot;&gt;&lt;div style=&quot;display:flex;justify-content:center;align-items:center;gap:3rem;flex-wrap:wrap;width:100%&quot;&gt;&lt;img src=&quot;https://maplibre.org/_astro/maplibre-logo-for-light-bg.CSR25x_s_Z22k2tS.svg&quot; alt=&quot;MapLibre logo&quot; style=&quot;max-height:80px;width:auto;object-fit:contain&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;1354&quot; height=&quot;317&quot;&gt;&lt;img src=&quot;https://maplibre.org/_astro/aws-logo.C7ssGeEp_Zhh0X2.svg&quot; alt=&quot;AWS logo&quot; style=&quot;max-height:80px;width:auto;object-fit:contain&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;304&quot; height=&quot;182&quot;&gt;&lt;/div&gt;&lt;div style=&quot;margin-top:0.5rem;font-size:1rem;text-align:center;color:#263238;font-style:italic;max-width:42rem&quot;&gt;&lt;p&gt;Our gratitude goes to AWS for their continued multi-year commitment to
MapLibre (2023-2025).&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;The highlight of this month is the landmark release of Martin v1.0, a major milestone for the project. We also bring updates across MapLibre Native and GL JS, a new video export plugin from the community, and information on upcoming community calls.&lt;/p&gt;
&lt;h2 id=&quot;-martin&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-martin&quot;&gt;🧩 Martin&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;🎉 After 8 years in development, &lt;a href=&quot;https://maplibre.org/martin/introduction.html&quot;&gt;Martin v1.0&lt;/a&gt; is here! 🎉&lt;/p&gt;
&lt;p&gt;We are thrilled to announce &lt;a href=&quot;https://github.com/maplibre/martin/releases/tag/martin-v1.0.0&quot;&gt;the official release of Martin v1.0&lt;/a&gt;. Since joining MapLibre in 2022, Martin has evolved from a simple tile server supporting a single PostgreSQL connection into the fastest, feature-rich, open-source tile server available today.&lt;/p&gt;
&lt;p&gt;This incredible progress is thanks to &lt;a href=&quot;https://github.com/maplibre/martin/graphs/contributors&quot;&gt;over 80 contributors&lt;/a&gt; who have expanded Martin’s capabilities to include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Multiple Data Sources&lt;/strong&gt;: Support for multiple PostgreSQL, PMTiles, and MBTiles backends.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MapLibre Ecosystem&lt;/strong&gt;: Full support for fonts, sprites, and styles.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Powerful Features&lt;/strong&gt;: A rich web UI, plus tools for tile generation and MBTiles manipulation.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Developer Flexibility&lt;/strong&gt;: The ability to use Martin as a library for building custom tile-serving solutions.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A special thanks to Stepan Kuzmin, the original author, and to key contributors Yuri Astrakhan, Frank Elsinga, and Lucas, along with everyone else who made this project a success!&lt;/p&gt;
&lt;h2 id=&quot;-maplibre-native&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-maplibre-native&quot;&gt;📱 MapLibre Native&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Please help us test the new MapLibre Android pre-release, &lt;a href=&quot;https://github.com/maplibre/maplibre-native/releases/tag/android-v12.3.0-pre0&quot;&gt;&lt;code&gt;v12.3.0-pre0&lt;/code&gt;&lt;/a&gt; (available on Maven Central). Two features need testing:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;icon placement with pitched maps (especially if you use &lt;code&gt;icon-offset&lt;/code&gt;) and&lt;/li&gt;
&lt;li&gt;camera animations.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Since we don’t have a large QA team, we rely on the community to help ensure enhancements don’t inadvertently break existing apps. Please report back, even if everything worked as expected.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;We made a new release of the &lt;a href=&quot;https://github.com/maplibre/maplibre-native/releases/tag/android-testapp-b30207bcb92396afc77c7456a68706adeecca50c&quot;&gt;MapLibre Android test app&lt;/a&gt;. If you have an Android device lying around, you can help us improve the stability of MapLibre Android by installing this app and starting the “long running test” activity. Any crashes will be automatically reported to MapLibre developers.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The test app helped us find &lt;a href=&quot;https://github.com/maplibre/maplibre-native/pull/3962&quot;&gt;and fix&lt;/a&gt; a long-standing bug of the Vulkan backend that we were not able to reproduce before. This was one of the last &lt;a href=&quot;https://github.com/maplibre/maplibre-native/issues/3387&quot;&gt;blockers&lt;/a&gt; for one of our users that wanted to use&lt;a href=&quot;https://central.sonatype.com/artifact/org.maplibre.gl/android-sdk-vulkan&quot;&gt;the Vulkan build&lt;/a&gt; of MapLibre Android.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Releases&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;MapLibre Android &lt;a href=&quot;https://github.com/maplibre/maplibre-native/releases/tag/android-v12.2.0&quot;&gt;12.2.0&lt;/a&gt;, &lt;a href=&quot;https://github.com/maplibre/maplibre-native/releases/tag/android-v12.1.3&quot;&gt;12.1.3&lt;/a&gt;, &lt;a href=&quot;https://github.com/maplibre/maplibre-native/releases/tag/android-v12.1.2&quot;&gt;12.1.2&lt;/a&gt;, &lt;a href=&quot;https://github.com/maplibre/maplibre-native/releases/tag/android-v12.1.1&quot;&gt;12.1.1&lt;/a&gt;, &lt;a href=&quot;https://github.com/maplibre/maplibre-native/releases/tag/android-v12.1.0&quot;&gt;12.1.0&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;MapLibre iOS &lt;a href=&quot;https://github.com/maplibre/maplibre-native/releases/tag/ios-v6.21.1&quot;&gt;6.21.1&lt;/a&gt;, &lt;a href=&quot;https://github.com/maplibre/maplibre-native/releases/tag/ios-v6.21.0&quot;&gt;6.21.0&lt;/a&gt;, &lt;a href=&quot;https://github.com/maplibre/maplibre-native/releases/tag/ios-v6.20.1&quot;&gt;6.20.1&lt;/a&gt;, &lt;a href=&quot;https://github.com/maplibre/maplibre-native/releases/tag/ios-v6.20.0&quot;&gt;6.20.0&lt;/a&gt;, &lt;a href=&quot;https://github.com/maplibre/maplibre-native/releases/tag/ios-v6.18.0-patch0&quot;&gt;6.18.0-patch0&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;We also recommend reading this detailed community post by Ahmed, on &lt;a href=&quot;https://helw.net/2025/11/16/maplibre-on-android-auto/&quot;&gt;MapLibre performance on Android Auto&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;-maplibre-gl-js&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-maplibre-gl-js&quot;&gt;🌐 MapLibre GL JS&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;We have released two major versions this month: &lt;a href=&quot;https://github.com/maplibre/maplibre-gl-js/releases/tag/v5.12.0&quot;&gt;v5.12&lt;/a&gt; and &lt;a href=&quot;https://github.com/maplibre/maplibre-gl-js/releases/tag/v5.13.0&quot;&gt;v5.13&lt;/a&gt;.
The main feature that was added as part of these versions is support for MLT (MapLibre Tiles)!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Experimental Tile Slicing&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;We’ve introduced an experimental feature for slicing vector tiles on the fly, this solves some precision issues with labels and improves performance for high zoom levels.&lt;/li&gt;
&lt;li&gt;We will probably make this feature non experimental and define a different default in the next breaking change version (version 6, for which the timeline is yet to be defined), so it would be great if you could give it a try, check out the &lt;a href=&quot;https://maplibre.org/maplibre-gl-js/docs/API/type-aliases/MapOptions/#experimentalzoomlevelstooverscale&quot;&gt;&lt;code&gt;experimentalZoomLevelsToOverscale&lt;/code&gt;&lt;/a&gt; flag.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;GeoJSON Optimizations &amp;amp; Font Updates&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;There were a lot of performance improvements to the GeoJSON source along side addressing a context restore blank map issue.&lt;/li&gt;
&lt;li&gt;In these versions there was also a leap forward in term of font support by &lt;a href=&quot;https://github.com/maplibre/maplibre-gl-js/pull/6640&quot;&gt;adding uncommon Chinese, Japanese, Korean, and Vietnamese characters&lt;/a&gt; along side allowing &lt;code&gt;glyph&lt;/code&gt; to be removed and use the browser native text rendering capabilities, which can improve support for rendering text in all kind of languages.&lt;/li&gt;
&lt;li&gt;Styles are no longer strictly tied to server-side glyph PBFs: they can render text using local or Web fonts whenever PBFs are unavailable. This enhances &lt;a href=&quot;https://en.wikipedia.org/wiki/CJK_characters&quot;&gt;CJK text rendering&lt;/a&gt;, supporting bold/italic variants and resolving Japanese character misalignment.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;text-align:center;margin:2rem 0&quot;&gt;&lt;table style=&quot;margin:0 auto&quot;&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style=&quot;padding:0.5rem;font-size:0.75rem;color:#cfd8dc;font-weight:400&quot;&gt;&lt;p&gt;Before&lt;/p&gt;&lt;/th&gt;&lt;th style=&quot;padding:0.5rem;font-size:0.75rem;color:#cfd8dc;font-weight:400&quot;&gt;&lt;p&gt;After&lt;/p&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;padding:0.5rem&quot;&gt;&lt;img width=&quot;360&quot; src=&quot;https://maplibre.org/_astro/font_before.CUBep2xI.png&quot; alt=&quot;Font rendering before improvements&quot;&gt;&lt;/td&gt;&lt;td style=&quot;padding:0.5rem&quot;&gt;&lt;img width=&quot;360&quot; src=&quot;https://maplibre.org/_astro/font_after.BKwqwUyT.png&quot; alt=&quot;Font rendering after improvements&quot;&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style=&quot;font-size:0.75rem;color:#666;margin-top:0.5rem;font-style:italic&quot;&gt;&lt;em&gt;Example from the font improvements testing: see more cases in the &lt;a href=&quot;https://github.com/maplibre/maplibre-gl-js/pull/6640#issue-3575277749&quot;&gt;GitHub comment thread&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;🤝 Thanks to all the contributors this month! Lucas Wojciechowski, Ryan, Lars Maxfield, Tohold, Niklas Greindl, Benedikt Vogl, Minh Nguyễn.&lt;/p&gt;
&lt;h2 id=&quot;-maplibre-gl-video-export-plugin&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-maplibre-gl-video-export-plugin&quot;&gt;🎥 MapLibre GL Video Export Plugin&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Brice Person has made &lt;a href=&quot;https://github.com/bjperson/maplibre-gl-video-export/releases/tag/v0.1.0&quot;&gt;the first release&lt;/a&gt; of an open-source plugin for MapLibre GL JS that enables video export with animated camera movements.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What it does:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Exports videos (WebM/MP4) directly from MapLibre GL maps&lt;/li&gt;
&lt;li&gt;28 preset animations (orbit, drone shots, terrain-aware paths, etc.)&lt;/li&gt;
&lt;li&gt;Waypoints system for defining points of interest&lt;/li&gt;
&lt;li&gt;WebM VP9 recommended (royalty-free, hardware-accelerated)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Technical approach:&lt;/strong&gt;
Uses MapLibre GL JS v5.11.0+ time control API (&lt;code&gt;setNow()&lt;/code&gt;) for deterministic frame-by-frame rendering, ensuring smooth exports without screen recording artifacts.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Resource Links:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GitHub: &lt;a href=&quot;https://github.com/bjperson/maplibre-gl-video-export&quot;&gt;https://github.com/bjperson/maplibre-gl-video-export&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Live demo: &lt;a href=&quot;https://bjperson.github.io/maplibre-gl-video-export/&quot;&gt;https://bjperson.github.io/maplibre-gl-video-export/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;npm: &lt;a href=&quot;https://www.npmjs.com/package/maplibre-gl-video-export&quot;&gt;https://www.npmjs.com/package/maplibre-gl-video-export&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Feedback and contributions welcome!&lt;/p&gt;
&lt;p&gt;License: BSD-3-Clause&lt;/p&gt;
&lt;h2 id=&quot;️-monthly-meetings&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#️-monthly-meetings&quot;&gt;🗓️ Monthly meetings&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;We continue our regular community calls on the &lt;em&gt;&lt;strong&gt;second Wednesday&lt;/strong&gt;&lt;/em&gt; of each month, with an additional session on the last Wednesday to better accommodate Asia/Oceania time zones.&lt;/p&gt;
&lt;p&gt;Upcoming Calls&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;MapLibre Navigation: Dec 10, 2025 – 5:00–6:00 PM UTC&lt;/li&gt;
&lt;li&gt;MapLibre Native: Dec 10, 2025 – 6:00–7:00 PM UTC&lt;/li&gt;
&lt;li&gt;MapLibre GL JS: Dec 10, 2025 – 7:00–8:00 PM UTC&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;🌏 MapLibre Eastern Call&lt;/p&gt;
&lt;p&gt;Held on the last Wednesday of the month at an Asia/Oceania-friendly hour:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Dec 31, 2025 – 9:00–10:00 AM UTC&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;🔗 &lt;a href=&quot;https://notime.zone/OfXch6EjYJg9K&quot;&gt;View meeting times in your local timezone&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;All calls are open to everyone. Zoom links are shared in the MapLibre Slack.
Not yet a member? Request an invite via the &lt;a href=&quot;https://slack.openstreetmap.us/&quot;&gt;OpenStreetMap US Slack&lt;/a&gt;.
We’d love to see you there!&lt;/p&gt;</content:encoded><author/></item><item><title>MapLibre Newsletter October 2025</title><link>https://maplibre.org/news/2025-11-04-maplibre-newsletter-october-2025/</link><guid isPermaLink="true">https://maplibre.org/news/2025-11-04-maplibre-newsletter-october-2025/</guid><pubDate>Tue, 04 Nov 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;We begin this edition with sincere appreciation for &lt;a href=&quot;https://radar.com/&quot;&gt;Radar&lt;/a&gt;, whose ongoing sponsorship helps sustain the MapLibre community.
Welcome to the MapLibre Newsletter, October 2025 edition!&lt;/p&gt;
&lt;div style=&quot;background-color:white;padding:2rem;border:10px solid #cfd8dc;border-radius:0;margin-bottom:3rem;display:flex;justify-content:center;align-items:center;gap:2rem;flex-wrap:nowrap;overflow:hidden;flex-direction:column&quot;&gt;&lt;div style=&quot;display:flex;justify-content:center;align-items:center;gap:2rem;flex-wrap:nowrap;width:100%&quot;&gt;&lt;img src=&quot;https://maplibre.org/_astro/maplibre-logo-for-light-bg.CSR25x_s_Z22k2tS.svg&quot; alt=&quot;MapLibre logo&quot; style=&quot;width:40%;max-width:300px;height:auto;object-fit:contain&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;1354&quot; height=&quot;317&quot;&gt;&lt;img src=&quot;https://maplibre.org/_astro/radar-logo.VfLTpC7x_63TQO.svg&quot; alt=&quot;Radar logo&quot; style=&quot;width:40%;max-width:330px;height:auto;object-fit:contain&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;572&quot; height=&quot;135&quot;&gt;&lt;/div&gt;&lt;div style=&quot;margin-top:1rem;font-size:1rem;text-align:center;color:#263238;font-style:italic&quot;&gt;&lt;p&gt;Thank you Radar for your sustained support to MapLibre (2023–2025) 🙌&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Before diving into the updates, we’ve added a new .github repository, giving the MapLibre GitHub organization a fresh, welcoming README! Check it out here: &lt;a href=&quot;https://github.com/maplibre&quot;&gt;https://github.com/maplibre&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&quot;-maplibre-native&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-maplibre-native&quot;&gt;📱 MapLibre Native&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Releases&lt;/p&gt;
&lt;ul class=&quot;releases&quot;&gt;&lt;li&gt;&lt;p&gt;MapLibre Android:
&lt;a href=&quot;https://github.com/maplibre/maplibre-native/releases/tag/android-v12.0.0&quot;&gt;12.0.0&lt;/a&gt;,
&lt;a href=&quot;https://github.com/maplibre/maplibre-native/releases/tag/android-v12.0.1&quot;&gt;12.0.1&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;MapLibre iOS:
&lt;a href=&quot;https://github.com/maplibre/maplibre-native/releases/tag/ios-v6.19.2&quot;&gt;6.19.2&lt;/a&gt;,
&lt;a href=&quot;https://github.com/maplibre/maplibre-native/releases/tag/ios-v6.19.3&quot;&gt;6.19.3&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Birk Skyum contributed WebGPU support in &lt;a href=&quot;https://github.com/maplibre/maplibre-native/pull/3899&quot;&gt;#3899&lt;/a&gt;.
This means now either wgpu (new) or Dawn can be used as a backend.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/maplibre/maplibre-native-qt&quot;&gt;MapLibre Native Qt&lt;/a&gt;: The SDK has been updated to the latest version of MapLibre Native, which had moved more than 1000 commits ahead. As a result, there is now support for Vulkan, Metal, OpenGL 3.0, PMTiles and other upstream improvements. This is already on the main branch which can be used for self-building, and it will be part of the upcoming 4.0 release.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;We kicked off
the MapLibre Native hackathon. Joining late is possible. Please use the form if
you want to
&lt;a href=&quot;https://docs.google.com/forms/d/e/1FAIpQLSfbJe7VohJmbtK83T0s5C49WYxkmKlr424ZPJFrWWwk5LFxVA/viewform?usp=send_form&quot;&gt;join&lt;/a&gt;.
Projects will be demoed at the MapLibre Native TSC Meeting on 12 November 2025.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;-maplibre-gl-js&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-maplibre-gl-js&quot;&gt;🌐 MapLibre GL JS&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;We have released two major versions this month: &lt;a href=&quot;https://github.com/maplibre/maplibre-gl-js/releases/tag/v5.9.0&quot;&gt;v5.9.0&lt;/a&gt; and &lt;a href=&quot;https://github.com/maplibre/maplibre-gl-js/releases/tag/v5.10.0&quot;&gt;5.10.0&lt;/a&gt;.
The major highlights of these versions are the support for both &lt;code&gt;line-dasharray&lt;/code&gt; and &lt;code&gt;line-gradient&lt;/code&gt; which looks very nice as can be seen &lt;a href=&quot;https://maplibre.org/maplibre-gl-js/docs/examples/create-a-gradient-dashed-line-using-an-expression/&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;div style=&quot;max-width:1000px;margin:1.5rem auto;text-align:center&quot;&gt;&lt;img src=&quot;https://maplibre.org/_astro/linedash.C70HUlQP_ZNSWYq.webp&quot; alt=&quot;Dash with gradient&quot; sizes=&quot;(min-width: 1280px) 1000px, (min-width: 768px) 800px, 100vw&quot; style=&quot;width:100%;height:auto;display:block;border:1px solid #e5e7eb;border-radius:0.75rem&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;1200&quot; height=&quot;500&quot; class=&quot;shadow-lg&quot;&gt;&lt;p style=&quot;font-size:0.9rem;color:#666;margin-top:0.5rem;font-style:italic&quot;&gt;&lt;em&gt; Dash with gradient &lt;/em&gt;&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;There was also the addition of time control APIs to allow creating videos, and the &lt;code&gt;transformConstrain&lt;/code&gt; hook 🪝 to allow changing how the view is constrained, for example by allowing more padding to the map for applications that might not need a “classic” map. &lt;em&gt;(Check out the &lt;a href=&quot;https://github.com/maplibre/maplibre-gl-js/issues/4510&quot;&gt;GitHub issue&lt;/a&gt; for further details)&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;🙏 Thanks Brice Person, Christian Neumann, Lars Maxfield, Federico Tibaldo, Lucas Wojciechowski, Manuel Emeriau, Andrew Dassonville, Ryan Scully, Samarth Otiya, Corado Burcus for your contributions!&lt;/p&gt;
&lt;p&gt;We are also working on integrating MLT (MapLibre Tiles) into maplibre-gl-js. We have a &lt;a href=&quot;https://github.com/maplibre/maplibre-gl-js/pull/6570&quot;&gt;draft PR&lt;/a&gt; which you can start playing with, we are aiming for an initial support in November, and we will continue the journey of improving its performance and capabilities going forward.
The TypeScript MLT decoder package pre-release can be found on &lt;a href=&quot;https://www.npmjs.com/package/@maplibre/mlt&quot;&gt;npm&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Last but not least we are exploring ways to change how maplibre-gl-js over-scales vector tiles at high zoom levels.
The following two interconnected PRs are a first draft on solving that, but we need more feedback from developers to know if this is the right approach and if this is something that can be useful. The main motivation around these PRs is to solve a Safari crash on mobile devices when there are a lot of lines and a lot of labels in high zoom levels (contours is the obvious example for this).&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/maplibre/maplibre-gl-js/pull/6521&quot;&gt;https://github.com/maplibre/maplibre-gl-js/pull/6521&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/maplibre/maplibre-gl-js/pull/6617&quot;&gt;https://github.com/maplibre/maplibre-gl-js/pull/6617&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;-martin&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-martin&quot;&gt;🧩 Martin&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;Martin v0.20.0 - the final step before 1.0 🎉&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;This month in Martin, we have published version v0.20.0&lt;/p&gt;
&lt;p&gt;We’re getting close!&lt;/p&gt;
&lt;p&gt;This release marks what we expect to be the &lt;strong&gt;final beta before Martin v1.0&lt;/strong&gt;.
The architecture is now locked down, and unless we uncover major bugs, this version will be &lt;strong&gt;re-published as v1.0&lt;/strong&gt; within the next week.&lt;/p&gt;
&lt;p&gt;Huge thanks to everyone contributing code, reviews, testing, and feedback — you make Martin faster, more reliable, and more welcoming ❤️&lt;/p&gt;
&lt;p&gt;The hallmark features in this release are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;⚡ &lt;strong&gt;Smarter, more flexible cache&lt;/strong&gt;
The cache is now split into multiple parts — sprites, fonts, PMTiles directories, and tiles — each with its own configurable limit.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Tip: Sprites and fonts are now cached too, speeding up vector map rendering.&lt;/p&gt;
&lt;p&gt;Here is the effect on a small production deployment:&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div style=&quot;max-width:1000px;margin:1.5rem auto;text-align:center&quot;&gt;&lt;img src=&quot;https://maplibre.org/_astro/martin.l6aw5cTy_Z1mYrbe.webp&quot; alt=&quot;Martin performance dashboard&quot; sizes=&quot;(min-width: 1280px) 1000px, (min-width: 768px) 800px, 100vw&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; style=&quot;width:100%;height:auto;display:block;border:1px solid #e5e7eb;border-radius:0.75rem&quot; class=&quot;shadow-lg&quot; width=&quot;1332&quot; height=&quot;276&quot;&gt;&lt;p style=&quot;font-size:0.9rem;color:#666;margin-top:0.5rem;font-style:italic&quot;&gt;&lt;em&gt;Performance metrics on a small production deployment&lt;/em&gt;&lt;/p&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;☁️ &lt;strong&gt;PMTiles: now for GCP, Azure, and more&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Martin &lt;a href=&quot;https://maplibre.org/martin/sources-files.html#serving-pmtiles-from-local-file-systems-http-or-object-storage&quot;&gt;now supports the following pmtiles backends&lt;/a&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Google Cloud and Azure object storage&lt;/li&gt;
&lt;li&gt;Expanded AWS and HTTP backends&lt;/li&gt;
&lt;li&gt;Local files as before&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🧪 &lt;strong&gt;Experimental: server-side style rendering&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;You can now render MapLibre styles directly on the server to generate raster tiles. Still experimental, but great for early non-production testing.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Because of the level of maturity, we demoted the &lt;code&gt;cog&lt;/code&gt; feature to &lt;code&gt;unstable-cog&lt;/code&gt;. This means that it is not avaliable in the default bundle anymore, as the feature is still evolving.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If all goes smoothly, expect &lt;strong&gt;Martin v1.0.0 final&lt;/strong&gt; very soon 🚀
Thanks again to everyone in the community for making this possible!&lt;/p&gt;
&lt;h2 id=&quot;-conferences&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-conferences&quot;&gt;👥 Conferences&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;We plan to participate and contribute to sessions/workshops in the following events this month.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.foss4gna.org/&quot;&gt;FOSS4G North America 2025&lt;/a&gt;, 3-4 Nov, 2025&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://2025.stateofthemap.eu/&quot;&gt;SOTM EU 2025&lt;/a&gt;, 14-15 Nov, 2025 in Scotland. Watch out for &lt;a href=&quot;https://pretalx.com/sotmeu2025/talk/QFFEAW/&quot;&gt;Bart Louwers workshop&lt;/a&gt;!&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://2025.foss4g.org/&quot;&gt;FOSS4G Global&lt;/a&gt;, 17-23 Nov, 2025 in Auckland&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;FOSS4G Talks to watch out for:&lt;/p&gt;
&lt;p style=&quot;margin-bottom: 0.5rem; color:#666; font-size: 0.85rem;&quot;&gt;&lt;p&gt;&lt;em&gt;All times are in Pacific/Auckland (NZDT).&lt;/em&gt;&lt;/p&gt;&lt;/p&gt;
&lt;div style=&quot;overflow-x: auto;&quot;&gt;&lt;table style=&quot;width: 100%; border-collapse: collapse; font-size: 0.95rem; min-width: 600px;&quot;&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style=&quot;border-bottom: 1px solid #ccc; text-align: left; padding: 8px 12px;&quot;&gt;Talk/Workshop&lt;/th&gt;&lt;th style=&quot;border-bottom: 1px solid #ccc; text-align: left; padding: 8px 12px; min-width: 90px;&quot;&gt;Date&lt;/th&gt;&lt;th style=&quot;border-bottom: 1px solid #ccc; text-align: left; padding: 8px 12px;&quot;&gt;Time&lt;/th&gt;&lt;th style=&quot;border-bottom: 1px solid #ccc; text-align: left; padding: 8px 12px;&quot;&gt;Duration&lt;/th&gt;&lt;th style=&quot;border-bottom: 1px solid #ccc; text-align: left; padding: 8px 12px;&quot;&gt;Location&lt;/th&gt;&lt;th style=&quot;border-bottom: 1px solid #ccc; text-align: left; padding: 8px 12px;&quot;&gt;Presenter&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;&lt;p&gt;Tile serving with MapLibre / Martin / Planetiler — base and overlays&lt;/p&gt;&lt;span style=&quot;display:block; color:#666; font-style:italic; margin-top:2px;&quot;&gt;&lt;p&gt;(Beginner-friendly workshop)&lt;/p&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;Nov 17&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;13:30–16:30&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;3h&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;WF702&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;Yuri Astrakhan&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;&lt;a href=&quot;https://talks.osgeo.org/foss4g-2025/talk/BMWWR9/&quot;&gt;&lt;p&gt;Standalone Web Maps, No Platform Required&lt;/p&gt;&lt;/a&gt;&lt;span style=&quot;display:block; color:#666; font-style:italic; margin-top:2px;&quot;&gt;&lt;p&gt;(Beginner-friendly workshop)&lt;/p&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;Nov 18&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;09:00–12:00&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;3h&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;WF711&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;Stephanie May&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;&lt;p&gt;Terra Draw — cross-platform drawing library for all map applications&lt;/p&gt;&lt;span style=&quot;display:block; color:#666; font-style:italic; margin-top:2px;&quot;&gt;&lt;p&gt;(Intermediate-level Workshop)&lt;/p&gt;&lt;/span&gt;&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;Nov 18&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;09:00&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;3h&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;WF702&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;Jin Igarashi&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;MapLibre — from data to tile rendering, in one status update&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;Nov 19&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;11:00&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;25 min&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;WG308 TE IRINGA&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;Yuri Astrakhan&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;Assessment of Display Performance &amp;amp; Comparative Evaluation of Web Map Libraries for Extensive 3D Geospatial Data&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;Nov 19&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;11:00&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;25 min&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;WG404&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;Toshikazu Seto&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;Implementing Interactive Indoor Maps with MapLibre and IMDF&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;Nov 19&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;15:30&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;25 min&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;WA220&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;Haruki Inoue&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;maplibre-gl-terradraw — new drawing plugin for maplibre-gl-js&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;Nov 19&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;16:00&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;25 min&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;WG404&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;Jin Igarashi&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;deck.gl State of the Union 2025: Globe View, React Widgets, and WebGPU Readiness&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;Nov 19&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;16:30&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;25 min&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;WG308 TE IRINGA&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;Felix Palmer&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;“Chef’s Kiss” Webmaps with Svelte, MapLibre &amp;amp; PMTiles&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;Nov 20&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;09:30&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;25 min&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;WG126&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;Rami DV&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;Fast, Free, and (Mostly) Painless: Getting Started with Open-Source Web Mapping&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;Nov 20&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;09:35&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;5 min&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;WG403&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;Luke Sussex&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;Saving lives with GIS: Engineering our open-source mapping stack&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;Nov 20&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;16:00&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;25 min&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;WG126&lt;/td&gt;&lt;td style=&quot;padding: 8px 12px;&quot;&gt;Stacy Rendall&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p&gt; &lt;/p&gt;
&lt;h2 id=&quot;️-monthly-meetings&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#️-monthly-meetings&quot;&gt;🗓️ Monthly meetings&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;We continue our regular community calls on the &lt;em&gt;&lt;strong&gt;second Wednesday&lt;/strong&gt;&lt;/em&gt; of each month, with an additional session on the last Wednesday to better accommodate Asia/Oceania time zones.&lt;/p&gt;
&lt;p&gt;Upcoming Calls&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;MapLibre Navigation: Nov 12, 2025 – 4:00–5:00 PM UTC&lt;/li&gt;
&lt;li&gt;MapLibre Native: Nov 12, 2025 – 5:00–6:00 PM UTC&lt;/li&gt;
&lt;li&gt;MapLibre GL JS: Nov 12, 2025 – 6:00–7:00 PM UTC&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;🌏 MapLibre Eastern Call&lt;/p&gt;
&lt;p&gt;Held on the last Wednesday of the month at an Asia/Oceania-friendly hour:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Nov 26, 2025 – 9:00–10:00 AM UTC&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;🔗 &lt;a href=&quot;https://notime.zone/OdI1PlUA4gZPM&quot;&gt;View meeting times in your local timezone&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;All calls are open to everyone. Zoom links are shared in the MapLibre Slack.
Not yet a member? Request an invite via the &lt;a href=&quot;https://slack.openstreetmap.us/&quot;&gt;OpenStreetMap US Slack&lt;/a&gt;.
We’d love to see you there!&lt;/p&gt;</content:encoded><author/></item><item><title>MapLibre Newsletter September 2025</title><link>https://maplibre.org/news/2025-10-04-maplibre-newsletter-september-2025/</link><guid isPermaLink="true">https://maplibre.org/news/2025-10-04-maplibre-newsletter-september-2025/</guid><pubDate>Sat, 04 Oct 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Welcome to the MapLibre Newsletter, September 2025 edition!&lt;/p&gt;
&lt;p&gt;This edition features advances in MapLibre Native, GL JS, Flutter, Martin, and more. Plus, we’ve given &lt;a href=&quot;https://maplibre.org/roadmap/&quot;&gt;our roadmap section&lt;/a&gt; a fresh redesign. Go check it out to see what’s in progress, what’s under consideration, and what’s been released.
A big thanks to &lt;a href=&quot;https://maplibre.org/about/birk-skyum/&quot;&gt;Birk&lt;/a&gt; for driving this initiative forward. 🙌&lt;/p&gt;
&lt;p&gt;With that note, let’s dive in!&lt;/p&gt;
&lt;h2 id=&quot;-maplibre-native&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-maplibre-native&quot;&gt;📱 MapLibre Native&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;The C++ MapLibre Tiles decoder, written by Tim Sylvester, &lt;a href=&quot;https://github.com/maplibre/maplibre-tile-spec/pull/441&quot;&gt;got merged&lt;/a&gt; this month. He also worked on the &lt;a href=&quot;https://github.com/maplibre/maplibre-tile-spec/tree/main/java&quot;&gt;Java &lt;em&gt;encoder&lt;/em&gt;&lt;/a&gt;, the &lt;a href=&quot;https://github.com/maplibre/maplibre-native/pull/3246&quot;&gt;integration into MapLibre Native&lt;/a&gt; and a new &lt;a href=&quot;https://github.com/maplibre/maplibre-style-spec/pull/1251&quot;&gt;&lt;code&gt;encoding&lt;/code&gt;&lt;/a&gt; style spec property for vector sources. After some last-minute optimizations this month, the MapLibre Tile Spec itself is now considered &lt;a href=&quot;https://github.com/maplibre/maplibre-tile-spec/pull/560&quot;&gt;stable&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Long story short, all lights are on green you will be able to use the next-generation tile format with MapLibre Native soon (before the end of the year?). Stay tuned!&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://maplibre.org/about/birk-skyum/&quot;&gt;Birk Skyum&lt;/a&gt; has contributed a &lt;a href=&quot;https://github.com/maplibre/maplibre-native/pull/3838&quot;&gt;WebGPU backend&lt;/a&gt; for MapLibre Native. We already have dedicated backends for Vulkan, Metal and OpenGL, but the advantage of the new WebGPU backend is that it makes Native more portable.&lt;/p&gt;
&lt;p&gt;Previously we &lt;a href=&quot;https://birkskyum-maplibre-native-wasm.pages.dev/qt-for-webassembly/webgl1-from-opengl2-legacy-renderer-qt6-9-1/&quot;&gt;demonstrated&lt;/a&gt; that MapLibre Native can run in the browser as WebAssembly by compiling the OpenGL backend to WebGL1/2 but that approach is heavy. The WebGPU backend will be significantly more performant.&lt;/p&gt;
&lt;p&gt;Additionally, the WebGPU backend can simplify cross-platform development with frameworks like Compose Multiplatform and Flutter, by offering a single backend that can be used for all desktop/mobile/web targets.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;We have enabled &lt;a href=&quot;https://github.blog/changelog/2025-08-26-releases-now-support-immutability-in-public-preview/&quot;&gt;immutable releases&lt;/a&gt;. A GitHub feature that makes it impossible to tamper with release assets.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;🧑‍💻 Join the MapLibre Native Hackathon!&lt;/p&gt;
&lt;p&gt;Hack on the MapLibre Native codebase with guidance from expert contributors. Build plugins, fix bugs, add features,anything goes!&lt;/p&gt;
&lt;p&gt;The hackathon kicks off on Oct 27, 2025, includes office hours on Nov 3 &amp;amp; 10, and wraps up with Demo Day on Nov 12 at the MapLibre Native monthly meeting.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://docs.google.com/forms/d/e/1FAIpQLSfbJe7VohJmbtK83T0s5C49WYxkmKlr424ZPJFrWWwk5LFxVA/viewform&quot;&gt;Sign up here&lt;/a&gt; to learn, experiment, and shape the future of the project&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;-maplibre-gl-js&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-maplibre-gl-js&quot;&gt;🌐 MapLibre GL JS&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;September was a busy month with four new releases:&lt;a href=&quot;https://github.com/maplibre/maplibre-gl-js/releases/tag/v5.7.1&quot;&gt;5.7.1&lt;/a&gt;, &lt;a href=&quot;https://github.com/maplibre/maplibre-gl-js/releases/tag/v5.7.2&quot;&gt;5.7.2&lt;/a&gt;, &lt;a href=&quot;https://github.com/maplibre/maplibre-gl-js/releases/tag/v5.7.3&quot;&gt;5.7.3&lt;/a&gt; and &lt;a href=&quot;https://github.com/maplibre/maplibre-gl-js/releases/tag/v5.8.0&quot;&gt;5.8.0&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The latest one, 5.8.0, stands out, as it introduces data-driven styling for &lt;a href=&quot;https://maplibre.org/maplibre-style-spec/layers/#line-dasharray&quot;&gt;line-dasharray&lt;/a&gt;, a long-awaited feature and &lt;a href=&quot;https://github.com/maplibre/maplibre-gl-js/issues/1235&quot;&gt;the most upvoted issue&lt;/a&gt; in our tracker. Thanks &lt;a href=&quot;https://github.com/lucaswoj&quot;&gt;Lucas (@lucaswoj)&lt;/a&gt; for this great contribution! We are super excited someone in the community decided to work on it.&lt;/p&gt;
&lt;p&gt;Other improvements this month include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Fixes for raster tile fading, with more enhancements coming soon thanks to Ryan (&lt;a href=&quot;https://github.com/wayofthefuture&quot;&gt;@wayofthefuture&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;Numerous fixes to &lt;a href=&quot;https://maplibre.org/maplibre-style-spec/expressions/#global-state&quot;&gt;&lt;code&gt;global-state&lt;/code&gt;&lt;/a&gt;, primarily led by &lt;a href=&quot;https://github.com/melitele&quot;&gt;@melitele&lt;/a&gt;, significantly ironing out most of the related issues.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;-maplibre-tile-specification&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-maplibre-tile-specification&quot;&gt;📝 MapLibre Tile Specification&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The &lt;a href=&quot;https://github.com/maplibre/maplibre-tile-spec&quot;&gt;MapLibre Tile Specification&lt;/a&gt; project is now stable. This first version focuses on functional compatibility with &lt;a href=&quot;https://wiki.openstreetmap.org/wiki/Vector_tiles&quot;&gt;MVT&lt;/a&gt;, with other functionality still experimental and subject to change.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://maplibre.org/roadmap/maplibre-tile-format/&quot;&gt;MLT (MapLibre Tile)&lt;/a&gt; is a new vector tile format designed for efficient storage and rendering of map data, optimized for the MapLibre ecosystem.&lt;/p&gt;
&lt;p&gt;We have added an &lt;a href=&quot;https://maplibre.org/maplibre-tile-spec/implementation-status/&quot;&gt;implementation status overview page&lt;/a&gt; to the documentation site of the MapLibre Tile Specification. Here you can track the status of (planned) implementations and integrations, or add your own.&lt;/p&gt;
&lt;h2 id=&quot;️-maputnik&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#️-maputnik&quot;&gt;✏️ Maputnik&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;This month has been a very productive one for &lt;a href=&quot;https://maputnik.github.io/&quot;&gt;our small style editor&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Maputnik had recently gained the status of a &lt;a href=&quot;https://github.com/maplibre/maplibre/blob/main/PROJECT_TIERS.md#supported-project&quot;&gt;“supported project”&lt;/a&gt; in MapLibre, so if there’s something you’d like to work on and get paid this is now possible.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://maplibre.org/about/harel-mazor/&quot;&gt;Harel&lt;/a&gt; has been working hard to update all the libraries to their latest versions, including React to version 19. This upgrade required replacing outdated libraries that are no longer maintained and fixing issues across the existing codebase.&lt;/p&gt;
&lt;p&gt;We also added support for more recent changes to the &lt;a href=&quot;https://maplibre.org/maplibre-style-spec/&quot;&gt;MapLibre Style Spec&lt;/a&gt;, such as &lt;a href=&quot;https://maplibre.org/maplibre-gl-js/docs/examples/display-a-globe-with-a-vector-map/&quot;&gt;globe projection&lt;/a&gt; and &lt;a href=&quot;https://maplibre.org/maplibre-style-spec/expressions/#global-state&quot;&gt;&lt;code&gt;global-state&lt;/code&gt;&lt;/a&gt;, along with several lesser-known fields introduced in recent years.&lt;/p&gt;
&lt;p&gt;This marks a strong start to Maputnik’s new status, and we believe that the more stable and widely used it becomes, the more features it will receive from this great community.&lt;/p&gt;
&lt;div style=&quot;max-width:1000px;margin:1.5rem auto;text-align:center&quot;&gt;&lt;img src=&quot;https://maplibre.org/_astro/maputnik.CUYEFEil_Z1zrUh8.webp&quot; alt=&quot;Maputnik editor interface&quot; sizes=&quot;(min-width: 1280px) 1000px, (min-width: 768px) 800px, 100vw&quot; style=&quot;width:100%;height:auto;display:block;border:1px solid #e5e7eb;border-radius:0.75rem&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;2866&quot; height=&quot;1616&quot; class=&quot;shadow-lg&quot;&gt;&lt;p style=&quot;font-size:0.9rem;color:#666;margin-top:0.5rem;font-style:italic&quot;&gt;&lt;em&gt; Maputnik editor interface &lt;/em&gt;&lt;/p&gt;&lt;/div&gt;
&lt;h2 id=&quot;-maplibre-flutter&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-maplibre-flutter&quot;&gt;🪶 MapLibre Flutter&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;This month brings a big step forward for the &lt;a href=&quot;https://github.com/josxha/flutter-maplibre&quot;&gt;MapLibre Flutter plugin&lt;/a&gt;: MapLibre Flutter &lt;a href=&quot;https://github.com/josxha/flutter-maplibre/releases/tag/v0.3.0&quot;&gt;v0.3.0&lt;/a&gt; has been released.&lt;/p&gt;
&lt;p&gt;The highlight of this release is full iOS support, enabled through native interoperability between Dart and Swift/ObjC. With this, MapLibre Flutter now runs across Android, iOS, and the web using a modern codebase.&lt;/p&gt;
&lt;p&gt;All MapLibre SDK versions have been updated:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;iOS: &lt;a href=&quot;https://github.com/maplibre/maplibre-native/releases/tag/ios-v6.19.1&quot;&gt;v6.19.1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Android: &lt;a href=&quot;https://github.com/maplibre/maplibre-native/releases/tag/android-v11.13.5&quot;&gt;v11.13.5&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Web: &lt;a href=&quot;https://github.com/maplibre/maplibre-gl-js/releases/tag/v5.8.0&quot;&gt;v5.8.0&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A major ongoing goal for the package is to deliver a seamless cross-platform experience. A map style can now be added as a JSON string, via a Flutter assets path, or through a URI on all platforms. Additionally, PMTiles support on the web has been added to achieve feature parity with Android and iOS.&lt;/p&gt;
&lt;p&gt;More functionality has made its way into this release. You can find all user facing changes in the &lt;a href=&quot;https://pub.dev/packages/maplibre/changelog#030&quot;&gt;changelog&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;-martin&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-martin&quot;&gt;🧩 Martin&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;This month, &lt;a href=&quot;https://martin.maplibre.org/&quot;&gt;Martin&lt;/a&gt; has undergone significant refactoring.&lt;/p&gt;
&lt;p&gt;For those not following Martin’s versioning closely: before reaching v1.0, we are doing SemVer-breaking releases for each minor version (every X in 0.X.Y), since Martin is also published as a Rust library, allowing you to build your own tile server using its internals.&lt;/p&gt;
&lt;p&gt;We’ve now refactored the core functionality into a separate library, &lt;a href=&quot;http://lib.rs/martin-core&quot;&gt;&lt;code&gt;martin-core&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Other highlights this month include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;New warnings for misspelled config keys.&lt;/li&gt;
&lt;li&gt;A brand new logo thanks to Ryan (&lt;a href=&quot;https://github.com/wayofthefuture&quot;&gt;@wayofthefuture&lt;/a&gt;) 🎉.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;On the road to v1.0, we are currently working on three key features:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;OGC API Tiles–compliant source discovery&lt;/li&gt;
&lt;li&gt;Server-side style raster tile rendering&lt;/li&gt;
&lt;li&gt;PMTiles sources for more cloud providers, beyond just AWS S3&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We’re on track to release Martin v1.0 by the FOSS4G conference in November. You can follow the ongoing work in &lt;a href=&quot;https://github.com/maplibre/martin/discussions/1805&quot;&gt;this GitHub discussion&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Like other MapLibre projects, Martin has also hardened its CI and release infrastructure against supply chain attacks in this release. We are now publishing immutable, attested releases via CI instead of manually.
Further details are available &lt;a href=&quot;https://slack.openstreetmap.us/&quot;&gt;on Slack&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;-maplibre-native-rs&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-maplibre-native-rs&quot;&gt;🦀 maplibre-native-rs&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The MapLibre Native Rust bindings have seen a steady stream of changes to enable server-side map rendering (rasterization) for Martin and other projects.&lt;/p&gt;
&lt;p&gt;We currently offer a single-instance Pool for rendering tiles, which already provides solid performance. MapLibre Native internally uses multithreading.&lt;/p&gt;
&lt;p&gt;Work is ongoing to design a multi-instance Pool, and we’re actively seeking feedback. If you have complex server-side rendering use cases, we’d love to hear from you to ensure the upcoming APIs work well for your needs.&lt;/p&gt;
&lt;div style=&quot;max-width:900px;margin:1.5rem auto;text-align:center&quot;&gt;&lt;img src=&quot;https://maplibre.org/_astro/tile-rendering.BBdvesPJ_ZTwMA1.webp&quot; alt=&quot;Tile rendering using maplibre-native-rs&quot; sizes=&quot;(min-width: 1280px) 900px, (min-width: 768px) 700px, 100vw&quot; style=&quot;width:100%;height:auto;display:block;border:1px solid #e5e7eb;border-radius:0.75rem&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;1920&quot; height=&quot;1080&quot; class=&quot;shadow-md&quot;&gt;&lt;p style=&quot;font-size:0.9rem;color:#666;margin-top:0.5rem;font-style:italic&quot;&gt;&lt;em&gt; Tile rendering using maplibre-native-rs&lt;/em&gt;&lt;/p&gt;&lt;/div&gt;
&lt;h2 id=&quot;-spatial-k-onboarding&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-spatial-k-onboarding&quot;&gt;🎉 Spatial K Onboarding&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;We have on-boarded &lt;a href=&quot;https://maplibre.org/spatial-k/&quot;&gt;Spatial K&lt;/a&gt; (onboarding &lt;a href=&quot;https://github.com/maplibre/maplibre/issues/475&quot;&gt;ticket&lt;/a&gt;), a set of libraries for working with geospatial data in Kotlin, created by &lt;a href=&quot;https://github.com/dellisd&quot;&gt;Derek Ellis&lt;/a&gt; and generously passed over to MapLibre for continued collective maintenance.&lt;/p&gt;
&lt;p&gt;Spatial K includes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;An implementation of GeoJSON&lt;/li&gt;
&lt;li&gt;A port of &lt;a href=&quot;https://turfjs.org/&quot;&gt;Turf.js&lt;/a&gt; written in pure Kotlin&lt;/li&gt;
&lt;li&gt;Kotlin Multiplatform support&lt;/li&gt;
&lt;li&gt;A Kotlin DSL for building GeoJSON objects&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It is already in use by &lt;a href=&quot;https://maplibre.org/maplibre-compose/&quot;&gt;MapLibre Compose&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Expanding on Spatial K:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GeoKJSON: There is a fork of Spatial K named &lt;a href=&quot;https://elcolto.github.io/GeoKJSON/&quot;&gt;GeoKJSON&lt;/a&gt; by &lt;a href=&quot;https://github.com/elcolto&quot;&gt;Sebastian Heeschen&lt;/a&gt;, which we will be able to upstream into Spatial K, with Sebastian’s guidance. See the &lt;a href=&quot;https://github.com/maplibre/spatial-k/issues/170&quot;&gt;ticket&lt;/a&gt; for the porting effort.&lt;/li&gt;
&lt;li&gt;MapLibre Java: There is significant overlap between Spatial K and &lt;a href=&quot;https://github.com/maplibre/maplibre-java&quot;&gt;MapLibre Java&lt;/a&gt;, especially after the recent &lt;a href=&quot;https://github.com/maplibre/maplibre-java/pull/40&quot;&gt;refactor to Kotlin&lt;/a&gt; by &lt;a href=&quot;https://github.com/Fabi755&quot;&gt;Fabian Keunecke&lt;/a&gt;. This work will help fill in gaps in Spatial K, enabling better alignment between the libraries. See the &lt;a href=&quot;https://github.com/maplibre/spatial-k/issues/154&quot;&gt;ticket&lt;/a&gt; for details.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;️-monthly-meetings&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#️-monthly-meetings&quot;&gt;🗓️ Monthly meetings&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;We continue our regular community calls on the &lt;em&gt;&lt;strong&gt;second Wednesday&lt;/strong&gt;&lt;/em&gt; of each month, with an additional session on the last Wednesday to better accommodate Asia/Oceania time zones.&lt;/p&gt;
&lt;p&gt;Upcoming Calls&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;MapLibre Navigation: Oct 08, 2025 – 4:00–5:00 PM UTC&lt;/li&gt;
&lt;li&gt;MapLibre Native: Oct 08, 2025 – 5:00–6:00 PM UTC&lt;/li&gt;
&lt;li&gt;MapLibre GL JS: Oct 08, 2025 – 6:00–7:00 PM UTC&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;🌏 MapLibre Eastern Call&lt;/p&gt;
&lt;p&gt;Held on the last Wednesday of the month at an Asia/Oceania-friendly hour:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Oct 29, 2025 – 9:00–10:00 AM UTC&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;🔗 &lt;a href=&quot;https://notime.zone/Oau-Xba7n3s15&quot;&gt;View meeting times in your local timezone&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;All calls are open to everyone. Zoom links are shared in the MapLibre Slack.
Not yet a member? Request an invite via the &lt;a href=&quot;https://slack.openstreetmap.us/&quot;&gt;OpenStreetMap US Slack&lt;/a&gt;.
We’d love to see you there!&lt;/p&gt;</content:encoded><author/></item><item><title>Results of the 2025 MapLibre Governing Board Election</title><link>https://maplibre.org/news/2025-09-22-board-elections-2025/</link><guid isPermaLink="true">https://maplibre.org/news/2025-09-22-board-elections-2025/</guid><pubDate>Mon, 22 Sep 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;We are happy to announce the results of the 2025 MapLibre Governing Board election and also welcome our newest Voting Members. A big thanks to everyone who participated in this year’s election process.
Your engagement is what keeps MapLibre a strong, community-driven project.&lt;/p&gt;
&lt;h2 id=&quot;board-results&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#board-results&quot;&gt;Board Results&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The following members have been elected to serve on the 2025 MapLibre Governing Board:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/maplibre/maplibre/discussions/445#discussioncomment-13864204&quot;&gt;Yuri Astrakhan&lt;/a&gt; (incumbent)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/maplibre/maplibre/discussions/445#discussioncomment-14103318&quot;&gt;Frank Elsinga&lt;/a&gt; (new)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/maplibre/maplibre/discussions/445#discussioncomment-14097777&quot;&gt;Stephanie May&lt;/a&gt; (new)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/maplibre/maplibre/discussions/445#discussioncomment-13754385&quot;&gt;Birk Skyum&lt;/a&gt; (incumbent)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/maplibre/maplibre/discussions/445#discussioncomment-14074961&quot;&gt;Haowen You&lt;/a&gt; (incumbent)&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;text-align:center&quot;&gt;&lt;img src=&quot;https://maplibre.org/_astro/board.BRyhKS80_Qrn2A.webp&quot; style=&quot;max-width:800px;max-height:800px;width:100%;height:auto;display:inline-block&quot; alt=&quot;2025 Board Members&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;1778&quot; height=&quot;516&quot;&gt;&lt;p style=&quot;font-size:0.9rem;color:#555;margin-top:8px;font-style:italic&quot;&gt;&lt;em&gt;MapLibre Board Members 2025&lt;/em&gt;&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;🎉 We are delighted to welcome &lt;a href=&quot;https://maplibre.org/about/frank-elsinga/&quot;&gt;Frank Elsinga&lt;/a&gt; and &lt;a href=&quot;https://maplibre.org/about/stephanie-may/&quot;&gt;Stephanie May&lt;/a&gt; as new members of the Board, along with incumbents &lt;a href=&quot;https://maplibre.org/about/yuri-astrakhan/&quot;&gt;Yuri Astrakhan&lt;/a&gt;, &lt;a href=&quot;https://maplibre.org/about/birk-skyum/&quot;&gt;Birk Skyum&lt;/a&gt;, and &lt;a href=&quot;https://maplibre.org/about/haowen-you/&quot;&gt;Haowen You&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;💐 We appreciate the participation of &lt;a href=&quot;https://github.com/maplibre/maplibre/discussions/445#discussioncomment-14109430&quot;&gt;Stefan Karschti&lt;/a&gt;, who contested in this year’s election and continues to be an active member of our community.&lt;/p&gt;
&lt;p&gt;🙏 Finally, we express our sincere gratitude to &lt;a href=&quot;https://maplibre.org/about/luke-seelenbinder/&quot;&gt;Luke Seelenbinder&lt;/a&gt; and &lt;a href=&quot;https://maplibre.org/about/petr-pridal/&quot;&gt;Petr Pridal&lt;/a&gt;, who have generously volunteered their time and energy as Governing Board members for three terms. Their contributions have been invaluable in strengthening MapLibre’s foundation and growth.&lt;/p&gt;
&lt;h2 id=&quot;-key-election-statistics&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-key-election-statistics&quot;&gt;📊 Key Election Statistics&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Total eligible voters (Voting Members): 141&lt;/li&gt;
&lt;li&gt;Ballots cast: 92&lt;/li&gt;
&lt;li&gt;Voter turnout: ~65% (highest since 2022)&lt;/li&gt;
&lt;li&gt;Seats available: 5 (out of 6 candidates)&lt;/li&gt;
&lt;li&gt;Election method: Conducted online using &lt;a href=&quot;https://opavote.com/&quot;&gt;OpaVote&lt;/a&gt;, with ranked-choice voting (Meek STV).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;👉 Checkout the detailed election results on &lt;a href=&quot;https://github.com/maplibre/maplibre/tree/main/2025-polls&quot;&gt;GitHub&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;️-new-voting-members&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#️-new-voting-members&quot;&gt;🗳️ New Voting Members&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;As part of the &lt;a href=&quot;https://github.com/maplibre/maplibre/issues/447&quot;&gt;2025 Governing Board election process&lt;/a&gt;, we held &lt;a href=&quot;https://github.com/maplibre/maplibre/issues/446&quot;&gt;a round of nominations&lt;/a&gt; to expand the Voting Members group. Voting Members are responsible for electing the Governing Board and voting on changes to the &lt;a href=&quot;https://github.com/maplibre/maplibre/blob/main/CHARTER.md&quot;&gt;MapLibre Charter&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We’re pleased to welcome &lt;a href=&quot;https://github.com/maplibre/maplibre/issues/446#issuecomment-3224717918&quot;&gt;19 new Voting Members&lt;/a&gt; this August and look forward to their contributions in shaping MapLibre’s future.&lt;/p&gt;
&lt;p&gt;You can checkout &lt;a href=&quot;https://github.com/maplibre/maplibre/blob/main/VOTING_MEMBERS.md&quot;&gt;the full list of 141 Voting Members in our GitHub documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We extend our appreciation to all candidates, Voting Members, and the wider community for supporting MapLibre’s mission.&lt;/p&gt;
&lt;p&gt;Looking forward to an exciting year ahead!&lt;/p&gt;</content:encoded><author/></item><item><title>MapLibre Newsletter August 2025</title><link>https://maplibre.org/news/2025-09-04-maplibre-newsletter-august-2025/</link><guid isPermaLink="true">https://maplibre.org/news/2025-09-04-maplibre-newsletter-august-2025/</guid><pubDate>Thu, 04 Sep 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;August was a busy month for the MapLibre community. From welcoming new Voting Members as part of the Governing Board election process to new releases across key projects, there is plenty of progress to celebrate.&lt;/p&gt;
&lt;p&gt;First and foremost, we extend our gratitude to &lt;a href=&quot;https://www.microsoft.com&quot;&gt;Microsoft&lt;/a&gt; for continuing, and increasing their sponsorship for MapLibre this year. Their contribution has nearly doubled, elevating them to Gold Sponsor and providing vital support for the sustainability of our projects.&lt;/p&gt;
&lt;div style=&quot;background-color:white;padding:2rem;border:10px solid;border-image:linear-gradient(45deg, #d4af37, #f5deb3, #d4af37) 1;border-radius:0;margin-bottom:3rem;display:flex;justify-content:center;align-items:center;gap:2rem;flex-wrap:nowrap;overflow:hidden;flex-direction:column&quot;&gt;&lt;div style=&quot;display:flex;justify-content:center;align-items:center;gap:2rem;flex-wrap:nowrap;width:100%&quot;&gt;&lt;img src=&quot;https://maplibre.org/_astro/maplibre-logo-for-light-bg.CSR25x_s_Z22k2tS.svg&quot; alt=&quot;MapLibre logo&quot; style=&quot;width:40%;max-width:300px;height:auto;object-fit:contain&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;1354&quot; height=&quot;317&quot;&gt;&lt;img src=&quot;https://maplibre.org/_astro/msft-logo.DUrbL_2n_ZEHDNz.svg&quot; alt=&quot;Microsoft logo&quot; style=&quot;width:40%;max-width:330px;height:auto;object-fit:contain&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;338&quot; height=&quot;72&quot;&gt;&lt;/div&gt;&lt;div style=&quot;margin-top:1rem;font-size:1rem;text-align:center;color:#263238;font-style:italic&quot;&gt; &lt;p&gt;Many thanks to Microsoft for their steadfast support to MapLibre (2023-2025)
🎉&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;h2 id=&quot;️-new-voting-members&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#️-new-voting-members&quot;&gt;🗳️ New Voting Members&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;As part of the &lt;a href=&quot;https://github.com/maplibre/maplibre/issues/447&quot;&gt;2025 Governing Board election process&lt;/a&gt;, we held &lt;a href=&quot;https://github.com/maplibre/maplibre/issues/446&quot;&gt;a round of nominations&lt;/a&gt; to expand the Voting Members group. Voting Members are responsible for electing the Governing Board and voting on changes to the &lt;a href=&quot;https://github.com/maplibre/maplibre/blob/main/CHARTER.md&quot;&gt;MapLibre Charter&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We’re pleased to welcome &lt;a href=&quot;https://github.com/maplibre/maplibre/issues/446#issuecomment-3224717918&quot;&gt;19 new Voting Members&lt;/a&gt; this August and look forward to their contributions in shaping MapLibre’s future.&lt;/p&gt;
&lt;p&gt;You can checkout &lt;a href=&quot;https://github.com/maplibre/maplibre/blob/main/VOTING_MEMBERS.md&quot;&gt;the full list of 141 Voting Members in our GitHub documentation&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;-maplibre-native&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-maplibre-native&quot;&gt;📱 MapLibre Native&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Want to help test MapLibre Android?&lt;/strong&gt; In addition to our existing continuous integration tests we are taking a crowdsourced approach to testing. We now make releases of the &lt;a href=&quot;https://github.com/maplibre/maplibre-native/releases?q=android-testapp&amp;amp;expanded=true&quot;&gt;MapLibre Android TestApp&lt;/a&gt;. If you want to help, simply download the apk and install it on a Android device you have laying around. Next, open the ‘Long running Maps’ activity and let it run for up to 72 hours! Crashes are logged to our &lt;a href=&quot;https://sentry.io/welcome/&quot;&gt;Sentry&lt;/a&gt; so that MapLibre developers can investigate and fix issues.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;text-align:center&quot;&gt;&lt;img src=&quot;https://maplibre.org/_astro/native-testapp.CLOhIiAj_1IrmxI.webp&quot; style=&quot;max-width:300px;max-height:600px;width:100%;height:auto;display:inline-block&quot; alt=&quot;Android TestApp running the long running test (or &apos;Desert Bus&apos;)&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;1440&quot; height=&quot;3040&quot;&gt;&lt;p style=&quot;font-size:0.9rem;color:#aaa;margin-top:8px;font-style:italic&quot;&gt;&lt;em&gt;Android TestApp running the long running test (or ‘Desert Bus’)&lt;/em&gt;&lt;/p&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;MapLibre Android 11 was released well over a year ago, but some people are still on MapLibre Android 10.x.x. We made a &lt;a href=&quot;https://github.com/maplibre/maplibre-native/releases/tag/android-v10.3.5&quot;&gt;release&lt;/a&gt; for this previous major release to bring 16 KB pages support since Google will &lt;a href=&quot;https://android-developers.googleblog.com/2025/05/prepare-play-apps-for-devices-with-16kb-page-size.html&quot;&gt;require&lt;/a&gt; it for apps on the Google Play store starting November 1.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Two minor regular releases &lt;a href=&quot;https://github.com/maplibre/maplibre-native/releases/tag/android-v11.13.1&quot;&gt;MapLibre Android 11.13.1&lt;/a&gt; and &lt;a href=&quot;https://github.com/maplibre/maplibre-native/releases/tag/ios-v6.18.1&quot;&gt;MapLibre iOS 6.18.1&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/maplibre/maplibre-native/releases/tag/node-v6.2.0&quot;&gt;MapLibre Node.js&lt;/a&gt; also had a release that fixes a problem where it would not render more than 32 frames.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;-maplibre-gl-js&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-maplibre-gl-js&quot;&gt;🌐 MapLibre GL JS&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Version &lt;a href=&quot;https://github.com/maplibre/maplibre-gl-js/releases/tag/v5.6.2&quot;&gt;5.6.2&lt;/a&gt; and &lt;a href=&quot;https://github.com/maplibre/maplibre-gl-js/releases/tag/v5.7.0&quot;&gt;5.7.0&lt;/a&gt; were released this month.&lt;/p&gt;
&lt;p&gt;These releases focused mainly on some bugs fixes, especially related to the recently added &lt;a href=&quot;https://maplibre.org/maplibre-gl-js/docs/API/classes/Map/#setglobalstateproperty&quot;&gt;&lt;code&gt;global-state&lt;/code&gt;&lt;/a&gt; which probably still needs more ironing out. There was also an addition of the &lt;a href=&quot;https://maplibre.org/maplibre-gl-js/docs/API/classes/Map/#coveringtiles&quot;&gt;&lt;code&gt;coveringTiles&lt;/code&gt;&lt;/a&gt; method to the public API after it was buried a bit too deep when adding the globe support in version 5.&lt;/p&gt;
&lt;p&gt;Huge thanks to all contributors who helped make these improvements possible, we appreciate your efforts and look forward to more contributions!&lt;/p&gt;
&lt;h2 id=&quot;-maplibre-tile-format&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-maplibre-tile-format&quot;&gt;🧩 MapLibre Tile Format&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Work continues on the &lt;a href=&quot;https://github.com/maplibre/maplibre-tile-spec&quot;&gt;maplibre-tile-spec&lt;/a&gt; project as we are finalizing the specification for the 1.0 release next month. Additionally we are also preparing the Java based MVT to MLT converter for release.&lt;/p&gt;
&lt;p&gt;Last-minute comments are still possible in &lt;a href=&quot;https://github.com/maplibre/maplibre-tile-spec/issues/519&quot;&gt;this thread&lt;/a&gt;. Contributions and comments are highly valued!&lt;/p&gt;
&lt;h2 id=&quot;-slint-sdk-onboarding-for-maplibre-native&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-slint-sdk-onboarding-for-maplibre-native&quot;&gt;🎉 Slint SDK Onboarding for MapLibre Native&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;We’re excited to share the onboarding of a new Slint SDK for MapLibre Native, made by &lt;a href=&quot;https://github.com/yuiseki&quot;&gt;@yuiseki&lt;/a&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/maplibre/maplibre-native-slint&quot;&gt;maplibre-native-slint GitHub repository&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/maplibre/maplibre/issues/474&quot;&gt;Onboarding Discussion on GitHub&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This project provides a Slint-based integration for MapLibre Native, allowing MapLibre Native rendering to be embedded into Slint-based native GUI applications. For information on platform support, please &lt;a href=&quot;https://github.com/maplibre/maplibre-native-slint?tab=readme-ov-file#platform-support-matrix&quot;&gt;checkout the documentation in the project repository&lt;/a&gt;.&lt;/p&gt;
&lt;div style=&quot;display:flex;justify-content:center;gap:2rem;flex-wrap:wrap;margin-top:2rem;margin-bottom:2rem;align-items:stretch&quot;&gt;&lt;div style=&quot;flex:1 1 300px;max-width:400px;display:flex;flex-direction:column;justify-content:space-between;text-align:center&quot;&gt;&lt;img src=&quot;https://maplibre.org/_astro/slint-windows.CB-iudUY_1z2Fxn.webp&quot; alt=&quot;MapLibre Native Slint on Windows&quot; style=&quot;width:100%;height:auto;border-radius:6px&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;802&quot; height=&quot;632&quot;&gt;&lt;p style=&quot;font-size:0.9rem;color:#aaa;margin-top:8px;font-style:italic&quot;&gt;&lt;em&gt;  Windows screenshot &lt;/em&gt;&lt;/p&gt;&lt;/div&gt;&lt;div style=&quot;flex:1 1 300px;max-width:400px;display:flex;flex-direction:column;justify-content:space-between;text-align:center&quot;&gt;&lt;img src=&quot;https://maplibre.org/_astro/slint-macos.CyWd0qVF_1eaVeR.webp&quot; alt=&quot;MapLibre Native Slint on macOS&quot; style=&quot;width:100%;height:auto;border-radius:6px&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;1824&quot; height=&quot;1480&quot;&gt;&lt;p style=&quot;font-size:0.9rem;color:#aaa;margin-top:8px;font-style:italic&quot;&gt;&lt;em&gt; macOS screenshot &lt;/em&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;h2 id=&quot;-ecosystem-spotlight-sprite-sheet-benchmarks&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-ecosystem-spotlight-sprite-sheet-benchmarks&quot;&gt;🌍 Ecosystem Spotlight: Sprite Sheet Benchmarks&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;OSM contributor &lt;code&gt;pnorman&lt;/code&gt; recently &lt;a href=&quot;https://www.openstreetmap.org/user/pnorman/diary/407303&quot;&gt;benchmarked three tools&lt;/a&gt; for generating sprite sheets: spreet (Rust), @basemaps/sprites, and sprite-one.&lt;/p&gt;
&lt;p&gt;These tools are often used when building MapLibre styles. Results show spreet produces smaller, more efficient PNGs, especially after optimization.&lt;/p&gt;
&lt;h2 id=&quot;-conferences&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-conferences&quot;&gt;👥 Conferences&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;MapLibre is happy to be one of the sponsors of FOSS India 2025, taking place in Bengaluru, India this September. 🎉&lt;/p&gt;
&lt;p&gt;As part of our sponsorship, we’re giving away a limited number of free tickets to community members and contributors.
Details and sign-up are in this discussion thread: &lt;a href=&quot;https://github.com/maplibre/maplibre/discussions/459&quot;&gt;MapLibre: FOSS India 2025 – ticket giveaway&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;📅 Event Dates: 20-21 September 2025&lt;/li&gt;
&lt;li&gt;📍 Location: &lt;a href=&quot;https://www.openstreetmap.org/relation/7902476&quot;&gt;Bengaluru, India&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;🔗 Event Info: &lt;a href=&quot;https://fossunited.org/indiafoss/2025&quot;&gt;https://fossunited.org/indiafoss/2025&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;️-monthly-meetings&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#️-monthly-meetings&quot;&gt;🗓️ Monthly meetings&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;We continue our regular community calls on the &lt;em&gt;&lt;strong&gt;second Wednesday&lt;/strong&gt;&lt;/em&gt; of each month, with an additional session on the last Wednesday to better accommodate Asia/Oceania time zones.&lt;/p&gt;
&lt;p&gt;Upcoming Calls&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;MapLibre Navigation: Sep 10, 2025 – 4:00–5:00 PM UTC&lt;/li&gt;
&lt;li&gt;MapLibre Native: Sep 10, 2025 – 5:00–6:00 PM UTC&lt;/li&gt;
&lt;li&gt;MapLibre GL JS: Sep 10, 2025 – 6:00–7:00 PM UTC&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;🌏 MapLibre Eastern Call&lt;/p&gt;
&lt;p&gt;Held on the last Wednesday of the month at an Asia/Oceania-friendly hour:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Sep 24, 2025 – 9:00–10:00 AM UTC&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;🔗 &lt;a href=&quot;https://notime.zone/OZNF2CjddeqYV&quot;&gt;View meeting times in your local timezone&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;All calls are open to everyone. Zoom links are shared in the MapLibre Slack.
Not yet a member? Request an invite via the &lt;a href=&quot;https://slack.openstreetmap.us/&quot;&gt;OpenStreetMap US Slack&lt;/a&gt;.
We’d love to see you there!&lt;/p&gt;</content:encoded><author/></item><item><title>MapLibre Newsletter July 2025</title><link>https://maplibre.org/news/2025-08-04-maplibre-newsletter-july-2025/</link><guid isPermaLink="true">https://maplibre.org/news/2025-08-04-maplibre-newsletter-july-2025/</guid><pubDate>Mon, 04 Aug 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Welcome to the July edition of the MapLibre newsletter! We start with a note of gratitude to our sponsor &lt;a href=&quot;https://www.jawg.io/en/&quot;&gt;Jawg Maps&lt;/a&gt;.&lt;/p&gt;
&lt;div style=&quot;background-color:white;padding:2rem;border:10px solid #cfd8dc;border-radius:0;margin-bottom:3rem;display:flex;justify-content:center;align-items:center;gap:2rem;flex-wrap:nowrap;overflow:hidden;flex-direction:column&quot;&gt;&lt;div style=&quot;display:flex;justify-content:center;align-items:center;gap:2rem;flex-wrap:nowrap;width:100%&quot;&gt;&lt;img src=&quot;https://maplibre.org/_astro/maplibre-logo-for-light-bg.CSR25x_s_Z22k2tS.svg&quot; alt=&quot;MapLibre logo&quot; style=&quot;width:40%;max-width:300px;height:auto;object-fit:contain&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;1354&quot; height=&quot;317&quot;&gt;&lt;img src=&quot;https://maplibre.org/_astro/jawgmaps-logo.nASKjwUP_OMYld.svg&quot; alt=&quot;Mierune logo&quot; style=&quot;width:40%;max-width:330px;height:auto;object-fit:contain&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;221&quot; height=&quot;40&quot;&gt;&lt;/div&gt;&lt;div style=&quot;margin-top:1rem;font-size:1rem;text-align:center;color:#263238;font-style:italic&quot;&gt;&lt;p&gt;Sincere thanks to Jawg Maps for their ongoing commitment to MapLibre
(2023–2025) 🙌&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;This month’s newsletter brings exciting updates across the MapLibre ecosystem, from enhanced font support for complex scripts in Native, a new frontend for Martin, to our growing presence at global conferences. We also kicked off the 2025 Governing Board election process, a great opportunity to help shape the project’s future. Read on for the latest updates and ways to get involved!&lt;/p&gt;
&lt;h2 id=&quot;️-governing-board-elections-2025&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#️-governing-board-elections-2025&quot;&gt;🗳️ Governing Board Elections 2025&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;MapLibre’s 2025 Governing Board election &lt;a href=&quot;https://github.com/maplibre/maplibre/issues/447&quot;&gt;process&lt;/a&gt; has begun!&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/maplibre/maplibre/issues/446&quot;&gt;Voting Member Nominations are now open&lt;/a&gt;. Existing Voting Members can nominate new ones via pull request.&lt;/li&gt;
&lt;li&gt;Governing Board Candidates can self-nominate by sharing their vision and background in the &lt;a href=&quot;https://github.com/maplibre/maplibre/discussions/445&quot;&gt;candidate discussion thread&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;overflow-x: auto; margin-top: 1rem; margin-bottom: 1.5rem;&quot;&gt;&lt;table style=&quot;width: 100%; border-collapse: collapse; min-width: 400px;&quot;&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style=&quot;text-align: left; padding: 8px 12px; font-weight: 500; color: #cfd8dc;&quot;&gt;&lt;p&gt;Date&lt;/p&gt;&lt;/th&gt;&lt;th style=&quot;text-align: left; padding: 8px 12px; font-weight: 500; color: #cfd8dc;&quot;&gt;&lt;p&gt;Milestone&lt;/p&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr style=&quot;border-top: 1px solid #444;&quot;&gt;&lt;td style=&quot;padding: 10px 12px; font-weight: 600; color: #fff;&quot;&gt;&lt;p&gt;Aug 15, 2025&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;padding: 10px 12px; color: #cfd8dc;&quot;&gt;&lt;p&gt;Deadline for Voting Member nominations and Board candidate
registration&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;border-top: 1px solid #444;&quot;&gt;&lt;td style=&quot;padding: 10px 12px; font-weight: 600; color: #fff;&quot;&gt;&lt;p&gt;Aug 22, 2025&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;padding: 10px 12px; color: #cfd8dc;&quot;&gt;&lt;p&gt;Deadline for approval of new Voting Members (via PR review)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style=&quot;border-top: 1px solid #444;&quot;&gt;&lt;td style=&quot;padding: 10px 12px; font-weight: 600; color: #fff;&quot;&gt;&lt;p&gt;Aug 29, 2025&lt;/p&gt;&lt;/td&gt;&lt;td style=&quot;padding: 10px 12px; color: #cfd8dc;&quot;&gt;&lt;p&gt;Governing Board election poll closes (OpaVote)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;
&lt;h2 id=&quot;-maplibre-native&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-maplibre-native&quot;&gt;📱 MapLibre Native&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Support for Complex Scripts:&lt;/strong&gt; We added support for the new &lt;a href=&quot;https://maplibre.org/maplibre-style-spec/font-faces/&quot;&gt;&lt;code&gt;font-faces&lt;/code&gt;&lt;/a&gt; property (see the &lt;a href=&quot;https://github.com/maplibre/maplibre-native/pull/3611&quot;&gt;implementation PR&lt;/a&gt;). This allows you to use TrueType fonts with MapLibre Native. Font files are needed for &lt;a href=&quot;https://en.wikipedia.org/wiki/Text_shaping&quot;&gt;text shaping&lt;/a&gt; which many complex (non-latin) scripts require. Thanks goes to Alan Wei Chen, Stefan Karschti and Grab for contributing this functionality.&lt;/li&gt;
&lt;/ul&gt;
&lt;figure&gt;&lt;div style=&quot;display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:1rem&quot;&gt;&lt;img src=&quot;https://maplibre.org/_astro/myanmar.DOq65GXs_1eaoUY.webp&quot; alt=&quot;Map showing Myanmar with complex script rendering&quot; style=&quot;max-width:300px;width:100%;height:auto;flex:1 1 300px&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;1308&quot; height=&quot;2615&quot;&gt;&lt;img src=&quot;https://maplibre.org/_astro/thai.TV6XxxjQ_1AMH9F.webp&quot; alt=&quot;Map showing Thailand with Thai script rendering&quot; style=&quot;max-width:300px;width:100%;height:auto;flex:1 1 300px&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;1303&quot; height=&quot;2613&quot;&gt;&lt;/div&gt;&lt;figcaption class=&quot;figure-caption&quot;&gt;&lt;p&gt;Screenshots showing complex map rendering. Style © OpenMapTiles. Map data
from OpenStreetMap.&lt;/p&gt;&lt;/figcaption&gt;&lt;/figure&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Crowdsourced Device Testing:&lt;/strong&gt; Adrian Cojocaru has developed long running tests for Android and iOS. Now we are thinking about how we can actually run these. Since AWS Device Farm limits runs to 150 minutes, we are thinking about distributing an app that people can download, to run these tests on their own devices. This app would report any issues to a central place. So a crowed-sourced approach to bug hunting. More info will follow and please share your ideas!&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Render Area Limiting:&lt;/strong&gt; Yousif Aldolaijan has contributed a PR to limit the area that is rendered to, while keeping the surface area the same size. This is useful for performance reasons when navigation elements are sometimes overlapping those areas. See &lt;a href=&quot;https://github.com/maplibre/maplibre-native/pull/3676&quot;&gt;#3676&lt;/a&gt; for the PR and discussion.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Concurrent Animations:&lt;/strong&gt; The location component on Android and iOS takes control of animations. This means that users of the built-in location component cannot kick off your animations of their own, as it would conflict with those of the location components. Yousif is exploring concurrent animations as a possible fix for this behavior. Join the &lt;a href=&quot;https://github.com/maplibre/maplibre-native/issues/3667&quot;&gt;discussion&lt;/a&gt; if you have a similar use case or have solved this problem.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Style JSON Hook:&lt;/strong&gt; Malcolm Toon contributed a &lt;a href=&quot;https://github.com/maplibre/maplibre-native/pull/3662&quot;&gt;PR&lt;/a&gt; (see also the &lt;a href=&quot;https://github.com/maplibre/maplibre-native/issues/3663&quot;&gt;issue&lt;/a&gt;) to add a hook to transform the style JSON when it is loaded or fed to the map view. Please join the discussion if you have another interesting use case for this.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Custom protocols:&lt;/strong&gt; We are investigating what custom protocols similar to the MapLibre GL JS &lt;code&gt;addProtocol&lt;/code&gt; hook would look like for Native. Malcolm has cooked up a &lt;a href=&quot;https://github.com/maplibre/maplibre-native/pull/3665&quot;&gt;PR&lt;/a&gt;. One discussion point is, if it should be synchronous or asynchronous on the platform level, if it is desirable (and feasible) to give access to the built-in resource loading to the platform level and if custom protocols should be able to do resource loading as well as transformations (or just the former). Please let us know your use cases you imagine for this functionality.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Qt backend:&lt;/strong&gt; Birk Skyum has made &lt;a href=&quot;https://github.com/maplibre/maplibre-native-qt/pull/216&quot;&gt;several PRs&lt;/a&gt; to bring the Vulkan and Metal backend to the Qt platform.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;macOS Metal bugfix:&lt;/strong&gt; The Node.js platform with Metal (on macOS) stopped rendering after 32 frames. We added &lt;a href=&quot;https://github.com/maplibre/maplibre-native/pull/3673&quot;&gt;a flag&lt;/a&gt; that will set up an Objective-C autoreleasepool in the core rendering loop that fixes this issue. A new version of the &lt;a href=&quot;https://www.npmjs.com/package/@maplibre/maplibre-gl-native&quot;&gt;maplibre/maplibre-gl-native&lt;/a&gt; npm package which contains this fix will be out shortly.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Releases this month:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;MapLibre Android &lt;a href=&quot;https://github.com/maplibre/maplibre-native/releases/tag/android-v11.12.0&quot;&gt;11.12.0&lt;/a&gt;, &lt;a href=&quot;https://github.com/maplibre/maplibre-native/releases/tag/android-v11.12.1&quot;&gt;11.12.1&lt;/a&gt;, &lt;a href=&quot;https://github.com/maplibre/maplibre-native/releases/tag/android-v11.13.0&quot;&gt;11.13.0&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;MapLibre iOS &lt;a href=&quot;https://github.com/maplibre/maplibre-native/releases/tag/ios-v6.17.1&quot;&gt;6.17.1&lt;/a&gt;, &lt;a href=&quot;https://github.com/maplibre/maplibre-native/releases/tag/ios-v6.18.0&quot;&gt;6.18.0&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;-maplibre-web&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-maplibre-web&quot;&gt;🌐 MapLibre Web&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/maplibre/maplibre-gl-js/releases/tag/v5.6.1&quot;&gt;Version 5.6.1&lt;/a&gt; was released this month with a few bug fixes.
We also sorted the &lt;a href=&quot;https://maplibre.org/maplibre-gl-js/docs/examples/&quot;&gt;examples pages&lt;/a&gt; in the documentation, for better consistency between the page titles and their locations in the table of contents.
This change might cause a few temporary broken links in Google search, but we’re sure the broken links will be a short lived problem and expect this to be resolved quickly.&lt;/p&gt;
&lt;h2 id=&quot;-style-spec&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-style-spec&quot;&gt;📝 Style spec&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;We’ve added support in the style-spec for &lt;a href=&quot;https://maplibre.org/maplibre-style-spec/font-faces/&quot;&gt;&lt;code&gt;font-faces&lt;/code&gt;&lt;/a&gt; for files and urls which is a huge step forward in order to support eastern scripts and other fonts without the need to pre-process them to glyphs.
The &lt;a href=&quot;https://github.com/maplibre/maplibre-style-spec/pull/1204&quot;&gt;discussion&lt;/a&gt; around it was very good with a lot of valuable inputs. Thanks to everyone that participated!&lt;/p&gt;
&lt;h2 id=&quot;-martin&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-martin&quot;&gt;🧩 Martin&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/maplibre/martin/releases/tag/v0.18.0&quot;&gt;Martin v0.18&lt;/a&gt; has been released, featuring the new web UI frontend with the basic metrics, tile inspection, view styles with Mapunik as an add-on, and view sprites and fonts.&lt;/p&gt;
&lt;img src=&quot;https://maplibre.org/_astro/martin-ui.C8USKszV_I09il.webp&quot; alt=&quot;Sneak peek of Martin UI showing performance metrics, and a tile source catalog, tabs for a style catalog, fonts catalog and sprites catalog&quot; style=&quot;max-width:100%;height:auto;display:block;margin:1rem auto;border-radius:0.5rem&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;600&quot; height=&quot;385&quot;&gt;
&lt;h2 id=&quot;-maplibre-native-rs&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-maplibre-native-rs&quot;&gt;🦀 maplibre-native-rs&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;MapLibre Native has continued to progress steadily over the past month, with notable improvements especially for integrating into Rust projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You can now build with &lt;a href=&quot;https://github.com/maplibre/maplibre-native-rs&quot;&gt;maplibre-native-rs&lt;/a&gt; using even more static “maplibre-core-amalgam” binaries. ICU and other previously required external dependencies are now bundled into the core libraries, greatly reducing build friction.&lt;/li&gt;
&lt;li&gt;Platform readiness: There’s still work to be done before reaching production parity, particularly regarding macOS and Windows support.&lt;/li&gt;
&lt;li&gt;Early groundwork is being laid for incorporating maplibre-native-rs into the Martin tile server.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We also have a new social image for this project:&lt;/p&gt;
&lt;div style=&quot;display:flex;flex-direction:column;align-items:center;justify-content:center;margin-bottom:1.5rem&quot;&gt;&lt;img src=&quot;https://maplibre.org/_astro/maplibre-native-rs.DpXwF0Vu_qjfwQ.webp&quot; alt=&quot;MapLibre Native RS promotional image&quot; style=&quot;max-width:100%;height:auto;display:block;border-radius:0.5rem&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;500&quot; height=&quot;250&quot;&gt;&lt;div style=&quot;text-align:center;margin-top:0.5rem&quot;&gt;&lt;span style=&quot;color:#555;font-style:italic;font-size:0.9rem&quot;&gt;&lt;p&gt;Social image for maplibre-native-rs, Rust native backend of MapLibre.&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;
&lt;h2 id=&quot;-community-spotlight&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-community-spotlight&quot;&gt;✨ Community spotlight&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The OpenStreetMap homepage recently introduced &lt;a href=&quot;https://blog.openstreetmap.org/2025/07/22/vector-tiles-are-deployed-on-openstreetmap-org/&quot;&gt;two new featured map layer options&lt;/a&gt; powered by MapLibre GL JS via &lt;code&gt;maplibre-gl-leaflet&lt;/code&gt;. There are also &lt;a href=&quot;https://github.com/openstreetmap/openstreetmap-website/issues/6234&quot;&gt;ongoing discussions&lt;/a&gt; about whether switching from &lt;code&gt;maplibre-gl-leaflet&lt;/code&gt; to a more “unwrapped” implementation using maplibre-gl-js directly might offer additional benefits.&lt;/p&gt;
&lt;h2 id=&quot;-conferences-roundup&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#-conferences-roundup&quot;&gt;👥 Conferences roundup&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Over the past two months, we participated in several key events:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;🇺🇸 State of the Map US: We delivered hands-on workshops and insightful talks. You can find the materials on &lt;a href=&quot;https://github.com/maplibre/workshop/tree/sotmus-2025&quot;&gt;GitHub&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;🇳🇱 FOSS4G Netherlands: A great opportunity to connect with the local FOSS4G community and showcase MapLibre in action.&lt;/li&gt;
&lt;li&gt;🇧🇦 FOSS4G Europe (Mostar): The team hosted sessions, demos, and conversations on open mapping. You can find the workshop materials on &lt;a href=&quot;https://github.com/maplibre/workshop/tree/foss4g-eu-2025&quot;&gt;GitHub&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We’re grateful to everyone who joined us and we look forward to upcoming events including FOSS4G Oceania in Auckland and FOSS4G North America in Washington, DC.&lt;/p&gt;
&lt;div style=&quot;display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:1rem;margin:1.5rem 0&quot;&gt;&lt;img src=&quot;https://maplibre.org/_astro/sotm-us.CZ5M4L8K_fOWue.webp&quot; alt=&quot;MapLibre workshop at State of the Map US 2025&quot; style=&quot;width:100%;max-width:360px;height:auto;flex:1 1 300px;border-radius:0.5rem&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;720&quot; height=&quot;429&quot;&gt;&lt;img src=&quot;https://maplibre.org/_astro/foss4g-nl.BoYfihAg_2ksmED.webp&quot; alt=&quot;MapLibre presentation at FOSS4G Europe 2025&quot; style=&quot;width:100%;max-width:360px;height:auto;flex:1 1 300px;border-radius:0.5rem&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;720&quot; height=&quot;405&quot;&gt;&lt;/div&gt;
&lt;h2 id=&quot;️-monthly-meetings&quot;&gt;&lt;a class=&quot;heading-link&quot; href=&quot;#️-monthly-meetings&quot;&gt;🗓️ Monthly meetings&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;We continue our regular community calls on the &lt;em&gt;&lt;strong&gt;second Wednesday&lt;/strong&gt;&lt;/em&gt; of each month, with an additional session on the last Wednesday to better accommodate Asia/Oceania time zones.&lt;/p&gt;
&lt;p&gt;Upcoming Calls&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;MapLibre Navigation: Aug 13, 2025 – 4:00–5:00 PM UTC&lt;/li&gt;
&lt;li&gt;MapLibre Native: Aug 13, 2025 – 5:00–6:00 PM UTC&lt;/li&gt;
&lt;li&gt;MapLibre GL JS: Aug 13, 2025 – 6:00–7:00 PM UTC&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;🌏 MapLibre Eastern Call&lt;/p&gt;
&lt;p&gt;Held on the last Wednesday of the month at an Asia/Oceania-friendly hour:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Aug 27, 2025 – 9:00–10:00 AM UTC&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;🔗 &lt;a href=&quot;https://notime.zone/OWoGsA3EsL3_J&quot;&gt;View meeting times in your local timezone&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;All calls are open to everyone. Zoom links are shared in the MapLibre Slack.
Not yet a member? Request an invite via the &lt;a href=&quot;https://slack.openstreetmap.us/&quot;&gt;OpenStreetMap US Slack&lt;/a&gt;.
We’d love to see you there!&lt;/p&gt;</content:encoded><author/></item></channel></rss>