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