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