]> git.openstreetmap.org Git - nominatim.git/blob - ChangeLog
prepare release 4.3.2
[nominatim.git] / ChangeLog
1 4.3.2
2  * fix potential SQL injection issue for 'nominatim admin --collect-os-info'
3  * PHP frontend: fix on-the-fly lookup of postcode areas near boundaries
4  * Python frontend: improve handling of viewbox
5  * Python frontend: correct deployment instructions
6
7 4.3.1
8  * reintroduce result rematching
9  * improve search of multi-part names
10  * fix accidentally switched meaning of --reverse-only and --search-only in
11    warm command
12
13 4.3.0
14  * fix failing importance recalculation command
15  * fix merging of linked names into unnamed boundaries
16  * fix a number of corner cases with interpolation splitting resulting in
17    invalid geometries
18  * fix failure in website generation when password contains curly brackets
19  * fix broken use of ST_Project in PostGIS 3.4
20  * new NOMINATIM_SEARCH_WITHIN_COUNTRIES setting to restrict reverse lookups
21    to known countries (thanks @alfmarcua)
22  * allow negative OSM IDs (thanks @alfmarcua)
23  * disallow import of Tiger data in a frozen DB
24  * avoid UPDATE to change settings to be compatible with r/o DBs (thanks @t-tomek)
25  * update bundled osm2pgsql to 1.9.2
26  * reorganise osm2pgsql flex style and make it the default
27  * exclude names ending in :wikipedia from indexing
28  * no longer accept comma as a list separator in name tags
29  * process forward dependencies on update to catch updates in geometries
30    of ways and relations
31  * fix handling of isolated silent letters during transliteration
32  * no longer assign postcodes to large linear features like rivers
33  * introduce nominatim.paths module for finding data and libraries
34  * documentation layout changed to material theme
35  * new documentation section for library
36  * various smaller fixes to existing documentation
37    (thanks @woodpeck, @bloom256, @biswajit-k)
38  * updates to vagrant install scripts, drop support for Ubunut 18
39    (thanks @n-timofeev)
40  * removed obsolete configuration variables from env.defaults
41  * add script for generating a taginfo description (thanks @biswajit-k)
42  * modernize Python code around BDD test and add testing of Python frontend
43  * lots of new BDD tests for API output
44
45 4.2.3
46
47  * fix deletion handling for 'nominatim add-data'
48  * adapt place_force_delete() to new deletion handling
49  * flex style: avoid dropping of postcode areas
50  * fix update errors on address interpolation handling
51
52 4.2.2
53
54  * extend flex-style library to fully support all default styles
55  * fix handling of Hebrew aleph
56  * do not assign postcodes to rivers
57  * fix string matching in PHP code
58  * update osm2pgsql (various updates to flex)
59  * fix slow query when deleting places on update
60  * fix CLI details query
61  * fix recalculation of importance values
62  * fix polygon simplification in reverse results
63  * add class/type information to reverse geocodejson result
64  * minor improvements to default tokenizer configuration
65  * various smaller fixes to documentation
66
67 4.2.1
68
69  * fix XSS vulnerability in debug view
70
71 4.2.0
72
73  * add experimental support for osm2pgsql flex style
74  * introduce secondary importance value to be retrieved from a raster data file
75    (currently still unused, to replace address importance, thanks to @tareqpi)
76  * add new report tool `nominatim admin --collect-os-info`
77    (thanks @micahcochran, @tareqpi)
78  * reorganise index to improve lookup performance and size
79  * run index creation after import in parallel
80  * run ANALYZE more selectively to speed up continuation of indexing
81  * fix crash on update when addr:interpolation receives an illegal value
82  * fix minimum number of retrieved results to be at least 10
83  * fix search for combinations of special term + name (e.g Hotel Bellevue)
84  * do not return interpolations without a parent street on reverse search
85  * improve invalidation of linked places on updates
86  * fix address parsing for interpolation lines
87  * make sure socket timeouts are respected during replication
88    (working around a bug in some versions of pyosmium)
89  * update bundled osm2pgsql to 1.7.1
90  * add support for PostgreSQL 15
91  * typing fixes to work with latest type annotations from typeshed
92  * smaller improvements to documentation (thanks to @mausch)
93
94 4.1.1
95
96  * fix XSS vulnerability in debug view
97
98 4.1.0
99
100  * switch to ICU tokenizer as default
101  * add housenumber normalization and support optional spaces during search
102  * add postcode format checking and support optional spaces during search
103  * add function for cleaning housenumbers in word table
104  * add updates/deletion of country names imported from OSM
105  * linked places no longer overwrite names from a place permanently
106  * move default country name configuration into yaml file (thanks @tareqpi)
107  * more compact layout for interpolation and TIGER tables
108  * introduce mutations to ICU tokenizer (used for German umlauts)
109  * support reinitializing a full project directory with refresh --website
110  * fix various issues with linked places on updates
111  * add support for external sanitizers and token analyzers
112  * add CLI commands for forced indexing
113  * add CLI command for version report
114  * add offline import mode
115  * change geocodejson to return a feature class in the 'type' field
116  * add ISO3166-2 to address output (thanks @I70l0teN4ik)
117  * improve parsing and matching of addr: tags
118  * support relations as street members of associatedStreet
119  * better ranking for address results from TIGER data
120  * adapt rank classification to changed tag usage in OSM
121  * update bundled osm2pgsql to 1.6.0
122  * add typing information to Python code
123  * improve unit test coverage
124  * reorganise and speed up code for BDD tests, drop support for scenes
125  * move PHP unit tests to PHP 9.5
126  * extensive typo fixes in documentation (thanks @woodpeck,@StephanGeorg,
127    @amandasaurus, @nslxndr, @stefkiourk, @Luflosi, @kianmeng)
128  * drop official support for installation on CentOS
129  * add installation instructions for Ubuntu 22.04
130  * add support for PHP8
131  * add setup instructions for updates and systemd
132  * drop support for PostgreSQL 9.5
133
134 4.0.2
135
136  * fix XSS vulnerability in debug view
137
138 4.0.1
139
140  * fix initialisation error in replication script
141  * ICU tokenizer: avoid any special characters in word tokens
142  * better error message when API php script does not exist
143  * fix quoting of house numbers in SQL queries
144  * small fixes and improvements in search query parsing
145  * add documentation for moving the database to a different machine
146
147 4.0.0
148
149  * refactor name token computation and introduce ICU tokenizer
150    * name processing now happens in the indexer outside the DB
151    * reorganizes abbreviation handling and moves it to the indexing phases
152    * adds preprocessing of names
153  * add country-specific ranking for Spain, Slovakia
154  * partially switch to using SP-GIST indexes
155  * better updating of dependent addresses for name changes in streets
156  * remove unused/broken tables for external housenumbers
157  * move external postcodes to CSV format and no longer save them in tables
158    (adds support for postcodes for arbitrary countries)
159  * remove postcode helper entries from placex (thanks @AntoJvlt)
160  * change required format for TIGER data to CSV
161  * move configuration of default languages from wiki into config file
162  * expect customized configuration files in project directory by default
163  * disable search API for reverse-only import (thanks @darkshredder)
164  * port most of maintenance/import code to Python and remove PHP utils
165  * add catch-up mode for replication
166  * add updating of special phrases (thanks @AntoJvlt)
167  * add support for special phrases in CSV files (thanks @AntoJvlt)
168  * switch to case-independent matching between place and boundary names
169  * remove disabling of reverse query parsing
170  * minor tweaks to search algorithm to avoid more false positives
171  * major overhaul of the administrator and developer documentation
172  * add security disclosure policy
173  * add testing of installation scripts via CI
174  * drop support for Python < 3.6 and Postgresql < 9.5
175
176 3.7.3
177
178  * fix XSS vulnerability in debug view
179
180 3.7.2
181
182  * fix database check for reverse-only imports
183  * do not error out in status API result when import date is missing
184  * add array_key_last function for PHP < 7.3 (thanks to @woodpeck)
185  * fix more url when server name is unknown (thanks to @mogita)
186  * commit changes to replication log table
187
188 3.7.1
189
190  * fix smaller issues with special phrases import (thanks @AntoJvlt)
191  * add index to speed up continued indexing during import
192  * fix index on location_property_tiger(parent_place_id) (thanks @changpingc)
193  * make sure Python code is backward-compatible with Python 3.5
194  * various documentation fixes
195
196 3.7.0
197
198  * switch to dotenv for configuration file
199  * introduce 'make install' (reorganising most of the code)
200  * introduce nominatim tool as replacement for various php scripts
201  * introduce project directories and allow multiple installations from same build
202  * clean up BDD tests: drop nose, reorganise step code
203  * simplify test database for API BDD tests and autoinstall database
204  * port most of the code for command-line tools to Python
205    (thanks to @darkshredder and @AntoJvlt)
206  * add tests for all tooling
207  * replace pyosmium-get-changes with custom internal implementation using
208    pyosmium
209  * improve search for queries with housenumber and partial terms
210  * add database versioning
211  * use jinja2 for preprocessing SQL files
212  * introduce automatic migrations
213  * reverse fix preference of interpolations over housenumbers
214  * parallelize indexing of postcodes
215  * add non-key indexes to speed up housenumber + street searches
216  * switch housenumber field in placex to save transliterated names
217
218 3.6.0
219
220  * add full support for searching by and displaying of addr:* tags
221  * improve address output for large-area objects
222  * better use of country names from OSM data for search and display
223  * better debug output for reverse call
224  * add support for addr:place links without an place equivalent in OSM
225  * improve finding postcodes with normalisation artefacts
226  * batch object to index for rank 30, avoiding a wrap-around of transaction
227    IDs in PostgreSQL
228  * introduce dynamic address rank computation for administrative boundaries
229    depending on linked objects and their place in the admin level hierarchy
230  * add country-specific address ranking for Indonesia, Russia, Belgium and
231    the Netherlands (thanks @hendrikmoree)
232  * make sure wikidata/wikipedia tags are imported for all styles
233  * make POIs searchable by name and housenumber (thanks @joy-yyd)
234  * reverse geocoding now ignores places without an address rank (rivers etc.)
235  * installation of a webserver is no longer mandatory, for development
236    use the php internal webserver via 'make serve
237  * reduce the influence of place nodes in addresses
238  * drop support for the unspecific is_in tag
239  * various minor tweaks to supplied styles
240  * move HTML web frontend into its own project
241  * move scripts for processing external data sources into separate directories
242  * introduce separate configuration for website (thanks @krahulreddy)
243  * update documentation, in particular, clean up development docs
244  * update osm2pgsql to 1.4.0
245
246 3.5.2
247
248  * ensure that wikipedia tags are imported for all styles
249  * reinstate verbosity for indexing during updates
250  * make house number reappear in display name on named POIs
251  * introduce batch processing in indexer to avoid transaction ID overrun
252  * increase splitting for large geometries to improve indexing speed
253  * remove deprecated get_magic_quotes_gpc() function
254  * make sure that all postcodes have an entry in word and are thus searchable
255  * remove use of ST_Covers in conjunction woth ST_Intersects,
256    causes bad query planning and slow updates in Postgis3
257  * update osm2pgsql
258
259 3.5.1
260
261  * disable jit and parallel processing in PostgreSQL for osm2pgsql
262  * update libosmium to 2.15.6 (fixes an issue with processing hanging
263    on large multipolygons)
264
265 3.5.0
266
267  * structured select on HTML search page
268  * new PHP Nominatim\Shell class to wrap shell escaping
269  * remove polygon parameter from all API calls
270  * improve handling of postcode areas
271  * reorganise place linking algorithm, now using wikidata tag as well
272  * remove linkees from search_name and larger_area tables
273  * introduce country-specific address ranks
274  * reorganise rank address computation
275  * cleanup of partition function
276  * improve parenting for large POIs
277  * add support for Postgresql 12 and Postgis 3
278  * add earlier cleanup when --drop is given, to reduce memory usage
279  * remove use of place_id in URLs
280  * replace C nominatim indexer with a simpler Python implementation
281  * split up the huge sql/functions.sql file
282  * move osm2pgsql tests to osm2pgsql
283  * add new extratags style which imports all tags from OSM
284  * add new script for checking the import after completion
285  * update osm2pgsql, reducing memory usage
286  * use new wikipedia importance and add processing of wikidata tags
287  * add search form for details page
288  * use ExtraDataPath for country_grid table
289  * remove short_name from list of names to be displayed
290  * split up CMakeFile, so that all parts can be built separately
291  * update installation instructions for CentOS and Ubuntu
292  * add script for importing/updating multiple country extracts
293  * various documentation improvements
294
295 3.4.2
296
297  * fix security bug in /details endpoint where user input was not
298    properly sanitized
299
300 3.4.1
301
302  * update osm2pgsql to fix hans during updates and lost address numbers
303    during updates
304
305 3.4.0
306
307  * increase required version for PostgreSQL(9.3), PostGIS(2.2) and PHP(7.0)
308  * better error reporting for out-of-memory errors
309  * exclude postcode ranges separated by colon from centre point calculation
310  * update osm2pgsql, better handling of imports without flatnode file
311  * switch to more efficient algorithm for word set computation
312  * use only boundries for country and state parts of addresses
313  * improve updates of addresses with housenumbers and interpolations
314  * remove country from place_addressline table and use country_code instead
315  * optimise indexes on search_name partition tables
316  * improve searching of attached streets for large objects like airports
317  * drop support for python 2
318  * new scripts for importing Wikidata for importance
319  * create and drop indexes concurrently to not clash with auto vacuum
320  * various documentation improvements
321
322
323 3.3.0
324
325  * zoom 17 in reverse now zooms in on minor streets
326  * fix use of postcode relations in address
327  * support for housenumber 0 on interpolations
328  * replace database abstraction DB with PDO and switch to using exceptions
329  * exclude line features at rank 30 from reverse geocoding
330  * remove self-reference and country from place_addressline
331  * make json output more readable (less escaping)
332  * update conversion scripts for postcodes
333  * scripts in utils/ are no longer executable (always use scripts in build dir)
334  * remove Natural Earth country fallback (OSM is complete enough)
335  * make rank assignments configurable
336  * allow accept languages with underscore
337  * new reverse-only import mode (without search index table)
338  * rely on boundaries only for states and countries
339  * update osm2pgsql, now using a configurable style
340  * provide multiple import styles
341  * improve search when house number and postcodes are dropped
342  * overhaul of setup code
343  * add support for PHPUnit 6
344  * update test database
345  * various documentation improvements
346
347 3.2.0
348
349  * complete rewrite of reverse search algorithm
350  * add new geojson and geocodejson output formats
351  * add simple export script to exprot addresses to CSV
352  * remove is_in terms from address computation
353  * remove unused search_name_country tables
354  * various smaller fixes to query parsing
355  * convert Tokens and token types to class types
356  * correctly handle update when boundary object type is changed
357  * improve debug output for /search endpoint
358  * update to latest osm2pgsql and leaflet.js
359  * overhaul of /details endpoint:
360      * new class parameter when using osmtype/osmid parameters
361      * permalink to instance-independent osmtype/osmid parameter format
362      * new json output format
363  * update CentOS vagrant machine to use SELinux
364  * add vagrant scripts for Ubuntu 18.04
365  * fix build process for BSD
366  * enable running the database on a different host than the setup scripts
367  * allow to configure use of custom PHP binaries (PHP_BIN)
368  * extensive coding style improvements to PHP code
369  * more PHP unit tests for new classes
370  * increase coverage for API tests
371  * add documentation for API
372
373 3.1.0
374
375  * rework postcode handling and introduce location_postcode table
376  * make setup less verbose and print a summary in the end
377  * setup: error out when web site user does not exist
378  * add more API tests to complete code coverage
379  * reinstate key-value amenity search (special term [key=value])
380  * fix detection of coordinates in query
381  * various smaller tweaks to ranking of search interpretations
382  * complete overhaul of PHP frontend code using OOP
383  * add address rank to details page
384  * update Tiger scripts for 2017 data and clean up unused code
385  * various bug fixes and improvements to UI
386  * improve reverse geocoding performance close to coasts
387  * more PHP style cleanup (quoting)
388  * allow unnamed road in reverse geocoding to avoid too far off results
389  * add function to recalculate counts for full-word search term
390  * add function to check if new updates are available
391  * update documentation and switch to mkdocs for generating HTML
392
393 3.0.1
394
395  * fix bug in geometry building algorithm in osm2pgsql
396  * fix typos in build instructions
397
398 3.0.0
399
400  * move to cmake build system
401  * various fixes to HTML output
402  * reverse endpoint now can return geometries
403  * add support for PHP7
404  * move to on-the-fly computation of interpolations
405  * improve handling of linked places (updating)
406  * improve test framework:
407     * replace lettuce with behave
408     * use smaller database for API tests
409  * drop support for postgres < 9.1, postgis < 2.0 and PHP < 5.4
410  * make external data use optional (useful for imports without US)
411  * detect postgres and postgis versions automatically
412  * clean up query logging and remove unused tables
413  * move installation documentation into this repo
414  * add self-documenting vagrant scripts
415  * remove --create-website, recommend to use website directory in build
416  * add accessor functions for URL parameters and improve erro checking
417  * remove IP blocking and rate-limiting code
418  * enable CI via travis
419  * reformatting for more consistent coding style
420  * make country search term creation part of setup
421  * update country names and country grid
422  * handle roads that cross boundaries better
423  * keep full information on address tags
424  * update to refactored osm2pgsql which use libosmium based types
425  * switch from osmosis to pyosmium for updates
426  * be more strict when matching against special search terms
427  * handle postcode entries with mutliple values correctly
428
429 2.5
430
431  * reverse geocoding includes looking up housenumbers from Tiger data
432  * added parameter to return simplified geometries
433  * new lookup call for getting address information for OSM objects
434  * new namedetails and extratags parameters that expose the name and extratags
435    fields of the placex table
436  * mobile website
437  * reverse web view
438
439 2.4
440
441  * drop support for postgres 8.4
442  * rewrite address interpolation
443  * switch to C++ version of osm2pgsql and rewrite tag filtering
444  * support for bridge:name and tunnel:name, man_made, junction
445  * drop way-node index (reduces database size by about 15%)
446  * add support for configuring tablespaces and webserver user
447  * better evaluation of search queries in right-to-left notation
448  * improve house number search for streets with many duplicate entries
449  * code cleanup (remove unused functions and tables)
450
451 2.3
452
453  * further improve ordering of results
454  * support for more lat/lon formats in search-as-reverse
455  * fix handling of GB postcodes
456  * new functional test suite
457  * support for waterway relations
458  * inherit postcodes from street to poi
459  * fix housenumber normalisation to find non-latin house numbers
460  * take viewbox into account for ordering of results
461  * pois may now inherit address tags from surrounding buildings
462  * improve what objects may participate in an address
463  * clean up handled class/type combinations to current OSM usage
464  * lots of bug fixes
465
466 2.2
467
468  * correct database rights for www-data
469  * add timestamps for update output
470  * load postgis via extension for postgis >= 2.0
471  * remove non-admin boundaries from addresses
472  * further improve ordering of results with same importance
473  * merge addr:postcode tags into object addresses
474  * include rank and importance in reverse geocode output
475  * replace ST_Line_Interpolate_Point with ST_LineInterpolatePoint
476   (for postgis >= 2.1)
477  * update osm2pgsql to latest version
478  * properly detect changes of admin_level
479  * remove landuses when name is removed
480  * smaller fixes
481
482 2.1
483
484  * update to openlayers 2.12 (now custom built)
485  * update fallback OSM boundaries
486  * add support for postgresql 9.2/9.3 and postgis 2.x
487  * add structured queries
488  * add options for polygon output in various formats
489    (geojson, svg, kml, postgis text)
490  * maintenance functions for deleting objects and updating regions
491    (plcae_force_update/place_force_delete)
492  * web view for polygons that need deleting
493  * rate limiting using memcache
494  * improve layout of details page
495  * add support for boundary:postal_code
496  * full CORS support
497  * improve parenting of POIs
498  * support for extract daily diffs from Geofabrik
499  * support for addresses without a street
500    (addr:place and conscription number house numbers)
501  * improve layout of word and search_name_* tables
502  * support for US ZIP+4 codes
503  * refactoring of front-end PHP code
504  * lots of smaller bug fixes
505
506 2.0.1
507
508  * delete outdated entries from location_area_country
509  * remove remaining uses of INTEGER, to allow node ids larger than 2^31