Лягатып OpenStreetMap OpenStreetMap

OpenStreetMap NextGen DD #23 — MapLibre & Dark Theme

Дасланы NorthCrab 27 Студзень 2025 на English.

The twenty-third development diary brings substantial architectural changes to OpenStreetMap-NG, marking a pivotal moment in the project’s evolution. This update introduces MapLibre GL JS as our new mapping engine, comprehensive dark theme support, and various quality-of-life improvements that enhance both user experience and technical capabilities.

🔖 You can read other development diaries here:
osm.org/user/NorthCrab/diary/

⭐ This project is open-source — join us today:
https://github.com/openstreetmap-ng/openstreetmap-ng

GitHub Stars

🛈 This initiative is not affiliated with the OpenStreetMap Foundation.


Video Summary

Feel invited to watch this video summary that demonstrates improvements in action. The showcase provides a look at the new MapLibre GL JS integration, dark theme functionality, and various interface refinements that enhance the OpenStreetMap-NG experience.

⬇ Click the image below to play

Video thumbnail

or click here: https://peertube.monicz.dev/w/892pGP3TqEvepQpiNUnJDu


MapLibre GL JS

A significant leap forward in OpenStreetMap-NG’s technical evolution.

A major technological leap forward as OpenStreetMap-NG transitions from Leaflet to MapLibre GL JS. This foundational change unlocks significant potential for future enhancements, particularly in vector tile support. MapLibre GL JS brings modern mapping capabilities while maintaining the same set of funtionalities.

Already today, users will notice smoother map interactions and noticeably improved rendering performance across the website. Transitioning to MapLibre GL JS required extensive reworking of core mapping components - but this substantial engineering effort future-proofs OpenStreetMap-NG for years to come.

▶️ Watch video segment


Notes Overlay Enhancements

The notes overlay interaction experience has been refined with dynamic opacity changes on hover for better visibility. Note content previews now use standard web font sizing, greatly improving readability compared to the current OSM Ruby implementation. This enhancement particularly shines in areas with dense note clusters.

▶️ Watch video segment


Image Export Improvements

Several long-standing export issues have been addressed, including marker support in exported images and automatic OpenStreetMap attribution - fixing a 12-year-old issue. The new browser-based export processing delivers faster results, with a configurable attribution toggle in the export interface.

▶️ Watch video segment


Antimeridian Bug Fixes

The challenging 180th meridian area has received some love, with reliable image exports and stable custom region selection across the antimeridian. The system maintains consistent behavior when crossing the date line, eliminating previous rendering artifacts and export failures.

▶️ Watch video segment


Dark Theme

A comprehensive dark mode implementation includes system-preference detection with manual override options and seamless map tile switching between light and dark themes. The update eliminates page reload requirements for theme changes, maintains color consistency throughout the interface, and introduces green hover highlights replacing yellow for better dark mode visibility.

▶️ Watch video segment


🌠 Sponsors

This update was sponsored by 18 individual supporters on Liberapay and GitHub Sponsors. Thank you! 🦀

Early supporters of the project receive something special: the time-limited OpenStreetMap-NG Founder profile badge. We believe in inclusive community building, so this unique reward is available to every supporter during the development phase, regardless of donation amount.

Email icon Bluesky Icon Facebook Icon LinkedIn Icon Mastodon Icon Telegram Icon X Icon

Абмеркаванне

Камэнтар matheusgomesms ад 29 Студзень 2025 у 13:33

Nice! So you consider that NG is now equivalent to OSM in terms of features (no feature disparity)?

Камэнтар NorthCrab ад 29 Студзень 2025 у 15:40

@matheusgomesms I think it only lacks administration and moderation features (reporting users, etc.). These will be worked on after public testing starts.

Камэнтар matheusgomesms ад 29 Студзень 2025 у 17:04

Wonderful, looking forward to it! Congrats!

Камэнтар RobJN ад 30 Студзень 2025 у 22:34

Great progress. Do you have a date for when public testing will start?

Камэнтар NorthCrab ад 31 Студзень 2025 у 01:51

@RobJN I’m working on that now

Камэнтар Matija Nalis ад 6 Чэрвень 2025 у 11:42

Any updates on OSM-NG?

Камэнтар NorthCrab ад 6 Чэрвень 2025 у 15:39

@Matija Nalis lots, but I’m keeping it all for one big update hopefully soon. One last blocker is building an index (CREATE INDEX element_members_ways_idx ON public.element USING gin (members) …) in a reasonable amount of time even with limited resources. I want OSM-NG to run fast on low-end machines, and even faster on high-end ones - and a few months went into optimizing and improving this scaling behavior. I’ll summarize it all in the next Development Diary.

Увайдзіце каб пакінуць камэнтар