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