Skip to content

Release 1.3.0

Compare
Choose a tag to compare
@lonvia lonvia released this 28 Jul 08:39
· 1601 commits to master since this release

This release introduces the new "flex" output. It allows a more flexible
definition of output tables and columns. It also adds a second stage of
processing which makes it possible to get information from relations to
their members, allowing, for instance, to render tags from bicycle route
relations on their member ways. The "flex" output is configured through
Lua scripts.

The flex output is currently still marked as experimental, because it is new
and we want to collect feedback from the community before finalizing the API.
But it already works well and users are encouraged to try it out. Some new
features are only or will only be available in the flex output and we expect
that it will replace the other outputs in the long term.

Some features have been marked as deprecated:

  • The "multi" output will be removed in a future version of osm2pgsql. If you
    are using the multi output, switch to the flex output now and tell us if
    you have any problems.
  • When the input file uses negative OSM object IDs a warning is now generated.
    Negative IDs never worked correctly for all use cases. Future versions of
    osm2pgsql will not allow negative IDs at all. Use "osmium renumber"
    to get rid of the negative IDs.
  • Input files that are not ordered generate a warning. Future versions of
    osm2pgsql will not work any more with unordered files. If you have unordered
    files use "osmium sort" to order them.

Further changes:

  • The multi output now looks for lua script relative to the style.json file.
    This is a breaking change. Users might have to change the file names of
    their lua scripts in the style files.
  • Use the fmt library for formatting strings now instead of a mixture of
    boost::format and hand-written mechanisms. A version of fmt is included
    in the contrib directory.
  • Make PROJ library optional. If the proj library cannot be found by cmake,
    do not offer the option to use arbitrary projections. Only WGS84 and
    WebMercator are supported then.
  • Don't use ST_GeoHash for ordering tables by geometry on Postgis >= 2.4.
    Instead use the default ordering which works better now.
  • Fix: Always print correct relations count and more correct count per seconds
    when showing processing stats.
  • Fix: If a function run in the thread pool throws an exception, this exception
    was never "collected", it was silently ignored. This meant that some errors,
    especially in communication with the database, were not detected correctly.
  • The dependency management, the part of the code which tracks which changes
    in the OSM data trigger which changes in the outputs, was reorganized
    making in much cleaner and removing the last remnants of code written to
    support "old style" multipolygons.
  • Tests have been moved to the Catch framework, extended and the regression
    tests have been reorganised, so they can run independently of each other.
  • A lot of code was cleaned up, modernized, made more robust, and sometimes
    removed.