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