v0.5.0
What's Changed
This release improves performance on high-end machines by 20% (from 47 to 38 minutes with 64 cpus/128GB ram) by addressing several single-threaded bottlenecks, reduces mbtiles output size by 25% (from 104 to 78GB) by deduplicating repeated ocean tiles, and upgrades the basemap profile to OpenMapTiles 3.13.1.
To run this release from Java, download the attached planetiler.jar, or from docker use ghcr.io/onthegomap/planetiler:0.5.0
.
There is ongoing discussion about the project in the #planetiler channel on OSM-US slack. If you are interested in joining, get an invite here!
Performance Improvements
- Reduce synchronized work in
transportation_name
layer by @msbarry in #180 - Minimize number of temp feature chunk files by @msbarry in #199
- Add
--mmap-temp
option to use memory-mapped IO for temp feature files by @msbarry in #209 - Enable
--mmap-temp
by default by @msbarry in #236 - Parallel temp feature writes using
--write-threads
argument by @msbarry in #213 - Use custom min-heap to improve k-way merge by 30-50% by @msbarry in #217
- add compact DB mode (--compact-db) to de-duplicate mbtiles output by @bbilger in #219
- Improve DB Indexes and Fix Deferred Index Logging in Compact DB Mode by @bbilger in #245
- Use fnv1a64 for tile hash by @msbarry in #253
- Add
--feature-read-threads
option to read features in parallel when writing tiles by @msbarry in #225 - Unsynchronize ICU4j transliterate by @msbarry in #246
- Cheap isFill check and add
--skip-filled-tiles
option by @msbarry in #234 - Gather v0.5.0 benchmarks by @msbarry in #256
Improvements and Bug Fixes
- Upgrade basemap profile to OpenMapTiles v3.13.1 by @msbarry in #227
- Reduce forest/wood landcover min zoom to 7 by @msbarry in #176
- Handle elevations in units besides meters by @msbarry in #226
- Merge overlapping water polygons by @msbarry in #235
- Data type support for Expression / MultiExpression by @ZeLonewolf in #190
- Implement matchField testing for Expression.not by @ZeLonewolf in #201
- More robust multiexpression filtering by @msbarry in #206
- Change terminology around "rendering" to be consistent with MapLibre vision by @ZeLonewolf in #238
- Fix is convex negated by @msbarry in #241
- Fall back to parsing bounds from all nodes by @msbarry in #251
Contributor Improvements
- Run
spotless:check
before verify actions in CI by @msbarry in #169 - Add sonar for static analysis by @msbarry in #177
- Inline sonar token by @msbarry in #186
- Fix sonar warnings by @msbarry in #181
- Fix sonar warnings in tests by @msbarry in #191
- Fix sonar issues with unclosed resources by @msbarry in #195
- Review thread local warnings by @msbarry in #196
- Ignore generated code from sonar analysis by @msbarry in #197
- Run nested tests by @msbarry in #218
- Upload artifact during build by @msbarry in #222
- Also run java 18 in CI by @msbarry in #249
Dependencies
Once again, @dependabot has been busy keeping dependencies up-to-date.
Dependency upgrades in this release
- Bump jnr-ffi from 2.2.11 to 2.2.12 by @dependabot in #154
- Bump maven-surefire-plugin from 3.0.0-M5 to 3.0.0-M6 by @dependabot in #155
- Bump maven-surefire-plugin from 3.0.0-M5 to 3.0.0-M6 in /.github/planetiler-examples-dependabot by @dependabot in #156
- Bump maven-failsafe-plugin from 3.0.0-M5 to 3.0.0-M6 in /.github/planetiler-examples-dependabot by @dependabot in #158
- Bump maven-failsafe-plugin from 3.0.0-M5 to 3.0.0-M6 by @dependabot in #157
- Bump spotless-maven-plugin from 2.22.0 to 2.22.1 by @dependabot in #159
- Bump icu4j from 70.1 to 71.1 by @dependabot in #161
- Bump actions/upload-artifact from 2 to 3 by @dependabot in #170
- Bump geotools.version from 26.3 to 26.4 by @dependabot in #172
- Bump actions/setup-java from 2 to 3 by @dependabot in #171
- Bump actions/cache from 2 to 3 by @dependabot in #182
- Bump mockito-core from 4.4.0 to 4.5.0 by @dependabot in #183
- Bump maven-javadoc-plugin from 3.3.2 to 3.4.0 by @dependabot in #188
- Bump mockito-core from 4.5.0 to 4.5.1 by @dependabot in #189
- Bump spotless-maven-plugin from 2.22.1 to 2.22.2 by @dependabot in #194
- Bump spotless-maven-plugin from 2.22.2 to 2.22.3 by @dependabot in #198
- Bump spotless-maven-plugin from 2.22.3 to 2.22.4 by @dependabot in #210
- Bump spotless-maven-plugin from 2.22.4 to 2.22.5 by @dependabot in #221
- Bump jackson.version from 2.13.2 to 2.13.3 by @dependabot in #223
- Bump geotools.version from 26.4 to 27.0 by @dependabot in #230
- Bump mockito-core from 4.5.1 to 4.6.0 by @dependabot in #239
- Bump commonmark from 0.18.2 to 0.19.0 by @dependabot in #248
- Bump mockito-core from 4.6.0 to 4.6.1 by @dependabot in #252
New Contributors
What's Next?
After this release, we'll merge #160 which is the first step to defining custom profiles through a config file, stay tuned!
Full Changelog: v0.4.0...v0.5.0