Skip to content

Releases: osm-search/Nominatim

Release 3.3.0

01 May 08:44
Compare
Choose a tag to compare

This latest release makes Nominatim more configurable in custom installations. There is a new reverse-only mode for imports where forward search is not needed. In addition it is now possible to configure which OSM tags are taken into account by Nominatim. This allows to describe exactly which types of objects should be found in your instance. There are a number of example configurations for frequent use cases which you might use as a starting point. For more information read the installation documentation.

As usual there are also a number of bug fixes and minor improvements. Details can be found in the ChangeLog file.

If you want to update from 3.x.x, there is a database migration path described in the migration guide. Migrating from 3.1.0 can be done without problems. However, when updating from 3.0.x, a full database reimport is strongly recommended. Updating from older releases is only possible with a database reimport.

This will be the last release to support PHP 5.x and PostgreSQL < 9.3.

Release 3.2.0

26 Aug 18:45
Compare
Choose a tag to compare

This release brings two new output formats and a complete rewrite of the reverse geocoding algorithms.

We have added two new output formats for all API endpoints: geojson and geocodejson. The latter also exports for the first time address details by OSM admin level, which may be a help for all that want to process specific address parts further. Refer to the new documentation on output formats for details.

The reverse algorithm has been largely rewritten to deliver better results in sparsely populated areas and when looking for administrative entities (town, country etc.). For details refer to the original outline of the algorithm. The new algorithm will also ensure that reverse geocoding coordinates on a road only return results that reference that road. Previously it was possible to end up on a nearby building that belonged to another road.

Next to these two major changes, there are a number of bug fixes and code cleanup. For a more complete list of changes, see the ChangeLog file.

If you want to update from 3.x.x, there is a database migration path described in the migration guide. Migrating from 3.1.0 can be done without problems. However, when updating from 3.0.x, a full database reimport is strongly recommended. Updating from older releases is only possible with a database reimport.

Release 3.1.0

17 Jan 21:35
Compare
Choose a tag to compare

This release brings a major overhaul of postcode handling and the PHP frontend code.

Postcodes now reside in their own table location_postcode which can be updated at any time. Postcodes for places are no longer part of the standard address but are guessed with using a dedicated algorithm. On the search side, post codes can now be ignored in the query, improving results in areas where postcode coverage in OSM is bad. For more details read this blog post.

The PHP frontend code that parses incoming queries and looks up and formats the results has been thoroughly refactored into a set of classes with much smaller functions. All code is now documented and the API tests have resulted in almost 100% code coverage. As part of these changes there have been a lot of small tweaks to the algorithm that interprets the incoming queries to exclude more unlikely interpretations.

For a more complete list of changes, see the ChangeLog file.

If you want to update from 3.0.x, there is a database migration path described in the migration guide. However, to fully profit from the postcode changes a full database reimport is strongly recommended. Updating from older releases is only possible with a database reimport.

Release 3.0.1

13 Aug 21:38
Compare
Choose a tag to compare

This is a bugfix release. It fixes a problem with geometry building in osm2pgsql which sometimes causes wrong geometries to be emitted.

Users which have a Nominatim 3.0.0 database which receives regular updates are strongly encouraged to update to 3.0.1. No special update procedure is required. Simply download and install the latest release and point your database to the new version.

Release 3.0.0

25 Jun 19:55
Compare
Choose a tag to compare

This release brings a major overhaul of the source code and database internals. The result is a much smaller database and improved query response times. The major changes include:

  • move to CMake for the build framework
  • introduce on-the-fly computation of address interpolations
  • osm2pgsql uses the more efficient libosmium data structures
  • cleanup of the PHP code structure
  • complete overhaul of test infrastructure

The major new feature concerns the reverse endpoint: it is now able to return geometries using the polygon_* parameters already known from the search endpoint.

For a more complete list of changes, see the ChangeLog file.

Starting with this release, installation instructions for releases have moved to nominatim.org. Please read them carefully when upgrading as the build process has changed significantly.

