Just in time for this newsletter, MapLibre GL JS has gained over 5000 Stars on GitHub. Great that we got so far and thanks to everyone who contributed in the past and made this possible!
In the last month, 5 releases of MapLibre GL JS were made. Below you find some highlights, for a full list of improvements please have a look at the changelog.
Finally, we are working on moving some of the old callback-based design to more modern JavaScript Promises allowing the use of async and await. While this change is still in the making, it will most likely lead to a series of breaking changes. Feedback on this design change is more than welcome. Feel free to share your thoughts in this pull request.
The iOS pre-release with Metal support has received numerous performance optimizations. We are inviting users of MapLibre Native on iOS to try out a recent pre-release and share feedback. The upcoming MapLibre Native iOS 6.0.0 release will use Metal for rendering.
The project to implement a Metal backend for MapLibre Native is now nearing its completion. Steve Gifford, who led the effort, is now exploring options for a follow-up project. He has made various proposals. Please have a look and share your thoughts.
Keeping binary size low is very important for some users of MapLibre Native. We now have Bloaty running on CI to analyze and report on binary size differences on PRs. We are welcoming contributions that reduce binary size. Going forward, binary size (increase) will be an acceptance criterion for contributions. Ideally it should be possible to opt-out of future functionality that significantly adds to binary size using compile options.
There is an open PR from Alan Wei Chen that integrates HarfBuzz into the toolkit to be able to render Khmer, Burmese and Hindi.
Related to the point above, Oliver Wipfli wrote a great article on text rendering in MapLibre. He concludes:
It is an exciting time to work on text rendering in MapLibre because it is not perfect yet and any improvement will likely mean that millions if not billions of people get to enjoy vector maps in their native language. So it is well worth the effort…
Tadej Novak is making progress on splitting out the Qt platform to its own repository. The Qt platform will be used to experiment with platform bindings living in a separate repository.
The Martin Tile Server v0.10 was just released, adding support for dynamic font glyph range generation. Now you can provide any fonts to Martin, and it will automatically create SDF glyph ranges for MapLibre-GL with /font/<name>/<start>-<end>
endpoint. Fonts also allow glyph fallback: list font names as comma-separated values, and whichever font first has the glyph, that’s the glyph that will be included. This way you can specify fallback fonts: /font/Font1,Font2,Font3/0-255
.
Other new features include MBtiles diffing and patching for the mbtiles
utility, and improvements to the Martin startup time with auto bounds computation timeout.
MapLibre will be represented by Bart Louwers and Luke Seelenbinder at State of the Map Europe in Antwerp November 10-12th, 2023.
For late November, Jashanpreet Singh plans to hold a talk on the state of MapLibre at FOSS4G in Seoul.
Come by and get to know us in person.
The MapLibre User Group Japan will organize an in-person meetup in November. If you are interested in joining the meetup in Japan, contact Yasunori Kirimoto in the MapLibre Slack channel. They even have MapLibre t-shirts!
We plan to do an online conference day. The date is still to be defined, but if you are interested in giving a talk, you can fill out the form already.
More info on the conference day will follow in the MapLibre Slack channel, on social media, and here in the Newsletter.