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