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