Skip to content

Commit 6b63a0d

Browse files
May 2025 newsletter (#421)
* team updates * newsletter init * finalise content * COG author addition * minor markdown adjustments * modifications after review * separate compose announcement * subheading under GL JS * plugin layers subheading change
1 parent 155d897 commit 6b63a0d

File tree

7 files changed

+278
-0
lines changed

7 files changed

+278
-0
lines changed
56.4 KB
Binary file not shown.
-315 Bytes
Binary file not shown.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
title: Marti Pericay
3+
github: mpericay
4+
handle: mpericay
5+
---

src/content/bio/marc/index.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
---
2+
title: Marc Wilson
3+
handle: marc
4+
---
5+
6+
<div class="text-center mb-5">
7+
<img
8+
src=""
9+
width="150"
10+
class="rounded-circle mt-3"
11+
onerror="this.onerror=null; this.src='https://via.placeholder.com/150?text=No+Image';"
12+
/>
13+
<h3 class="m-3">Marc Wilson</h3>
14+
<p>Graphics Engineer</p>
15+
<p>
16+
<a href="https://www.linkedin.com/in/mwilson-b727b6199/">LinkedIn</a> ·
17+
<a href="https://github.com/mwilsnd">GitHub</a> ·
18+
<a href="https://osmus.slack.com/team/U03SSTHJDT5">Slack</a>
19+
</p>
20+
</div>
Lines changed: 237 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,237 @@
1+
---
2+
title: "MapLibre Newsletter May 2025"
3+
date: "2025-06-02"
4+
categories: ["newsletter"]
5+
authors: [bart, harel, mpericay, frank, ramyaragupathy]
6+
draft: false
7+
---
8+
9+
import { Image } from "astro:assets";
10+
import mieruneLogo from "/public/img/mierune-logo.svg";
11+
import maplibreLogo from "/public/img/maplibre-logos/maplibre-logo-for-light-bg.svg";
12+
13+
Welcome to the May edition of the MapLibre newsletter!
14+
15+
This month's updates range from seamless Cloud Optimized GeoTIFF support in GL JS to fresh releases for Martin Tile Server and native SDKs, and the addition of a new team member.
16+
17+
A special thanks to [Mierune](https://www.mierune.co.jp/) for renewing their sponsorship for 2025! Now in its fourth consecutive year, their support has played a vital role in sustaining MapLibre's growth and development.
18+
19+
<div
20+
style={{
21+
backgroundColor: "white",
22+
padding: "2rem",
23+
border: "10px solid #cfd8dc",
24+
borderRadius: "0",
25+
marginBottom: "3rem",
26+
display: "flex",
27+
justifyContent: "center",
28+
alignItems: "center",
29+
gap: "2rem",
30+
flexWrap: "nowrap",
31+
overflow: "hidden",
32+
flexDirection: "column",
33+
}}
34+
>
35+
<div
36+
style={{
37+
display: "flex",
38+
justifyContent: "center",
39+
alignItems: "center",
40+
gap: "2rem",
41+
flexWrap: "nowrap",
42+
width: "100%",
43+
}}
44+
>
45+
<Image
46+
src={maplibreLogo}
47+
alt="MapLibre logo"
48+
style={{
49+
width: "40%",
50+
maxWidth: "300px",
51+
height: "auto",
52+
objectFit: "contain",
53+
}}
54+
/>
55+
<Image
56+
src={mieruneLogo}
57+
alt="Mierune logo"
58+
style={{
59+
width: "40%",
60+
maxWidth: "330px",
61+
height: "auto",
62+
objectFit: "contain",
63+
}}
64+
/>
65+
</div>
66+
<div
67+
style={{
68+
marginTop: "1rem",
69+
fontSize: "1rem",
70+
textAlign: "center",
71+
color: "#263238",
72+
fontStyle: "italic",
73+
}}
74+
>
75+
Celebrating four amazing years of support from Mierune (2022–2025) 🙌
76+
</div>
77+
</div>
78+
79+
We’ve also published our <a href="about/reports/Financial-Report-Q1-2025.pdf" target="_blank">Q1 2025 Financial Report</a>, continuing our commitment to transparency and open governance.
80+
Read on to catch up on updates from last month and a glimpse of what's ahead.
81+
82+
## 📱 MapLibre Native
83+
84+
**Plugin layers** will allow users to register custom layers with custom style spec extensions. The [design proposal](https://github.com/maplibre/maplibre-native/blob/main/design-proposals/2025-05-08-plugin-layers.md) was merged this month, with the [implementation PR](https://github.com/maplibre/maplibre-native/pull/3430) nearing the finish line. Both are spearheaded by Malcolmn Toon working for HudHud who released their [navigation app](https://apps.apple.com/us/app/hudhud-maps/id6477774492) this month.
85+
86+
The first version will have some limitations. Since iOS is the main focus of HudHud right now, it is only available for iOS from the outset. In addition, the custom layers do not have access to sources i.e. the built-in machinery for loading data. You also need to interact with the low-level graphics API (e.g. Metal) directly, and cannot use Drawables which internal layers uses for (platform aspecific) rendering. Lastly, plugin layers cannot participate in things like label placement.
87+
88+
Refinements and further functionality can be added incrementally based on the needs of the community. Extendability is something that was often discussed the last few years, and it is great to see a functional and pragmatic implementation becoming reality. Malcolm shared a GLTF model loading plugin as an example of what a custom plugin layer could do.
89+
90+
{" "}
91+
92+
{" "}
93+
94+
<div
95+
style={{
96+
display: "flex",
97+
flexDirection: "column",
98+
alignItems: "center",
99+
marginTop: "1rem",
100+
marginBottom: "1rem",
101+
}}
102+
>
103+
<img
104+
src="https://github.com/user-attachments/assets/a6789d4e-7734-4f57-b41b-0c15b55e79d5"
105+
alt="GLTF plugin demo"
106+
style={{
107+
width: "40%",
108+
height: "auto",
109+
maxHeight: "550px",
110+
objectFit: "contain",
111+
}}
112+
/>
113+
<div
114+
style={{
115+
fontStyle: "italic",
116+
fontSize: "0.95rem",
117+
textAlign: "center",
118+
marginTop: "0.5rem",
119+
color: "#444",
120+
}}
121+
>
122+
GLTF model plugin, rendering the Arc de Triomphe in 3D. Satellite layer
123+
courtesy of MapTiler.
124+
</div>
125+
</div>
126+
127+
**Action Journal for Debugging:** Thanks to Adrian Cojocaru, a new [action journal](https://github.com/maplibre/maplibre-native/commit/08eb760acdf88692139cc9d777ed95074662387e) was merged this month. This is a persistent log of actions the library took, sort of like a black box in a plane, which should help with investigating crashes that are hard to reproduce. Check out the documentation for [iOS](https://maplibre.org/maplibre-native/ios/latest/documentation/maplibre-native-for-ios/actionjournalexample) or [Android](https://maplibre.org/maplibre-native/android/examples/observability/action-journal/) for more information.
128+
129+
**Dynamic Texture Atlas for Glyphs:** The library now uses a [dynamic texture atlas](https://github.com/maplibre/maplibre-native/pull/3198) for storing glyphs, thanks to Alex Cristici. This change has the potential to reduce memory usage, if you have some interesting real-world numbers to share, [we would love to know](https://github.com/maplibre/maplibre-native/discussions/categories/show-and-tell).
130+
131+
**Goodbye legacy renderer:** Two years ago, the legacy OpenGL ES rendering architecture, was replaced with a [modular](https://github.com/maplibre/maplibre-native/blob/main/design-proposals/2022-10-27-rendering-modularization.md) one allowing multiple rendering backends. The code parts of the legacy renderer were stubbed out with `#ifdef`s for a while, meaning it was still possible to make a build that used the legacy renderer. However, this old unused code was finally [removed](https://github.com/maplibre/maplibre-native/pull/3384) in April, with some more [cleanup](https://github.com/maplibre/maplibre-native/pull/3469) this month.
132+
133+
**Releases this month:**
134+
135+
- MapLibre iOS: [6.13.0](https://github.com/maplibre/maplibre-native/releases/tag/ios-v6.13.0), [6.14.0](https://github.com/maplibre/maplibre-native/releases/tag/ios-v6.14.0)
136+
- MapLibre Android: [11.8.8](https://github.com/maplibre/maplibre-native/releases/tag/android-v11.8.8), [11.8.9](https://github.com/maplibre/maplibre-native/releases/tag/android-v11.8.9), [11.9.0](https://github.com/maplibre/maplibre-native/releases/tag/android-v11.9.0)
137+
138+
## 🌐 MapLibre Web
139+
140+
**Hillshade Rendering:** MapLibre GL JS [v5.5.0](https://github.com/maplibre/maplibre-gl-js/releases/tag/v5.5.0) was released this month, featuring support for multiple hillshade rendering methods. This will be a great addition for enhanced terrain visualisation. The release also includes several important bug fixes and performance refinements.
141+
142+
<div
143+
style={{
144+
display: "flex",
145+
justifyContent: "center",
146+
marginTop: "1rem",
147+
marginBottom: "1rem",
148+
}}
149+
>
150+
<img
151+
src="https://maplibre.org/maplibre-style-spec/assets/hillshade_methods.png"
152+
alt="Hillshade rendering methods in MapLibre GL JS"
153+
style={{ width: "80%", height: "auto" }}
154+
/>
155+
</div>
156+
157+
**New Team Member:** We are also thrilled about <a href="https://github.com/mwilsnd" target="_blank">Marc Wilson</a> joining our team as our new Graphics Engineer 🎉! Marc brings deep expertise in rendering and graphics, and we’re excited to see the impact he’ll have on MapLibre GL JS and beyond.
158+
159+
**Cloud Optimized GeoTIFF(COG) support:** A new COG protocol extension by [@geomatico](https://github.com/geomatico) improves how raster data is loaded in MapLibre GL JS, with no server-side preprocessing required.
160+
161+
This [maplibre-cog-protocol](https://github.com/geomatico/maplibre-cog-protocol) library allows:
162+
163+
- Visualization of COGs directly in MapLibre GL JS, efficiently loading only the necessary tiles from large raster datasets.
164+
- It supports dynamic adjustments, such as color manipulation and band mixing directly on the browser.
165+
166+
Try it out:
167+
168+
- [Official GL JS example](https://maplibre.org/maplibre-gl-js/docs/examples/add-cog/)
169+
- [Live demos](https://labs.geomatico.es/maplibre-cog-protocol) including RGB, NDVI, and a 12GB elevation model.
170+
171+
<div
172+
style={{
173+
display: "flex",
174+
justifyContent: "center",
175+
marginTop: "1rem",
176+
marginBottom: "2rem",
177+
}}
178+
>
179+
<video
180+
src="https://github.com/user-attachments/assets/350dd072-43d7-4077-bfec-04db561988f4"
181+
controls
182+
autoPlay
183+
muted
184+
loop
185+
playsInline
186+
style={{
187+
width: "80%",
188+
maxWidth: "720px",
189+
borderRadius: "0.5rem",
190+
boxShadow: "0 4px 12px rgba(0,0,0,0.1)",
191+
}}
192+
/>
193+
</div>
194+
195+
## 🧱 Martin Tile Server
196+
197+
[Martin v0.17.0](https://github.com/maplibre/martin/releases/tag/v0.17.0) was released in May, bringing several quality-of-life improvements, along with three new features:
198+
199+
- **S3 and S3-Compatible Storage Support for PMTiles:** PMTiles can now be served directly from S3 or any S3-compatible blob store, making cloud deployments simpler and more flexible.
200+
- **Improved Caching with ETags:** Martin now includes `ETag` headers and supports the `If-None-Match` request header, enabling more efficient CDN-style caching. This potentially reduces bandwidth usage and improves performance, especially in low-connectivity environments.
201+
- **Configurable CORS Settings:** Developers can now define CORS headers directly in Martin, eliminating the need for external workarounds, thereby improving
202+
security and flexibility.
203+
204+
## 🧩 New Hosted Project
205+
206+
[MapLibre for Compose Multiplatform](https://github.com/maplibre/maplibre-compose) has officially been onboarded as a [hosted project](https://github.com/maplibre/maplibre/issues/441), marking another step forward in expanding the MapLibre ecosystem.
207+
208+
> MapLibre Compose is a Compose Multiplatform wrapper around the MapLibre SDKs for rendering interactive maps. You can use it to add maps to your Compose UIs across Android, iOS, Desktop, and Web.
209+
210+
## 👥 Meet Us at State of the Map US!
211+
212+
The MapLibre team will be at [State of the Map US](https://openstreetmap.us/events/state-of-the-map-us/2025/) this month in Boston. If you’re attending, we’d love to connect. Come say hi, and let’s talk maps!
213+
214+
🗓️ Dates: June 19-21, 2025 <br></br>
215+
📍 Location: [Boston, MA](https://www.openstreetmap.org/relation/2315704)
216+
217+
## 🗓️ Monthly meetings
218+
219+
We continue our regular community calls on the _**second Wednesday**_ of each month, with an additional session on the last Wednesday to better accommodate Asia/Oceania time zones.
220+
221+
Upcoming Calls
222+
223+
- MapLibre Navigation: June 11, 2025 – 4:00–5:00 PM UTC
224+
- MapLibre Native: June 11, 2025 – 5:00–6:00 PM UTC
225+
- MapLibre GL JS: June 11, 2025 – 6:00–7:00 PM UTC
226+
227+
🌏 MapLibre Eastern Call
228+
229+
Held on the last Wednesday of the month at an Asia/Oceania-friendly hour:
230+
231+
- June 25, 2025 – 9:00–10:00 AM UTC
232+
233+
🔗 [View meeting times in your local timezone](https://notime.zone/OS-7DlXOuSRSd).
234+
235+
All calls are open to everyone. Zoom links are shared in the MapLibre Slack.
236+
Not yet a member? Request an invite via the [OpenStreetMap US Slack](https://slack.openstreetmap.us/).
237+
We’d love to see you there!

src/pages/about/index.astro

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,18 @@ import Layout from "../../layouts/Layout.astro";
7878
MapLibre GL JS Maintainer
7979
</a>
8080
</div>
81+
<div class="text-center person">
82+
<a href="about/marc">
83+
<img
84+
src=""
85+
width="150"
86+
class="rounded-circle mt-3 border border-white"
87+
onerror="this.onerror=null; this.src='https://via.placeholder.com/150?text=No+Image';"
88+
/>
89+
<h3 class="m-3">Marc Wilson</h3>
90+
Graphics Engineer
91+
</a>
92+
</div>
8193
<div class="text-center person">
8294
<a href="about/ramya">
8395
<img

src/pages/about/reports/index.mdx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@ MapLibre uses OpenCollective for transparent accounting, see https://opencollect
1414

1515
[Open Source Collective](https://opencollective.com/opensource), a 501(c)(6) registered non-profit organization based in Covina, CA (USA), is MapLibre's fiscal host.
1616

17+
#### Q1 2025
18+
19+
- [Financial-Report-Q1-2025.pdf](about/reports/Financial-Report-Q1-2025.pdf)
20+
1721
#### Q4 2024
1822

1923
- [Financial-Report-Q4-2024.pdf](about/reports/Financial-Report-Q4-2024.pdf)

0 commit comments

Comments
 (0)