-
Notifications
You must be signed in to change notification settings - Fork 35
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Suggest content for next MapLibre Newsletter #291
Comments
Martin Tile Server v0.13 is out, adding support for tile cache. Users can control how much memory to use for caching Postgres query results, as well as MBTiles and PMTiles access. Note that compression results are not yet cached (see #1112), and neither are font and sprites. P.S. I think we should start this issue and link to it on every newsletter - this way people will know where to post things. |
Maputnik is now part of MapLibre! |
a new maplibre-native node version has been release, node-v5.3.1, which adds support for index-of and slice expressions, webp decoding support. This follows node-v5.3.0 which added support for node 20 and Ubuntu 22.04 Not sure this is newsletter worthy but I did have people asking for these features in node over the year. |
Version 4 of maplibre web has a release candidate with tons of improvements and should be released shortly, we are waiting for some feedback before we release it. |
Version 4.0.0, 4.0.1 and 4.0.2 were released and we are back with releasing versions more often after we finalized all the breaking changes in version 4. |
Yes, I will write it tomorrow (Thursday). |
MapLibre NativeCore
iOS
Android
|
Globe first PR was merged to a dedicated branch to foster collaboration. |
|
Maybe another point:
|
MapLibre NativeMetal-cpp comes with its own smart pointers. We were using them inappropriately in a few places, resulting in a memory leak. Resolved by #2254 and #2257. We now go through the entire iOS test app in an UI test to make sure nothing crashes as a smoke test (#2258). We also run that UI test with an undefined-behavior sanitizer on CI (#2280). Some uniform buffer objects were moved to the global level, others to the layer level, resulting in fewer binds (#2266 and #2247 and #2292). Allow changing User-Agent on iOS #2293. This was the first pull request from @hactar. 💪 MapLibre Native for Node.js 5.4.0 was released. A (wide vector) shader was successfully transplanted from another mapping toolkit (#2183). We want to make it possible to extend MapLibre Native. As seen in the PR, we're not quite at the point where you can do this without changing internals, but it's becoming easier. MapLibre Native is being deployed in larger settings and several crashes have been reported this month. We now include debug symbols for iOS and Android in every release. If you encounter a crash, you can symbolicate the crash report to more easily identify where the issue occurred. The long awaited Android 11.0.0 release is around the corner! Last-minute blocking issues can be reported in the pre-release thread. Several issues have been addressed this month (e.g. #2296). We have a milestone with currently one to-be-resolved issue before we will push out the Android 11.0.0 release. Thanks to everyone that helped with testing! |
WebVersions 4.1.2 and 4.1.3 were released this month. Style SpecThe style spec docs were rewritten to use the awesome Material for MkDocs, which allows search and super easy maintenance. While the spec is not changing rapidly as we invest a lot of effort to keep it future ready on one hand and backward compatible on the other, making sure the docs are helpful is one of the most important aspects. This is vital so the community will be able to use it, and enjoy it. The sky spec discussion has started looking at the atmosphere definitions as part of it, and there is a projection discussion for the globe. A new type of source was proposed and approved: Feel free to join the discussions about the future of MapLibre! |
From @boldtrn maplibre/maplibre-navigation-ios#39 (reply in thread) We are currently reviving maplibre-navigation-ios. After we have improved maplibre-navigation-android recently, we are currently doing the same for iOS. We have updated dependencies like maplibre-native to version 6 with Metal support and use SPM instead of CocoaPods for dependency management. We have added hooks to make customizing some of the navigation functions possible. Kurviger is currently BEAT testing their app with maplibre-navigation-ios, if you would like to give it a spin, you can try the app for free here - please note, only the navigation is using maplibre-navigation-ios. In the future we also want to make it easier to customize the out of the box navigation UI and to move the Android and iOS navigation libraries closer together. Would you like to join the effort? PRs and contributions are welcome. |
Newsletter May 2024 MapLibre NativeMapLibre Native used or being rolled out in some major deployments, including those by AWS and Meta. These large-scale deployments can expose rare, hard-to-reproduce 'long-tail' crashes. We are committed to the stability of the library and welcome bug reports for these types of crashes. To investigate these issues, we require a symbolicated crash report, which can be generated using the debug symbols provided with the library for iOS and Android. More information can be found on the GitHub wiki (iOS and Android). MapLibre Native Android 11.0.0 was released. The documentation was updated with the new package prefix. This month, several iOS patch releases were made as well as a pre-release for Android (e.g. #2442, #2395, #2379). More stability improvements are underway. Stefan Karschti, one of the developers that implemented Metal support for MapLibre Native, has left the Metal team (a.k.a. MapLibre Native Team). Stefan, thank you for your many contributions! We are happy that you want to continue being a member of the MapLibre community! One way to ensure MapLibre Native and MapLibre GL JS remain interoperable is to make sure we have the share the same render tests. Pulling the render tests in a shared repository would complicate pull requests too much. Instead, we wrote a script that we periodically run to check which render tests are missing in each repo. The result is a render test parity status report with corresponding tracking issue. Some guides have been added to the iOS Documentation demonstrating how to use the library with SwiftUI. People who are familiar with using MapLibre Native on iOS, are invited to make a PR to add more guides to the DocC-based documentation site. Are you using MapLibre Native? Please leave a comment on the discussion thread on GitHub. |
WebWe have released four (!) versions this month: 4.2.0, 4.3.0, 4.3.1, 4.3.2. As part of the globe effort there was a need to fix the collision boxes bugs. Jakub, who is making a great progress with the globe code, had been able to port these fixes to the main version, making the collision boxes experience a lot better. The globe is in its final stretch, most of the issues have been fixed and most of map features and style are supported. There are some minor changes with rendering we expect to introduce in the next version related to brackets and new lines so keep an eye for those. We've fixed most of the issues with movement when 3D terrain is on so now the panning and pinching is a lot smoother. Overall, this month was amazing in terms of contribution from the community, and I think the library is steadily gaining momentum, so we would like to thank the community for upstreaming their work! |
Efforts on the next generation tile format (MLT) are progressing rapidly, with Microsoft contracting Stamen for an initial proof of concept. The work is being done in the newly created maplibre-tile-spec repository, thanks to @mactrem's extensive research. MLT tiles already achieve up to 6x size reduction compared to MVT tiles for large tiles. Planned improvements include zero-copy direct-to-GPU pre-tessellated geometries, support for more complex nested types and lists, and linear referencing with m-values. The proof of concept will focus on tile size benchmarks and JavaScript decoding. The above can be edited a bit for content and styling |
@nyurik A few suggestions:
|
@nyurik i would also suggest, since it is frequently discussed,to add that Mlt has support for a more complex type system such as nested types or lists as well as linear referencing and m-values |
Thanks for the feedback, I will try to incorporate those. If I miss something, there will always be a chance to mention more in the June newsletter... |
🎉 Long awaited Martin tile server v0.14 has been released!
|
MapLibre NativeThis month the MapLibre Native (Rendering) Team, previously known as the Metal team, kicked off the R&D for a Vulkan backend. Vulkan is a next-generation graphics API developed by the Khronos Group, the same entity behind OpenGL (ES). While OpenGL ES has served us well, and will continue to do so for the forseeable future, it was developed a long time ago and it is beginning to show its age. We are running into some of its limitations when trying to realize further performance gains. While a Vulkan backend will likely not give us an automatic performance boost, it does offer a lot more control. We know that the automotive industry is following this development with interest. It turns out that in-car systems tend to use resource-constrained customized SOCs where Vulkan offers exactly the kind of tuning and observability that is helpful. Of course, phones, desktops and other devices that support Vulkan, where MapLibre Native is already commonly used, also stand to benefit. Adrian Cojocaru joined the MapLibre Native (Rendering) Team and the MapLibre community this month. A warm welcome to Adrian! He is a graphics engineer with a background in the games industry and is bolstering the Vulkan expertise of the team. He has hit the ground running this month and already shared a screenshot with a functional fill layer that uses Vulkan. If you want to stay up-to-date, join the discussion or even participate in the development of the Vulkan backend, join us on GitHub, the monthly TSC meetings and/or on Slack. MapLibre Android 11.0.1 was released. MapLibre Native iOS 6.5.0 was released. Building an app using MapLibre Native with just the API documentation and snippets of code scattered over the internet or in for example the test apps, is not an easy task. We are working to consolidate existing examples and write new ones for our documentation. We created milestones to track progress on this (see iOS Examples and Android Examples). If you have interesting usage patterns to share, you are invited to create an issue or make a pull request. Events
|
maplibre-tile-spec (MLT)Stamen is wrapping up work on the proof of concept MLT JavaScript decoder. The JavaScript decoder is at parity with the Java decoder. See the repo for an experimental JS decoder package and initial benchmarks (against MVT parsing). You can also see an experiment rendering Bing Maps-based MLTs with MapLibre GL JS: |
Adrian has made a Vulkan Draft PR now to track progress, you can use that image instead and link to the PR. maplibre/maplibre-native#2564 |
MapLibre Navigation iOS (https://github.com/maplibre/maplibre-navigation-ios) has its first 4.0.0 release. MapLibre Navigation iOS now no longer needs you to start navigation in a sheet that appears above your existing map. Instead, navigation can be started in an existing map view, bringing MapLibre Navigation iOS up to par with other known map apps. Original concept by me (@hactar), reimplemented by @Patrick-Kladek. This was sponsored and open sourced by https://hudhud.sa/en - so if they could be credited in the newsletter for this, this would go a long way in helping us continue to open source our work ❤️. You're welcome to use the gifs below if you'd like to visually demonstrate it in the newsletter.
|
WebThe main focus of this month was to push forward the globe effort, where the main focus now is on globe controls, gestures, and refactoring the transform class to be different between globe and mercator view - this is the final stretch for the globe and we are aiming to release it by the end of this year. I would like to repeat my gratitude to Jakub for his amazing work here on the globe implementation. |
MapLibre Native
|
* #291 September newsletter * #291 update title * #291 run format check * Update content/news/2024-09-30-maplibre-newsletter-september-2024/index.md * Update content/news/2024-09-30-maplibre-newsletter-september-2024/index.md * Update content/news/2024-09-30-maplibre-newsletter-september-2024/index.md * Update content/news/2024-09-30-maplibre-newsletter-september-2024/index.md * #291 add sponsor + self-hosted image * #291 format content * #291 sponsor img update * #291 sponsor img png -> svg * Add globe demo * Format --------- Co-authored-by: Oliver Wipfli <[email protected]> Co-authored-by: Harel M <[email protected]>
MapLibre Native
|
Flutter MapLibre GLWe’re conducting a brief survey to gather feedback on MapLibre Flutter. The survey takes only about 2 minutes to complete and will help to identify strengths and areas for improvement. If you've worked with MapLibre on Flutter, your input is highly appreciated. You can participate here: https://forms.gle/UTB6KjVFtmYv2RzU8 |
WebWe have released versions 5.0.0-pre.2, 5.0.0-pre.3 and 5.0.0-pre.4 this month. Overall we are progressing well and ironing out the globe feature. |
I have merged a fix for raster layers when using globe and terrain here but I think that a sentence saying we are ironing out the globe feature would be enough |
Events:
Maybe we can put a link to this thread to ask people to contribute content for the next newsletter. Maybe we can also put times & links to the TSC meetings in November. |
MapLibre Native
VulkanWe’ve made a pre-release of MapLibre Android with Vulkan support: 11.6.1-vulkan-pre1. This will likely be the last pre-release, with the official Vulkan-supported release planned for release in early December. While OpenGL ES will remain supported and MapLibre Android releases with OpenGL ES will continue for the foreseeable future, Vulkan offers a more modern and performant backend. Feedback Needed!Help us test Vulkan support and ensure there are no regressions for your app by following these steps:
Kotlin MultiplatformExciting news for developers interested in Kotlin Multiplatform: Sargun Vohra, with input from Tobias Zwick, has released MapLibre for Compose! The library integrates MapLibre iOS and MapLibre Android and is open to contributions. The README lists various ideas, including adding support for web (presumably by intergrating MapLibre GL JS), which would make the library truly cross-platform. Very cool to see this project take shape. |
WebWe have released versions 5.0.0-pre.5, 5.0.0-pre.6, 5.0.0-pre.7 and 5.0.0-pre.8 this month! |
Navigation AndroidMaplibre-Navigation-Android has been updated to use the latest Maplibre-Native release 11.6.1 and was released as version 4.0.0 with this version. You can find more information about this in the following PR: |
@ramyaragupathy My note about Compose Multiplatform did not make it to the newsletter. Could you include it in the December newsletter? |
MapLibre Compose (Multiplatform) links/info:
|
MartinMartin Tile Server While there are a lot of changes, these changes stand out:
Open questions: @hiddewie (since you already have expermeinted with this): do you have another example of sdf sprites? |
Another example that is publicly available is the OpenRailwayMap (using the entire MapLibre stack). For example https://openrailwaymap.fly.dev/#view=16.12/50.95044/6.951828&style=speed. Two examples where SDF sprites are used:
Image (Köln, Germany): |
We already had the Vulkan release announcement, which we can remind people of in the newsletter. MapLibre Native
MapLibre for ComposePlease combine my comment (Kotlin Multiplatform) and Sargun's comment to announce Kotlin Multiplatform as a new platform. 🙂 |
Flutter MapLibreStarted in September 2024, the Flutter maplibre package was created to provide modern Flutter bindings for MapLibre Native and MapLibre GL JS and a seamless integration into the Flutter ecosystem. Currently, supported platforms are Android and Web, while the iOS implementation is on the way and, as of right now, about halfway done (see #26). Key features include its integration into the Flutter state management system and widget tree, direct interoperability using FFI and JNI, and platform-invariant customizable user interface. A more in depth comparison with The package already receives a couple of hundred downloads each month, and its goal is to become a full alternative to flutter-maplibre-gl by the end of Q1 2025.
|
@josxha , thanks for sharing that! A small request from those of use not too regular users of flutter - I think it would be a good idea to add a "Why Flutter-MapLibre?" or a "Comparison to alternatives" page in the docs, similar to the vite pages I linked, to emphasize the motivation/benefits of this new binding. I have some guesses what's meant by this binding being more "modern", but I think it could help adoption to clarify it, as people often gravitate towards the trusty/higher-usage option if in doubt. |
Thanks for your feedback @birkskyum, that's a great idea! I've already had some basic feature comparison in the docs but now added additional informations. https://flutter-maplibre.pages.dev/compare/ Let me know if it goes the right direction. As the text related to maplibre_gl is relatively long, I assume linking it would be best? |
@josxha Adding a link sounds good to me. Thanks for sharing, looks like an interesting project! |
WebWe have released versions 5.0.0-pre.9 and 5.0.0-pre.10 for better feedback and final bug fixes. |
If you would like to add something to the next MapLibre Newsletter, feel free to post a section here in this issue and then we will incorporate it in the next Newsletter.
The text was updated successfully, but these errors were encountered: