3 * fix XSS vulnerability in debug view
7 * fix initialisation error in replication script
8 * ICU tokenizer: avoid any special characters in word tokens
9 * better error message when API php script does not exist
10 * fix quoting of house numbers in SQL queries
11 * small fixes and improvements in search query parsing
12 * add documentation for moving the database to a different machine
16 * refactor name token computation and introduce ICU tokenizer
17 * name processing now happens in the indexer outside the DB
18 * reorganizes abbreviation handling and moves it to the indexing phases
19 * adds preprocessing of names
20 * add country-specific ranking for Spain, Slovakia
21 * partially switch to using SP-GIST indexes
22 * better updating of dependent addresses for name changes in streets
23 * remove unused/broken tables for external housenumbers
24 * move external postcodes to CSV format and no longer save them in tables
25 (adds support for postcodes for arbitrary countries)
26 * remove postcode helper entries from placex (thanks @AntoJvlt)
27 * change required format for TIGER data to CSV
28 * move configuration of default languages from wiki into config file
29 * expect customized configuration files in project directory by default
30 * disable search API for reverse-only import (thanks @darkshredder)
31 * port most of maintenance/import code to Python and remove PHP utils
32 * add catch-up mode for replication
33 * add updating of special phrases (thanks @AntoJvlt)
34 * add support for special phrases in CSV files (thanks @AntoJvlt)
35 * switch to case-independent matching between place and boundary names
36 * remove disabling of reverse query parsing
37 * minor tweaks to search algorithm to avoid more false positives
38 * major overhaul of the administrator and developer documentation
39 * add security disclosure policy
40 * add testing of installation scripts via CI
41 * drop support for Python < 3.6 and Postgresql < 9.5
45 * fix XSS vulnerability in debug view
49 * fix database check for reverse-only imports
50 * do not error out in status API result when import date is missing
51 * add array_key_last function for PHP < 7.3 (thanks to @woodpeck)
52 * fix more url when server name is unknown (thanks to @mogita)
53 * commit changes to replication log table
57 * fix smaller issues with special phrases import (thanks @AntoJvlt)
58 * add index to speed up continued indexing during import
59 * fix index on location_property_tiger(parent_place_id) (thanks @changpingc)
60 * make sure Python code is backward-compatible with Python 3.5
61 * various documentation fixes
65 * switch to dotenv for configuration file
66 * introduce 'make install' (reorganising most of the code)
67 * introduce nominatim tool as replacement for various php scripts
68 * introduce project directories and allow multiple installations from same build
69 * clean up BDD tests: drop nose, reorganise step code
70 * simplify test database for API BDD tests and autoinstall database
71 * port most of the code for command-line tools to Python
72 (thanks to @darkshredder and @AntoJvlt)
73 * add tests for all tooling
74 * replace pyosmium-get-changes with custom internal implementation using
76 * improve search for queries with housenumber and partial terms
77 * add database versioning
78 * use jinja2 for preprocessing SQL files
79 * introduce automatic migrations
80 * reverse fix preference of interpolations over housenumbers
81 * parallelize indexing of postcodes
82 * add non-key indexes to speed up housenumber + street searches
83 * switch housenumber field in placex to save transliterated names
87 * add full support for searching by and displaying of addr:* tags
88 * improve address output for large-area objects
89 * better use of country names from OSM data for search and display
90 * better debug output for reverse call
91 * add support for addr:place links without an place equivalent in OSM
92 * improve finding postcodes with normalisation artefacts
93 * batch object to index for rank 30, avoiding a wrap-around of transaction
95 * introduce dynamic address rank computation for administrative boundaries
96 depending on linked objects and their place in the admin level hierarchy
97 * add country-specific address ranking for Indonesia, Russia, Belgium and
98 the Netherlands (thanks @hendrikmoree)
99 * make sure wikidata/wikipedia tags are imported for all styles
100 * make POIs searchable by name and housenumber (thanks @joy-yyd)
101 * reverse geocoding now ignores places without an address rank (rivers etc.)
102 * installation of a webserver is no longer mandatory, for development
103 use the php internal webserver via 'make serve
104 * reduce the influence of place nodes in addresses
105 * drop support for the unspecific is_in tag
106 * various minor tweaks to supplied styles
107 * move HTML web frontend into its own project
108 * move scripts for processing external data sources into separate directories
109 * introduce separate configuration for website (thanks @krahulreddy)
110 * update documentation, in particular, clean up development docs
111 * update osm2pgsql to 1.4.0
115 * ensure that wikipedia tags are imported for all styles
116 * reinstate verbosity for indexing during updates
117 * make house number reappear in display name on named POIs
118 * introduce batch processing in indexer to avoid transaction ID overrun
119 * increase splitting for large geometries to improve indexing speed
120 * remove deprecated get_magic_quotes_gpc() function
121 * make sure that all postcodes have an entry in word and are thus searchable
122 * remove use of ST_Covers in conjunction woth ST_Intersects,
123 causes bad query planning and slow updates in Postgis3
128 * disable jit and parallel processing in PostgreSQL for osm2pgsql
129 * update libosmium to 2.15.6 (fixes an issue with processing hanging
130 on large multipolygons)
134 * structured select on HTML search page
135 * new PHP Nominatim\Shell class to wrap shell escaping
136 * remove polygon parameter from all API calls
137 * improve handling of postcode areas
138 * reorganise place linking algorithm, now using wikidata tag as well
139 * remove linkees from search_name and larger_area tables
140 * introduce country-specific address ranks
141 * reorganise rank address computation
142 * cleanup of partition function
143 * improve parenting for large POIs
144 * add support for Postgresql 12 and Postgis 3
145 * add earlier cleanup when --drop is given, to reduce memory usage
146 * remove use of place_id in URLs
147 * replace C nominatim indexer with a simpler Python implementation
148 * split up the huge sql/functions.sql file
149 * move osm2pgsql tests to osm2pgsql
150 * add new extratags style which imports all tags from OSM
151 * add new script for checking the import after completion
152 * update osm2pgsql, reducing memory usage
153 * use new wikipedia importance and add processing of wikidata tags
154 * add search form for details page
155 * use ExtraDataPath for country_grid table
156 * remove short_name from list of names to be displayed
157 * split up CMakeFile, so that all parts can be built separately
158 * update installation instructions for CentOS and Ubuntu
159 * add script for importing/updating multiple country extracts
160 * various documentation improvements
164 * fix security bug in /details endpoint where user input was not
169 * update osm2pgsql to fix hans during updates and lost address numbers
174 * increase required version for PostgreSQL(9.3), PostGIS(2.2) and PHP(7.0)
175 * better error reporting for out-of-memory errors
176 * exclude postcode ranges separated by colon from centre point calculation
177 * update osm2pgsql, better handling of imports without flatnode file
178 * switch to more efficient algorithm for word set computation
179 * use only boundries for country and state parts of addresses
180 * improve updates of addresses with housenumbers and interpolations
181 * remove country from place_addressline table and use country_code instead
182 * optimise indexes on search_name partition tables
183 * improve searching of attached streets for large objects like airports
184 * drop support for python 2
185 * new scripts for importing Wikidata for importance
186 * create and drop indexes concurrently to not clash with auto vacuum
187 * various documentation improvements
192 * zoom 17 in reverse now zooms in on minor streets
193 * fix use of postcode relations in address
194 * support for housenumber 0 on interpolations
195 * replace database abstraction DB with PDO and switch to using exceptions
196 * exclude line features at rank 30 from reverse geocoding
197 * remove self-reference and country from place_addressline
198 * make json output more readable (less escaping)
199 * update conversion scripts for postcodes
200 * scripts in utils/ are no longer executable (always use scripts in build dir)
201 * remove Natural Earth country fallback (OSM is complete enough)
202 * make rank assignments configurable
203 * allow accept languages with underscore
204 * new reverse-only import mode (without search index table)
205 * rely on boundaries only for states and countries
206 * update osm2pgsql, now using a configurable style
207 * provide multiple import styles
208 * improve search when house number and postcodes are dropped
209 * overhaul of setup code
210 * add support for PHPUnit 6
211 * update test database
212 * various documentation improvements
216 * complete rewrite of reverse search algorithm
217 * add new geojson and geocodejson output formats
218 * add simple export script to exprot addresses to CSV
219 * remove is_in terms from address computation
220 * remove unused search_name_country tables
221 * various smaller fixes to query parsing
222 * convert Tokens and token types to class types
223 * correctly handle update when boundary object type is changed
224 * improve debug output for /search endpoint
225 * update to latest osm2pgsql and leaflet.js
226 * overhaul of /details endpoint:
227 * new class parameter when using osmtype/osmid parameters
228 * permalink to instance-independent osmtype/osmid parameter format
229 * new json output format
230 * update CentOS vagrant machine to use SELinux
231 * add vagrant scripts for Ubuntu 18.04
232 * fix build process for BSD
233 * enable running the database on a different host than the setup scripts
234 * allow to configure use of custom PHP binaries (PHP_BIN)
235 * extensive coding style improvements to PHP code
236 * more PHP unit tests for new classes
237 * increase coverage for API tests
238 * add documentation for API
242 * rework postcode handling and introduce location_postcode table
243 * make setup less verbose and print a summary in the end
244 * setup: error out when web site user does not exist
245 * add more API tests to complete code coverage
246 * reinstate key-value amenity search (special term [key=value])
247 * fix detection of coordinates in query
248 * various smaller tweaks to ranking of search interpretations
249 * complete overhaul of PHP frontend code using OOP
250 * add address rank to details page
251 * update Tiger scripts for 2017 data and clean up unused code
252 * various bug fixes and improvements to UI
253 * improve reverse geocoding performance close to coasts
254 * more PHP style cleanup (quoting)
255 * allow unnamed road in reverse geocoding to avoid too far off results
256 * add function to recalculate counts for full-word search term
257 * add function to check if new updates are available
258 * update documentation and switch to mkdocs for generating HTML
262 * fix bug in geometry building algorithm in osm2pgsql
263 * fix typos in build instructions
267 * move to cmake build system
268 * various fixes to HTML output
269 * reverse endpoint now can return geometries
270 * add support for PHP7
271 * move to on-the-fly computation of interpolations
272 * improve handling of linked places (updating)
273 * improve test framework:
274 * replace lettuce with behave
275 * use smaller database for API tests
276 * drop support for postgres < 9.1, postgis < 2.0 and PHP < 5.4
277 * make external data use optional (useful for imports without US)
278 * detect postgres and postgis versions automatically
279 * clean up query logging and remove unused tables
280 * move installation documentation into this repo
281 * add self-documenting vagrant scripts
282 * remove --create-website, recommend to use website directory in build
283 * add accessor functions for URL parameters and improve erro checking
284 * remove IP blocking and rate-limiting code
285 * enable CI via travis
286 * reformatting for more consistent coding style
287 * make country search term creation part of setup
288 * update country names and country grid
289 * handle roads that cross boundaries better
290 * keep full information on address tags
291 * update to refactored osm2pgsql which use libosmium based types
292 * switch from osmosis to pyosmium for updates
293 * be more strict when matching against special search terms
294 * handle postcode entries with mutliple values correctly
298 * reverse geocoding includes looking up housenumbers from Tiger data
299 * added parameter to return simplified geometries
300 * new lookup call for getting address information for OSM objects
301 * new namedetails and extratags parameters that expose the name and extratags
302 fields of the placex table
308 * drop support for postgres 8.4
309 * rewrite address interpolation
310 * switch to C++ version of osm2pgsql and rewrite tag filtering
311 * support for bridge:name and tunnel:name, man_made, junction
312 * drop way-node index (reduces database size by about 15%)
313 * add support for configuring tablespaces and webserver user
314 * better evaluation of search queries in right-to-left notation
315 * improve house number search for streets with many duplicate entries
316 * code cleanup (remove unused functions and tables)
320 * further improve ordering of results
321 * support for more lat/lon formats in search-as-reverse
322 * fix handling of GB postcodes
323 * new functional test suite
324 * support for waterway relations
325 * inherit postcodes from street to poi
326 * fix housenumber normalisation to find non-latin house numbers
327 * take viewbox into account for ordering of results
328 * pois may now inherit address tags from surrounding buildings
329 * improve what objects may participate in an address
330 * clean up handled class/type combinations to current OSM usage
335 * correct database rights for www-data
336 * add timestamps for update output
337 * load postgis via extension for postgis >= 2.0
338 * remove non-admin boundaries from addresses
339 * further improve ordering of results with same importance
340 * merge addr:postcode tags into object addresses
341 * include rank and importance in reverse geocode output
342 * replace ST_Line_Interpolate_Point with ST_LineInterpolatePoint
344 * update osm2pgsql to latest version
345 * properly detect changes of admin_level
346 * remove landuses when name is removed
351 * update to openlayers 2.12 (now custom built)
352 * update fallback OSM boundaries
353 * add support for postgresql 9.2/9.3 and postgis 2.x
354 * add structured queries
355 * add options for polygon output in various formats
356 (geojson, svg, kml, postgis text)
357 * maintenance functions for deleting objects and updating regions
358 (plcae_force_update/place_force_delete)
359 * web view for polygons that need deleting
360 * rate limiting using memcache
361 * improve layout of details page
362 * add support for boundary:postal_code
364 * improve parenting of POIs
365 * support for extract daily diffs from Geofabrik
366 * support for addresses without a street
367 (addr:place and conscription number house numbers)
368 * improve layout of word and search_name_* tables
369 * support for US ZIP+4 codes
370 * refactoring of front-end PHP code
371 * lots of smaller bug fixes
375 * delete outdated entries from location_area_country
376 * remove remaining uses of INTEGER, to allow node ids larger than 2^31