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