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