]> git.openstreetmap.org Git - nominatim.git/blob - ChangeLog
prepare release 5.3.0-post1
[nominatim.git] / ChangeLog
1 5.3.0
2  * reorganise postcode and interpolation handling into separate tables
3  * add table for handling associatedStreet relations (thanks @Itz-Agasta)
4  * allow TIGER data imports on frozen tables (thanks @AyushDharDubey)
5  * add layer filtering option to search cli command (thanks @Itz-Agasta)
6  * add support for addr:interpolation together with addr:housenumber
7  * add support for exclude_place_ids to take an OSM ID (thanks @Itz-Agasta)
8  * add more abbreviations for Malay (thanks @harithilmi)
9    and Pakistan (thanks @bgo-eiu)
10  * adaptions to boundary processing in Czech Republic, Australia and Brazil
11  * return admin_level tag in extratags (thanks @kad-link)
12  * clean up table creation SQL and add more constraints
13  * add new cli administration tool to grant read rights to a new user
14    (thanks @Itz-Agasta)
15  * remove uvicorn from the deployment instructions, guvicorn is now sufficient
16  * fix entrance output for reverse and lookup
17  * fix performance issue with instantiation of config (thanks @AyushDharDubey)
18  * fix badly quoted SQL
19  * ensure use of UTF-8 everywhere (thanks @kad-link)
20  * fix endless loop when indexing only partial ranks (thanks @jayaddison)
21  * fix erroring on /search endpoint when Postgresql wasn't running on startup
22  * improve searching addresses by addr:* tags (thanks @Itz-Agasta)
23  * add langauge-aware penalty for matching country names (thanks @Itz-Agasta)
24  * compute default langauge also for linked place names (thanks @jayaddison)
25  * use mwparserfromhell for parsing wiki pages (thanks @AyushDharDubey)
26  * refactor table creation SQL to be reusable in tests
27  * reduce SQL queries for reverse
28  * enforce non-null importance and remove all code that expects otherwise
29  * add rematching against country names
30  * import now reports on total time (thanks @daishu0000)
31  * give wikidata matches preference over name matching when linking places
32  * removed nat_name from list of parsed names
33  * exclude zero-only postcodes
34  * type annotation updates due to dependency changes (thanks @vytas5)
35  * improve display of test names for BDD tests
36  * enable CI unit tests on Windows (thanks @kad-link)
37  * remove unused settings from the documentation
38  * various fixes and improvements to documentation (thanks @28Deepakpandey,
39    @Aditya30ag, @AmmarYasser455, @jonas-endter-optimax-energy, @vai67)
40
41 5.2.0
42  * increase minimum required Python to 3.9
43  * index and output entrances of buildings and areas (thanks @emlove)
44  * name tags used for creating display names are now configurable
45    (thanks @astridx)
46  * new pattern-replacement query preprocessor (thanks @TuringVerified)
47  * special phrases can now be filtered by presence of tags (thanks @anqixxx)
48  * lua import style now always includes tags required by Nominatim
49  * improved query time reporting and logging
50  * improve word matching for languages with no word boundaries
51  * POIs with addresses inherited from surrounding building are no
52    longer returned in the address layer
53  * avoid creating a directory for the tokenizer when not needed
54  * replace behave with pytest-bdd for BDD testing
55  * refactoring and performance improvements to query parsing
56  * various smaller updates to styles
57  * remove English as default language for South Korea
58  * remove Japanese word variants
59  * updated country names for Norwegians (thanks @Johannes-Andersen)
60  * remove support for deprecated osm2pgsql gazetteer style
61  * fix updating of importances (also needs to update search_name table)
62  * fix query for deletable endpoint to use index again
63  * fix reindexing of contained places when a boundary is deleted and reinstated
64  * fix difference computation error when updating postcodes
65  * bracket handling sanitizer no longer strips bracket terms in the middle of
66    name
67  * reduce precision of stored coordinates to 7-digits everywhere
68  * avoid ST_Relate as it seems buggy on some systems
69  * remove setting for logging queries in DB, no longer functional
70  * postcode updates no longer require a project directory (needed for tests)
71  * refactor locale handling code (thanks @anqixxx)
72  * code updates for newer Python (thanks @emmanuel-ferdman)
73  * better test coverage (thanks @asharmalik19)
74  * various fixes and improvements to documentation
75    (thanks @anqixxx, @dave-meyer, @hasandiwan)
76
77 5.1.0
78  * replace datrie with simple internal trie implementation
79  * add pattern-based postcode parser for queries,
80    postcodes no longer need to be present in OSM to be found
81  * take variants into account when computing token similarity
82  * add extratags output to geocodejson format
83  * fix default layer setting used for structured queries
84  * update abbreviation lists for Russian and English
85    (thanks @shoorick, @IvanShift, @mhsrn21)
86  * fix variant generation for Norwegian
87  * fix normalization around space-like characters
88  * improve postcode search and handling of postcodes in queries
89  * reorganise internal query structure and get rid of slow enums
90  * enable code linting for tests
91  * various code moderinsations in test code (thanks @eumiro)
92  * remove setting osm2pgsql location via config.lib_dir
93  * make SQL functions parallel save as far as possible (thanks @otbutz)
94  * various fixes and improvements to documentation (thanks @TuringVerified)
95
96 5.0.0
97  * increase required versions for PostgreSQL (12+), PostGIS (3.0+)
98  * remove installation via cmake and debundle osm2pgsql
99  * remove deprecated PHP frontend
100  * remove deprecated legacy tokenizer
101  * add configurable pre-processing of queries
102  * add query pre-processor to split up Japanese addresses
103  * rewrite of osm2pgsql style implementation
104    (also adds support for osm2pgsql-themepark)
105  * reduce the number of SQL queries needed to complete a 'lookup' call
106  * improve computation of centroid for lines with only two points
107  * improve bbox output for postcode areas
108  * improve result order by returning the largest object when other things are
109    equal
110  * add fallback for reverse geocoding to default country tables
111  * exclude postcode areas from reverse geocoding
112  * disable search endpoint when database is reverse-only (regression)
113  * minor performance improvements to area split algorithm
114  * switch table and index creation to use autocommit mode to avoid deadlocks
115  * drop overly long ways during import
116  * restrict automatic migrations to versions 4.3+
117  * switch linting from pylint to flake8
118  * switch tests to use a wikimedia test file in the new CSV style
119  * various fixes and improvements to documentation
120
121 4.5.0
122  * allow building Nominatim as a pip package
123  * make osm2pgsql building optional
124  * switch importer to psycopg3
125  * allow output format of web search to be customized in self-installations
126  * look up potential postcode areas for postcode results
127  * add word usage statistics for address terms
128  * implement more light-weight CSV format for wiki importance tables
129  * rewrite SQL for place search to use window functions
130  * increase search radius when filtering by postcode
131  * prefer POI points over POI areas
132  * reintroduce full terms for address terms in search_name table
133  * reindex postcodes when their parent is deleted
134  * indexing: precompute counts of affected rows
135  * ensure consistent country assignments for overlapping countries
136  * make Nominatim[Async]API context manager to ensure proper calling of
137    close()
138  * make usage of project dir optional for library
139  * drop interpolations when no parent can be found
140  * style tweaks to reflect OSM usage (man_made, highway and others)
141  * deprecation of: bundled osm2pgsql, legacy tokenizer, PHP frontend
142  * make documentation buildable without CMake
143  * various fixes and improvements to documentation
144
145 4.4.1
146  * fix geocodejson output: admin level output should only print boundaries
147  * updating: restrict invalidation of child objects on large street features
148  * restrict valid interpolation house numbers to 0-999999
149  * fix import error when SQLAlchemy 1.4 and psycopg3 are installed
150  * various typo fixes in the documentation
151
152 4.4.0
153  * add export to SQLite database and SQLite support for the frontend
154  * switch to Python frontend as the default frontend
155  * update to osm2pgsql 1.11.0
156  * add support for new osm2pgsql middle table format
157  * simplify geometry for large polygon objects not used in addresses
158  * various performance tweaks for search in Python frontend
159  * fix regression in search with categories where it was confused with near
160    search
161  * partially roll back use of SQLAlchemy lambda statements due to bugs
162    in SQLAlchemy
163  * fix handling of timezones for timestamps from the database
164  * fix handling of full address searches in connection with a viewbox
165  * fix postcode computation of highway areas
166  * fix handling of timeout errors for Python <= 3.10
167  * fix address computation for postcode areas
168  * fix variable shadowing in osm2pgsql flex script, causing bugs with LuaJIT
169  * make sure extratags are always null when empty
170  * reduce importance of places without wikipedia reference
171  * improve performance of word count computations
172  * drop support for wikipedia tags with full URLs
173  * replace get_addressdata() SQL implementation with a Python function
174  * improve display name for non-address features
175  * fix postcode validation for postcodes with country code
176    (thanks @pawel-wroniszewski)
177  * add possibility to run imports without superuser database rights
178    (thanks @robbe-haesendonck)
179  * new CLI command for cleaning deleted relations (thanks @lujoh)
180  * add check for database version in the CLI check command
181  * updates to import styles ignoring more unused objects
182  * various typo fixes (thanks @kumarUjjawal)
183
184 4.3.2
185  * fix potential SQL injection issue for 'nominatim admin --collect-os-info'
186  * PHP frontend: fix on-the-fly lookup of postcode areas near boundaries
187  * Python frontend: improve handling of viewbox
188  * Python frontend: correct deployment instructions
189
190 4.3.1
191  * reintroduce result rematching
192  * improve search of multi-part names
193  * fix accidentally switched meaning of --reverse-only and --search-only in
194    warm command
195
196 4.3.0
197  * fix failing importance recalculation command
198  * fix merging of linked names into unnamed boundaries
199  * fix a number of corner cases with interpolation splitting resulting in
200    invalid geometries
201  * fix failure in website generation when password contains curly brackets
202  * fix broken use of ST_Project in PostGIS 3.4
203  * new NOMINATIM_SEARCH_WITHIN_COUNTRIES setting to restrict reverse lookups
204    to known countries (thanks @alfmarcua)
205  * allow negative OSM IDs (thanks @alfmarcua)
206  * disallow import of Tiger data in a frozen DB
207  * avoid UPDATE to change settings to be compatible with r/o DBs (thanks @t-tomek)
208  * update bundled osm2pgsql to 1.9.2
209  * reorganise osm2pgsql flex style and make it the default
210  * exclude names ending in :wikipedia from indexing
211  * no longer accept comma as a list separator in name tags
212  * process forward dependencies on update to catch updates in geometries
213    of ways and relations
214  * fix handling of isolated silent letters during transliteration
215  * no longer assign postcodes to large linear features like rivers
216  * introduce nominatim.paths module for finding data and libraries
217  * documentation layout changed to material theme
218  * new documentation section for library
219  * various smaller fixes to existing documentation
220    (thanks @woodpeck, @bloom256, @biswajit-k)
221  * updates to vagrant install scripts, drop support for Ubuntu 18
222    (thanks @n-timofeev)
223  * removed obsolete configuration variables from env.defaults
224  * add script for generating a taginfo description (thanks @biswajit-k)
225  * modernize Python code around BDD test and add testing of Python frontend
226  * lots of new BDD tests for API output
227
228 4.2.3
229
230  * fix deletion handling for 'nominatim add-data'
231  * adapt place_force_delete() to new deletion handling
232  * flex style: avoid dropping of postcode areas
233  * fix update errors on address interpolation handling
234
235 4.2.2
236
237  * extend flex-style library to fully support all default styles
238  * fix handling of Hebrew aleph
239  * do not assign postcodes to rivers
240  * fix string matching in PHP code
241  * update osm2pgsql (various updates to flex)
242  * fix slow query when deleting places on update
243  * fix CLI details query
244  * fix recalculation of importance values
245  * fix polygon simplification in reverse results
246  * add class/type information to reverse geocodejson result
247  * minor improvements to default tokenizer configuration
248  * various smaller fixes to documentation
249
250 4.2.1
251
252  * fix XSS vulnerability in debug view
253
254 4.2.0
255
256  * add experimental support for osm2pgsql flex style
257  * introduce secondary importance value to be retrieved from a raster data file
258    (currently still unused, to replace address importance, thanks to @tareqpi)
259  * add new report tool `nominatim admin --collect-os-info`
260    (thanks @micahcochran, @tareqpi)
261  * reorganise index to improve lookup performance and size
262  * run index creation after import in parallel
263  * run ANALYZE more selectively to speed up continuation of indexing
264  * fix crash on update when addr:interpolation receives an illegal value
265  * fix minimum number of retrieved results to be at least 10
266  * fix search for combinations of special term + name (e.g Hotel Bellevue)
267  * do not return interpolations without a parent street on reverse search
268  * improve invalidation of linked places on updates
269  * fix address parsing for interpolation lines
270  * make sure socket timeouts are respected during replication
271    (working around a bug in some versions of pyosmium)
272  * update bundled osm2pgsql to 1.7.1
273  * add support for PostgreSQL 15
274  * typing fixes to work with latest type annotations from typeshed
275  * smaller improvements to documentation (thanks to @mausch)
276
277 4.1.1
278
279  * fix XSS vulnerability in debug view
280
281 4.1.0
282
283  * switch to ICU tokenizer as default
284  * add housenumber normalization and support optional spaces during search
285  * add postcode format checking and support optional spaces during search
286  * add function for cleaning housenumbers in word table
287  * add updates/deletion of country names imported from OSM
288  * linked places no longer overwrite names from a place permanently
289  * move default country name configuration into yaml file (thanks @tareqpi)
290  * more compact layout for interpolation and TIGER tables
291  * introduce mutations to ICU tokenizer (used for German umlauts)
292  * support reinitializing a full project directory with refresh --website
293  * fix various issues with linked places on updates
294  * add support for external sanitizers and token analyzers
295  * add CLI commands for forced indexing
296  * add CLI command for version report
297  * add offline import mode
298  * change geocodejson to return a feature class in the 'type' field
299  * add ISO3166-2 to address output (thanks @I70l0teN4ik)
300  * improve parsing and matching of addr: tags
301  * support relations as street members of associatedStreet
302  * better ranking for address results from TIGER data
303  * adapt rank classification to changed tag usage in OSM
304  * update bundled osm2pgsql to 1.6.0
305  * add typing information to Python code
306  * improve unit test coverage
307  * reorganise and speed up code for BDD tests, drop support for scenes
308  * move PHP unit tests to PHP 9.5
309  * extensive typo fixes in documentation (thanks @woodpeck,@StephanGeorg,
310    @amandasaurus, @nslxndr, @stefkiourk, @Luflosi, @kianmeng)
311  * drop official support for installation on CentOS
312  * add installation instructions for Ubuntu 22.04
313  * add support for PHP8
314  * add setup instructions for updates and systemd
315  * drop support for PostgreSQL 9.5
316
317 4.0.2
318
319  * fix XSS vulnerability in debug view
320
321 4.0.1
322
323  * fix initialisation error in replication script
324  * ICU tokenizer: avoid any special characters in word tokens
325  * better error message when API php script does not exist
326  * fix quoting of house numbers in SQL queries
327  * small fixes and improvements in search query parsing
328  * add documentation for moving the database to a different machine
329
330 4.0.0
331
332  * refactor name token computation and introduce ICU tokenizer
333    * name processing now happens in the indexer outside the DB
334    * reorganizes abbreviation handling and moves it to the indexing phases
335    * adds preprocessing of names
336  * add country-specific ranking for Spain, Slovakia
337  * partially switch to using SP-GIST indexes
338  * better updating of dependent addresses for name changes in streets
339  * remove unused/broken tables for external housenumbers
340  * move external postcodes to CSV format and no longer save them in tables
341    (adds support for postcodes for arbitrary countries)
342  * remove postcode helper entries from placex (thanks @AntoJvlt)
343  * change required format for TIGER data to CSV
344  * move configuration of default languages from wiki into config file
345  * expect customized configuration files in project directory by default
346  * disable search API for reverse-only import (thanks @darkshredder)
347  * port most of maintenance/import code to Python and remove PHP utils
348  * add catch-up mode for replication
349  * add updating of special phrases (thanks @AntoJvlt)
350  * add support for special phrases in CSV files (thanks @AntoJvlt)
351  * switch to case-independent matching between place and boundary names
352  * remove disabling of reverse query parsing
353  * minor tweaks to search algorithm to avoid more false positives
354  * major overhaul of the administrator and developer documentation
355  * add security disclosure policy
356  * add testing of installation scripts via CI
357  * drop support for Python < 3.6 and Postgresql < 9.5
358
359 3.7.3
360
361  * fix XSS vulnerability in debug view
362
363 3.7.2
364
365  * fix database check for reverse-only imports
366  * do not error out in status API result when import date is missing
367  * add array_key_last function for PHP < 7.3 (thanks to @woodpeck)
368  * fix more url when server name is unknown (thanks to @mogita)
369  * commit changes to replication log table
370
371 3.7.1
372
373  * fix smaller issues with special phrases import (thanks @AntoJvlt)
374  * add index to speed up continued indexing during import
375  * fix index on location_property_tiger(parent_place_id) (thanks @changpingc)
376  * make sure Python code is backward-compatible with Python 3.5
377  * various documentation fixes
378
379 3.7.0
380
381  * switch to dotenv for configuration file
382  * introduce 'make install' (reorganising most of the code)
383  * introduce nominatim tool as replacement for various php scripts
384  * introduce project directories and allow multiple installations from same build
385  * clean up BDD tests: drop nose, reorganise step code
386  * simplify test database for API BDD tests and autoinstall database
387  * port most of the code for command-line tools to Python
388    (thanks to @darkshredder and @AntoJvlt)
389  * add tests for all tooling
390  * replace pyosmium-get-changes with custom internal implementation using
391    pyosmium
392  * improve search for queries with housenumber and partial terms
393  * add database versioning
394  * use jinja2 for preprocessing SQL files
395  * introduce automatic migrations
396  * reverse fix preference of interpolations over housenumbers
397  * parallelize indexing of postcodes
398  * add non-key indexes to speed up housenumber + street searches
399  * switch housenumber field in placex to save transliterated names
400
401 3.6.0
402
403  * add full support for searching by and displaying of addr:* tags
404  * improve address output for large-area objects
405  * better use of country names from OSM data for search and display
406  * better debug output for reverse call
407  * add support for addr:place links without an place equivalent in OSM
408  * improve finding postcodes with normalisation artefacts
409  * batch object to index for rank 30, avoiding a wrap-around of transaction
410    IDs in PostgreSQL
411  * introduce dynamic address rank computation for administrative boundaries
412    depending on linked objects and their place in the admin level hierarchy
413  * add country-specific address ranking for Indonesia, Russia, Belgium and
414    the Netherlands (thanks @hendrikmoree)
415  * make sure wikidata/wikipedia tags are imported for all styles
416  * make POIs searchable by name and housenumber (thanks @joy-yyd)
417  * reverse geocoding now ignores places without an address rank (rivers etc.)
418  * installation of a webserver is no longer mandatory, for development
419    use the php internal webserver via 'make serve
420  * reduce the influence of place nodes in addresses
421  * drop support for the unspecific is_in tag
422  * various minor tweaks to supplied styles
423  * move HTML web frontend into its own project
424  * move scripts for processing external data sources into separate directories
425  * introduce separate configuration for website (thanks @krahulreddy)
426  * update documentation, in particular, clean up development docs
427  * update osm2pgsql to 1.4.0
428
429 3.5.2
430
431  * ensure that wikipedia tags are imported for all styles
432  * reinstate verbosity for indexing during updates
433  * make house number reappear in display name on named POIs
434  * introduce batch processing in indexer to avoid transaction ID overrun
435  * increase splitting for large geometries to improve indexing speed
436  * remove deprecated get_magic_quotes_gpc() function
437  * make sure that all postcodes have an entry in word and are thus searchable
438  * remove use of ST_Covers in conjunction with ST_Intersects,
439    causes bad query planning and slow updates in Postgis3
440  * update osm2pgsql
441
442 3.5.1
443
444  * disable jit and parallel processing in PostgreSQL for osm2pgsql
445  * update libosmium to 2.15.6 (fixes an issue with processing hanging
446    on large multipolygons)
447
448 3.5.0
449
450  * structured select on HTML search page
451  * new PHP Nominatim\Shell class to wrap shell escaping
452  * remove polygon parameter from all API calls
453  * improve handling of postcode areas
454  * reorganise place linking algorithm, now using wikidata tag as well
455  * remove linkees from search_name and larger_area tables
456  * introduce country-specific address ranks
457  * reorganise rank address computation
458  * cleanup of partition function
459  * improve parenting for large POIs
460  * add support for Postgresql 12 and Postgis 3
461  * add earlier cleanup when --drop is given, to reduce memory usage
462  * remove use of place_id in URLs
463  * replace C nominatim indexer with a simpler Python implementation
464  * split up the huge sql/functions.sql file
465  * move osm2pgsql tests to osm2pgsql
466  * add new extratags style which imports all tags from OSM
467  * add new script for checking the import after completion
468  * update osm2pgsql, reducing memory usage
469  * use new wikipedia importance and add processing of wikidata tags
470  * add search form for details page
471  * use ExtraDataPath for country_grid table
472  * remove short_name from list of names to be displayed
473  * split up CMakeFile, so that all parts can be built separately
474  * update installation instructions for CentOS and Ubuntu
475  * add script for importing/updating multiple country extracts
476  * various documentation improvements
477
478 3.4.2
479
480  * fix security bug in /details endpoint where user input was not
481    properly sanitized
482
483 3.4.1
484
485  * update osm2pgsql to fix hans during updates and lost address numbers
486    during updates
487
488 3.4.0
489
490  * increase required version for PostgreSQL(9.3), PostGIS(2.2) and PHP(7.0)
491  * better error reporting for out-of-memory errors
492  * exclude postcode ranges separated by colon from centre point calculation
493  * update osm2pgsql, better handling of imports without flatnode file
494  * switch to more efficient algorithm for word set computation
495  * use only boundaries for country and state parts of addresses
496  * improve updates of addresses with housenumbers and interpolations
497  * remove country from place_addressline table and use country_code instead
498  * optimise indexes on search_name partition tables
499  * improve searching of attached streets for large objects like airports
500  * drop support for python 2
501  * new scripts for importing Wikidata for importance
502  * create and drop indexes concurrently to not clash with auto vacuum
503  * various documentation improvements
504
505
506 3.3.0
507
508  * zoom 17 in reverse now zooms in on minor streets
509  * fix use of postcode relations in address
510  * support for housenumber 0 on interpolations
511  * replace database abstraction DB with PDO and switch to using exceptions
512  * exclude line features at rank 30 from reverse geocoding
513  * remove self-reference and country from place_addressline
514  * make json output more readable (less escaping)
515  * update conversion scripts for postcodes
516  * scripts in utils/ are no longer executable (always use scripts in build dir)
517  * remove Natural Earth country fallback (OSM is complete enough)
518  * make rank assignments configurable
519  * allow accept languages with underscore
520  * new reverse-only import mode (without search index table)
521  * rely on boundaries only for states and countries
522  * update osm2pgsql, now using a configurable style
523  * provide multiple import styles
524  * improve search when house number and postcodes are dropped
525  * overhaul of setup code
526  * add support for PHPUnit 6
527  * update test database
528  * various documentation improvements
529
530 3.2.0
531
532  * complete rewrite of reverse search algorithm
533  * add new geojson and geocodejson output formats
534  * add simple export script to export addresses to CSV
535  * remove is_in terms from address computation
536  * remove unused search_name_country tables
537  * various smaller fixes to query parsing
538  * convert Tokens and token types to class types
539  * correctly handle update when boundary object type is changed
540  * improve debug output for /search endpoint
541  * update to latest osm2pgsql and leaflet.js
542  * overhaul of /details endpoint:
543      * new class parameter when using osmtype/osmid parameters
544      * permalink to instance-independent osmtype/osmid parameter format
545      * new json output format
546  * update CentOS vagrant machine to use SELinux
547  * add vagrant scripts for Ubuntu 18.04
548  * fix build process for BSD
549  * enable running the database on a different host than the setup scripts
550  * allow to configure use of custom PHP binaries (PHP_BIN)
551  * extensive coding style improvements to PHP code
552  * more PHP unit tests for new classes
553  * increase coverage for API tests
554  * add documentation for API
555
556 3.1.0
557
558  * rework postcode handling and introduce location_postcode table
559  * make setup less verbose and print a summary in the end
560  * setup: error out when web site user does not exist
561  * add more API tests to complete code coverage
562  * reinstate key-value amenity search (special term [key=value])
563  * fix detection of coordinates in query
564  * various smaller tweaks to ranking of search interpretations
565  * complete overhaul of PHP frontend code using OOP
566  * add address rank to details page
567  * update Tiger scripts for 2017 data and clean up unused code
568  * various bug fixes and improvements to UI
569  * improve reverse geocoding performance close to coasts
570  * more PHP style cleanup (quoting)
571  * allow unnamed road in reverse geocoding to avoid too far off results
572  * add function to recalculate counts for full-word search term
573  * add function to check if new updates are available
574  * update documentation and switch to mkdocs for generating HTML
575
576 3.0.1
577
578  * fix bug in geometry building algorithm in osm2pgsql
579  * fix typos in build instructions
580
581 3.0.0
582
583  * move to cmake build system
584  * various fixes to HTML output
585  * reverse endpoint now can return geometries
586  * add support for PHP7
587  * move to on-the-fly computation of interpolations
588  * improve handling of linked places (updating)
589  * improve test framework:
590     * replace lettuce with behave
591     * use smaller database for API tests
592  * drop support for postgres < 9.1, postgis < 2.0 and PHP < 5.4
593  * make external data use optional (useful for imports without US)
594  * detect postgres and postgis versions automatically
595  * clean up query logging and remove unused tables
596  * move installation documentation into this repo
597  * add self-documenting vagrant scripts
598  * remove --create-website, recommend to use website directory in build
599  * add accessor functions for URL parameters and improve error checking
600  * remove IP blocking and rate-limiting code
601  * enable CI via travis
602  * reformatting for more consistent coding style
603  * make country search term creation part of setup
604  * update country names and country grid
605  * handle roads that cross boundaries better
606  * keep full information on address tags
607  * update to refactored osm2pgsql which use libosmium based types
608  * switch from osmosis to pyosmium for updates
609  * be more strict when matching against special search terms
610  * handle postcode entries with multiple values correctly
611
612 2.5
613
614  * reverse geocoding includes looking up housenumbers from Tiger data
615  * added parameter to return simplified geometries
616  * new lookup call for getting address information for OSM objects
617  * new namedetails and extratags parameters that expose the name and extratags
618    fields of the placex table
619  * mobile website
620  * reverse web view
621
622 2.4
623
624  * drop support for postgres 8.4
625  * rewrite address interpolation
626  * switch to C++ version of osm2pgsql and rewrite tag filtering
627  * support for bridge:name and tunnel:name, man_made, junction
628  * drop way-node index (reduces database size by about 15%)
629  * add support for configuring tablespaces and webserver user
630  * better evaluation of search queries in right-to-left notation
631  * improve house number search for streets with many duplicate entries
632  * code cleanup (remove unused functions and tables)
633
634 2.3
635
636  * further improve ordering of results
637  * support for more lat/lon formats in search-as-reverse
638  * fix handling of GB postcodes
639  * new functional test suite
640  * support for waterway relations
641  * inherit postcodes from street to poi
642  * fix housenumber normalisation to find non-latin house numbers
643  * take viewbox into account for ordering of results
644  * pois may now inherit address tags from surrounding buildings
645  * improve what objects may participate in an address
646  * clean up handled class/type combinations to current OSM usage
647  * lots of bug fixes
648
649 2.2
650
651  * correct database rights for www-data
652  * add timestamps for update output
653  * load postgis via extension for postgis >= 2.0
654  * remove non-admin boundaries from addresses
655  * further improve ordering of results with same importance
656  * merge addr:postcode tags into object addresses
657  * include rank and importance in reverse geocode output
658  * replace ST_Line_Interpolate_Point with ST_LineInterpolatePoint
659   (for postgis >= 2.1)
660  * update osm2pgsql to latest version
661  * properly detect changes of admin_level
662  * remove landuses when name is removed
663  * smaller fixes
664
665 2.1
666
667  * update to openlayers 2.12 (now custom built)
668  * update fallback OSM boundaries
669  * add support for postgresql 9.2/9.3 and postgis 2.x
670  * add structured queries
671  * add options for polygon output in various formats
672    (geojson, svg, kml, postgis text)
673  * maintenance functions for deleting objects and updating regions
674    (plcae_force_update/place_force_delete)
675  * web view for polygons that need deleting
676  * rate limiting using memcache
677  * improve layout of details page
678  * add support for boundary:postal_code
679  * full CORS support
680  * improve parenting of POIs
681  * support for extract daily diffs from Geofabrik
682  * support for addresses without a street
683    (addr:place and conscription number house numbers)
684  * improve layout of word and search_name_* tables
685  * support for US ZIP+4 codes
686  * refactoring of front-end PHP code
687  * lots of smaller bug fixes
688
689 2.0.1
690
691  * delete outdated entries from location_area_country
692  * remove remaining uses of INTEGER, to allow node ids larger than 2^31