This release is not database-compatible with older versions. A complete database reimport is required when upgrading.

Release Notes 2.5.1

16 Sep 19:35
Compare
Choose a tag to compare

This is a minor bug fix release, which resolves the following:

  • fixes a number of warnings new in PHP7
  • fix check for website in setup.php
  • resolve some minor formatting issues with new website layout

Upgrading from older versions

You may upgrade existing database from Nominatim 2.5 and 2.4 without reimport. For upgrading from older versions, please see the release notes for Nominatim 2.4.

Steps for upgrading from 2.4 and 2.5.0:

  1. Download and compile Nominatim 2.5.1.

  2. Copy your old settings (settings/local.php, settings/configuration.txt and settings/state.txt)

  3. Install the new code into your postgres database by running:

    ./utils/setup.php --create-functions --enable-diff-updates --create-partition-functions

Release Notes 2.5.0

21 Feb 19:45
Compare
Choose a tag to compare

Note: This will be the last release to support postgis 1.x and postgresql 9.0.

This release brings a major overhaul of the built-in web interface. There is now a web view for reverse geocoding and the details page has been made more readable. All is now ready for mobile use.

The second major change is the addition of a number of new functions for the API:

  • reverse lookup now can use Tiger house number data in the US
  • new feature to return simplified polygons
  • new lookup endpoint that allows to look up address information for OSM objects by id
  • new namedetails and extratags parameters to get a full list of names or additional tags for each object (requires postgresql >= 9.3)

Other changes include updates for the Tiger data import script, new configure options for use behind HTTP proxies and https://www.vagrantup.com/ scripts for running Nominatim in a Ubuntu or CentOS virtual box.

Upgrading from older versions

You may upgrade existing database from Nominatim 2.4 without reimport. For upgrading from older versions, please read the release notes for Nominatim 2.4.

Steps for upgrading from 2.4:

  1. Download and compile Nominatim 2.5.0.

  2. Copy your old settings (settings/local.php, settings/configuration.txt and settings/state.txt)

  3. Install the new code into your postgres database by running:

    ./utils/setup.php --create-functions --enable-diff-updates --create-partition-functions

Release Notes 2.4.0

07 May 14:46
Compare
Choose a tag to compare

This release brings a new C++ version of osm2pgsql and some changes in the database structure that together mean about 20% less disk usage.

Upgrading from older versions

Please note that support for postgresql < 9.0 has been dropped with this release.

It is strongly recommended to reimport the database to fully profit from the improved import process. If that is not possible, you may upgrade from databases using Nominatim 2.1 or later. The following steps are necessary for upgrading from 2.3. Users of 2.1 and 2.2, please also take note of the upgrade instructions in the release notes for versions 2.2 and 2.3.

Steps for upgrading from 2.3:

  1. Download and compile Nominatim 2.4.0.

  2. Copy your old settings (settings/local.php, settings/configuration.txt and settings/state.txt)

  3. Install the new code into your postgres database by running:

    ./utils/setup.php --create-functions --enable-diff-updates --create-partition-functions

  4. Drop way-node index and pending columns (in psql):

    ALTER TABLE planet_osm_ways DROP COLUMN pending;
    ALTER TABLE planet_osm_rels DROP COLUMN pending;
    DROP INDEX planet_osm_ways_nodes;

Upgrading address interpolations

This release also contains a fix to correct computation of interpolated addresses when osm2pgsql flatnode files are used. If your database uses this, you need to recompute the address interpolations after upgrading to 2.4.0 as follows:

  • invalidate all interpolations (in psql):

    UPDATE placex SET indexed_status=2 WHERE rank_search = 28

  • disable update features:

    ./utils/setup.php --create-functions --create-partition-functions

  • reindex the whole lot:

    ./utils/update.php --index --index-instances <number of your cpus>

  • enable update features again:

    ./utils/setup.php --create-functions --enable-diff-updates --create-partition-functions