OpenStreetMap logo OpenStreetMap

Welcome to the fourteenth OpenStreetMap NextGen development diary.

🔖 You can read other development diaries here:
https://www.openstreetmap.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.

In case you missed it…

Recently, we showcased Search 2.0: a comprehensive overhaul of the search functionality. For the first time, OSM search is now simple and intuitive to use. It’s a must-see (there’s a video demo too)!

OpenStreetMap-NG Repository Moved

This week we have moved the openstreetmap-ng code repository from Zaczero/openstreetmap-ng to openstreetmap-ng/openstreetmap-ng. All stars, forks, and issues have been transferred automatically. All previous URLs are also redirecting to the new address. If you have previously interacted with the project, there’s nothing you need to do.

Why? First of all, since this is a community project, it doesn’t make sense to keep it hosted under an individual account. The project should be hosted under an organizational account where more than one person can manage it. Secondly, by having a project hosted under an organization, we can better manage contributors’ permissions. And lastly, contributors now have the option to display a project badge on their personal GitHub profiles. That’s one more way for us to say thank you!

The organization is free to join to everyone. Check out this wiki page on how to do so.

Finished Directions Implementation

We have also finished the directions page implementation. When searching for a place in the directions, you will now use our improved search engine backend. We have also fixed various small bugs that we experienced on the current website, and made the map segments hoverable and clickable. For comparison, in the current Ruby implementation, only the sidebar handles events. This change makes the directions page more convenient and consistent to use.

Codebase Improvements

Lots of this week’s development time went into improving the codebase. We have now integrated mypy into our workflow, which can detect a wide range of type-related bugs, providing a more stable and predictable development. This integration required more than 300 code parts to be changed.

Additionally, we have dropped the anyio dependency in favor of Python’s standard asyncio. This is one less dependency that new contributors will have to learn. Asyncio provides better performance than anyio (which is an abstraction layer around asyncio) and is more compatible with the Python typing system—especially important now that we use mypy.

Migrated History Feeds

Last but not least, we have finished the migration of the /history/feed and /user/name/history/feed Atom feeds. This brings us one step closer to feature parity with the Ruby implementation.

While working on this migration, we spotted and corrected a 12-year-old bug. Simply, the history feeds advertised their contents as being licensed under CC-BY-SA 2.0, which was changed to ODbL in 2012. The license now points to the OpenStreetMap copyright page, which is a more informative and accurate resource.

Sponsors

This week’s work was sponsored by 17 people!
8 donors on Liberapay, and 9 on GitHub Sponsors.

We can do this and we will do this. Thank you for supporting this project!

Please consider supporting the OpenStreetMap-NG development with any amount. As a thank you, you will be eligible for the unique OpenStreetMap-NG Founder profile badge. You will also help to push the project forward 🏋.

Discussion

Log in to leave a comment