2017-01-12  Andrew M. Bishop <amb>

	Version 3.2 released.

2017-03-12 [r1903]  Andrew M. Bishop <amb>

	* FILES, doc/NEWS.txt, doc/README.txt, doc/html/readme.html,
	  src/version.h: Update to version 3.2.

2017-01-12 [r1902]  Andrew M. Bishop <amb>

	* web/translations/translation.de.txt: Added another translated
	  German phrase (via http://www.routino.org/translations/).

2017-01-05 [r1901]  Andrew M. Bishop <amb>

	* web/translations/router.html: Change some HTML to improve web
	  page format when zoomed in or out.

2017-01-04 [r1900]  Andrew M. Bishop <amb>

	* web/www/routino/router.css: Remove some CSS to improve web page
	  format when zoomed in or out.

2016-12-20 [r1899]  Andrew M. Bishop <amb>

	* extras/statistics/dumper.c: Resize the array as crossings are
	  added rather than starting with a "large enough" array.

2016-11-22 [r1898]  Andrew M. Bishop <amb>

	* xml/routino-tagging.xml: Handle more tags like access:foot=* by
	  translating them to foot=*.

2016-09-20 [r1897]  Andrew M. Bishop <amb>

	* web/translations/translation.pl.txt: More Polish translations
	  (via http://www.routino.org/translations/).

2016-09-18 [r1896]  Andrew M. Bishop <amb>

	* extras/find-fixme/web/www/fixme.cgi, web/www/routino/results.cgi,
	  web/www/routino/router.cgi, web/www/routino/router.pl,
	  web/www/routino/search.cgi, web/www/routino/search.pl,
	  web/www/routino/statistics.cgi,
	  web/www/routino/update-profiles.pl,
	  web/www/routino/visualiser.cgi: When using 'require' in Perl
	  scripts for a local file use './' prefix for filename because the
	  current directory is no longer on the include path in new
	  versions.

2016-09-11 [r1895]  Andrew M. Bishop <amb>

	* web/translations/translation.pl.txt,
	  xml/routino-translations.xml: More Polish translations (via
	  http://www.routino.org/translations/).

2016-09-08 [r1894]  Andrew M. Bishop <amb>

	* src/translations.c: Ensure that when a language doesn't have a
	  full set of translations the built-in ones generate valid HTML.

2016-09-08 [r1893]  Andrew M. Bishop <amb>

	* web/www/routino/router.leaflet.js,
	  web/www/routino/router.openlayers.js: Ensure that when selecting
	  a new language web-page that this language is used as the default
	  for the generated route (previously it was selected on the
	  web-page but not used).

2016-09-08 [r1892]  Andrew M. Bishop <amb>

	* web/translations/translation.pl.txt,
	  xml/routino-translations.xml: More Polish translations (via
	  http://www.routino.org/translations/).

2016-08-20 [r1891]  Andrew M. Bishop <amb>

	* src/filedumperx.c: Bug fix for error detected by gcc-6.

2016-08-12 [r1890]  Andrew M. Bishop <amb>

	* web/www/routino/mapprops.js: Remove MapQuest as a default tile
	  source since they are no longer available.

2016-07-12 [r1889]  Andrew M. Bishop <amb>

	* src/planetsplitter.c, src/router+lib.c, src/router.c: Improve the
	  error message when the default profiles, translations or tagging
	  files cannot be found.

2016-07-08 [r1888]  Andrew M. Bishop <amb>

	* doc/INSTALL.txt, doc/html/installation.html: Update instructions
	  to reflect that the Apache root directory might not be
	  '/var/www/'.

2016-07-05 [r1887]  Andrew M. Bishop <amb>

	* web/translations/translation.de.txt: More German translations
	  (via http://www.routino.org/translations/).

2016-07-04 [r1886]  Andrew M. Bishop <amb>

	* web/translations/translation.fr.txt,
	  xml/routino-translations.xml: More French translations (via
	  http://www.routino.org/translations/).

2016-06-19 [r1885]  Andrew M. Bishop <amb>

	* src/optimiser.c: Bug fix - if the start and finish of a route
	  segment are the same point and the previous route segment
	  finished with a fake segment then it would crash.

2016-06-06 [r1878-1879]  Andrew M. Bishop <amb>

	* src/test/expected/turns-WP01.txt,
	  src/test/expected/turns-WP02.txt,
	  src/test/expected/turns-WP03.txt,
	  src/test/expected/turns-WP04.txt,
	  src/test/expected/turns-WP05.txt,
	  src/test/expected/turns-WP06.txt,
	  src/test/expected/turns-WP07.txt,
	  src/test/expected/turns-WP08.txt,
	  src/test/expected/turns-WP09.txt,
	  src/test/expected/turns-WP10.txt,
	  src/test/expected/turns-WP11.txt,
	  src/test/expected/turns-WP12.txt,
	  src/test/expected/turns-WP13.txt,
	  src/test/expected/turns-WP14.txt,
	  src/test/expected/turns-WP15.txt: Update test cases after
	  ignoring highways forbidden by turn restrictions when determining
	  which interesting junctions.

	* src/functions.h, src/output.c, src/router.c, src/routino.c:
	  Ignore highways that are forbidden by turn restrictions when
	  determining which ones are interesting for the HTML format
	  output.

2016-04-07 [r1877]  Andrew M. Bishop <amb>

	* web/translations/router.html, web/www/routino/router.css,
	  web/www/routino/router.leaflet.js,
	  web/www/routino/router.openlayers.js: Move the two route buttons
	  to be just below the waypoints so they are less likely to scroll
	  off the screen. Add another pair of route buttons on the results
	  tab to make it quicker to re-calculate a route after moving the
	  waypoints.

2016-03-30 [r1876]  Andrew M. Bishop <amb>

	* web/translations/translation.ru.txt: More Russian translations
	  (via http://www.routino.org/translations/).

2016-03-29 [r1875]  Andrew M. Bishop <amb>

	* web/translations/translation.ru.txt: More Russian translations
	  (via http://www.routino.org/translations/).

2016-03-26 [r1874]  Andrew M. Bishop <amb>

	* web/translations/translation.ru.txt,
	  xml/routino-translations.xml: More Russian translations (via
	  http://www.routino.org/translations/).

2016-03-18 [r1873]  Andrew M. Bishop <amb>

	* web/www/leaflet/install.sh: Update to use the newer version of
	  Leaflet (0.7.7).

2016-03-15 [r1872]  Andrew M. Bishop <amb>

	* src/version.h: Update the version number to note that it includes
	  changes since the latest release.

2016-03-06  Andrew M. Bishop <amb>

	Version 3.1.1 released.

2016-03-06 [r1869]  Andrew M. Bishop <amb>

	* FILES, doc/NEWS.txt, doc/README.txt, doc/html/readme.html,
	  src/version.h: Update for version 3.1.1 release.

2016-03-05  Andrew M. Bishop <amb>

	Version 3.1 released.

2016-03-05 [r1866]  Andrew M. Bishop <amb>

	* FILES, doc/NEWS.txt, doc/README.txt, doc/html/readme.html: Update
	  for version 3.1 release.

2016-02-28 [r1865]  Andrew M. Bishop <amb>

	* src/typesx.h: Change node_t to a 64-bit type by default due to
	  the imminent OSM node number overflow with 32-bits.

2016-02-28 [r1865]  Andrew M. Bishop <amb>

	* src/typesx.h: Change node_t to a 64-bit type by default due to
	  the imminent OSM node number overflow with 32-bits.

2016-02-27 [r1864]  Andrew M. Bishop <amb>

	* src/xmlparse.c: Fix an XML parsing bug found by AFL.

2016-02-25 [r1863]  Andrew M. Bishop <amb>

	* Makefile.conf, src/segments.h, src/ways.h: Fix some changes found
	  with gcc sanitizer options.

2016-02-24 [r1857]  Andrew M. Bishop <amb>

	* src/optimiser.c: Change the FindMiddleRoute function so that it
	  routes from both ends towards the middle. This will make it much
	  quicker to detect some cases where a route is impossible but it
	  does slightly slow down normal operation.

2016-02-14 [r1856]  Andrew M. Bishop <amb>

	* extras/statistics (added), extras/statistics/Makefile (added),
	  extras/statistics/README.txt (added),
	  extras/statistics/create-basemap.pl (added),
	  extras/statistics/create-image.pl (added),
	  extras/statistics/dumper.c (added), extras/statistics/update.sh
	  (added): Add scripts that will process the Routino database and
	  generate maps with highway statistics.

2016-02-12 [r1855]  Andrew M. Bishop <amb>

	* extras/find-fixme/Makefile: Use '$(DEPDIR)' rather than '.deps'.

2016-01-05 [r1854]  Andrew M. Bishop <amb>

	* src/profiles.c: Remove a couple of lines of code with a literal
	  type conversion error. Add special checks that neither max_pref
	  or max_speed are zero.

2015-12-30 [r1852-1853]  Andrew M. Bishop <amb>

	* doc/INSTALL.txt, doc/html/installation.html,
	  extras/find-fixme/web/www/.htaccess (added),
	  web/www/routino/.htaccess: Update the instructions about setting
	  up Apache (tested on Apache 2.4.x).

	* web/translations/translation.de.txt,
	  xml/routino-translations.xml: More German translations (via
	  http://www.routino.org/translations/).

2015-12-24 [r1851]  Andrew M. Bishop <amb>

	* src/optimiser.c: Remove a lookup in the FixForwardRoute function.

2015-12-21 [r1850]  Andrew M. Bishop <amb>

	* xml/routino-profiles.xml: Reduce the preference for service roads
	  when driving.

2015-12-21 [r1849]  Andrew M. Bishop <amb>

	* src/optimiser.c: Add an experimental (commented out) version of
	  the FindMiddleRoute function that finds the route in reverse
	  (starting at the end working back to the beginning). Verified to
	  give equivalent, if not identical, results to the existing
	  function.

2015-12-21 [r1848]  Andrew M. Bishop <amb>

	* src/optimiser.c: Simplify the way that the beginning of the route
	  is inserted into the results.

2015-12-18 [r1847]  Andrew M. Bishop <amb>

	* src/optimiser.c, src/results.h: Change the way that the beginning
	  of the route is used to seed the search for the super-route and
	  then to create the combined route.

2015-12-18 [r1846]  Andrew M. Bishop <amb>

	* src/optimiser.c, src/test/expected/super-or-not-WP01.txt,
	  src/test/expected/super-or-not-WP02.txt,
	  src/test/expected/super-or-not-WP03.txt,
	  src/test/expected/super-or-not-WP04.txt (added),
	  src/test/expected/super-or-not-WP05.txt (added),
	  src/test/super-or-not.osm: Fix a bug where the optimum end of the
	  route was not being used because the search was stopping at the
	  first super-node that was part of another possible end of the
	  route. Add to an existing test case.

2015-12-15 [r1845]  Andrew M. Bishop <amb>

	* src/optimiser.c: Improve the debug output (add debugging
	  information to the FindSuperSegment function).

2015-12-14 [r1844]  Andrew M. Bishop <amb>

	* src/optimiser.c: Improve the debug output (use a common function
	  for all of them and add more information).

2015-12-08 [r1843]  Andrew M. Bishop <amb>

	* src/optimiser.c: Rewrite FindFinishRoutes so that it does not
	  find node-segment pairs pointing in reverse and then reverse them
	  but find normal node-segment pairs working backwards.

2015-12-07 [r1842]  Andrew M. Bishop <amb>

	* src/optimiser.c: Fix bug in last change (FindFinishRoutes is not
	  the same as the other functions).

2015-12-05 [r1835]  Andrew M. Bishop <amb>

	* src/optimiser.c: Rename some variables, move some lines of code
	  around and extract some code into a separate function. Tidying
	  up, no functional change.

2015-12-01 [r1834]  Andrew M. Bishop <amb>

	* web/translations/translation.de.txt: More German translations
	  (via http://www.routino.org/translations/).

2015-11-24 [r1833]  Andrew M. Bishop <amb>

	* extras/find-fixme/web/www/fixme.html: Fix error in non-Javascript
	  version of statistics URL.

2015-10-24 [r1832]  Andrew M. Bishop <amb>

	* src/router.c: Fix routing bug where missing waypoint data still
	  gets routed.

2015-10-24 [r1831]  Andrew M. Bishop <amb>

	* web/www/routino/router.leaflet.js,
	  web/www/routino/router.openlayers.js: Store the home location
	  cookie with 5 decimal places. Fix the home marker icon jumping
	  about (Leaflet version).

2015-10-24 [r1830]  Andrew M. Bishop <amb>

	* web/www/routino/router.leaflet.js,
	  web/www/routino/router.openlayers.js: Print an error message if
	  the geolocation function fails or is unavailable.

2015-10-17 [r1828]  Andrew M. Bishop <amb>

	* src/routino.c, src/test/loop-and-reverse.sh: Fix test case for
	  loop and reverse and fix libroutino error that wasn't detected by
	  broken test case.

2015-10-12 [r1826-1827]  Andrew M. Bishop <amb>

	* src/test, src/test/expected/loop-and-reverse-WP-L.txt (added),
	  src/test/expected/loop-and-reverse-WP-LR.txt (added),
	  src/test/expected/loop-and-reverse-WP-R.txt (added),
	  src/test/expected/loop-and-reverse-WP.txt (added),
	  src/test/loop-and-reverse.osm (added),
	  src/test/loop-and-reverse.sh (added): Add a test case for the
	  loop and reverse route options.

	* doc/LIBRARY.txt, doc/html/library.html, src/router+lib.c,
	  src/routino.c, src/routino.h: Add the loop and reverse route
	  options to the library. Increased the API version number.

2015-10-07 [r1824-1825]  Andrew M. Bishop <amb>

	* src/router+lib.c: Fix a bug with the change to handle reverse and
	  loop together.

	* src/router.c: Simplify the ugly code for handling reverse and
	  loop better - more code, simpler to understand. Calculate all the
	  waypoints first and then use the points.

2015-09-30 [r1823]  Andrew M. Bishop <amb>

	* src/router+lib.c, src/router.c: When using --reverse and --loop
	  together start at the first waypoint specified rather than the
	  last one specified.

2015-09-30 [r1822]  Andrew M. Bishop <amb>

	* web/Makefile: Force the make not to be run in parallel in the web
	  directory.

2015-09-30 [r1821]  Andrew M. Bishop <amb>

	* web/translations/translation.fr.txt,
	  xml/routino-translations.xml: Add new and updated French
	  translations (via http://www.routino.org/translations/).

2015-09-29 [r1820]  Andrew M. Bishop <amb>

	* extras/find-fixme/Makefile, extras/tagmodifier/Makefile,
	  src/xml/Makefile: Re-implement the change to allow using 'make -j
	  4'.

2015-09-29 [r1819]  Andrew M. Bishop <amb>

	* src/Makefile, web/Makefile: Re-implement the change to allow
	  using 'make -j 4'.

2015-09-28 [r1818]  Andrew M. Bishop <amb>

	* doc/LIBRARY.txt, doc/html/library.html, src/router+lib.c,
	  src/routino.c, src/routino.h: Include the version number of
	  Routino that was used to compile the library into the library as
	  a string variable.

2015-09-28 [r1817]  Andrew M. Bishop <amb>

	* src/router+lib.c, src/router.c: Make router.c and router+lib.c
	  more similar without changing the functionality.

2015-09-26 [r1815-1816]  Andrew M. Bishop <amb>

	* src/test/expected/coincident-waypoint-WP01.txt,
	  src/test/expected/coincident-waypoint-WP02.txt,
	  src/test/expected/coincident-waypoint-WP03.txt,
	  src/test/expected/coincident-waypoint-WP04.txt,
	  src/test/expected/cycle-both-ways-WP01.txt,
	  src/test/expected/cycle-both-ways-WP02.txt,
	  src/test/expected/dead-ends-WP01.txt,
	  src/test/expected/dead-ends-WP02.txt,
	  src/test/expected/dead-ends-WP03.txt,
	  src/test/expected/dead-ends-WP04.txt,
	  src/test/expected/dead-ends-WP05.txt,
	  src/test/expected/dead-ends-WP06.txt,
	  src/test/expected/dead-ends-WP07.txt,
	  src/test/expected/dead-ends-WP08.txt,
	  src/test/expected/dead-ends-WP09.txt,
	  src/test/expected/dead-ends-WP10.txt,
	  src/test/expected/dead-ends-WP11.txt,
	  src/test/expected/fake-node-with-loop-WP01.txt,
	  src/test/expected/fake-node-with-loop-WP02.txt,
	  src/test/expected/loops-WP01.txt,
	  src/test/expected/loops-WP02.txt,
	  src/test/expected/loops-WP03.txt,
	  src/test/expected/loops-WP04.txt,
	  src/test/expected/loops-WP05.txt,
	  src/test/expected/loops-WP06.txt,
	  src/test/expected/loops-WP07.txt,
	  src/test/expected/loops-WP08.txt,
	  src/test/expected/loops-WP09.txt,
	  src/test/expected/loops-WP10.txt,
	  src/test/expected/loops-WP11.txt,
	  src/test/expected/no-super-WP01.txt,
	  src/test/expected/no-super-WP02.txt,
	  src/test/expected/no-super-WP03.txt,
	  src/test/expected/no-super-WP04.txt,
	  src/test/expected/node-restrictions-WP01.txt,
	  src/test/expected/node-restrictions-WP02.txt,
	  src/test/expected/node-restrictions-WP03.txt,
	  src/test/expected/node-restrictions-WP04.txt,
	  src/test/expected/node-restrictions-WP05.txt,
	  src/test/expected/node-restrictions-WP06.txt,
	  src/test/expected/node-restrictions-WP07.txt,
	  src/test/expected/node-restrictions-WP08.txt,
	  src/test/expected/oneway-loop-WP01.txt,
	  src/test/expected/roundabout-waypoints-WP01.txt,
	  src/test/expected/roundabout-waypoints-WP02.txt,
	  src/test/expected/roundabout-waypoints-WP03.txt,
	  src/test/expected/roundabout-waypoints-WP04.txt,
	  src/test/expected/roundabout-waypoints-WP05.txt,
	  src/test/expected/roundabout-waypoints-WP06.txt,
	  src/test/expected/roundabout-waypoints-WP07.txt,
	  src/test/expected/super-or-not-WP01.txt,
	  src/test/expected/super-or-not-WP02.txt,
	  src/test/expected/super-or-not-WP03.txt,
	  src/test/expected/turns-WP01.txt,
	  src/test/expected/turns-WP02.txt,
	  src/test/expected/turns-WP03.txt,
	  src/test/expected/turns-WP04.txt,
	  src/test/expected/turns-WP05.txt,
	  src/test/expected/turns-WP06.txt,
	  src/test/expected/turns-WP07.txt,
	  src/test/expected/turns-WP08.txt,
	  src/test/expected/turns-WP09.txt,
	  src/test/expected/turns-WP10.txt,
	  src/test/expected/turns-WP11.txt,
	  src/test/expected/turns-WP12.txt,
	  src/test/expected/turns-WP13.txt,
	  src/test/expected/turns-WP14.txt,
	  src/test/expected/turns-WP15.txt,
	  src/test/expected/turns-WP16.txt: Change test cases for the
	  changed output formats.

	* src/output.c, src/translations.c, src/translations.h,
	  web/translations/translation.de.txt,
	  web/translations/translation.en.txt,
	  web/translations/translation.fr.txt,
	  web/translations/translation.hu.txt,
	  web/translations/translation.nl.txt,
	  web/translations/translation.pl.txt,
	  web/translations/translation.ru.txt,
	  web/translations/translations-body.xml,
	  xml/routino-translations.xml: Change file output formats so that
	  waypoint numbers are included. Change the names of the GPX route
	  waypoints in the XML file.

2015-09-26 [r1814]  Andrew M. Bishop <amb>

	* src/Makefile, src/test/Makefile: Fix makefiles so that 'make
	  test' works from a clean directory.

2015-09-26 [r1813]  Andrew M. Bishop <amb>

	* src/router+lib.c, src/router.c, web/translations/router.html,
	  web/www/routino/icons/waypoint-loop.png (added),
	  web/www/routino/icons/waypoint-reverse.png (added),
	  web/www/routino/router.css, web/www/routino/router.leaflet.js,
	  web/www/routino/router.openlayers.js, web/www/routino/router.pl:
	  Add a loop and reverse checkbox on the web page and replace the
	  loop and reverse buttons with icons. Update router programs and
	  scripts.

2015-09-26 [r1812]  Andrew M. Bishop <amb>

	* web/www/routino/router.leaflet.js,
	  web/www/routino/router.openlayers.js: Fix bug with specifying
	  'oneway' or 'turns' in the URL arguments.

2015-09-24 [r1810]  Andrew M. Bishop <amb>

	* src/router+lib.c: Fix a bug with freeing the waypoints if routing
	  a loop.

2015-09-15 [r1804]  Andrew M. Bishop <amb>

	* extras/find-fixme/Makefile, extras/tagmodifier/Makefile,
	  src/Makefile, src/xml/Makefile, web/Makefile: Fix Makefiles so
	  that 'make -j 4' works.

2015-09-15 [r1803]  Andrew M. Bishop <amb>

	* Makefile.conf, src/Makefile: Add a "SONAME" shared library
	  version number.

2015-09-15 [r1801-1802]  Andrew M. Bishop <amb>

	* src/version.h: Change the version number so that anybody using
	  the SVN version knows that it is not the released version and let
	  them take care about the exact version.

	* src/Makefile: Don't create the *.so files on Windows.

2015-09-14 [r1799-1800]  Andrew M. Bishop <amb>

	* web/www/routino/router.leaflet.js,
	  web/www/routino/router.openlayers.js: Make the whole row of the
	  route clickable, not just the number on the left.

	* doc/html/library.html: Give each HTML header a unique id.

2015-09-12  Andrew M. Bishop <amb>

	Version 3.0 released.

2015-09-12 [r1798]  Andrew M. Bishop <amb>

	* FILES, doc/NEWS.txt, doc/README.txt, doc/html/readme.html: Update
	  files for release.

2015-09-09 [r1797]  Andrew M. Bishop <amb>

	* doc/USAGE.txt, doc/html/usage.html, extras/find-fixme/README.txt,
	  extras/find-fixme/fixme-dumper.c,
	  extras/find-fixme/fixme-finder.c, extras/tagmodifier/README.txt,
	  extras/tagmodifier/tagmodifier.c, src/filedumper.c,
	  src/filedumperx.c, src/planetsplitter.c, src/router+lib.c,
	  src/router.c, src/version.h (added): Add a '--version' option to
	  all executables to print the current version (defined in
	  version.h).

2015-09-07 [r1796]  Andrew M. Bishop <amb>

	* src/output.c, src/translations.c,
	  web/translations/translation.de.txt,
	  web/translations/translation.en.txt,
	  web/translations/translation.fr.txt,
	  web/translations/translation.hu.txt,
	  web/translations/translation.nl.txt,
	  web/translations/translation.pl.txt,
	  web/translations/translation.ru.txt,
	  web/translations/translations-body.xml,
	  web/translations/translations-head.xml,
	  web/www/routino/router.leaflet.js,
	  web/www/routino/router.openlayers.js,
	  xml/routino-translations.xml, xml/routino-translations.xsd: Merge
	  some of the translation phrases together to simplify them. Change
	  the HTML output and web pages to work with this.

2015-09-03 [r1795]  Andrew M. Bishop <amb>

	* doc/LIBRARY.txt, doc/html/library.html, src/output.c,
	  src/router+lib.c, src/routino.c, src/routino.h: Add in an
	  HTML-all linked list formats that includes the full set of points
	  and the HTML directions for the important ones.

2015-09-03 [r1794]  Andrew M. Bishop <amb>

	* src/router.c: Bug fix in usage information.

2015-08-17 [r1793]  Andrew M. Bishop <amb>

	* web/www/routino/router.leaflet.js,
	  web/www/routino/router.openlayers.js: Fix a bug with dragging a
	  marker from the left panel onto the map when the left panel has
	  scrolled the page.

2015-08-17 [r1792]  Andrew M. Bishop <amb>

	* doc/LIBRARY.txt, doc/html/library.html, src/router+lib.c,
	  src/routino.c, src/routino.h, src/translations.c,
	  src/translations.h: Add a new API function to return the full
	  names of the languages available in the translations XML file.
	  Increase API version to 6.

2015-08-17 [r1791]  Andrew M. Bishop <amb>

	* src/test/copyright.xml, src/translations.c, src/translations.h,
	  web/translations/translate.pl,
	  web/translations/translations-body.xml,
	  xml/routino-translations.xml, xml/routino-translations.xsd: Add
	  the long version of the language name to the XML translations
	  file.

2015-08-17 [r1790]  Andrew M. Bishop <amb>

	* web/translations/translation.de.txt: Replace one German word
	  (via http://www.routino.org/translations/).

2015-08-16 [r1789]  Andrew M. Bishop <amb>

	* web/translations/translate.pl,
	  web/translations/translation.pl.txt,
	  xml/routino-translations.xml: Delete some Polish documentation
	  strings that were incorrectly formed (not enough '%s').

2015-08-15 [r1788]  Andrew M. Bishop <amb>

	* doc/html/index.html, doc/html/installation-ms-windows.html,
	  doc/html/installation.html: Some small documentation tidying up.

2015-08-15 [r1787]  Andrew M. Bishop <amb>

	* extras/find-fixme/Makefile, extras/tagmodifier/Makefile,
	  src/Makefile, src/xml/Makefile: Use $^ instead of $< in Makefiles
	  where it is simpler and where there are multiple dependencies
	  that all need to be used together.

2015-08-15 [r1786]  Andrew M. Bishop <amb>

	* src/test/Makefile: Compile the executables all in one go rather
	  than running make for each one.

2015-08-15 [r1785]  Andrew M. Bishop <amb>

	* Makefile, src/Makefile: Don't automatically choose the order in
	  which to enter the sub-directories but hard-code it to make it
	  more sensible.

2015-08-15 [r1784]  Andrew M. Bishop <amb>

	* Makefile.conf, doc/INSTALL-MS-WIN.txt, doc/LIBRARY.txt (added),
	  doc/html/index.html, doc/html/installation-ms-windows.html,
	  doc/html/library.html (added), extras/find-fixme/Makefile,
	  extras/find-fixme/fixme-dumper.c,
	  extras/find-fixme/fixme-finder.c, extras/find-fixme/osmparser.c,
	  extras/tagmodifier/Makefile, extras/tagmodifier/tagmodifier.c,
	  src, src/Makefile, src/errorlogx.c, src/fakes.c, src/fakes.h,
	  src/filedumper.c, src/filedumperx.c, src/files.c, src/files.h,
	  src/functions.h, src/logerror.c, src/nodes.c, src/nodesx.c,
	  src/optimiser.c, src/osmo5mparse.c, src/osmparser.c,
	  src/osmpbfparse.c, src/osmxmlparse.c, src/output.c,
	  src/planetsplitter.c, src/profiles.c, src/profiles.h,
	  src/relations.c, src/relationsx.c, src/relationsx.h,
	  src/results.c, src/router+lib.c (added), src/router.c,
	  src/routino.c (added), src/routino.h (added), src/segments.c,
	  src/segmentsx.c, src/superx.c, src/tagging.c, src/test,
	  src/test/Makefile, src/test/a-b-c-d.sh, src/test/a-b-c.sh,
	  src/test/a-b.sh, src/test/cycle-drive.sh, src/test/only-split.sh,
	  src/test/run-tests.sh (added), src/test/start-1-finish.sh,
	  src/translations.c, src/translations.h, src/types.c,
	  src/visualiser.c, src/ways.c, src/waysx.c, src/xml/Makefile,
	  src/xml/xsd-to-xmlparser.c, src/xmlparse.c, src/xmlparse.h,
	  web/Makefile, web/www/routino/documentation: Merge libroutino
	  branch back into the trunk.

2015-08-15 [r1783]  Andrew M. Bishop <amb> (from 'branches/libroutino')

	* Makefile.conf, extras/find-fixme/Makefile,
	  extras/tagmodifier/Makefile, src/Makefile, src/test/Makefile,
	  src/xml/Makefile, web/Makefile: Add '.exe' to the EXE targets to
	  stop MinGW recompiling the executables each time.

2015-08-14 [r1782]  Andrew M. Bishop <amb> (from 'branches/libroutino')

	* Makefile.conf, doc/INSTALL-MS-WIN.txt,
	  doc/html/installation-ms-windows.html,
	  extras/find-fixme/Makefile, extras/tagmodifier/Makefile,
	  src/Makefile, web/Makefile: Fully automatic host detection (for
	  Cygwin, MinGW and generic UNIX).

2015-08-14 [r1781]  Andrew M. Bishop <amb> (from 'branches/libroutino')

	* Makefile.conf, src/Makefile: Using 'make install' now installs
	  the libraries. On Windows installation uses 'Program
	  Files/Routino' as the base directory.

2015-08-14 [r1780]  Andrew M. Bishop <amb>

	* web/translations/translation.de.txt,
	  web/translations/translation.nl.txt,
	  web/translations/translation.ru.txt,
	  xml/routino-translations.xml: Remove duplicated words and
	  whitespace in translations.

2015-08-11 [r1779]  Andrew M. Bishop <amb> (from 'branches/libroutino')

	* Makefile.conf: Don't include '-fPIC' for MinGW compilation (stops
	  some warnings).

2015-08-11 [r1776-1778]  Andrew M. Bishop <amb> (from 'branches/libroutino')

	* doc/INSTALL-MS-WIN.txt, doc/html/installation-ms-windows.html:
	  Updated documentation for compiling with MinGW64 and compiling
	  library files.

	* src/Makefile: An attempt at creating routino.def and routino.lib
	  using dlltool instead of gendef.

	* src/files.c, src/files.h: Undefine some #defines that MinGW64
	  uses to remove lots of compiler warnings.

2015-08-10 [r1773-1775]  Andrew M. Bishop <amb> (from 'branches/libroutino')

	* src/Makefile: Create routino.dll and routino.def when compiling
	  with MinGW (based on suggestion from Oliver Eichler).

	* src/router+lib.c: Use 'use_stdout' instead of 'stdout' as a
	  variable name (patch from Oliver Eichler).

	* src/routino.h: Use DLL_PUBLIC for the extern definitions of the
	  global variables (patch from Oliver Eichler).

2015-08-08 [r1772]  Andrew M. Bishop <amb> (from 'branches/libroutino')

	* src/translations.c: Put the missing space back in the HTML
	  string.

2015-08-08 [r1771]  Andrew M. Bishop <amb> (from 'branches/libroutino')

	* doc/LIBRARY.txt, doc/html/library.html, src/output.c,
	  src/router+lib.c, src/routino.c, src/routino.h,
	  src/translations.c, src/translations.h: Simplify the HTML
	  generation by making more complex format strings when parsing the
	  translations. Add another field to the API HTML format output
	  (cumulative distance). Increase API version to 5.

2015-08-08 [r1770]  Andrew M. Bishop <amb> (from 'branches/libroutino')

	* doc/LIBRARY.txt, doc/html/library.html: Add some missing API
	  changes.

2015-08-08 [r1769]  Andrew M. Bishop <amb>

	* doc/OUTPUT.txt: Fix some text formatting problems.

2015-08-08 [r1768]  Andrew M. Bishop <amb> (from 'branches/libroutino')

	* doc/LIBRARY.txt, doc/html/library.html, src/output.c,
	  src/router+lib.c, src/routino.c, src/routino.h,
	  src/translations.c, src/translations.h: Add a new output list
	  format that contains a text version of the normal HTML output.
	  Increase API version to 4.

2015-08-04 [r1767]  Andrew M. Bishop <amb> (from 'branches/libroutino')

	* doc/LIBRARY.txt, doc/html/library.html, src/optimiser.c,
	  src/router+lib.c, src/routino.c, src/routino.h: Add a progress
	  callback that reports routing progress and can abort the routing
	  algorithm if required. Increase API version to 3.

2015-08-04 [r1766]  Andrew M. Bishop <amb> (from 'branches/libroutino')

	* doc/LIBRARY.txt, doc/html/library.html, src/output.c,
	  src/routino.c, src/routino.h: Add speed for each route segment
	  (text-all version) and rename the 'string' parameter to 'name'.
	  Increase API version to 2.

2015-08-03 [r1765]  Andrew M. Bishop <amb> (from 'branches/libroutino')

	* doc/LIBRARY.txt, doc/html/library.html, src/router+lib.c,
	  src/routino.c, src/routino.h: Add a library API version number
	  #define and variable and a function to compare the two.

2015-08-03 [r1764]  Andrew M. Bishop <amb> (from 'branches/libroutino')

	* web/www/routino/documentation: Ignore the library documentation
	  when copied to the web directory.

2015-08-03 [r1763]  Andrew M. Bishop <amb>

	* web/www/routino/router.leaflet.js,
	  web/www/routino/router.openlayers.js: Format the web links to
	  only use 5 decimal places.

2015-08-02 [r1761-1762]  Andrew M. Bishop <amb> (from 'branches/libroutino')

	* src/output.c: Another fix for a mistake in output generation.

	* src/output.c: Patch from Oliver Eichler for some mistakes in
	  output generation.

2015-07-31 [r1760]  Andrew M. Bishop <amb> (from 'branches/libroutino')

	* doc/LIBRARY.txt (added), doc/html/index.html,
	  doc/html/library.html (added), src/routino.c, src/routino.h:
	  Documentation for the libroutino library.

2015-07-31 [r1759]  Andrew M. Bishop <amb>

	* web/translations/translation.pl.txt: More Polish translations
	  (via http://www.routino.org/translations/).

2015-07-30 [r1758]  Andrew M. Bishop <amb> (from 'branches/libroutino')

	* src/functions.h, src/output.c, src/router+lib.c, src/router.c,
	  src/routino.c, src/routino.h: Add the ability to request a linked
	  list output representing the route when using the routino
	  library.

2015-07-21 [r1757]  Andrew M. Bishop <amb> (from 'branches/libroutino')

	* src/routino.c, src/routino.h: Add a user profile type and
	  functions to convert it to and from the Routino profile.

2015-07-20 [r1756]  Andrew M. Bishop <amb> (from 'branches/libroutino')

	* src/router+lib.c, src/router.c, src/routino.c, src/routino.h: Add
	  options to the routing function to allow selection of the type of
	  output files generated.

2015-07-20 [r1755]  Andrew M. Bishop <amb> (from 'branches/libroutino')

	* src/profiles.c, src/profiles.h, src/router+lib.c, src/routino.c,
	  src/routino.h, src/translations.c, src/translations.h: Add
	  functions to the library to return the list of loaded translation
	  languages and profile names.

2015-07-20 [r1754]  Andrew M. Bishop <amb> (from 'branches/libroutino')

	* Makefile.conf, src/Makefile: Compile the version of the router
	  using libroutino to search for the shared library in the same
	  directory.

2015-07-20 [r1753]  Andrew M. Bishop <amb> (from 'branches/libroutino')

	* src/routino.c, src/routino.h: Check for validated profiles before
	  using them.

2015-07-18 [r1752]  Andrew M. Bishop <amb> (from 'branches/libroutino')

	* src/test/Makefile, src/test/run-tests.sh (added): Put the test
	  script execution into a script.

2015-07-18 [r1751]  Andrew M. Bishop <amb> (from 'branches/libroutino')

	* src/test, src/test/Makefile, src/test/a-b-c-d.sh,
	  src/test/a-b-c.sh, src/test/a-b.sh, src/test/cycle-drive.sh,
	  src/test/only-split.sh, src/test/start-1-finish.sh: Add tests of
	  the router built with libroutino.

2015-07-16 [r1750]  Andrew M. Bishop <amb> (from 'branches/libroutino')

	* src/router+lib.c: Fix bug in last check-in.

2015-07-16 [r1749]  Andrew M. Bishop <amb> (from 'branches/libroutino')

	* src/router+lib.c, src/router.c, src/routino.c,
	  src/translations.c: Allow choosing a named translation, the first
	  in the file or the built-in English one. Make the routers use the
	  first in the file if no language is specified rather than the
	  built-in one.

2015-07-16 [r1748]  Andrew M. Bishop <amb> (from 'branches/libroutino')

	* src/profiles.c, src/profiles.h, src/router+lib.c, src/router.c,
	  src/routino.c, src/routino.h: Validate profile parameters better
	  when reading XML or router command line. Change the Profile data
	  structure so that UpdateProfile() does not change the parts that
	  are loaded from file so that it can be used multiple times on the
	  same profile. Change the highway and props data to be between 0
	  and 1 rather than a percentage. Add a new function to the library
	  to validate a profile and also update it.

2015-07-15 [r1746-1747]  Andrew M. Bishop <amb> (from 'branches/libroutino')

	* src/profiles.c, src/routino.c, src/routino.h, src/translations.c:
	  Add a Routino_errno variable that indicates the error status of
	  the most recent library function called.

	* src/Makefile: Fix bug with Makefile dependencies for
	  libroutino.so and libroutino-slim.so.

2015-07-14 [r1745]  Andrew M. Bishop <amb>

	* src/files.c, src/files.h: Merge changes from MS-Windows branch
	  (changes for stati64/fstati64/lseeki64).

2015-07-14 [r1743]  Andrew M. Bishop <amb> (from 'branches/MS-Windows')

	* src/files.c, src/files.h: Fix changes for
	  stati64/fstati64/lseeki64.

2015-07-11 [r1741]  Andrew M. Bishop <amb>

	* src/cache.h, src/errorlog.h, src/errorlogx.c, src/files.c,
	  src/files.h, src/logerror.c, src/nodes.c, src/nodes.h,
	  src/nodesx.c, src/relations.h, src/relationsx.c,
	  src/relationsx.h, src/ways.h, src/waysx.c, src/waysx.h: Merge
	  change from MS-Windows branch (offset_t).

2015-07-11 [r1740]  Andrew M. Bishop <amb> (from 'branches/MS-Windows')

	* src/cache.h, src/errorlog.h, src/errorlogx.c, src/files.c,
	  src/files.h, src/logerror.c, src/nodes.c, src/nodes.h,
	  src/nodesx.c, src/relations.h, src/relationsx.c,
	  src/relationsx.h, src/ways.h, src/waysx.c, src/waysx.h: Define a
	  custom type for the offset within a file (because MS Windows can
	  create a 4GB file but only seek +/-2GB within it).

2015-07-10 [r1739]  Andrew M. Bishop <amb>

	* src/nodes.h, src/nodesx.h, src/relations.h, src/segments.h,
	  src/segmentsx.h, src/ways.h, src/waysx.h: Clarify the comments
	  surrounding the definition of the slim mode cache data
	  structures.

2015-07-09 [r1738]  Andrew M. Bishop <amb> (from 'branches/libroutino')

	* src, src/Makefile, src/router+lib.c (added), src/routino.c,
	  src/routino.h: Update the library and include a version of the
	  router program that uses the libroutino shared library for
	  calculating routes. Currently generates output files of all types
	  and accepts but ignores all options to change this.

2015-07-08 [r1737]  Andrew M. Bishop <amb> (from 'branches/libroutino')

	* src/translations.c: Bug fix when freeing the loaded translations.

2015-07-08 [r1736]  Andrew M. Bishop <amb> (from 'branches/libroutino')

	* src/translations.c: Bug fix for change introduced into xmlparse.c
	  by r1701.

2015-07-08 [1735]  Andrew M. Bishop <amb>

	* src/files.c: Merge change from MS-Windows branch.

2015-07-08 [r1734]  Andrew M. Bishop <amb>

	* src/xmlparse.c: Remove a commented out line left over from a
	  previous change.

2015-07-08 [r1733]  Andrew M. Bishop <amb> (from 'branches/MS-Windows')

	* src/files.c: Use the same definition of ssize_t in files.c as
	  other files (for MS Windows).

2015-07-07 [r1732]  Andrew M. Bishop <amb>

	* web/translations/translation.pl.txt: More Polish translations
	  (via http://www.routino.org/translations/).

2015-07-06 [r1731]  Andrew M. Bishop <amb>

	* web/translations/translation.pl.txt (added), web/www/routino,
	  web/www/routino/.htaccess, xml/routino-translations.xml: Added
	  Polish version of translations (submitted through
	  http://www.routino.org/translations/).

2015-07-04 [r1730]  Andrew M. Bishop <amb> (from 'branches/libroutino')

	* src/functions.h, src/optimiser.c, src/router.c: Move the
	  CalculateRoute function from router.c into optimiser.c.

2015-07-02 [r1729]  Andrew M. Bishop <amb> (from 'branches/libroutino')

	* src/functions.h, src/output.c, src/profiles.c, src/profiles.h,
	  src/router.c, src/translations.c, src/translations.h: Identify
	  the best bits from the profiles XML reader and translations XML
	  reader functions and implement them in both.

2015-07-02 [r1728]  Andrew M. Bishop <amb>

	* src/profiles.c: Fix error with --help-profile-xml option.

2015-07-01 [r1726]  Andrew M. Bishop <amb>

	* src/files.c, src/files.h, src/osmo5mparse.c, src/osmpbfparse.c,
	  src/xmlparse.c: Merge changes from MS-Windows branch.

2015-07-01 [r1724-1725]  Andrew M. Bishop <amb> (from 'branches/MS-Windows')

	* src/files.c: More fixes for MSVC, set permission for creating
	  files and combine code with MinGW.

	* src/files.h, src/osmo5mparse.c, src/osmpbfparse.c,
	  src/xmlparse.c: More fixes for MSVC from Oliver Eichler (include
	  basestd.h and define ssize_t).

2015-06-22 [r1723]  Andrew M. Bishop <amb> (from 'branches/libroutino')

	* src/optimiser.c: Bug fix for latest change (logassert and
	  LIBROUTINO).

2015-06-22 [r1722]  Andrew M. Bishop <amb> (from 'branches/libroutino')

	* src/files.c, src/nodes.c, src/optimiser.c, src/relations.c,
	  src/results.c, src/segments.c, src/ways.c: Remove all references
	  to log_memory(), log_free(), log_mmap(), log_munmap() and
	  logassert() from code compiled into the library.

2015-06-20 [r1720]  Andrew M. Bishop <amb> (from 'branches/libroutino')

	* src/routino.h: Avoid defining DLL_PUBLIC twice on Cygwin.

2015-06-20 [r1719]  Andrew M. Bishop <amb>

	* extras/tagmodifier/tagmodifier.c, src/osmxmlparse.c,
	  src/profiles.c, src/tagging.c, src/translations.c,
	  src/xml/xsd-to-xmlparser.c, src/xmlparse.c, src/xmlparse.h: Make
	  the xmltags definitions of XML files be constants.

2015-06-20 [r1717-1718]  Andrew M. Bishop <amb> (from 'branches/libroutino')

	* src/xmlparse.c, src/xmlparse.h: Don't print an error when XML
	  parsing fails but store a string for later use (for use within
	  library version).

	* src/optimiser.c: Check for defined(LIBROUTINO) instead of
	  LIBROUTINO.

2015-06-19 [r1716]  Andrew M. Bishop <amb> (from 'branches/libroutino')

	* src/files.c, src/optimiser.c, src/output.c, src/profiles.c,
	  src/translations.c: Do not print error or debug messages when
	  compiled into library. Return an appropriate error value from
	  functions instead of exiting.

2015-06-18 [r1715]  Andrew M. Bishop <amb> (from 'branches/libroutino')

	* Makefile.conf, src/Makefile, src/routino.c (added), src/routino.h
	  (added): Add stub files for Routino library exported functions
	  and Makefile support.

2015-06-17 [r1713]  Andrew M. Bishop <amb>

	* extras/tagmodifier/README.txt, extras/tagmodifier/tagmodifier.c:
	  Add the '--logmemory' option that the other programs have.

2015-06-17 [r1712]  Andrew M. Bishop <amb> (from 'branches/libroutino')

	* extras/find-fixme/fixme-finder.c: Fix error with command line
	  tagging filename selection. Change code to make it clearer that
	  the error log file is not optional.

2015-06-16 [r1711]  Andrew M. Bishop <amb> (from 'branches/libroutino')

	* extras/find-fixme/osmparser.c, extras/tagmodifier/tagmodifier.c,
	  src/errorlogx.c, src/fakes.c, src/fakes.h, src/logerror.c,
	  src/nodesx.c, src/osmo5mparse.c, src/osmparser.c,
	  src/osmpbfparse.c, src/osmxmlparse.c, src/profiles.c,
	  src/relationsx.c, src/segmentsx.c, src/tagging.c,
	  src/translations.c, src/visualiser.c, src/waysx.c,
	  src/xmlparse.c: Audit the use of file static variables to make
	  sure that there are no implicit assumptions about initialisation
	  conditions that would be wrong for library usage. Fix problems
	  and add comments for clarity.

2015-06-14 [r1710]  Andrew M. Bishop <amb> (from 'branches/libroutino')

	* extras/find-fixme/fixme-dumper.c,
	  extras/tagmodifier/tagmodifier.c, src/filedumper.c, src/nodesx.c,
	  src/osmxmlparse.c, src/planetsplitter.c, src/relationsx.c,
	  src/relationsx.h, src/segmentsx.c, src/superx.c, src/tagging.c,
	  src/translations.c, src/types.c, src/waysx.c,
	  src/xml/xsd-to-xmlparser.c, src/xmlparse.c: Audit the use of
	  function static variables to make sure that there are no implicit
	  assumptions about initialisation conditions that would be wrong
	  for library usage. Fix problems and add comments for clarity.

2015-06-12 [r1709]  Andrew M. Bishop <amb> (from 'branches/libroutino')

	* src/filedumperx.c: Correct an error in a comment.

2015-06-12 [r1708]  Andrew M. Bishop <amb> (from 'branches/libroutino')

	* extras/find-fixme/fixme-finder.c, src/planetsplitter.c,
	  src/router.c: Minimise the number of times that FileName() is
	  called since each one will allocate memory and take time.

2015-06-12 [r1706-1707]  Andrew M. Bishop <amb> (from 'branches/libroutino')

	* src/profiles.c, src/profiles.h, src/router.c: Add a function to
	  free the memory in the Profile structures loaded from file.

	* src/output.c, src/router.c, src/translations.c,
	  src/translations.h: Create a Translation structure to hold the
	  translated strings and have one global variable instead of 30.
	  Add a function to free the memory in the Translation structure.

2015-06-10 [r1705]  Andrew M. Bishop <amb>

	* doc/html/index.html, web/www/routino/documentation: Merge the
	  MS-Windows branch back into the trunk. More documentation
	  changes.

2015-06-10 [r1704]  Andrew M. Bishop <amb> (from 'branches/MS-Windows')

	* doc/html/index.html: Update the index to point to the new MS
	  Windows installation documentation.

2015-06-10 [r1703]  Andrew M. Bishop <amb> (from 'branches/MS-Windows')

	* web/www/routino/documentation: Ignore the new MS Windows
	  installation documentation file.

2015-06-10 [r1701-1702]  Andrew M. Bishop <amb> (from 'branches/libroutino')

	* src/router.c: The translations are required to be loaded for the
	  text output formats.

	* src/output.c, src/xmlparse.c: The ParseXML_Encode_Safe_XML()
	  function now returns a pointer to the same re-allocated string
	  each time rather than allocating a new string each time that it
	  is called.

2015-06-09 [r1699]  Andrew M. Bishop <amb>

	* Makefile.conf, doc/INSTALL-MS-WIN.txt (added), doc/INSTALL.txt,
	  doc/html/installation-ms-windows.html (added),
	  doc/html/installation.html, extras/find-fixme/Makefile,
	  extras/tagmodifier/Makefile, src/Makefile, src/errorlogx.c,
	  src/files.c, src/files.h, src/logerror.c, src/nodesx.c,
	  src/output.c, src/relationsx.c, src/segmentsx.c,
	  src/test/Makefile, src/uncompress.c, src/waysx.c,
	  src/xml/Makefile, src/xmlparse.c, web/Makefile: Merge the
	  MS-Windows branch back into the trunk. Code changes and
	  documentation for Cygwin and MinGW compilers.

2015-05-31 [r1697]  Andrew M. Bishop <amb> (from 'branches/MS-Windows')

	* src/errorlogx.c, src/files.c, src/files.h, src/nodesx.c,
	  src/relationsx.c, src/segmentsx.c, src/waysx.c: Microsoft Windows
	  does not allow deleting an open file and continuing to use it
	  like UNIX does. For MS Windows rename the file instead of
	  deleting and replacing it and do not delete open files
	  immediately but wait until they are closed.

2015-05-30 [r1696]  Andrew M. Bishop <amb> (from 'branches/MS-Windows')

	* src/files.c, src/logerror.c, src/output.c: Open files in binary
	  mode for MSVC and MinGW.

2015-05-29 [r1695]  Andrew M. Bishop <amb>

	* src/nodesx.c, src/relationsx.c, src/segmentsx.c, src/waysx.c:
	  Ensure that allocated strings are long enough even if the %p
	  format is extravagant in the number of characters it uses.

2015-05-29 [r1694]  Andrew M. Bishop <amb>

	* web/Makefile: Change the order so that the translations are
	  created before the icons (because the icons are more difficult to
	  make and more likely to fail).

2015-05-29 [r1693]  Andrew M. Bishop <amb>

	* Makefile.conf: Remove the -Wfloat-conversion gcc option since it
	  was only included in gcc version 4.9 so is not available
	  everywhere.

2015-05-29 [r1692]  Andrew M. Bishop <amb> (from 'branches/MS-Windows')

	* doc/INSTALL-MS-WIN.txt, doc/html/installation-ms-windows.html:
	  Add instructions for compiling with Cygwin (no source code
	  changes needed).

2015-05-28 [r1690]  Andrew M. Bishop <amb>

	* extras/find-fixme/Makefile, extras/tagmodifier/Makefile,
	  src/Makefile, src/test/Makefile, src/xml/Makefile, web/Makefile,
	  web/www/routino, web/www/routino/router.html (removed),
	  web/www/routino/visualiser.html (removed), xml/Makefile: Update
	  Makefiles so that 'make clean' goes back to the source code in
	  the release tar files and 'make distclean' goes back to the
	  source code in subversion (the difference mainly being web page
	  icons and web page translations).

2015-05-28 [r1687-1689]  Andrew M. Bishop <amb> (from 'branches/MS-Windows')

	* doc/INSTALL-MS-WIN.txt (added), doc/INSTALL.txt,
	  doc/html/installation-ms-windows.html (added),
	  doc/html/installation.html: Update documentation to describe
	  compilation on Microsoft Windows.

	* src/uncompress.c: Do not try to compile the built-in file
	  decompression on MINGW or MSVC due to the lack of fork()
	  function.

	* Makefile.conf, extras/find-fixme/Makefile,
	  extras/tagmodifier/Makefile, src/Makefile, src/xml/Makefile,
	  web/Makefile: Update Makefiles for compiling with MINGW to
	  include mman-win32.o and handle executables with .exe file
	  extension.

2015-05-26 [r1683-1686]  Andrew M. Bishop <amb> (from 'branches/MS-Windows')

	* src/xmlparse.c: When compiling with MINGW there is no
	  strcasecmp() function so _stricmp() must be used (the same as
	  with MSVC).

	* src/files.c: When compiling with MINGW the same mman-win32
	  functions are required as with MSVC. The open() function can not
	  set the 'group' and 'other' permissions although it can set the
	  'user' permissions.

	* src/files.h: When compiling with MINGW the pread() and pwrite()
	  functions are not available. Fix a signed/unsigned assignment
	  warning in the inline functions.

	* src/uncompress.c: Only compile the pipe_and_fork() function if
	  any of the compression methods are enabled.

2015-05-26 [r1680]  Andrew M. Bishop <amb>

	* Makefile.conf, extras/find-fixme/fixme-dumper.c,
	  extras/find-fixme/fixme-finder.c,
	  extras/tagmodifier/tagmodifier.c, src/Makefile, src/cache.h,
	  src/fakes.c, src/filedumper.c, src/files.c, src/files.h,
	  src/logging.c, src/logging.h, src/mman-win32.c (added),
	  src/mman-win32.h (added), src/nodes.c, src/optimiser.c,
	  src/osmo5mparse.c, src/osmpbfparse.c, src/output.c,
	  src/planetsplitter.c, src/profiles.c, src/router.c,
	  src/segments.h, src/uncompress.c, src/ways.c, src/ways.h,
	  src/xml/xsd-to-xmlparser.c, src/xmlparse.c: Merge branch 'MSVC'
	  back into the trunk.

2015-05-26 [r1679]  Andrew M. Bishop <amb>

	* web/www/leaflet/install.sh: Update to Leaflet version 0.7.3.

2015-05-21 [r1678]  Andrew M. Bishop <amb>

	* src/sorting.c: Fix bug with 64-bit version failing 'make test'.

2015-05-20 [r1677]  Andrew M. Bishop <amb>

	* src/output.c: Change a static variable to a const to clarify it
	  usage.

2015-05-20 [r1676]  Andrew M. Bishop <amb> (from 'branches/MSVC')

	* Makefile.conf: Add the -Wfloat-conversion gcc option to catch any
	  future score_t related conversions required.

2015-05-20 [r1675]  Andrew M. Bishop <amb> (from 'branches/MSVC')

	* src/optimiser.c, src/profiles.c, src/router.c: Typecasts for
	  score_t and explicit float (not double) literals for MSVC
	  compilation [based on patch from Oliver Eichler].

2015-05-20 [r1674]  Andrew M. Bishop <amb> (from 'branches/MSVC')

	* src/logging.c, src/xmlparse.c: Updated MSVC code changes after
	  testing [patch from Oliver Eichler].

2015-05-20 [r1673]  Andrew M. Bishop <amb> (from 'branches/MSVC')

	* src/files.c, src/files.h, src/mman-win32.c (added),
	  src/mman-win32.h (added): Added a Win32 implementation of the
	  mmap/munmap functions [files from
	  https://code.google.com/p/mman-win32 suggested by Oliver
	  Eichler].

2015-05-19 [r1666-1671]  Andrew M. Bishop <amb> (from 'branches/MSVC')

	* src/ways.c: Fix uninitialised memory [found by Oliver Eichler
	  when compiling with Microsoft C compiler].

	* src/fakes.c, src/segments.h, src/ways.h: Add some explicit casts
	  for some assignments resulting from pointer arithmetic [patch
	  from Oliver Eichler for compiling with Microsoft C].

	* src/files.c, src/nodes.c, src/xmlparse.c: Add some explicit casts
	  for some assignments between different integer types [patch from
	  Oliver Eichler for compiling with Microsoft C].

	* src/Makefile, src/planetsplitter.c, src/router.c: Rename DATADIR
	  to ROUTINO_DATADIR to avoid problems when compiling with
	  Microsoft C compiler [inspired by patches from Oliver Eichler].

	* src/files.c, src/files.h: Remove memory mapping functions when
	  compiling with Microsoft C compiler [inspired by patches from
	  Oliver Eichler]. This will only allow slim more to be compiled.

	* src/xmlparse.c: Remove <strings.h> when compiling with Microsoft
	  C compiler (in which use a macro to replace strcasecmp) [inspired
	  by patches from Oliver Eichler].

2015-05-19 [r1664-1665]  Andrew M. Bishop <amb> (from 'branches/MSVC')

	* src/files.c, src/files.h: Remove <unistd.h> where not needed at
	  all or when compiling with Microsoft C compiler (in which case
	  add <io.h> and some macros to replace read/write/open/close/lseek
	  etc.) [inspired by patches from Oliver Eichler].

	* extras/find-fixme/fixme-finder.c,
	  extras/tagmodifier/tagmodifier.c, src/cache.h, src/osmo5mparse.c,
	  src/osmpbfparse.c, src/output.c, src/planetsplitter.c,
	  src/uncompress.c, src/xml/xsd-to-xmlparser.c, src/xmlparse.c:
	  Remove <unistd.h> where not needed at all or when compiling with
	  Microsoft C compiler (in which case add <io.h> and some macros to
	  replace read/write/open/close/lseek etc.) [inspired by patches
	  from Oliver Eichler].

2015-05-19 [r1663]  Andrew M. Bishop <amb> (from 'branches/MSVC')

	* extras/find-fixme/fixme-dumper.c, src/filedumper.c,
	  src/logging.c, src/logging.h: Remove <sys/time.h> where not
	  needed at all or when compiling with Microsoft C compiler (in
	  which case add a replacement gettimeofday function) [inspired by
	  patches from Oliver Eichler].

2015-05-18 [r1661]  Andrew M. Bishop <amb>

	* src/optimiser.c: Fix use-after-free error found by valgrind.

2015-05-16 [r1657]  Andrew M. Bishop <amb>

	* web/www/routino/router.leaflet.js,
	  web/www/routino/router.openlayers.js: Fix bug with moving markers
	  on the map (OpenLayers version) and enable markers when they are
	  dragged onto the map (both versions).

2015-05-16 [r1656]  Andrew M. Bishop <amb>

	* web/translations/router.html,
	  web/translations/translation.de.txt,
	  web/translations/translation.en.txt,
	  web/translations/translation.fr.txt,
	  web/translations/translation.nl.txt, web/www/routino/router.css,
	  web/www/routino/router.leaflet.js,
	  web/www/routino/router.openlayers.js: Allow dragging the waypoint
	  icon up-and-down in the list and onto the map.

2015-05-15 [r1655]  Andrew M. Bishop <amb>

	* web/translations/translation.hu.txt: Add updated Hungarian
	  translations submitted via http://www.routino.org/translations/
	  on 2015-05-14.

2015-05-14 [r1652-1653]  Andrew M. Bishop <amb>

	* Makefile.conf: Add the -pedantic compilation flag to allow
	  detection of more potential errors and portability issues.

	* src/errorlog.h, src/files.c, src/nodes.h, src/relations.h,
	  src/segments.h, src/sorting.c, src/ways.h: Replace all arithmetic
	  involving 'void*' pointers with 'char*' since it isn't strictly
	  valid although it is accepted by gcc.

2015-05-13 [r1651]  Andrew M. Bishop <amb>

	* src/xmlparse.c: Remove a gcc warning about overflow in implicit
	  constant conversion (by making it an explicit type cast).

2015-05-13 [r1650]  Andrew M. Bishop <amb>

	* extras/find-fixme/fixme-dumper.c, src/filedumper.c,
	  src/logging.c: Use "%zu" to print 'size_t' type values and use
	  Pindex_t to print 'index_t' type values.

2015-05-13 [r1649]  Andrew M. Bishop <amb>

	* src/sorting.c: Remove some pthread related code that was being
	  used even if compiled without pthreads.

2015-05-05 [r1648]  Andrew M. Bishop <amb>

	* web/translations/translation.de.txt: Add updated German
	  translations submitted via http://www.routino.org/translations/
	  on 2015-05-04.

2015-05-01 [r1646]  Andrew M. Bishop <amb>

	* doc/html/algorithm.html, doc/html/configuration.html,
	  doc/html/data.html, doc/html/index.html,
	  doc/html/installation.html, doc/html/limits.html,
	  doc/html/output.html, doc/html/readme.html, doc/html/style.css,
	  doc/html/tagging.html, doc/html/usage.html,
	  extras/find-fixme/web/www/index.html, web/www/routino/index.html:
	  Add "meta" header to HTML to help mobile devices and tidy up some
	  CSS.

2015-05-01 [r1644-1645]  Andrew M. Bishop <amb>

	* doc/html/readme.html: Fixed some header links.

	* doc/TAGGING.txt, doc/html/tagging.html: Fixed some text
	  formatting.

2015-04-26 [r1643]  Andrew M. Bishop <amb>

	* web/translations/translation.hu.txt (added), web/www/routino,
	  xml/routino-translations.xml: Added a Hungarian translation of
	  the Routino routes and router web pages (from unknown person
	  using http://routino.org/translations/).

2015-04-11 [r1642]  Andrew M. Bishop <amb>

	* web/Makefile: Run make in the xml directory after updating the
	  xml/translations.xml file.

2015-04-10 [r1641]  Andrew M. Bishop <amb>

	* src/translations.c: Change built-in default HTML translation
	  strings so that they work with the web page if they have to be
	  used.

2015-03-30 [r1638]  Andrew M. Bishop <amb>

	* src/optimiser.c: Fix bug with indenting of debug output in
	  FindMiddleRoute() function.

2015-03-28 [r1636]  Andrew M. Bishop <amb>

	* src/optimiser.c: More verbose, consistent, complete and
	  descriptive debugging of routes found.

2015-03-28 [r1634]  Andrew M. Bishop <amb>

	* src/optimiser.c: The new FindStartRoutes() function does not need
	  to be so complicated.

2015-03-28 [r1632]  Andrew M. Bishop <amb>

	* src/functions.h, src/optimiser.c, src/router.c: Remove the
	  ExtendStartRoutes() function by merging its functionality with
	  the FindStartRoutes() function since they were almost identical
	  anyway.

2015-03-21 [r1626-1627]  Andrew M. Bishop <amb>

	* src/optimiser.c, src/router.c: Make sure that all complete routes
	  have finish_node and last_segment filled in.

	* src/optimiser.c: Bug fix and clarification for previous change.

2015-03-21 [r1625]  Andrew M. Bishop <amb>

	* src/functions.h, src/optimiser.c, src/router.c: Don't merge the
	  end of the route with the middle part of the route before
	  combining with the beginning of the route - combine beginning,
	  middle and end all in one function.

2015-02-02 [r1624]  Andrew M. Bishop <amb>

	* web/translations/translation.de.txt,
	  xml/routino-translations.xml: Add updated German translations
	  submitted via http://www.routino.org/translations/ on 2014-01-31.

2015-01-17 [r1623]  Andrew M. Bishop <amb>

	* web/translations/translation.de.txt,
	  xml/routino-translations.xml: Add updated German translations
	  submitted via http://www.routino.org/translations/ on 2014-01-16.

2015-01-13 [r1622]  Andrew M. Bishop <amb>

	* web/translations/translation.de.txt: Add updated German
	  translations submitted via http://www.routino.org/translations/
	  on 2014-01-13.

2015-01-09 [r1621]  Andrew M. Bishop <amb>

	* web/translations/translation.nl.txt: Add updated Dutch
	  translations submitted via http://www.routino.org/translations/
	  on 2014-01-08.

2015-01-07 [r1620]  Andrew M. Bishop <amb>

	* xml/routino-tagging.xml: Remove cycle_barrier and bicycle_barrier
	  since these don't always block bicycles.

2014-12-04 [r1619]  Andrew M. Bishop <amb>

	* src/typesx.h: Increase MAX_SEG_PER_NODE to avoid further
	  problems.

2014-11-29 [r1618]  Andrew M. Bishop <amb>

	* src/visualiser.c: Include typesx.h to get the definition of
	  MAX_SEG_PER_NODE rather than having another one.

2014-11-08  Andrew M. Bishop <amb>

	Version 2.7.3 released.

2014-11-08 [r1616]  Andrew M. Bishop <amb>

	* FILES, doc/NEWS.txt, doc/README.txt, doc/html/readme.html:
	  Updated for version 2.7.3.

2014-11-08 [r1615]  Andrew M. Bishop <amb>

	* web/translations/translation.de.txt,
	  xml/routino-translations.xml: Translation of the final German
	  word missing from the XML file.

2014-10-25 [r1614]  Andrew M. Bishop <amb>

	* doc/DATALIFE.txt, src/nodesx.c, src/planetsplitter.c,
	  src/relationsx.c: Sort the data geographically before pruning so
	  that the data points physically close together are close together
	  in memory which reduces swapping/paging and therefore runs much
	  faster when memory is limited.

2014-10-23 [r1613]  Andrew M. Bishop <amb>

	* src/logging.c: Comment fixes, tidy-up and one bug fixed.

2014-10-22 [r1612]  Andrew M. Bishop <amb>

	* doc/DATALIFE.txt, src/waysx.c: Use the waysx->idata array instead
	  of wayx->id when logging node errors during the segment creation.

2014-10-21 [r1609-1611]  Andrew M. Bishop <amb>

	* doc/DATALIFE.txt: Correct errors in wayx->id usage when
	  compacting ways.

	* src/logging.c: Improve the message printed at the end when using
	  --logtime or --logmemory.

	* src/planetsplitter.c: Clarify some comments.

2014-10-18 [r1608]  Andrew M. Bishop <amb>

	* doc/DATALIFE.txt, src/segmentsx.c: Use the waysx->idata array
	  when logging duplicate segments rather than looking up the wayx
	  and using its id, also saves mapping the ways into memory.

2014-10-18 [r1606-1607]  Andrew M. Bishop <amb>

	* doc/DATALIFE.txt, src/segmentsx.c: Use the nodesx->idata array
	  when logging duplicate segments rather than looking up the nodex
	  and using its id.

	* src/nodesx.c: Shrink the size of the nodesx->idata array when
	  removing non-highway nodes.

2014-10-18 [r1605]  Andrew M. Bishop <amb>

	* doc/DATALIFE.txt, src/nodesx.c, src/planetsplitter.c,
	  src/relationsx.c, src/segmentsx.c, src/superx.c: Free memory that
	  it allocated by IndexSegments() when no longer needed rather than
	  holding on to it.

2014-10-14 [r1604]  Andrew M. Bishop <amb>

	* doc/DATALIFE.txt, src/planetsplitter.c: Speed up the database
	  generation when pruning by reducing the amount of random memory
	  accesses are required by compacting the database after each step.
	  Unless there is enough RAM to hold all the memory mapped files
	  this should be faster.

2014-10-13 [r1603]  Andrew M. Bishop <amb>

	* src/nodes.c, src/segments.c, src/segments.h, src/segmentsx.c: Try
	  to speed up the search for the closest node/segment by minimising
	  the number of nodes that are examined in detail.

2014-10-10 [r1602]  Andrew M. Bishop <amb>

	* src/nodes.c, src/relations.c, src/segments.c, src/ways.c: Record
	  the memory used by the node, segment, way and relation caches in
	  the slim mode router.

2014-10-10 [r1601]  Andrew M. Bishop <amb>

	* extras/find-fixme/fixme-finder.c, src/logging.c,
	  src/planetsplitter.c, src/router.c: Log the router time in
	  microseconds rather than milliseconds. Add a note at the end
	  about the format of the time and memory logging.

2014-10-10 [r1600]  Andrew M. Bishop <amb>

	* doc/USAGE.txt, doc/html/usage.html, src/logging.c, src/nodes.c,
	  src/optimiser.c, src/results.c, src/router.c: Add the '--logtime'
	  and '--logmemory' options to the router to report the time and
	  maximum memory in use (allocated and mapped files) during each
	  step of the routing.

2014-09-30 [r1599]  Andrew M. Bishop <amb>

	* extras/find-fixme/fixme-dumper.c,
	  extras/find-fixme/fixme-finder.c,
	  extras/tagmodifier/tagmodifier.c, src/filedumper.c,
	  src/filedumperx.c, src/planetsplitter.c, src/router.c: Use exit()
	  when exiting the program other than at the end of the main
	  function.

2014-09-27 [r1598]  Andrew M. Bishop <amb>

	* doc/DATALIFE.txt, doc/USAGE.txt, doc/html/usage.html,
	  extras/find-fixme/README.txt, extras/find-fixme/fixme-finder.c,
	  src/errorlogx.c, src/files.c, src/logging.c, src/logging.h,
	  src/nodesx.c, src/planetsplitter.c, src/prunex.c,
	  src/relationsx.c, src/segmentsx.c, src/sorting.c, src/superx.c,
	  src/typesx.h, src/waysx.c: Add a '--logmemory' option to
	  planetsplitter which will report the maximum memory in use
	  (allocated and mapped files) during each step of the processing.

2014-09-27 [r1597]  Andrew M. Bishop <amb>

	* src/nodes.h, src/relations.c, src/segments.c, src/ways.c,
	  src/waysx.h: Be more consistent in the way that cache.h is
	  included.

2014-09-26 [r1596]  Andrew M. Bishop <amb>

	* src/logging.c, src/logging.h: Make a function static in logging.c
	  rather than global.

2014-09-26 [r1592-1595]  Andrew M. Bishop <amb>

	* src/planetsplitter.c: Free the segment list before generating the
	  errorlog files (it isn't used).

	* src/prunex.c: Change a comment and the style in which some data
	  is freed.

	* src/segmentsx.c: Free segmentsx->usedway in FreeSegmentList()
	  rather than letting it leak.

	* src/nodesx.c: Free segmentsx->firstnode in SaveNodeList() like
	  DATALIFE.txt says it should be.

2014-09-23 [r1591]  Andrew M. Bishop <amb>

	* src/files.c, src/files.h, src/sorting.c: Allocate only the memory
	  that is needed (but never more than the limit) when sorting files
	  (i.e. don't just allocate the limit without checking).

2014-09-18 [r1589-1590]  Andrew M. Bishop <amb>

	* src/visualiser.c: Update comments for the functions (some were
	  wrong, all were unclear).

	* extras/find-fixme/osmparser.c: Remove unused macros.

2014-08-27 [r1588]  Andrew M. Bishop <amb>

	* web/translations/translation.de.txt: Add updated German
	  translation submitted via http://www.routino.org/translations/ on
	  2014-08-26.

2014-07-26 [r1587]  Andrew M. Bishop <amb>

	* src/profiles.c: Limit the property preferences to a factor of 100
	  preference for a highway having a property compared to a highway
	  not having the property (was 10000).

2014-07-04 [r1586]  Andrew M. Bishop <amb>

	* doc/NEWS.txt: Fix release date for 2.7.2.

2014-06-26  Andrew M. Bishop <amb>

	Version 2.7.2 released.

2014-06-26 [r1584]  Andrew M. Bishop <amb>

	* FILES, doc/NEWS.txt, doc/README.txt, doc/html/readme.html:
	  Updated for version 2.7.2 release.

2014-06-25 [r1583]  Andrew M. Bishop <amb>

	* doc/INSTALL.txt, doc/html/installation.html: Add a note about
	  another Perl module required if compiling from subversion.

2014-06-25 [r1582]  Andrew M. Bishop <amb>

	* src/router.c: Clarify the reason for the unreachable code (#if 0)
	  and fix bug in it.

2014-06-25 [r1581]  Andrew M. Bishop <amb>

	* src/errorlogx.c: Fix for compiler warning on 64-bit systems but
	  not 32-bit systems.

2014-06-24 [r1580]  Andrew M. Bishop <amb>

	* src/output.c: Fix for revision r1565 that crashes on 64-bit
	  systems but not 32-bit systems.

2014-06-24 [r1579]  Andrew M. Bishop <amb>

	* src/optimiser.c: Fix for revision r1553 that crashes on 64-bit
	  systems but not 32-bit systems.

2014-06-09 [r1578]  Andrew M. Bishop <amb>

	* src/cache.h: Increase the size of the caches for the slim
	  programs by a factor of four (gives a large speed-up on virtual
	  machines with low memory and slow disks even though it makes
	  little difference on machines with lots of memory and fast
	  disks).

2014-06-07 [r1577]  Andrew M. Bishop <amb>

	* doc/TAGGING.txt, doc/html/tagging.html: Document the default
	  assumptions about allowed transport types on ferry routes (none).

2014-06-05 [r1576]  Andrew M. Bishop <amb>

	* web/translations/translate.pl: When creating the translated HTML
	  and XML files give the statistics for each file separately.

2014-05-26 [r1575]  Andrew M. Bishop <amb>

	* web/translations/translation.de.txt: Add updated German
	  translations submitted via http://www.routino.org/translations/
	  on 2014-05-25.

2014-05-21 [r1574]  Andrew M. Bishop <amb>

	* web/translations/translation.ru.txt: Add updated Russian
	  translations submitted via http://www.routino.org/translations/
	  around 2014-05-20.

2014-05-20 [r1573]  Andrew M. Bishop <amb>

	* src/visualiser.c: When visualising segments include all of the
	  ones that overlap the selected region (not missing a few that
	  cross the edges).

2014-05-19 [r1572]  Andrew M. Bishop <amb>

	* web/translations/translation.de.txt,
	  web/translations/translation.fr.txt,
	  web/translations/translation.nl.txt,
	  web/translations/translation.ru.txt,
	  web/translations/translations-body.xml,
	  xml/routino-translations.xml: Remove un-needed whitespace in
	  translations files.

2014-05-17  Andrew M. Bishop <amb>

	Version 2.7.1 released.

2014-05-17 [r1570]  Andrew M. Bishop <amb>

	* FILES, doc/NEWS.txt, doc/README.txt, doc/html/readme.html: Update
	  documentation for version 2.7.1.

2014-05-17 [r1569]  Andrew M. Bishop <amb>

	* web/Makefile: Re-create the xml/routino-translations.xml file if
	  the translations are updated or the file is deleted.

2014-05-17 [r1568]  Andrew M. Bishop <amb>

	* xml/routino-translations.xml: Add updated German translations
	  submitted via http://www.routino.org/translations/ around
	  2014-04-11 and 2014-05-02.

2014-05-12 [r1567]  Andrew M. Bishop <amb>

	* src/prunex.c: When pruning short segments take the highway types
	  into account when sharing the pruned segment length between the
	  two neighbouring segments.

2014-05-10 [r1565-1566]  Andrew M. Bishop <amb>

	* src/test, src/test/a-b-c-d.sh (added),
	  src/test/coincident-waypoint.osm (added),
	  src/test/coincident-waypoint.sh (added),
	  src/test/expected/coincident-waypoint-WP01.txt (added),
	  src/test/expected/coincident-waypoint-WP02.txt (added),
	  src/test/expected/coincident-waypoint-WP03.txt (added),
	  src/test/expected/coincident-waypoint-WP04.txt (added): Add test
	  cases for routes with contain two consecutive coincident
	  waypoints.

	* src/fakes.c, src/fakes.h, src/output.c, src/router.c: Don't crash
	  if the specified route contains two consecutive coincident
	  waypoints (route instructions at those points may not be
	  perfect).

2014-05-09 [r1564]  Andrew M. Bishop <amb>

	* src/output.c, src/test/expected/loops-WP01.txt,
	  src/test/expected/loops-WP02.txt,
	  src/test/expected/loops-WP06.txt,
	  src/test/expected/loops-WP07.txt: Fix bug with results output
	  that would miss a segment and get the distance/time wrong if a
	  waypoint node was passed again on the way to the next waypoint.

2014-05-05 [r1563]  Andrew M. Bishop <amb>

	* src/optimiser.c: Remove some left-over debugging print
	  statements.

2014-05-03 [r1562]  Andrew M. Bishop <amb>

	* web/translations/translation.de.txt: Add updated German
	  translations submitted via http://www.routino.org/translations/
	  around 2014-05-02. (Some of the changes from the 2014-04-11
	  submission were not merged last time, they have been included
	  this time).

2014-05-02 [r1561]  Andrew M. Bishop <amb>

	* web/translations/translation.de.txt: Add updated German
	  translations submitted via http://www.routino.org/translations/
	  around 2014-04-11.

2014-04-30 [r1560]  Andrew M. Bishop <amb>

	* doc/USAGE.txt, doc/html/usage.html, src/filedumper.c,
	  src/osmparser.c, src/visualiser.c, src/visualiser.h,
	  web/translations/translation.en.txt,
	  web/translations/visualiser.html, web/www/routino/visualiser.cgi,
	  web/www/routino/visualiser.leaflet.js,
	  web/www/routino/visualiser.openlayers.js: Update the visualiser
	  web page to allow displaying the "cyclebothways" highway type and
	  the "roundabout" highway type. Also "cyclebothways" is no longer
	  a property so removed from that part of the visualiser.

2014-04-29 [r1559]  Andrew M. Bishop <amb>

	* src/filedumper.c, src/optimiser.c, src/osmparser.c, src/output.c,
	  src/segments.c, src/types.c, src/types.h,
	  xml/routino-profiles.xml: Remove the "cyclebothways" property and
	  replace it with a "cyclebothways" highway type. This means that
	  it is no longer possible to choose a preference for this type of
	  highway when calculating a route. There was never really any
	  reason for allowing users to do this since they can't specify a
	  preference for oneway streets. It does however mean that the
	  broken Javascript in the router web page (no entry field for this
	  property) is fixed. Unfortunately this means that a database
	  created by previous versions are not compatible with this one.

2014-04-28 [r1558]  Andrew M. Bishop <amb>

	* doc/TAGGING.txt, doc/html/tagging.html: Add some missing items
	  into the documentation related to cycling both ways.

2014-04-28 [r1557]  Andrew M. Bishop <amb>

	* web/Makefile: Fix bug with updating XML files in web/data
	  directory (Makefile error).

2014-04-28 [r1556]  Andrew M. Bishop <amb>

	* src/test, src/test/cycle-both-ways.osm (added),
	  src/test/cycle-both-ways.sh (added), src/test/cycle-drive.sh
	  (added), src/test/expected/cycle-both-ways-WP01.txt (added),
	  src/test/expected/cycle-both-ways-WP02.txt (added): Add a test
	  case for the ability to cycle both ways on highways that allow
	  it. Tests the roundabout exit naming as well as shortest route.

2014-04-28 [r1555]  Andrew M. Bishop <amb>

	* src/test/fake-node-with-loop.osm, src/test/prune-straight.osm,
	  src/test/roundabout-waypoints.osm: Remove unneeded tag from <osm>
	  XML element.

2014-04-27 [r1553-1554]  Andrew M. Bishop <amb>

	* src/test, src/test/expected/fake-node-with-loop-WP01.txt (added),
	  src/test/expected/fake-node-with-loop-WP02.txt (added),
	  src/test/fake-node-with-loop.osm (added),
	  src/test/fake-node-with-loop.sh (added): Add test case for the
	  bug with particular arrangement of a fake node (waypoint in
	  middle of segment) and a roundabout.

	* src/optimiser.c, src/segments.h: Fix bug with particular
	  arrangement of a fake node (waypoint in middle of segment) and a
	  roundabout. The FindFinishRoutes() function was invalidly
	  allowing a U-turn which the later parts of the route calculation
	  didn't and therefore failed to find a route.

2014-04-26 [r1552]  Andrew M. Bishop <amb>

	* doc/INSTALL.txt, doc/html/installation.html,
	  web/www/routino/search.cgi, web/www/routino/search.pl: Correct
	  the list of Perl modules required to be installed to use the
	  search function.

2014-04-24 [r1551]  Andrew M. Bishop <amb>

	* xml/scripts/drive.pl, xml/scripts/walk.pl: Omit some more
	  properties from the special case tagging rules.

2014-04-14 [r1550]  Andrew M. Bishop <amb>

	* src/optimiser.c: Revert r1462 which makes no noticeable
	  difference to the speed in normal operation but makes a lot of
	  difference for databases created with the special "drive" tagging
	  rules.

2014-04-14 [r1549]  Andrew M. Bishop <amb>

	* src/router.c: Check the number of waypoints after considering the
	  --help and --help-profile options.

2014-04-12 [r1548]  Andrew M. Bishop <amb>

	* web/www/routino/router.leaflet.js,
	  web/www/routino/router.openlayers.js: Disable the route
	  calculation buttons if fewer than two waypoints are active (more
	  cases).

2014-04-12 [r1545-1547]  Andrew M. Bishop <amb>

	* web/Makefile: Automatically update the translated files if the
	  translation files or HTML templates change.

	* web/translations/router.html, web/www/routino/router.css,
	  web/www/routino/router.leaflet.js,
	  web/www/routino/router.openlayers.js: Disable the route
	  calculation buttons if fewer than two waypoints are active.

	* src/router.c: Refuse to calculate a route if fewer than two
	  waypoints are specified.

2014-04-08 [r1544]  Andrew M. Bishop <amb>

	* web/translations/translate.pl: Make script work with older
	  versions of Perl.

2014-04-06 [r1543]  Andrew M. Bishop <amb>

	* src/output.c: Change routing instructions if on a bicycle and
	  cyclebothways is enabled on the highways at the junctions (e.g.
	  different count of roundabout exits).

2014-04-05 [r1540-1542]  Andrew M. Bishop <amb>

	* src/test, src/test/expected/roundabout-waypoints-WP01.txt
	  (added), src/test/expected/roundabout-waypoints-WP02.txt (added),
	  src/test/expected/roundabout-waypoints-WP03.txt (added),
	  src/test/expected/roundabout-waypoints-WP04.txt (added),
	  src/test/expected/roundabout-waypoints-WP05.txt (added),
	  src/test/expected/roundabout-waypoints-WP06.txt (added),
	  src/test/expected/roundabout-waypoints-WP07.txt (added),
	  src/test/roundabout-waypoints.osm (added),
	  src/test/roundabout-waypoints.sh (added): Add test case for
	  router error when waypoint is on a roundabout. [Test case also
	  unintentionally detected the super-segment merging bug.]

	* src/test/Makefile: Compile programs before running tests (fix
	  Makefile bug).

	* src/superx.c: Fix bug with merging super-segments and segments -
	  an improvement on fix that was applied in version 2.7.

2014-04-04 [r1539]  Andrew M. Bishop <amb>

	* src/output.c: Fix router error when waypoint is on a roundabout
	  (stops crash).

2014-04-02 [r1537-1538]  Andrew M. Bishop <amb>

	* web/translations/translate.pl: Don't use HTML character entity
	  encoding for UTF-8 characters in the HTML.

	* web/translations/translation.de.txt,
	  web/translations/translation.fr.txt,
	  web/translations/translation.nl.txt,
	  web/translations/translation.ru.txt: Trivial changes to the
	  translation files to put them all into the same order.

2014-04-01 [r1536]  Andrew M. Bishop <amb>

	* web/translations/router.html, web/translations/translate.pl,
	  web/translations/translation.ru.txt,
	  web/translations/translations-body.xml,
	  web/translations/visualiser.html: Use '~~' delimiters in the
	  templates for the special-case replacement strings (like the
	  language name).

2014-03-31 [r1535]  Andrew M. Bishop <amb>

	* web/translations/router.html, web/translations/translate.pl,
	  web/translations/visualiser.html: Use '$$' delimiters in the
	  templates for the multi-line replacement strings (to match the
	  files of translation phrases).

2014-03-25 [r1534]  Andrew M. Bishop <amb>

	* web/translations/translation.ru.txt, web/www/routino,
	  xml/routino-translations.xml: Add Russian translations submitted
	  via http://www.routino.org/translations/ around 2014-03-23.

2014-03-24 [r1533]  Andrew M. Bishop <amb>

	* web/translations/translate.pl,
	  web/translations/translation.de.txt,
	  web/translations/translation.en.txt,
	  web/translations/translation.fr.txt,
	  web/translations/translation.nl.txt,
	  web/translations/translation.ru.txt (added),
	  web/translations/translations-body.xml (added),
	  web/translations/translations-head.xml (added),
	  web/translations/translations-tail.xml (added): Create the
	  routino-translations.xml file from the translated language files
	  in the same way as the HTML. Reverse engineer the existing XML
	  file into the translation files for the languages.

2014-03-23 [r1532]  Andrew M. Bishop <amb>

	* doc/README.txt, doc/html/readme.html: Fixed typo in subversion
	  command line example.

2014-03-22  Andrew M. Bishop <amb>

	Version 2.7 released.

2014-03-22 [r1529-1530]  Andrew M. Bishop <amb>

	* FILES, doc/NEWS.txt, doc/README.txt, doc/html/readme.html:
	  Updated for new release.

	* doc/INSTALL.txt: Fix missing text when translated from HTML to
	  plain text.

2014-03-22 [r1528]  Andrew M. Bishop <amb>

	* doc/Makefile, extras/find-fixme/Makefile,
	  extras/tagmodifier/Makefile, src/Makefile, src/test/Makefile,
	  src/xml/Makefile, web/Makefile, xml/Makefile: Another iteration
	  through the Makefiles with some small changes.

2014-03-18 [r1527]  Andrew M. Bishop <amb>

	* src/profiles.c, web/www/routino/router.leaflet.js,
	  web/www/routino/router.openlayers.js: Run jshint again and fix
	  some recently added changes.

2014-03-17 [r1525-1526]  Andrew M. Bishop <amb>

	* src/osmo5mparse.c, src/osmparser.h, src/osmpbfparse.c: Make two
	  global functions local to the files that contain them.

	* src/errorlog.h, src/tagging.c: Fix some invalid function
	  comments.

2014-03-15 [r1524]  Andrew M. Bishop <amb>

	* web/translations/translate.pl,
	  web/translations/translation.de.txt: Store the translations as
	  UTF-8 in the text files and convert to HTML character entities
	  when writing the HTML.

2014-03-11 [r1523]  Andrew M. Bishop <amb>

	* Makefile, Makefile.conf, doc/Makefile,
	  extras/find-fixme/Makefile, extras/tagmodifier/Makefile,
	  src/Makefile, web/Makefile (added), xml/Makefile: Update the
	  Makefiles by creating one in the web directory and moving parts
	  from the src, doc and xml Makefiles into it.

2014-03-11 [r1522]  Andrew M. Bishop <amb>

	* web/www/routino: Ignore the translated HTML files.

2014-03-08 [r1521]  Andrew M. Bishop <amb>

	* web/translations (added), web/translations/router.html (added),
	  web/translations/translate.pl (added),
	  web/translations/translation.de.txt (added),
	  web/translations/translation.en.txt (added),
	  web/translations/translation.fr.txt (added),
	  web/translations/translation.nl.txt (added),
	  web/translations/visualiser.html (added),
	  web/www/routino/router.html.de (removed),
	  web/www/routino/router.html.en (removed),
	  web/www/routino/router.html.fr (removed),
	  web/www/routino/router.html.nl (removed),
	  web/www/routino/visualiser.html.en (removed): Create the router
	  and visualiser HTML files from templates and lists of translated
	  phrases.

2014-03-08 [r1520]  Andrew M. Bishop <amb>

	* extras/errorlog/summarise-log.pl,
	  extras/find-fixme/web/www/fixme.cgi,
	  extras/plot-time/plot-planetsplitter-time.pl,
	  src/test/waypoints.pl, web/www/routino/results.cgi,
	  web/www/routino/router.cgi, web/www/routino/router.pl,
	  web/www/routino/search.cgi, web/www/routino/search.pl,
	  web/www/routino/statistics.cgi,
	  web/www/routino/update-profiles.pl,
	  web/www/routino/visualiser.cgi, xml/scripts/drive.pl,
	  xml/scripts/ride.pl, xml/scripts/walk.pl: Update all Perl scripts
	  to "use strict".

2014-03-08 [r1518-1519]  Andrew M. Bishop <amb>

	* src/xmlparse.h: Print the XML line number using the correct
	  formatting for a uint64_t type.

	* src/files.c: Don't ignore the return value of the write()
	  function call.

2014-03-01 [r1516]  Andrew M. Bishop <amb>

	* doc/INSTALL.txt, doc/html/installation.html,
	  extras/find-fixme/web/www/fixme.openlayers.js,
	  web/www/openlayers/install.sh,
	  web/www/routino/router.openlayers.js,
	  web/www/routino/visualiser.openlayers.js: Updated to version
	  2.13.1 of OpenLayers (also 2.12 still supported).

2014-02-23 [r1515]  Andrew M. Bishop <amb>

	* web/www/routino/icons/waypoint-left.png (added),
	  web/www/routino/icons/waypoint-right.png (added),
	  web/www/routino/router.html.de, web/www/routino/router.html.en,
	  web/www/routino/router.html.fr, web/www/routino/router.html.nl,
	  web/www/routino/router.leaflet.js,
	  web/www/routino/router.openlayers.js: Add buttons to allow
	  increasing/decreasing the transport properties and preferences
	  (to help on tablet devices where typing a number in a box is
	  hard).

2014-02-22 [r1514]  Andrew M. Bishop <amb>

	* extras/tagmodifier/README.txt, extras/tagmodifier/tagmodifier.c,
	  src/uncompress.h, doc/html/installation.html,
	  doc/html/usage.html, Makefile.conf, src/planetsplitter.c,
	  src/uncompress.c, doc/USAGE.txt, extras/find-fixme/README.txt,
	  doc/INSTALL.txt, extras/find-fixme/fixme-finder.c: Add the option
	  for automatic uncompression of .xz compressed files (not enabled
	  by default in Makefile.conf).

2014-02-22 [r1513]  Andrew M. Bishop <amb>

	* web/data/create.sh: Downloads from GeoFabrik only and URLs
	  changed.

2014-02-22 [r1512]  Andrew M. Bishop <amb>

	* doc/INSTALL.txt, doc/html/installation.html: Clarify that gzip
	  support is required for some PBF files. Clarify that
	  multi-threading, gzip and bzip2 are enabled by default at
	  compilation time.

2014-02-02 [r1511]  Andrew M. Bishop <amb>

	* xml/routino-tagging.xml: Add some synonyms for
	  "cycleway=opposite_lane".

2014-02-02 [r1510]  Andrew M. Bishop <amb>

	* xml/routino-tagging.xml: Handle "access=bus" like "access=psv".

2014-02-01 [r1509]  Andrew M. Bishop <amb>

	* web/www/routino/maploader.js: Ensure that all Javascript files
	  are loaded before calling the callbacks (better implementation).

2014-02-01 [r1508]  Andrew M. Bishop <amb>

	* web/www/routino/maploader.js: Ensure that all Javascript files
	  are loaded before calling the callbacks.

2014-02-01 [r1507]  Andrew M. Bishop <amb>

	* web/www/routino/router.openlayers.js,
	  web/www/routino/router.leaflet.js: Allow mouse clicks in the
	  router result description to popup the details and not just
	  mouseovers. Hopefully this should work better for touch devices.

2014-01-31 [r1506]  Andrew M. Bishop <amb>

	* extras/find-fixme/web/www/fixme.leaflet.js,
	  extras/find-fixme/web/www/fixme.openlayers.js: Handle the new
	  format XML (using '&apos;' instead of '&#39;').

2014-01-31 [r1505]  Andrew M. Bishop <amb>

	* src/xmlparse.c, src/output.c: Output HTML4 strict DTD compliant
	  HTML (fix bug with using '&apos;' instead of '&#39;').

2014-01-30 [r1504]  Andrew M. Bishop <amb>

	* doc/html/usage.html, doc/USAGE.txt, src/router.c: Add an option
	  to calculate a circular route.

2014-01-30 [r1503]  Andrew M. Bishop <amb>

	* doc/USAGE.txt, src/router.c, doc/html/usage.html: Add an option
	  to calculate a route in the reverse order.

2014-01-30 [r1502]  Andrew M. Bishop <amb>

	* src/types.h: Make the type conversion inline functions static so
	  that compiling with -O0 still works.

2014-01-29 [r1501]  Andrew M. Bishop <amb>

	* src/results.h, src/types.h, src/output.c, src/router.c,
	  src/results.c: Refactor the code so that the Results data type
	  has the start and finish waypoints defined within it and the
	  array passed to the PrintRoute() function doesn't have holes in
	  it.

2014-01-28 [r1500]  Andrew M. Bishop <amb>

	* src/router.c: Remove ancient option that allowed latitude and
	  longitude to be specified on the command line without the
	  --lat<n> or --lon<n> options.

2014-01-28 [r1499]  Andrew M. Bishop <amb>

	* web/www/routino/router.leaflet.js,
	  extras/find-fixme/web/www/fixme.leaflet.js,
	  web/www/routino/router.openlayers.js,
	  web/www/routino/visualiser.leaflet.js,
	  extras/find-fixme/web/www/fixme.openlayers.js,
	  web/www/routino/visualiser.openlayers.js: Add close buttons to
	  the popup boxes.

2014-01-27 [r1498]  Andrew M. Bishop <amb>

	* web/www/routino/visualiser.html.en, src/profiles.c: Allow
	  displaying the cyclebothways property in the visualiser.

2014-01-27 [r1497]  Andrew M. Bishop <amb>

	* doc/html/tagging.html, src/types.c, xml/routino-tagging.xml,
	  src/segments.c, xml/routino-profiles.xml, src/types.h,
	  doc/TAGGING.txt, src/optimiser.c, src/osmparser.c: Detect the
	  "cycleway=opposite_lane" tag and allow bicycles to travel in both
	  directions along those highways. Based on parts of
	  https://github.com/cgravier/routino-2.6-bikeopposite-elevation/commit/47d68b37f1ea0d2f967ea6aa1555991747491200
	  https://github.com/cgravier/routino-2.6-bikeopposite-elevation/commit/764832f2671e6f6d8176be65cea3992bd1a488d3
	  https://github.com/cgravier/routino-2.6-bikeopposite-elevation/commit/37af908880c045309fba1125c4d683f6925f7d25
	  by Christophe Collard.

2014-01-26 [r1496]  Andrew M. Bishop <amb>

	* extras/find-fixme/web/www/fixme.leaflet.js,
	  web/www/routino/router.openlayers.js,
	  web/www/routino/visualiser.leaflet.js,
	  extras/find-fixme/web/www/fixme.openlayers.js,
	  web/www/routino/visualiser.openlayers.js,
	  web/www/routino/router.leaflet.js: Fix bugs in displayStatus()
	  function after jshint tidy-up.

2014-01-26 [r1495]  Andrew M. Bishop <amb>

	* web/www/routino/router.leaflet.js,
	  extras/find-fixme/web/www/fixme.leaflet.js,
	  web/www/routino/visualiser.leaflet.js: Fix bug with Leaflet map
	  startup.

2014-01-26 [r1494]  Andrew M. Bishop <amb>

	* web/www/routino/mapprops.js: Reformat the whitespace.

2014-01-26 [r1493]  Andrew M. Bishop <amb>

	* web/www/routino/router.leaflet.js,
	  extras/find-fixme/web/www/fixme.leaflet.js, src/profiles.c,
	  web/www/routino/router.openlayers.js,
	  web/www/routino/visualiser.leaflet.js,
	  web/www/routino/maploader.js,
	  extras/find-fixme/web/www/fixme.openlayers.js,
	  web/www/routino/page-elements.js,
	  web/www/routino/visualiser.openlayers.js: Run jshint again and
	  update some more in the JavaScript.

2014-01-25 [r1492]  Andrew M. Bishop <amb>

	* doc/INSTALL.txt, doc/html/readme.html, web/www/leaflet/install.sh
	  (added), doc/html/installation.html, web/www/leaflet (added),
	  doc/README.txt: Add a script to download Leaflet Javascript and
	  update documentation to match.

2014-01-25 [r1491]  Andrew M. Bishop <amb>

	* extras/find-fixme/web/www/fixme.html, extras/find-fixme/Makefile,
	  web/www/routino/router.html.de,
	  web/www/routino/router.openlayers.js (added),
	  web/www/routino/mapprops.js,
	  web/www/routino/visualiser.leaflet.js (added),
	  web/www/routino/maploader.js (added),
	  extras/find-fixme/web/www/fixme.js (removed),
	  web/www/routino/visualiser.openlayers.js (added),
	  web/www/routino/router.html.en, web/www/routino/router.html.fr,
	  web/www/routino/visualiser.html.en,
	  extras/find-fixme/web/www/fixme.leaflet.js (added),
	  web/www/routino/router.html.nl, web/www/routino/router.js
	  (removed), extras/find-fixme/web/www,
	  extras/find-fixme/web/www/fixme.openlayers.js (added),
	  web/www/routino/visualiser.js (removed),
	  web/www/routino/maplayout.css, web/www/routino/router.leaflet.js
	  (added): Add the option to use Leaflet Javascript library instead
	  of OpenLayers. Dynamically load the appropriate Javascript
	  library based on mapprops.js.

2014-01-16 [r1489-1490]  Andrew M. Bishop <amb>

	* src/superx.c: When merging segments and super-segments ensure
	  that all super-segments are added to the merged list.

	* src/visualiser.c: When searching for nodes for the visualiser
	  don't exceed the database lat/long limits.

2014-01-13 [r1488]  Andrew M. Bishop <amb>

	* web/www/routino/router.html.en, web/www/routino/router.html.fr
	  (added), web/www/routino/router.html.de,
	  web/www/routino/router.html.nl, xml/routino-translations.xml:
	  French language web page and routing translations based on
	  https://github.com/ocivelo/routino-2.6-bikeopposite-elevation/commit/d426c7ff42e217ca5ace1244afc085c1433843c8
	  by Christophe Collard.

2014-01-11 [r1487]  Andrew M. Bishop <amb>

	* web/www/routino/router.js, web/www/routino/search.pl,
	  extras/find-fixme/web/www/fixme.js,
	  web/www/routino/visualiser.js, web/www/routino/search.cgi: Change
	  the search CGI to use latmin/max and lonmin/max instead of left,
	  right, top, bottom. Change the Javascript to send the parameters
	  to 5 decimal places only.

2014-01-11 [r1486]  Andrew M. Bishop <amb>

	* extras/find-fixme/web/www/fixme.js,
	  web/www/routino/visualiser.js, web/www/routino/router.html.en,
	  extras/find-fixme/web/www/fixme.html,
	  web/www/routino/router.html.de,
	  web/www/routino/visualiser.html.en,
	  web/www/routino/router.html.nl, web/www/routino/router.js: Update
	  the web page URLs as things change rather than using
	  on(focus|click) action handlers in the HTML that don't work very
	  well.

2014-01-05 [r1485]  Andrew M. Bishop <amb>

	* web/www/routino/maplayout-ie6-bugfixes.css (removed),
	  web/www/routino/maplayout-ie7-bugfixes.css (removed),
	  web/www/routino/router.html.en,
	  extras/find-fixme/web/www/fixme.html,
	  web/www/routino/router.html.de,
	  web/www/routino/visualiser.html.en,
	  web/www/routino/router.html.nl: Remove special support for IE6
	  and IE7 browsers.

2014-01-05 [r1484]  Andrew M. Bishop <amb>

	* web/www/routino/router.js, extras/find-fixme/web/www/fixme.js,
	  web/www/routino/visualiser.js: Replace the unescape() function
	  with standard decodeURIComponent() function.

2014-01-03 [r1483]  Andrew M. Bishop <amb>

	* web/www/routino/router.js, extras/find-fixme/web/www/fixme.js,
	  web/www/routino/visualiser.js: Run 'jshint' to check for
	  Javascript errors (fix the important ones).

2014-01-03 [r1480-1482]  Andrew M. Bishop <amb>

	* web/www/routino/page-elements.js: Add a new function to hide and
	  show sections (not currently used).

	* web/www/routino/page-elements.css: Make the tabs and hide/show
	  targets a few pixels wider to make them easier to select.

	* web/www/routino/router.html.en, web/www/routino/router.html.de,
	  web/www/routino/router.html.nl: Squeeze out a bit more space for
	  the waypoint coords/name.

2014-01-02 [r1479]  Andrew M. Bishop <amb>

	* src/relationsx.h: Fix error in function prototype (argument names
	  switched).

2013-12-31 [r1477-1478]  Andrew M. Bishop <amb>

	* extras/find-fixme/web/www/fixme.js,
	  web/www/routino/visualiser.js, web/www/routino/router.js: Update
	  Javascript to make map tile function more self-contained.

	* extras/find-fixme/web/www/fixme.html,
	  web/www/routino/router.html.de,
	  web/www/routino/visualiser.html.en,
	  web/www/routino/router.html.nl, web/www/openlayers/routino.cfg,
	  web/www/routino/router.html.en: Update HTML to make it work
	  better on mobile devices (no zooming allowed).

2013-12-31 [r1476]  Andrew M. Bishop <amb>

	* web/www/routino/router.html.en, web/www/routino/router.html.de,
	  web/www/routino/visualiser.html.en,
	  web/www/routino/router.html.nl: Update HTML ready for HTML5 but
	  keeping HTML4.01 loose DTD (form action attribute must not be
	  empty).

2013-12-31 [r1475]  Andrew M. Bishop <amb>

	* web/www/routino/router.css, extras/find-fixme/web/www/fixme.html,
	  web/www/routino/router.html.de,
	  web/www/routino/visualiser.html.en,
	  web/www/routino/router.html.nl, web/www/routino/router.js,
	  extras/find-fixme/web/www/fixme.css,
	  web/www/routino/visualiser.css, web/www/routino/router.html.en:
	  Update HTML ready for HTML5 but keeping HTML4.01 loose DTD (align
	  attribute and image tags with names are deprecated).

2013-12-31 [r1474]  Andrew M. Bishop <amb>

	* doc/html/readme.html, doc/html/output.html,
	  doc/html/tagging.html, doc/html/installation.html,
	  doc/html/limits.html, doc/html/usage.html,
	  doc/html/algorithm.html, doc/html/configuration.html,
	  doc/html/index.html, doc/html/data.html: Update HTML ready for
	  HTML5 but keeping HTML4.01 strict DTD (anchors with names are
	  deprecated).

2013-12-30 [r1473]  Andrew M. Bishop <amb>

	* doc/html/readme.html, doc/html/data.html: Update some URLs.

2013-12-30 [r1472]  Andrew M. Bishop <amb>

	* web/www/routino/router.html.en,
	  extras/find-fixme/web/www/fixme.html, web/www/routino/index.html,
	  web/www/routino/router.html.de,
	  web/www/routino/visualiser.html.en,
	  web/www/routino/router.html.nl: Fix some changes that were missed
	  from the last set of HTML updates.

2013-12-30 [r1471]  Andrew M. Bishop <amb>

	* doc/html/installation.html: Fix links within the page.

2013-12-30 [r1469-1470]  Andrew M. Bishop <amb>

	* extras/find-fixme/web/www/fixme.html, web/www/routino/index.html,
	  web/www/routino/router.html.de,
	  web/www/routino/visualiser.html.en,
	  web/www/routino/router.html.nl, web/www/routino/router.html.en:
	  Convert map pages to use lower case HTML tags and fix some HTML
	  4.01 strict DTD errors (but not converted to strict DTD due to
	  use of target attribute on <a> tags).

	* doc/html/style.css, doc/html/usage.html, doc/html/algorithm.html,
	  doc/html/configuration.html, doc/html/index.html,
	  doc/html/data.html, extras/find-fixme/web/www/index.html,
	  doc/html/readme.html, doc/html/output.html,
	  doc/html/tagging.html, doc/html/installation.html,
	  doc/html/limits.html: Convert documentation to HTML 4.01 strict
	  DTD (from loose DTD).

2013-11-17 [r1468]  Andrew M. Bishop <amb>

	* web/www/routino/router.cgi: Fix bug that did not allow more than
	  9 waypoints to be routed.

2013-11-13 [r1467]  Andrew M. Bishop <amb>

	* src/osmparser.c: Refactor the length, weight and speed parsing
	  functions a little bit and add some new formats.

2013-09-07 [r1466]  Andrew M. Bishop <amb>

	* xml/routino-tagging.xml: Add the same "access=foot" aliasing to
	  nodes as previously existed for ways.

2013-08-02 [r1465]  Andrew M. Bishop <amb>

	* doc/html/usage.html, doc/USAGE.txt, src/output.c, src/router.c:
	  Add a '--output-stdout' option.

2013-07-31 [r1464]  Andrew M. Bishop <amb>

	* xml/routino-translations.xml: Updated Dutch translations.

2013-07-18 [r1463]  Andrew M. Bishop <amb>

	* src/types.h: Replace the macros for type conversion with inline
	  functions where there is a risk of overflow for normal data.

2013-07-14 [r1462]  Andrew M. Bishop <amb>

	* src/optimiser.c: Removal of some code intended to speed things up
	  but that actually slows things down.

2013-07-12 [r1461]  Andrew M. Bishop <amb>

	* doc/html/algorithm.html, doc/ALGORITHM.txt: Update the algorithm
	  documentation with a description of the algorithm used for
	  finding the shortest path.

2013-07-10 [r1460]  Andrew M. Bishop <amb>

	* Makefile.conf: Add an option to enable debugging symbols.

2013-07-08 [r1459]  Andrew M. Bishop <amb>

	* doc/USAGE.txt: Fix typo in documentation string.

2013-07-08 [r1458]  Andrew M. Bishop <amb>

	* doc/html/usage.html, src/filedumper.c: Fix typo in documentation
	  string.

2013-07-06  Andrew M. Bishop <amb>

	Version 2.6 released.

2013-07-06 [r1455-1456]  Andrew M. Bishop <amb>

	* FILES: Add some new files for version 2.6.

	* doc/Makefile, extras/Makefile, src/test/Makefile, src/Makefile,
	  extras/find-fixme/Makefile, Makefile,
	  extras/tagmodifier/Makefile, xml/Makefile: Update some Makefiles
	  for running 'make test' from a clean set of source code.

2013-07-06 [r1454]  Andrew M. Bishop <amb>

	* doc/NEWS.txt, doc/README.txt, FILES, doc/html/readme.html: Update
	  for version 2.6 release.

2013-07-04 [r1453]  Andrew M. Bishop <amb>

	* doc/html/installation.html, doc/INSTALL.txt: Added a 'quick
	  start' set of installation instructions.

2013-07-04 [r1452]  Andrew M. Bishop <amb>

	* web/data/create.sh: Fix error with URL.

2013-07-03 [r1451]  Andrew M. Bishop <amb>

	* src/planetsplitter.c: Revert r1268 which was applied between v2.5
	  and v2.5.1 and could be the cause of the slight slowdown in
	  version 2.5.1.

2013-07-02 [r1450]  Andrew M. Bishop <amb>

	* src/relationsx.c, src/errorlog.c, src/logerror.c,
	  src/optimiser.c, src/waysx.c, src/xmlparse.c: Fix some comments.

2013-07-02 [r1449]  Andrew M. Bishop <amb>

	* src/logging.c: Fix bug in time printed by --logtime option.

2013-07-02 [r1448]  Andrew M. Bishop <amb>

	* src/segmentsx.c, src/prunex.c, src/segmentsx.h: Revert r1432
	  because even though it seemed like it should have been faster in
	  slim mode it was actually much slower on the routino.org virtual
	  server.

2013-07-01 [r1447]  Andrew M. Bishop <amb>

	* src/output.c: Small optimisation for calling GetLatLong().

2013-07-01 [r1446]  Andrew M. Bishop <amb>

	* web/data/create.sh: Fix the URLs in the example download script.

2013-07-01 [r1445]  Andrew M. Bishop <amb>

	* src/xmlparse.c, src/xmlparse.h: Forcing the xmlparse tags to be
	  lower case adds a further speed-up (and was implicitly assumed
	  already in other code).

2013-07-01 [r1444]  Andrew M. Bishop <amb>

	* src/results.h, src/superx.c, src/results.c, src/queue.c: Re-use
	  the Queue and Results data structure for all routes - saves a
	  huge number of malloc/free calls (found by valgrind/callgrind).

2013-06-29 [r1443]  Andrew M. Bishop <amb>

	* src/xmlparse.c: Optimise out most calls to strcasecmp the
	  most-called C library functions (found by valgrind/callgrind).

2013-06-29 [r1442]  Andrew M. Bishop <amb>

	* src/prunex.c: Close file and free memory (found by valgrind).

2013-06-29 [r1441]  Andrew M. Bishop <amb>

	* src/sorting.c: Free allocated memory (found by valgrind).

2013-06-29 [r1440]  Andrew M. Bishop <amb>

	* src/logerror.c: Avoid writing uninitialised to disk (found by
	  valgrind).

2013-06-29 [r1439]  Andrew M. Bishop <amb>

	* extras/find-fixme/web/www/fixme.js,
	  extras/find-fixme/web/www/fixme.html: Update highlight size and
	  help text as was done with visualiser.

2013-06-29 [r1438]  Andrew M. Bishop <amb>

	* web/www/routino/router.html.en, web/www/routino/router.html.de,
	  web/www/routino/visualiser.html.en,
	  web/www/routino/router.html.nl: Add some help to the visualiser
	  web page and slightly reformatted the help on the router web
	  pages.

2013-06-29 [r1435-1437]  Andrew M. Bishop <amb>

	* web/www/routino/visualiser.js: Increase the size of the nodes in
	  the super-nodes/segments display to make them clickable.

	* web/www/routino/visualiser.cgi: Increase the maximum size that
	  will be returned by CGI.

	* web/www/routino/visualiser.js: Fix bug with visualiser failing to
	  run failure callback in case of CGI error.

2013-06-29 [r1433-1434]  Andrew M. Bishop <amb>

	* web/www/routino/visualiser.js: Make the node highlights smaller
	  (to match the segment highlight width).

	* src/filedumper.c: Print the fake XML for the visualiser with
	  special routino:* top-level tag names.

2013-06-28 [r1431-1432]  Andrew M. Bishop <amb>

	* src/segmentsx.c, src/prunex.c, src/segmentsx.h: Keep the next2
	  pointer in memory while pruning rather than in the segmentx
	  object.

	* src/prunex.h, src/planetsplitter.c, src/segmentsx.c,
	  src/prunex.c, src/segmentsx.h, doc/DATALIFE.txt: Revert the last
	  three changes because r1430 didn't work and r1428+r1429 didn't
	  give any speed advantage and was possibly marginally slower.

2013-06-28 [r1430]  Andrew M. Bishop <amb>

	* src/segmentsx.c: The IndexSegments() function can now process the
	  file in forward order rather than reverse.

2013-06-27 [r1429]  Andrew M. Bishop <amb>

	* src/segmentsx.c: Fixed error with last checkin.

2013-06-27 [r1428]  Andrew M. Bishop <amb>

	* src/segmentsx.c, src/prunex.c, src/segmentsx.h, doc/DATALIFE.txt,
	  src/prunex.h, src/planetsplitter.c: Put the next1 pointer in the
	  segmentx object rather than in-memory.

2013-06-27 [r1427]  Andrew M. Bishop <amb>

	* doc/DATALIFE.txt, src/relationsx.c, src/planetsplitter.c,
	  src/waysx.c, src/relationsx.h, src/segmentsx.c, src/nodesx.c,
	  src/segmentsx.h: Revert the last change because, paradoxically,
	  it was faster to create the database (as expected) but slower to
	  route.

2013-06-26 [r1426]  Andrew M. Bishop <amb>

	* doc/DATALIFE.txt, src/relationsx.c, src/planetsplitter.c,
	  src/waysx.c, src/relationsx.h, src/segmentsx.c, src/nodesx.c,
	  src/segmentsx.h: Sort the nodes geographically at the beginning
	  rather than at the end.

2013-06-26 [r1425]  Andrew M. Bishop <amb>

	* doc/html/installation.html, doc/INSTALL.txt: Add some more
	  details about configuring Apache.

2013-06-25 [r1424]  Andrew M. Bishop <amb>

	* src/relationsx.c, src/planetsplitter.c, src/nodesx.c,
	  doc/DATALIFE.txt: Remove one usage of the nodesx->gdata array.
	  Remove one call of the IndexSegments() function. Update the
	  DATALIFE.txt file with both and the previous changes to mapped
	  files and add a new column for segmentx->next2.

2013-06-25 [r1423]  Andrew M. Bishop <amb>

	* src/superx.c: Change the ChooseSuperNodes() and
	  MergeSuperSegments() functions to read through the file instead
	  of mapping the data to help slim mode (since the nodes in the
	  first case and segments in the second case are read
	  sequentially).

2013-06-24 [r1422]  Andrew M. Bishop <amb>

	* src/segmentsx.c: Change the IndexSegments() function so that in
	  slim mode larger chunks are read from the file (since it reads
	  sequentially but in reverse through the file).

2013-06-24 [r1420-1421]  Andrew M. Bishop <amb>

	* src/files.c: Increase the buffer to 4kB from 1kB.

	* src/osmo5mparse.c, src/waysx.c, src/nodesx.c, src/osmpbfparse.c,
	  src/prunex.c, src/superx.c, src/relationsx.c: Move some
	  printf_first() messages to the front of the function and
	  printf_last() function to the end of the function.

2013-06-23 [r1419]  Andrew M. Bishop <amb>

	* src/ways.h: Fix error in slim mode WayName() function.

2013-06-22 [r1412-1418]  Andrew M. Bishop <amb>

	* src/files.c, src/files.h: Make the changes required to handle the
	  new function names from the last few checkins.

	* src/prunex.c: Use SlimMapFile(), SlimUnmapFile(), SlimFetch() and
	  SlimReplace() [see earlier log message] and also refactor the
	  code so that the additional ways are placed in a separate file
	  using the Slim*() functions rather than being appended to the
	  open (or mapped) way file.

	* src/ways.h: Use SlimFetch() instead of SeekReadFileUnbuffered()
	  [see previous log message] and also refactor the code for reading
	  the way name from file.

	* src/errorlog.h, src/relations.c, src/ways.c, src/segments.c,
	  src/cache.h, src/nodes.c, src/errorlog.c: Use SlimMapFile() and
	  SlimUnmapFile() [see previous log message] and also use
	  SlimFetch() instead of SeekReadFileUnbuffered() and SlimReplace()
	  instead of SeekWriteFileUnbuffered() to hide the internals of the
	  slim mode.

	* src/superx.c, src/relationsx.c, src/waysx.c, src/segmentsx.c,
	  src/errorlogx.c: Use SlimMapFile() and SlimUnmapFile() as the
	  function names for the slim mode of operation to open and close
	  the files (to hide the fact that they are files being opened for
	  reading or writing unbuffered).

	* src/errorlogx.c: Use buffered file accesses for appending the
	  error strings to the binary file.

	* src/planetsplitter.c, src/tagging.c, src/translations.c,
	  extras/find-fixme/fixme-finder.c,
	  extras/tagmodifier/tagmodifier.c, src/profiles.c: Create simple
	  OpenFile() and CloseFile() functions for those files which are
	  used by the parsers (they just call open() and close()
	  internally).

2013-06-22 [r1411]  Andrew M. Bishop <amb>

	* src/logerror.c: Fix for closing binary error file that only shows
	  up after the recent file function changes.

2013-06-21 [r1410]  Andrew M. Bishop <amb>

	* src/files.c, extras/tagmodifier/tagmodifier.c, src/files.h,
	  src/cache.h, src/nodes.c, src/planetsplitter.c, src/waysx.c,
	  src/segmentsx.c, src/tagging.c, src/prunex.c, src/translations.c,
	  extras/find-fixme/fixme-finder.c, src/errorlogx.c,
	  src/profiles.c, src/ways.c, src/filedumperx.c, src/segments.c,
	  src/superx.c, src/ways.h, src/relationsx.c, src/errorlog.c,
	  src/errorlog.h, src/relations.c: Rename the functions for
	  unbuffered file access to make this clear.

2013-06-21 [r1409]  Andrew M. Bishop <amb>

	* src/waysx.c, src/segmentsx.c, src/nodesx.c, src/errorlogx.c,
	  src/sorting.c, src/relationsx.c: Use the new buffered functions
	  in the filesort functions.

2013-06-21 [r1407-1408]  Andrew M. Bishop <amb>

	* src/segmentsx.c, src/nodesx.c, src/prunex.c, src/errorlogx.c,
	  src/filedumperx.c, src/relationsx.c, src/logerror.c, src/waysx.c:
	  Use the new functions for buffering while reading when looping
	  through files other than the ones already done that use the
	  FILESORT_VARINT method of storing data.

	* src/files.c, src/files.h: Add a new function for seeking in one
	  of the buffered files.

2013-06-20 [r1406]  Andrew M. Bishop <amb>

	* src/errorlogx.c, src/files.h, src/relationsx.c, src/waysx.c,
	  src/nodesx.c, src/files.c: Rename the function that skips forward
	  in a buffered file to avoid confusion.

2013-06-20 [r1404-1405]  Andrew M. Bishop <amb>

	* src/relationsx.c, src/waysx.c, src/nodesx.c, src/errorlogx.c,
	  src/filedumperx.c: Use the new functions for buffering while
	  reading when looping through files that use the FILESORT_VARINT
	  method of storing data.

	* src/files.c, src/files.h: Add new functions for buffering when
	  reading and also allow seeking in one of these buffered files.

2013-06-20 [r1403]  Andrew M. Bishop <amb>

	* src/files.c: Fix the non-buffered close function assertion and
	  re-factor the code for buffered reading (although not used yet).

2013-06-19 [r1401-1402]  Andrew M. Bishop <amb>

	* src/nodesx.c, src/relationsx.c, src/waysx.c, src/segmentsx.c: Use
	  the buffered write functions when creating the nodes, segments,
	  ways and relation raw files.

	* src/files.c, src/files.h: Add functions to read and write file
	  descriptors with buffering.

2013-06-19 [r1400]  Andrew M. Bishop <amb>

	* extras/find-fixme/fixme-finder.c, src/logging.c,
	  src/planetsplitter.c: Bug fix for the change to the --logtime
	  option functions.

2013-06-19 [r1399]  Andrew M. Bishop <amb>

	* src/files.h: Split the function prototypes into two groups for
	  the ones in files.c and the inline ones in files.h.

2013-06-17 [r1398]  Andrew M. Bishop <amb>

	* extras/find-fixme/fixme-finder.c, src/logging.c,
	  src/planetsplitter.c, src/logging.h: Change the --logtime
	  internals so that programs don't need to store their start time
	  themselves.

2013-06-15 [r1397]  Andrew M. Bishop <amb>

	* xml/routino-tagging.xml: Add some more barriers which are too
	  generic to warn about and fix spelling of motorcycle_barrier.

2013-06-13 [r1396]  Andrew M. Bishop <amb>

	* doc/html/usage.html, doc/USAGE.txt: Document that --errorlog and
	  --keep together will create the binary database of errors.

2013-06-13 [r1395]  Andrew M. Bishop <amb>

	* src/errorlogx.c, src/logerror.c, src/logging.h: Separate out the
	  type and id parts of the errorlogobject.

2013-06-12 [r1394]  Andrew M. Bishop <amb>

	* web/www/routino/mapprops.js, doc/html/installation.html,
	  extras/find-fixme/web/www/fixme.js,
	  web/www/routino/visualiser.js, doc/INSTALL.txt: Add links to the
	  OpenStreetMap browse URLs from the error logs.

2013-06-11 [r1393]  Andrew M. Bishop <amb>

	* extras/find-fixme/web/www/fixme.js,
	  extras/find-fixme/web/www/fixme.cgi,
	  extras/find-fixme/web/www/fixme.html: Put the data tab back and
	  display the statistics in it.

2013-06-10 [r1391-1392]  Andrew M. Bishop <amb>

	* src/errorlogx.c: Fix typo in program logging.

	* doc/html/usage.html, doc/USAGE.txt: Fix typo in documentation.

2013-06-06 [r1387-1390]  Andrew M. Bishop <amb>

	* src/Makefile: Tidy up the compilation and linking flags again.

	* Makefile.conf: Tidy up the compilation and linking flags again.

	* src/test/Makefile, src/test/is-fast-math.c (added), src/test,
	  src/test/start-1-finish.sh, src/test/a-b-c.sh, src/test/a-b.sh:
	  When compiled with -ffast-math don't expect the results to match
	  exactly, display the differences.

	* src/test/only-split.sh: Remove a debugging message.

2013-06-06 [r1386]  Andrew M. Bishop <amb>

	* src/test/expected/dead-ends-WP08.txt,
	  src/test/expected/dead-ends-WP09.txt, src/test/dead-ends.osm,
	  src/test/expected/node-restrictions-WP08.txt,
	  src/test/expected/dead-ends-WP01.txt,
	  src/test/expected/dead-ends-WP10.txt,
	  src/test/expected/dead-ends-WP02.txt,
	  src/test/expected/dead-ends-WP11.txt,
	  src/test/expected/dead-ends-WP03.txt,
	  src/test/expected/dead-ends-WP04.txt,
	  src/test/expected/dead-ends-WP05.txt,
	  src/test/expected/dead-ends-WP06.txt,
	  src/test/expected/dead-ends-WP07.txt: Change test cases so that
	  they don't show differences due to pruning or the last checkin
	  for divide by zero which changed behaviour in trivial case.

2013-06-06 [r1385]  Andrew M. Bishop <amb>

	* src/prunex.c, src/nodes.c, src/fakes.c: Fix some code that could,
	  potentially, have given a divide by zero and which therefore
	  behaves differently with FPU and -ffast-math compilation options.

2013-06-06 [r1384]  Andrew M. Bishop <amb>

	* src/translations.c: Fix bug if using the built-in translations
	  for GPX route files (present since v2.0). Make a few other
	  translations match the ones in the XML file.

2013-06-05 [r1383]  Andrew M. Bishop <amb>

	* doc/DATALIFE.txt, src/nodesx.c: Update the node id just before
	  sorting geographically rather than relying on the pruning process
	  to do it.

2013-06-05 [r1381-1382]  Andrew M. Bishop <amb>

	* web/www/routino/index.html, doc/Makefile: Copy the style.css into
	  the web page documentation directory, fix the link to it from
	  index.html.

	* extras/find-fixme/Makefile, extras/find-fixme/web/www,
	  extras/find-fixme/web/www/paths.pl,
	  extras/find-fixme/web/www/index.html (added),
	  extras/find-fixme/web/www/fixme.html: Add an index.html page to
	  redirect to fixme.html, copy in a style.css file, slightly change
	  the web page titles.

2013-06-04 [r1380]  Andrew M. Bishop <amb>

	* src/waysx.c, src/waysx.h, src/prunex.c: Remember what types of
	  transports we have so that we don't spend time pruning for
	  transport types we don't have.

2013-06-04 [r1379]  Andrew M. Bishop <amb>

	* src/tagging.c: Unconditionally execute the tagging rules within
	  '<if> ... </if>' even if there are no input tags to match against
	  the match-all rule.

2013-06-03 [r1377-1378]  Andrew M. Bishop <amb>

	* extras/find-fixme/fixme-dumper.c, extras/find-fixme/README.txt:
	  Reinstate the --statistics option.

	* extras/find-fixme/web/www/fixme.js: Nicely format the item tag
	  information.

2013-06-03 [r1374-1376]  Andrew M. Bishop <amb>

	* extras/find-fixme/fixme.xml, extras/find-fixme/README.txt: Make
	  it easier to select arbitrary tags and store them.

	* extras/find-fixme/osmparser.c: Store a whole XML-like item in the
	  log file.

	* src/tagging.c, src/tagging.h: Add a new function to convert a
	  TagList into an HTML-like string.

2013-06-03 [r1373]  Andrew M. Bishop <amb>

	* Makefile.conf: Use the -ffast-math compilation option (trivial
	  changes to estimated journey times and distances).

2013-06-03 [r1371-1372]  Andrew M. Bishop <amb>

	* web/bin: Don't ignore tagmodifier (not put here any more).

	* extras/find-fixme/Makefile, extras/tagmodifier/Makefile: Compile
	  all of src directory before starting here.

2013-06-03 [r1370]  Andrew M. Bishop <amb>

	* src/osmparser.c, src/relationsx.h, extras/find-fixme/osmparser.c,
	  src/errorlogx.c, src/relationsx.c: Write relation nodes into the
	  file as well as ways and relations.

2013-06-01 [r1367-1369]  Andrew M. Bishop <amb>

	* extras/errorlog/README.txt: Make the README files more consistent
	  with each other in style.

	* extras/README.txt, extras/plot-time/README.txt,
	  extras/tagmodifier/README.txt: Make the README files more
	  consistent with each other in style.

	* extras/find-fixme/fixme-dumper.c (added),
	  extras/find-fixme/web/www/fixme.js (added),
	  extras/find-fixme/web/bin (added), extras/find-fixme/web/data
	  (added), extras/find-fixme/web/www/paths.pl (added),
	  extras/find-fixme/osmparser.c (added),
	  extras/find-fixme/fixme-finder.c (added),
	  extras/find-fixme/web/www/fixme.css (added), extras/find-fixme
	  (added), extras/find-fixme/web/www (added),
	  extras/find-fixme/fixme.xml (added),
	  extras/find-fixme/web/www/fixme.cgi (added),
	  extras/find-fixme/README.txt (added),
	  extras/find-fixme/web/www/fixme.html (added),
	  extras/find-fixme/web (added), extras/find-fixme/Makefile
	  (added): A tool to search an OSM file for "fixme" tags to create
	  a database and display them on an interactive map.

2013-06-01 [r1366]  Andrew M. Bishop <amb>

	* src/planetsplitter.c: Fix minor error with usage message.

2013-06-01 [r1363-1365]  Andrew M. Bishop <amb>

	* extras/tagmodifier/README.txt, extras/tagmodifier/Makefile:
	  Compile all main Routino files before trying to build
	  tagmodifier. Small changes to the README.txt file.

	* src/Makefile: Use the WEBBINDIR variable rather than a hard-coded
	  path.

	* doc/Makefile: Make the Makefile clearer with respect to the
	  copying of HTML files to the web directory.

2013-06-01 [r1361-1362]  Andrew M. Bishop <amb>

	* src/errorlogx.h, src/planetsplitter.c, src/errorlogx.c: Make the
	  functions for processing error logs more like the ones for nodes,
	  ways and relations.

	* src/waysx.c, src/nodesx.c, src/relationsx.c: Store the number of
	  kept nodes, ways and relations when first sorted.

2013-06-01 [r1360]  Andrew M. Bishop <amb>

	* web/www/routino/visualiser.cgi: Return an error if neither type
	  of recognised request was made.

2013-05-31 [r1359]  Andrew M. Bishop <amb>

	* src/planetsplitter.c, src/router.c: Use exit(EXIT_FAILURE)
	  instead of return(1).

2013-05-31 [r1357-1358]  Andrew M. Bishop <amb>

	* extras/README.txt, extras/plot-time/README.txt (added),
	  extras/plot-time/plot-planetsplitter-time.pl (added),
	  extras/plot-time (added): Add a Perl script that allows plotting
	  a graph of the time taken to run planetsplitter.

	* extras/errorlog/README.txt (added): Add a README file for the
	  summarise-log.pl script.

2013-05-31 [r1356]  Andrew M. Bishop <amb>

	* src/osmo5mparse.c, src/osmxmlparse.c, src/osmparser.c,
	  src/osmparser.h, src/osmpbfparse.c: Move some functions about so
	  that osmparser.c can be replaced for other types of parsing.

2013-05-31 [r1355]  Andrew M. Bishop <amb>

	* src/segmentsx.c, src/planetsplitter.c, src/waysx.c: Small changes
	  to comments and log messages.

2013-05-30 [r1354]  Andrew M. Bishop <amb>

	* src/segmentsx.c: Don't de-duplicate when sorting segments (now
	  done in ProcessSegments() function).

2013-05-30 [r1353]  Andrew M. Bishop <amb>

	* src/relationsx.c, src/planetsplitter.c, src/relationsx.h,
	  doc/DATALIFE.txt: Merge the ProcessTurnRelations1() and
	  ProcessTurnRelations2() functions into a single one now that
	  segment processing is already complete.

2013-05-30 [r1352]  Andrew M. Bishop <amb>

	* doc/DATALIFE.txt, src/planetsplitter.c: Move the first
	  IndexSegments() function call earlier in the sequence.

2013-05-30 [r1351]  Andrew M. Bishop <amb>

	* src/planetsplitter.c, src/segmentsx.c, src/segmentsx.h,
	  doc/DATALIFE.txt: Merge the RemoveBadSegments() and
	  MeasureSegments() functions. Saves one read/write iteration
	  through the segments file.

2013-05-30 [r1350]  Andrew M. Bishop <amb>

	* src/planetsplitter.c, src/segmentsx.c, src/nodesx.c,
	  src/segmentsx.h, doc/DATALIFE.txt, src/nodesx.h,
	  src/relationsx.c: Delete the non-highway nodes by searching for
	  them in the ways rather than marking them when processing the
	  segments.

2013-05-29 [r1349]  Andrew M. Bishop <amb>

	* doc/DATALIFE.txt, extras/errorlog/summarise-log.pl,
	  src/relationsx.c, src/planetsplitter.c, src/waysx.c,
	  src/segmentsx.c, src/nodesx.c, src/waysx.h, src/segmentsx.h:
	  Simplify the segments by using the node and way index instead of
	  node and way id which avoids lots of IndexNodeX() lookups. Move
	  some other code around to cope with it.

2013-05-27 [r1348]  Andrew M. Bishop <amb>

	* src/planetsplitter.c, src/waysx.c, src/waysx.h, doc/DATALIFE.txt:
	  Simplify the sorting of the way names (only sort the names, not
	  all the ways twice), merge the generating of segments and
	  separation of way names.

2013-05-27 [r1347]  Andrew M. Bishop <amb>

	* src/osmparser.c, src/waysx.c, src/segmentsx.c: Redistributed
	  error log messages from osmparser way handling.

2013-05-26 [r1346]  Andrew M. Bishop <amb>

	* extras/errorlog/summarise-log.pl (added), extras/errorlog
	  (added), extras/README.txt, web/bin/summarise-log.pl (removed):
	  Move the summarise-log.pl script into the extras directory.

2013-05-26 [r1345]  Andrew M. Bishop <amb>

	* extras/tagmodifier/README.txt (added),
	  extras/tagmodifier/tagmodifier.c (added),
	  extras/tagmodifier/Makefile (added), doc/html/installation.html,
	  extras/tagmodifier (added), doc/html/usage.html,
	  extras/README.txt, src/tagmodifier.c (removed), src/Makefile,
	  src, doc/USAGE.txt, doc/INSTALL.txt: Move the tagmodifier program
	  into the extras directory.

2013-05-26 [r1344]  Andrew M. Bishop <amb>

	* extras (added), extras/README.txt (added), extras/Makefile
	  (added): Create a new directory for extra (non-essential)
	  programs

2013-05-26 [r1343]  Andrew M. Bishop <amb>

	* doc/Makefile, src/test/Makefile, src/Makefile, src/xml/Makefile,
	  doc/INSTALL.txt, Makefile, doc/html/installation.html,
	  xml/Makefile, Makefile.conf (added): Re-organise the Makefiles so
	  that all configuration information is one of them (Makefile.conf
	  at the top level) rather than being spread between them.

2013-05-25 [r1342]  Andrew M. Bishop <amb>

	* src/errorlogx.c, src/relationsx.c, src/relationsx.h: Rename the
	  route relation structure parameters (r* -> rr*) to match the turn
	  relation parameter names (tr*).

2013-05-25 [r1341]  Andrew M. Bishop <amb>

	* src/errorlogx.c, src/relationsx.c, src/relationsx.h: Finished
	  allocating coordinates to error logs, nodes in preference to ways
	  in preference to relations.

2013-05-23 [r1340]  Andrew M. Bishop <amb>

	* doc/USAGE.txt, src/filedumperx.c, doc/html/usage.html: There are
	  no segments stored after parsing so cannot be dumper by
	  filedumperx.

2013-05-23 [r1339]  Andrew M. Bishop <amb>

	* src/superx.c, src/types.h, src/planetsplitter.c, src/osmparser.c,
	  src/waysx.c, src/segmentsx.c, src/osmparser.h, src/waysx.h,
	  src/segmentsx.h, doc/DATALIFE.txt, src/types.c: Don't create
	  segments when parsing input file but create the segments later
	  using the nodes stored in the ways file. This makes applying
	  changes simpler (segments file is not kept with the --keep
	  option) and handling changed ways is simpler than changed
	  segments.

2013-05-22 [r1338]  Andrew M. Bishop <amb>

	* src/osmparser.c, src/waysx.c, src/waysx.h, src/errorlogx.c,
	  src/filedumperx.c: Store the list of nodes in the raw ways file
	  for use by the errorlog functions.

2013-05-21 [r1337]  Andrew M. Bishop <amb>

	* src/sorting.c: Don't waste memory in filesort_vary() when the
	  pre-sort function drops the data.

2013-05-20 [r1336]  Andrew M. Bishop <amb>

	* src/osmparser.c: Store more logerror information even for items
	  that are discarded to allow them to be located geographically.

2013-05-20 [r1335]  Andrew M. Bishop <amb>

	* src/xml/Makefile: Update CLFLAGS and LDFLAGS.

2013-05-18 [r1334]  Andrew M. Bishop <amb>

	* web/www/routino/router.html.en, doc/INSTALL.txt,
	  web/www/routino/router.html.de,
	  web/www/routino/visualiser.html.en,
	  web/www/routino/router.html.nl, web/www/routino/router.js,
	  web/www/routino/mapprops.js, doc/html/installation.html,
	  web/www/routino/visualiser.js: Make the OSM editor URL be
	  configurable in the mapprops.js file.

2013-05-18 [r1333]  Andrew M. Bishop <amb>

	* web/www/openlayers/routino.cfg: Need to include
	  OpenLayers/Control/SelectFeature.js when building OpenLayers.js.

2013-05-18 [r1332]  Andrew M. Bishop <amb>

	* web/www/routino/visualiser.css, web/www/routino/visualiser.js:
	  Put the popup colours in the Javascript, not CSS. Set the popup
	  font (fixed) and size (smaller).

2013-05-18 [r1330-1331]  Andrew M. Bishop <amb>

	* src/visualiser.c: Remove unused header file.

	* src/filedumper.c, doc/USAGE.txt, web/www/routino/visualiser.cgi,
	  doc/html/usage.html: Create specific HTML formatted output from
	  filedumper for the visualiser web page.

2013-05-18 [r1329]  Andrew M. Bishop <amb>

	* web/www/routino/visualiser.cgi, src/visualiser.c,
	  web/www/routino/visualiser.js: Add the ability to select any item
	  displayed in the visualiser and display information about it in a
	  popup.

2013-05-18 [r1327-1328]  Andrew M. Bishop <amb>

	* web/www/routino/router.js, web/www/routino/visualiser.js: Don't
	  display the marker layers in the layer switcher control.

	* web/www/routino/visualiser.js: Store the feature attributes using
	  the feature.attributes object.

2013-05-18 [r1326]  Andrew M. Bishop <amb>

	* web/www/routino/visualiser.js, web/www/routino/visualiser.css:
	  Change to using a popup like in the router and highlight the
	  selected item when the popup is displayed.

2013-05-17 [r1324-1325]  Andrew M. Bishop <amb>

	* web/www/routino/visualiser.html.en: Selecting the radio buttons
	  updates the display.

	* web/www/routino/router.html.de, web/www/routino/router.html.nl,
	  web/www/routino/router.html.en: Added some missing ';' to the
	  Javascript actions in the HTML.

2013-05-17 [r1323]  Andrew M. Bishop <amb>

	* doc/html/usage.html, doc/USAGE.txt: Add the documentation for the
	  change to the filedumper program.

2013-05-17 [r1322]  Andrew M. Bishop <amb>

	* src/visualiser.c: Limit the error log outputs to the geographical
	  ones and make the strings HTML safe.

2013-05-17 [r1321]  Andrew M. Bishop <amb>

	* src/errorlog.h, web/www/routino/visualiser.html.en,
	  src/errorlogx.c, src/visualiser.c, web/www/routino/visualiser.js,
	  src/planetsplitter.c, src/errorlog.c, src/visualiser.h,
	  src/Makefile, src/filedumper.c, web/www/routino/visualiser.cgi:
	  Allow dumping error logs from filedumper.

2013-05-14 [r1320]  Andrew M. Bishop <amb>

	* src/errorlogx.c, src/errorlogx.h, src/errorlog.c (added),
	  src/errorlog.h (added): Copy errorlogx.h to errorlog.h and create
	  errorlog.c so that they mirror the nodes.h and nodes.c filenames.
	  Add functions to read in a set of error logs from a file.

2013-05-13 [r1319]  Andrew M. Bishop <amb>

	* src/logerror.c, src/Makefile, src/logerror.h (removed),
	  src/errorlogx.c (added), src/logerrorx.c (removed),
	  src/errorlogx.h (added), src/planetsplitter.c: Rename logerrorx.c
	  to errorlogx.c and logerrorx.h to errorlogx.h so that they mirror
	  the nodesx.c and nodesx.h filenames.

2013-05-13 [r1318]  Andrew M. Bishop <amb>

	* src/tagmodifier.c, src/logging.h, src/osmparser.c,
	  src/segmentsx.c, src/logerror.h, src/tagging.c, src/relationsx.c:
	  Move the logerror function prototypes back into logging.h and
	  remove the logerror.h header file from most source files again.

2013-05-12 [r1317]  Andrew M. Bishop <amb>

	* src/logerror.c, src/waysx.c, src/Makefile, src/relationsx.h,
	  src/segmentsx.c, src/logerror.h, src/nodesx.c, src/waysx.h,
	  src/segmentsx.h, src/logerrorx.c (added), src/nodesx.h,
	  src/relationsx.c, src/planetsplitter.c: Add functions to process
	  the binary error log file and convert it into a geographically
	  searchable database.

2013-05-11 [r1314]  Andrew M. Bishop <amb>

	* src/planetsplitter.c: Rename the Nodes, Segments, Ways and
	  Relations variables to avoid confusion with types of the same
	  name.

2013-05-11 [r1313]  Andrew M. Bishop <amb>

	* src/logerror.h (added), src/tagging.c, src/logging.c,
	  src/relationsx.c, src/planetsplitter.c, src/tagmodifier.c,
	  src/logerror.c (added), src/logging.h, src/osmparser.c,
	  src/Makefile, src/segmentsx.c: Create a binary log file that
	  contains the node, way and relation id and a link to the error
	  message for easy parsing.

2013-05-11 [r1312]  Andrew M. Bishop <amb>

	* src/ways.c, src/relations.h, src/segments.c, src/nodes.c,
	  src/ways.h, src/segments.h, src/nodes.h, src/relations.c,
	  src/router.c: Add functions to destroy the
	  node/segment/way/relation lists and don't call them from the end
	  of the router by default.

2013-05-10 [r1308-1311]  Andrew M. Bishop <amb>

	* src/Makefile: Enable -Wextra compilation option (but not
	  -Wunused-parameter option) by default.

	* src/sorting.c: Change data type from signed to unsigned (pedantic
	  compiler warning).

	* src/results.c: Change data value from signed to unsigned
	  (pedantic compiler warning).

	* src/waysx.h, src/segmentsx.h, src/nodesx.h: Make no-op macros
	  look like real statements.

2013-05-10 [r1305-1307]  Andrew M. Bishop <amb>

	* src/results.c: Change data value from signed to unsigned
	  (pedantic compiler warning).

	* src/prunex.c: Change data value from unsigned to signed (pedantic
	  compiler warning).

	* src/filedumper.c: Remove always true condition (pedantic compiler
	  warning).

2013-05-10 [r1304]  Andrew M. Bishop <amb>

	* src/queue.c: Small change to algorithm to match sorting.c.

2013-05-09 [r1302-1303]  Andrew M. Bishop <amb>

	* src/relations.c: Change data value from unsigned to signed
	  (pedantic compiler warning).

	* src/planetsplitter.c, src/waysx.c: Change datatype from signed to
	  unsigned (pedantic compiler warning).

2013-05-09 [r1299-1301]  Andrew M. Bishop <amb>

	* src/osmpbfparse.c, src/osmo5mparse.c, src/xmlparse.c: Change
	  datatype from signed to unsigned (pedantic compiler warning). Use
	  inttypes.h printf formatting for unsigned long long data type.

	* src/files.h: Cast data to signed before comparison (pedantic
	  compiler warning).

	* src/filedumperx.c: Change datatype from signed to unsigned
	  (pedantic compiler warning).

2013-05-07 [r1298]  Andrew M. Bishop <amb>

	* src/nodes.c: Change the GetLatLong() function to have one binary
	  search instead of two.

2013-05-07 [r1297]  Andrew M. Bishop <amb>

	* src/cache.h, src/nodes.c, src/relationsx.c, src/waysx.c,
	  src/segmentsx.c, src/nodesx.c, src/waysx.h, src/prunex.c,
	  src/segmentsx.h, src/nodesx.h, src/superx.c: Add cache functions
	  for NodesX, SegmentsX and WaysX to speed up the planetsplitter in
	  slim mode.

2013-05-07 [r1296]  Andrew M. Bishop <amb>

	* src/cache.c (removed), src/relations.h, src/cache.h, src/ways.h,
	  src/segments.h, src/Makefile, src/nodes.h: Move the cache
	  functions out of cache.c and into each data type's header file as
	  inline functions.

2013-05-03 [r1294-1295]  Andrew M. Bishop <amb>

	* src/cache.c: Revert to the round-robin cache eviction algorithm.

	* src/cache.c: Implement an LRU eviction algorithm for the cached
	  objects - it's slower, but code kept for possible future re-use.

2013-05-03 [r1293]  Andrew M. Bishop <amb>

	* src/cache.c, src/relations.h, src/cache.h, src/ways.h,
	  src/segments.h, src/nodes.h: Tidy up the code for the last
	  check-in and use macros to allow replication of the functions for
	  each type.

2013-05-03 [r1292]  Andrew M. Bishop <amb>

	* src/segments.h, src/Makefile, src/nodes.h, src/relations.c,
	  src/router.c, src/cache.c (added), src/ways.c, src/relations.h,
	  src/segments.c, src/cache.h (added), src/nodes.c, src/ways.h: Add
	  node, segment, way and turn relation cache for slim mode. Approx
	  40% speed-up for router.

2013-05-01 [r1291]  Andrew M. Bishop <amb>

	* src/output.c, src/router.c, src/segments.c, src/visualiser.c,
	  src/nodes.c, src/fakes.c, src/optimiser.c, src/filedumper.c,
	  src/nodes.h: The GetLatLong function takes a pointer to the node
	  as an argument - must be an optimisation for slim mode if not
	  normal mode.

2013-05-01 [r1290]  Andrew M. Bishop <amb>

	* src/results.c, src/queue.c, src/results.h: Move the queue score
	  back into the results structure since it is quicker but uses
	  slightly more memory.

2013-05-01 [r1289]  Andrew M. Bishop <amb>

	* src/queue.c, src/results.h, src/superx.c, src/optimiser.c,
	  src/results.c: Try to speed up the priority queue by allocating
	  less memory and storing the score in the queue rather than in the
	  result.

2013-04-28 [r1288]  Andrew M. Bishop <amb>

	* src/results.c: Set pointers to NULL when resizing the hash table.

2013-04-27 [r1287]  Andrew M. Bishop <amb>

	* src/superx.c: Update for change to NewResultsList() function.

2013-04-27 [r1286]  Andrew M. Bishop <amb>

	* src/optimiser.c, src/results.c, src/results.h: Increase the
	  starting number of bins to allow more results to be stored before
	  resizing.

2013-04-27 [r1285]  Andrew M. Bishop <amb>

	* src/results.c, src/results.h: Use a linked list to store the
	  results in each bin rather than pre-allocated pointers.

2013-04-27 [r1283-1284]  Andrew M. Bishop <amb>

	* src/results.c: Improve the hash function to avoid node/segment
	  correlations in some geographic areas.

	* src/router.c: De-allocate the final routes at the end.

2013-04-27 [r1282]  Andrew M. Bishop <amb>

	* src/results.c, src/results.h: Increase the allowed number of
	  collisions as the number of bins increases.

2013-04-27 [r1281]  Andrew M. Bishop <amb>

	* src/results.h, src/optimiser.c, src/router.c, src/results.c:
	  Remove the FindResult1 function which allows hashing to be
	  performed on a combination of node and segment rather than just
	  node.

2013-04-26 [r1280]  Andrew M. Bishop <amb>

	* src/results.c, src/results.h: Force a hard limit on the number of
	  hash collisions.

2013-04-20  Andrew M. Bishop <amb>

	Version 2.5.1 released

2013-04-20 [r1279]  Andrew M. Bishop <amb>

	* doc/html/readme.html, doc/NEWS.txt, FILES: Updated for version
	  2.5.1 release.

2013-04-18 [r1278]  Andrew M. Bishop <amb>

	* src/router.c, src/optimiser.c, src/functions.h: Fix a bug where
	  the shortest route crossing super-nodes requires two U-turns and
	  is therefore impossible to compute even though an obvious shorter
	  route without crossing super-nodes exists (but cannot be taken
	  until the super-node route is fully tested). Requires quite a
	  major change in router handling of this special case.

2013-04-18 [r1277]  Andrew M. Bishop <amb>

	* src/xmlparse.c: Fix bug with handling UTF-8 characters that are
	  four bytes long (it didn't since v2.5).

2013-04-17 [r1276]  Andrew M. Bishop <amb>

	* src/optimiser.c: Fix bug that corrupts the combined route score
	  when combining the route (only important if comparing
	  non-super-node route with super-node route).

2013-04-15 [r1275]  Andrew M. Bishop <amb>

	* web/www/openlayers/install.sh: Default to downloading openlayers
	  2.12.

2013-04-13 [r1274]  Andrew M. Bishop <amb>

	* doc/INSTALL.txt, doc/html/installation.html: Add a note about the
	  *-slim executables to the installation section.

2013-04-13 [r1273]  Andrew M. Bishop <amb>

	* src/tagmodifier.c: Use single quotes rather than double quotes
	  when writing out the XML for similarity with filedumper.

2013-04-13 [r1272]  Andrew M. Bishop <amb>

	* src/xmlparse.c: Fix XML character quoting for characters within
	  the 7-bit printable ASCII range (bug reported by Dirk Eversmann).

2013-04-13 [1271]  Andrew M. Bishop <amb>

	* web/www/routino/router.js, web/www/routino/visualiser.js: Fix the
	  Javascript so that it works with OpenLayers version 2.11 again
	  (bug reported by Dirk Eversmann).

2013-04-13 [r1269-1270]  Andrew M. Bishop <amb>

	* doc/html/readme.html, doc/README.txt: Remove some differences
	  between the HTML and text versions of the documents.

	* doc/INSTALL.txt, doc/html/installation.html: Fix some errors in
	  the installation documents and improve the description of
	  pre-requisites and compilation (prompted by bug report from Dirk
	  Eversmann).

2013-03-24 [r1268]  Andrew M. Bishop <amb>

	* src/planetsplitter.c: Prune the straight highways after removing
	  the isolated sections and short segments rather than before.

2013-03-19 [r1267]  Andrew M. Bishop <amb>

	* doc/html/output.html, doc/html/tagging.html,
	  doc/html/installation.html, doc/html/limits.html, doc/README.txt,
	  doc/html/usage.html, doc/html/algorithm.html,
	  doc/html/configuration.html, doc/html/index.html,
	  doc/html/data.html, doc/html/readme.html,
	  web/www/routino/index.html: Remove e-mail addresses and replace
	  with links to website.

2013-03-03 [r1266]  Andrew M. Bishop <amb>

	* src/prunex.c: Improve the pruning of straight highways (more
	  likely to remove larger sections).

2013-03-03 [r1265]  Andrew M. Bishop <amb>

	* src/test, src/prunex.c, src/test/prune-straight.sh (added),
	  src/test/prune-straight.osm (added): Add a test case for pruning
	  straight segments. Found an error case related to loops and fixed
	  it.

2013-03-02 [r1264]  Andrew M. Bishop <amb>

	* src/test/prune-short.sh (added), src/test,
	  src/test/prune-short.osm (added), src/prunex.c,
	  src/test/only-split.sh: Add a test case for pruning short
	  segments. Found some disallowed cases that had not been detected
	  before and fixed them.

2013-03-02 [r1263]  Andrew M. Bishop <amb>

	* doc/html/tagging.html, xml/routino-tagging.xml, doc/TAGGING.txt,
	  src/osmparser.c, src/filedumper.c: Recognise mini-roundabouts
	  tagged as junction=roundabout (as well as
	  highway=mini_roundabout). Pass them through the parser as
	  roundabout=yes. Output them from the filedumper as
	  junction=roundabout. Update the documentation for
	  mini-roundabouts.

2013-03-02 [r1262]  Andrew M. Bishop <amb>

	* src/test/oneway-loop.osm, src/test/node-restrictions.osm: Remove
	  the 'update' element from the osm tag.

2013-02-28 [r1261]  Andrew M. Bishop <amb>

	* src/relationsx.c: Rationalise some of the turn relation error
	  messages.

2013-02-26 [r1260]  Andrew M. Bishop <amb>

	* web/www/routino/router.js, web/www/routino/visualiser.js: Clarify
	  comment.

2013-02-18 [r1259]  Andrew M. Bishop <amb>

	* xml/routino-tagging.xml: Add some more tags to not be reported as
	  errors (barrier, highway), add some more aliases for highway
	  types, bridges and tunnels are enabled for anything except 'no'.

2013-02-16 [r1257-1258]  Andrew M. Bishop <amb>

	* web/www/routino/index.html: Move the meta tag for charset
	  declaration to the top of the head, before the copyright notice,
	  within the first 1024 bytes.

	* doc/html/readme.html, web/www/routino/router.html.de,
	  web/www/routino/visualiser.html.en,
	  web/www/routino/router.html.nl, doc/html/output.html,
	  doc/html/tagging.html, doc/html/installation.html,
	  doc/html/limits.html, doc/html/usage.html,
	  doc/html/algorithm.html, doc/html/configuration.html,
	  doc/html/index.html, web/www/routino/router.html.en,
	  doc/html/data.html: Move the meta tag for charset declaration to
	  the top of the head, before the copyright notice, within the
	  first 1024 bytes.

2013-02-09 [r1256]  Andrew M. Bishop <amb>

	* xml/routino-tagging.xml: Stop two contradictory errors messages
	  about 'access = foot' etc.

2013-02-09  Andrew M. Bishop <amb>

	Version 2.5 released

2013-02-09 [r1255]  Andrew M. Bishop <amb>

	* doc/html/usage.html, doc/USAGE.txt: Fix HTML validation error.

2013-02-09 [r1254]  Andrew M. Bishop <amb>

	* doc/html/readme.html, doc/NEWS.txt, doc/README.txt, FILES: Update
	  documentation for version 2.5.

2013-02-09 [r1253]  Andrew M. Bishop <amb>

	* doc/html/tagging.html, doc/TAGGING.txt: Update documentation for
	  the new tagging transformations.

2013-02-09 [r1252]  Andrew M. Bishop <amb>

	* xml/routino-tagging.xml: Add some more highway tagging
	  transformations (motorroad, sidewalk, footway, cycleway), remove
	  some rare bicycle specific ones and add some access tag values.

2013-02-09 [r1251]  Andrew M. Bishop <amb>

	* src/osmo5mparse.c: Rename the local functions that perform the
	  integer conversions (from pbf_* to o5m_*).

2013-02-08 [r1250]  Andrew M. Bishop <amb>

	* web/www/routino/documentation, doc/html/limits.html (added),
	  doc/html/index.html, doc/LIMITS.txt (added): Add documentation
	  about the numerical limits (OSM identifiers and database size).

2013-02-03 [r1249]  Andrew M. Bishop <amb>

	* src/prunex.c: Some trivial changes, same functionality.

2013-01-24 [r1248]  Andrew M. Bishop <amb>

	* web/www/routino/visualiser.js, src/visualiser.h,
	  src/filedumper.c, doc/USAGE.txt, web/www/routino/visualiser.cgi,
	  web/www/routino/visualiser.html.en, src/visualiser.c,
	  doc/html/usage.html: Add the ability for the visualiser to
	  display highways that have a particular property.

2013-01-24 [r1247]  Andrew M. Bishop <amb>

	* doc/html/tagging.html, xml/routino-tagging.xml, doc/TAGGING.txt,
	  src/osmparser.c: Change the "lanes=..." tag processing because it
	  counts lanes in both directions. A normal road may be tagged as
	  having two lanes (one in each direction) but the multilane
	  property is intended to allow prioritisation of roads where
	  traffic can use multiple lanes in each direction.

2013-01-21 [r1246]  Andrew M. Bishop <amb>

	* src/tagging.c, src/osmparser.c: Remove unnecessary word from
	  logerror messages.

2013-01-21 [r1245]  Andrew M. Bishop <amb>

	* xml/routino-translations.xml: Updated German translations from
	  Alex Treiber.

2013-01-20 [r1244]  Andrew M. Bishop <amb>

	* xml/routino-tagging.xml: Change the comments to clarify what the
	  way access tag rules are for. Change slightly the logged message.
	  Add new tagging rules to transform (for example) access=foot to
	  foot=yes, access=no.

2013-01-20 [r1243]  Andrew M. Bishop <amb>

	* xml/routino-tagging.xml, src/types.c, xml/routino-profiles.xml,
	  doc/README.txt, doc/html/usage.html, src/types.h,
	  doc/html/configuration.html, src/osmparser.c,
	  xml/scripts/ride.pl, web/www/routino/router.html.en,
	  doc/USAGE.txt, web/www/routino/visualiser.html.en,
	  doc/CONFIGURATION.txt, web/www/routino/router.html.nl,
	  doc/html/tagging.html, xml/scripts/walk.pl, src/relationsx.c,
	  doc/TAGGING.txt, doc/html/readme.html,
	  web/www/routino/router.html.de: Replace 'motorbike' with
	  'motorcycle' everywhere.

2013-01-20 [r1242]  Andrew M. Bishop <amb>

	* doc/CONFIGURATION.txt, xml/routino-tagging.xsd,
	  xml/routino-tagging.xml, src/tagging.h,
	  doc/html/configuration.html, src/tagging.c: Change the <logerror>
	  element of the configuration file to lookup the tag value if not
	  specified and add a custom error message. Rework the access tag
	  checking to use the new logcheck.

2013-01-19 [r1241]  Andrew M. Bishop <amb>

	* xml/routino-tagging.xml: Ignore some more highway types ('no' and
	  'disused').

2013-01-19 [r1240]  Andrew M. Bishop <amb>

	* web/www/routino/visualiser.html.en: Fix link to documentation
	  directory.

2013-01-19 [r1239]  Andrew M. Bishop <amb>

	* web/www/routino/router.html.de,
	  web/www/routino/visualiser.html.en,
	  web/www/routino/router.html.nl, web/www/routino/router.js,
	  web/www/routino/mapprops.js, web/www/routino/visualiser.js,
	  web/www/routino/router.html.en: Added MapQuest as an optional map
	  layer, added layer specific attributions to mapprops.js.

2013-01-15 [r1238]  Andrew M. Bishop <amb>

	* web/bin/summarise-log.pl: Fix stupid typo.

2013-01-12 [r1237]  Andrew M. Bishop <amb>

	* web/bin/summarise-log.pl: Sort the listed nodes, ways or
	  relations by ID.

2013-01-09 [r1236]  Andrew M. Bishop <amb>

	* src/osmparser.c: Reset the to/via/from indexes before parsing
	  each relation.

2012-12-29 [r1235]  Andrew M. Bishop <amb>

	* src/xmlparse.h, src/osmpbfparse.c, src/osmo5mparse.c,
	  src/osmxmlparse.c, src/xmlparse.c, src/filedumper.c: Replace the
	  remaining 'long long' and 'unsigned long long' types with
	  uint64_t.

2012-12-29 [r1234]  Andrew M. Bishop <amb>

	* src/osmo5mparse.c, src/osmxmlparse.c, src/tagmodifier.c,
	  src/osmparser.c, src/osmparser.h, src/tagging.c,
	  src/osmpbfparse.c, src/tagging.h: Re-factor parsing code to
	  remove duplicated parts from three parsers (osmo5mparse.c,
	  osmpbfparse.c and osmxmlparse.c) into a common place
	  (osmparser.c), also removes lots of global variables. Change the
	  node, way and relation count to uint64_t instead of index_t to
	  avoid wrap-around (although it would have been a cosmetic problem
	  only), also removes dependency on types.h. Make the node, way and
	  relation counters be 'int64_t' instead of 'long long' in the XML
	  parsers for consistency with the non-XML parsers.

2012-12-28 [r1233]  Andrew M. Bishop <amb>

	* src/osmparser.c: Log errors for areas that are oneway.

2012-12-28 [r1232]  Andrew M. Bishop <amb>

	* src/osmparser.c: Log errors for areas that are not closed.

2012-12-27 [r1231]  Andrew M. Bishop <amb>

	* src/segmentsx.c, src/osmparser.c, web/bin/summarise-log.pl: Don't
	  append segments if they are duplicates within a way or have
	  duplicated nodes. Log errors for middle nodes that repeat within
	  a way (can be non-trivial unintentional loops).

2012-12-26 [r1230]  Andrew M. Bishop <amb>

	* src/osmpbfparse.c: Some small changes for similarity with the
	  O5M/O5C parser.

2012-12-26 [r1229]  Andrew M. Bishop <amb>

	* doc/ALGORITHM.txt, doc/html/algorithm.html: Remove the
	  "practicalities" section because it is out of date and not very
	  relevant.

2012-12-26 [r1228]  Andrew M. Bishop <amb>

	* src/relationsx.c, src/segmentsx.c: Make the log error messages
	  more useful when there are missing nodes or ways.

2012-12-24 [r1227]  Andrew M. Bishop <amb>

	* src/osmparser.h, doc/html/usage.html, src/osmo5mparse.c (added),
	  src/planetsplitter.c, src/osmparser.c, src/Makefile,
	  doc/USAGE.txt: Added parsing of O5M/O5C format (a binary format
	  but otherwise very close to OSM/OSC).

2012-12-24 [r1226]  Andrew M. Bishop <amb>

	* src/planetsplitter.c, src/osmparser.c, src/osmparser.h,
	  src/osmpbfparse.c: The PBF format does not support change files
	  (the 'visible' part of the info message is only for historical
	  data and not for changes).

2012-12-24 [r1225]  Andrew M. Bishop <amb>

	* src/osmpbfparse.c: Fix memory allocation error.

2012-12-22 [r1224]  Andrew M. Bishop <amb>

	* doc/html/usage.html, src/planetsplitter.c, src/tagmodifier.c,
	  doc/USAGE.txt: Data can no longer be read from stdin for
	  planetsplitter or tagmodifier.

2012-12-21 [r1223]  Andrew M. Bishop <amb>

	* web/data/create.sh: Correct the URLs to use to download data.

2012-12-21 [r1221]  Andrew M. Bishop <amb>

	* doc/html/usage.html, src/osmxmlparse.c, src/planetsplitter.c,
	  src/osmparser.c, src/Makefile, doc/USAGE.txt, src/osmparser.h,
	  src/osmpbfparse.c (added): Add a parser for OSM PBF format.
	  Separate the XML parser from the data processing in osmparser.c.
	  Update planetsplitter and documentation to use new format.

2012-12-19 [r1219-1220]  Andrew M. Bishop <amb>

	* src/xmlparse.c: Use 'unsigned char' instead of 'char' for buffer.
	  Renumber the LEX states to remove hole.

	* src/uncompress.c: Trivial change to not set a state variable
	  where not needed.

2012-12-19 [r1218]  Andrew M. Bishop <amb>

	* src/osmxmlparse.c (added): Copying osmparser.c to create
	  osmxmlparse.c for the XML callback functions and shared
	  variables.

2012-12-17 [r1217]  Andrew M. Bishop <amb>

	* src/optimiser.c: Refactor to remove duplicated code in each
	  branch of if statement (in each optimiser loop).

2012-12-17 [r1216]  Andrew M. Bishop <amb>

	* doc/NEWS.txt, doc/README.txt, FILES, doc/html/readme.html:
	  Reintegrate the changes from 2.4.1 branch back into trunk.

2012-12-15 [r1209]  Andrew M. Bishop <amb>

	* xml/routino-tagging.xml: Fix some errors that appeared in the
	  tagging file after adding nesting.

2012-12-15 [r1206-1207]  Andrew M. Bishop <amb>

	* xml/routino-tagging.xml: Change the tagging rules to use the
	  nested <if> rules.

	* doc/html/configuration.html, src/tagging.c,
	  doc/CONFIGURATION.txt, xml/routino-tagging.xsd: Change the
	  tagging rules to have an <ifnot ...> rule which can also be
	  nested.

2012-12-15 [r1205]  Andrew M. Bishop <amb>

	* src/translations.c, xml/routino-translations.xsd: Change one
	  entry in the translations XSD file that used a different case
	  from the other defined types (not consistent with other XSD files
	  but self-consistent).

2012-12-15 [r1204]  Andrew M. Bishop <amb>

	* src/xml/xsd-to-xmlparser.c, src/osmparser.c, src/tagging.c,
	  src/translations.c, src/profiles.c: Change the xsd-to-xmlparser
	  functions to output the source code in the same order as the XSD
	  file and do not attempt to sort them into reverse order of
	  reference.

2012-12-15 [r1203]  Andrew M. Bishop <amb>

	* doc/html/configuration.html, src/tagging.c,
	  doc/CONFIGURATION.txt, xml/routino-tagging.xml: Change the
	  tagging rules to use the nested <if> rules.

2012-12-15 [r1200-1202]  Andrew M. Bishop <amb>

	* src/planetsplitter.c: Change the order of the command line option
	  parsing to match the program usage output.

	* doc/USAGE.txt: Add the --logtime and --errorlog options to
	  tagmodifier.

	* doc/html/usage.html, src/tagmodifier.c: Add the --logtime and
	  --errorlog options to tagmodifier.

2012-12-15 [r1199]  Andrew M. Bishop <amb>

	* xml/routino-tagging.xsd, src/tagging.h, src/tagmodifier.c,
	  src/osmparser.c, src/tagging.c: Allow the tagging rule syntax to
	  contain nested <if ...> statements.

2012-12-14 [r1197]  Andrew M. Bishop <amb>

	* doc/USAGE.txt, doc/html/usage.html, src/planetsplitter.c,
	  src/tagmodifier.c: Update the usage messages and documentation
	  for bzip2/gzip uncompression.

2012-12-14 [r1196]  Andrew M. Bishop <amb>

	* src/Makefile, src/uncompress.c, src/uncompress.h,
	  src/planetsplitter.c, src/tagmodifier.c: Add the ability to read
	  gzip compressed files when specified by name.

2012-12-13 [r1194-1195]  Andrew M. Bishop <amb>

	* src/xmlparse.c: Handle the output of the uncompressor where
	  reading may return only a partial buffer. Makes it more robust
	  generally against short reads.

	* src/Makefile, src/uncompress.c (added), src/uncompress.h (added),
	  src/planetsplitter.c, src/tagmodifier.c: Add the ability to read
	  bzip2 compressed files when specified by name.

2012-12-12 [r1192]  Andrew M. Bishop <amb>

	* src/xml/xsd-to-xmlparser.c, src/planetsplitter.c: Use
	  STDIN_FILENO instead of 0 for the stdin file descriptor.

2012-12-11 [r1190]  Andrew M. Bishop <amb>

	* src/xmlparse.c: Reorder if/then/else statements so that most
	  common ones come first (using profiling when parsing GB OSM
	  file).

2012-12-11 [r1189]  Andrew M. Bishop <amb>

	* src/xmlparse.c: Most xml attribute values are ASCII so optimise
	  for that case.

2012-12-10 [r1188]  Andrew M. Bishop <amb>

	* src/Makefile: Re-enable the optimisation option.

2012-12-10 [r1185-1187]  Andrew M. Bishop <amb>

	* src: Change svn ignored files (don't ignore xmlparse.c now).

	* src/xml/xsd-to-xmlparser.c, src/planetsplitter.c,
	  src/tagmodifier.c, src/osmparser.c, src/xml/Makefile,
	  src/osmparser.h, src/tagging.c, src/xmlparse.h,
	  src/translations.c, src/profiles.c: New XML parser doesn't use
	  stdio buffered file access but lower level read functions.

	* src/xmlparse.l (removed), src/xmlparse.c (added), src/Makefile:
	  Remove flex based XML parser and replace with a parser created by
	  implementing the same lex rules by hand. Operates faster because
	  tag attributes do not need memory allocated or copying from file
	  buffer and there are no yylex() function calls/returns.

2012-12-17  Andrew M. Bishop <amb>

	Version 2.4.1 released

2012-12-17 [r1214]  Andrew M. Bishop <amb>

	* doc/html/readme.html, doc/NEWS.txt, doc/README.txt, FILES: Update
	  for version 2.4.1.

2012-12-17 [r1213]  Andrew M. Bishop <amb>

	* src/optimiser.c, src/waysx.c, src/segmentsx.c, src/nodesx.c,
	  src/router.c, src/prunex.c, src/logging.c, src/relationsx.c:
	  Merge revisions 1191, 1193, 1198, 1208 and 1210 from trunk into
	  2.4.1 branch.

2012-12-17 [r1210]  Andrew M. Bishop <amb>

	* src/optimiser.c: Fix the incorrect finish_score variable that was
	  set to infinite distance and not infinite score (infinte distance
	  << infinite score so search was terminating early).

2012-12-15 [r1208]  Andrew M. Bishop <amb>

	* src/nodesx.c, src/prunex.c, src/relationsx.c, src/waysx.c,
	  src/segmentsx.c: Stop planetsplitter crashing out in unusual ways
	  if there is no data.

2012-12-14 [r1198]  Andrew M. Bishop <amb>

	* src/waysx.c, src/nodesx.c: Don't crash in binary search if no
	  nodes/ways.

2012-12-13 [r1193]  Andrew M. Bishop <amb>

	* src/logging.c: Fix bug with printing messages if not to stdout.

2012-12-12 [r1191]  Andrew M. Bishop <amb>

	* src/router.c: Fix error when searching for default profiles.xml
	  file.

2012-12-08  Andrew M. Bishop <amb>

	Version 2.4 released

2012-12-08 [r1182-1183]  Andrew M. Bishop <amb>

	* doc/NEWS.txt, doc/README.txt, FILES, doc/html/readme.html: Update
	  for version 2.4.

	* doc/TAGGING.txt: Update with the tagging rule changes in this
	  version.

2012-12-08 [r1181]  Andrew M. Bishop <amb>

	* src/xmlparse.l, src/xml/test/good.xml,
	  src/xml/test/bad-cdata-start.xml (removed),
	  src/xml/test/bad-text-outside.xml (added): Simplify the XML
	  parser by not handling the CDATA and DOCTYPE sections and also
	  raise an explicit error for text outside of tags. Modify test
	  cases for these changes.

2012-12-06 [r1180]  Andrew M. Bishop <amb>

	* src/xmlparse.l: Some further small changes to pull out bigger
	  groups of characters (only marginally faster though).

2012-12-05 [r1179]  Andrew M. Bishop <amb>

	* src/prunex.c: Minor theoretical improvements to pruning (slim
	  mode is still very slow).

2012-12-05 [r1178]  Andrew M. Bishop <amb>

	* src/xmlparse.l: Change rules to remove all states that require
	  backing up (only marginally faster though).

2012-12-05 [r1176-1177]  Andrew M. Bishop <amb>

	* doc/html/tagging.html: Update with the tagging rule changes in
	  this version.

	* xml/routino-tagging.xml: Small change to the tag processing for
	  nodes for easier future expansion.

2012-12-01 [r1175]  Andrew M. Bishop <amb>

	* src/tagging.c: Fix memory leak from making incorrect assumption
	  when freeing tagging rule.

2012-12-01 [r1174]  Andrew M. Bishop <amb>

	* src/superx.c, src/translations.h, src/visualiser.c,
	  src/profiles.h, src/types.h, src/osmparser.c, src/filedumper.c,
	  src/output.c, src/router.c, src/translations.c, src/profiles.c,
	  src/types.c: Rename the Way_* enumerated values to Highway_*, add
	  a new Highway_None type, change the HighwayType() function to
	  return Highway_None instead of Highway_Count if no match found -
	  all changes for consistency with similar types and functions.

2012-11-27 [r1173]  Andrew M. Bishop <amb>

	* src/osmparser.c, web/bin/summarise-log.pl, src/segmentsx.c: Log
	  an error about duplicated segments within a way while parsing the
	  OSM instead of later (will have been removed by de-duplication
	  code before tested later in most cases).

2012-11-27 [r1172]  Andrew M. Bishop <amb>

	* web/bin/summarise-log.pl: Make the script still work when no
	  command line argument is used.

2012-11-27 [r1171]  Andrew M. Bishop <amb>

	* src/relationsx.c, src/planetsplitter.c, src/waysx.c,
	  src/segmentsx.c, src/nodesx.c: Don't log an error for duplicated
	  nodes, ways or relations because it can only occur when applying
	  changes or if using multiple geographically overlapping files and
	  neither is a data error.

2012-11-21 [r1170]  Andrew M. Bishop <amb>

	* xml/routino-tagging.xml: Add some more tag checking, accept more
	  tags.

2012-11-21 [r1169]  Andrew M. Bishop <amb>

	* src/types.h, src/segmentsx.c: Finally fix the segment area
	  handling - segments that are areas are discarded in preference to
	  those that are not (as it was between r914 and r1136) and
	  segments that are areas don't have the wrong distance (as they
	  did between r914 and r1136). Revision r1137 correctly changed to
	  use a flag and fixed the distance bug but then didn't sort using
	  the new flag. Revision r1153 started sorting using the segment
	  flags but the area was not the most significant bit so they were
	  not sorted last. Revision r1164 correctly cleared the area flag
	  when no longer needed but didn't fix the rest. Revision r1168
	  reverted r1164 so needed to be re-applied.

2012-11-21 [r1168]  Andrew M. Bishop <amb>

	* src/prunex.c, src/segmentsx.h, src/filedumperx.c, src/segments.c,
	  src/superx.c, src/fakes.c, src/types.h, src/segments.h,
	  src/optimiser.c, src/osmparser.c, src/filedumper.c,
	  src/segmentsx.c, src/fakes.h, src/output.c: Revert r1164 - some
	  super-segments are longer than 65535 metres even if no individual
	  segment is.

2012-11-20 [r1167]  Andrew M. Bishop <amb>

	* doc/html/usage.html, src/relationsx.c, src/planetsplitter.c,
	  src/waysx.c, src/relationsx.h, src/segmentsx.c, doc/USAGE.txt,
	  src/nodesx.c, src/waysx.h, src/segmentsx.h, src/nodesx.h: Rename
	  the '--preserve' command line option to '--keep' for simplicity.

2012-11-20 [r1166]  Andrew M. Bishop <amb>

	* src/segmentsx.c, src/nodesx.c, src/prunex.c, src/results.c,
	  src/sorting.c, src/logging.c, src/superx.c, src/files.h,
	  src/relationsx.c, src/tagmodifier.c, src/logging.h,
	  src/optimiser.c, src/osmparser.c, src/waysx.c, src/Makefile:
	  Replace all assert statements with a custom error message that
	  explains the cause and suggests a solution.

2012-11-20 [r1165]  Andrew M. Bishop <amb>

	* src/types.h, src/osmparser.c, src/nodes.h, src/nodesx.c,
	  src/nodesx.h: Use a specific type for the node flags instead of a
	  generic uint16_t.

2012-11-20 [r1164]  Andrew M. Bishop <amb>

	* src/filedumperx.c, src/segments.c, src/superx.c, src/fakes.c,
	  src/types.h, src/segments.h, src/optimiser.c, src/osmparser.c,
	  src/filedumper.c, src/segmentsx.c, src/fakes.h, src/output.c,
	  src/prunex.c, src/segmentsx.h: Replace the 32-bit combined
	  distance and flags in the segment with 16 bits for each.

2012-11-20 [r1163]  Andrew M. Bishop <amb>

	* src/relationsx.c, src/relationsx.h, src/typesx.h,
	  src/filedumperx.c: Tidy up all of the recent code changes -
	  Rename TurnRestrictRelX structure to TurnRelX.

2012-11-20 [r1162]  Andrew M. Bishop <amb>

	* src/files.c: Tidy up all of the recent code changes - Fix
	  comment.

2012-11-20 [r1161]  Andrew M. Bishop <amb>

	* src/nodesx.c, src/waysx.h, src/segmentsx.h, doc/DATALIFE.txt,
	  src/nodesx.h, src/superx.c, src/relationsx.c, src/osmparser.c,
	  src/waysx.c, src/relationsx.h, src/segmentsx.c: Tidy up all of
	  the recent code changes - change the name of a few of the
	  functions.

2012-11-20 [r1160]  Andrew M. Bishop <amb>

	* src/waysx.c, src/relationsx.h, src/segmentsx.c, src/nodesx.c,
	  src/waysx.h, src/segmentsx.h, src/nodesx.h: Tidy up all of the
	  recent code changes - change the order of the functions within
	  the files to a more sensible and consitent order.

2012-11-19 [r1159]  Andrew M. Bishop <amb>

	* src/osmparser.c: Unconditionally mark ways as deleted if they
	  have been modified to handle the case when applying more than one
	  change file if a way is created by the first of the change files
	  and modified by the second it will not be in the index.

2012-11-19 [r1158]  Andrew M. Bishop <amb>

	* src/waysx.c, src/waysx.h, src/planetsplitter.c: Do not create the
	  way indexes when loading the parsed ways to apply changes
	  (reverses r1145).

2012-11-19 [r1157]  Andrew M. Bishop <amb>

	* doc/html/usage.html, src/planetsplitter.c, doc/USAGE.txt: Do not
	  require that --preserve must be used with --parse-only before
	  changes can be applied (reverses r1151 for the change to
	  functionality but preserves the changes to the functions that
	  enable it).

2012-11-19 [r1156]  Andrew M. Bishop <amb>

	* src/filedumperx.c: Fix bug with dumping ways.

2012-11-19 [r1155]  Andrew M. Bishop <amb>

	* src/segmentsx.c: De-duplicate segments when sorting only if they
	  have the same nodes, way and distance - i.e. the same data
	  imported twice.

2012-11-18 [r1154]  Andrew M. Bishop <amb>

	* src/osmparser.c: When marking modified nodes as deleted don't
	  accidentally re-include them as new ways with the deleted flag
	  set.

2012-11-18 [r1152-1153]  Andrew M. Bishop <amb>

	* src/segmentsx.c: When sorting segments use the distance flags as
	  the tie-breaker so that duplicated segments with different flags
	  get sorted into the same order when applying changes as when not
	  applying changes.

	* src/osmparser.c: Mark modified relations as deleted before
	  storing the modification to handle the case where the
	  modification causes it to be invalid and not stored therefore
	  leaving the old version.

2012-11-18 [r1151]  Andrew M. Bishop <amb>

	* src/segmentsx.h, src/nodesx.h, src/superx.c, doc/html/usage.html,
	  src/relationsx.c, src/planetsplitter.c, src/waysx.c,
	  src/relationsx.h, src/segmentsx.c, doc/USAGE.txt, src/nodesx.c,
	  src/waysx.h: Using --parse-only and --preserve must sort the data
	  so that it is ready to apply the changes.

2012-11-17 [r1149-1150]  Andrew M. Bishop <amb>

	* src/filedumper.c: Some small changes to match the new filedumperx
	  program.

	* src, doc/USAGE.txt, src/filedumperx.c (added),
	  doc/html/usage.html, src/Makefile, web/bin: Add a new program to
	  dump the contents of the intermediate files that are generated by
	  using --preserve or --changes.

2012-11-17 [r1147-1148]  Andrew M. Bishop <amb>

	* src/waysx.c: Replace a hard-coded constant with the #defined
	  value it should have been.

	* src/relationsx.c: Clear the route relation before adding data to
	  it so that there are no unused bytes in the structure to get
	  written to disk (avoid byte-level differences when applying
	  changes).

2012-11-17 [r1146]  Andrew M. Bishop <amb>

	* src/nodesx.c, src/relationsx.c, src/planetsplitter.c,
	  src/waysx.c, src/segmentsx.c: Suppress some error log messages
	  when applying changes (false positive duplicate detection due to
	  modification of existing items).

2012-11-17 [r1144-1145]  Andrew M. Bishop <amb>

	* src/planetsplitter.c, src/osmparser.c, src/waysx.c, src/waysx.h:
	  Fix applying changes for ways (highways that have been modified
	  to be non-highways were not added to the database so the original
	  remains).

	* src/typesx.h, src/types.h: Change the type-casting of some
	  constants.

2012-11-16 [r1140-1143]  Andrew M. Bishop <amb>

	* src/xml: Ignore the automatically generated executables from the
	  new XML Schema.

	* xml/routino-osm.xsd, xml/osm.xsd: Changes to comments to make
	  them more like the OSC files.

	* xml/routino-osc.xsd (added), xml/osc.xsd (added): XML Schema for
	  OSC change files (.osc files) used to create the XML parser.

	* doc/html/usage.html, src/relationsx.c, src/types.h,
	  src/planetsplitter.c, src/osmparser.c, src/waysx.c,
	  src/segmentsx.c, doc/USAGE.txt, src/nodesx.c, src/osmparser.h,
	  src/segmentsx.h, doc/DATALIFE.txt: Code to allow adding OSC
	  change files (.osc files) to an existing set of parsed (and
	  preserved) data.

2012-11-15 [r1139]  Andrew M. Bishop <amb>

	* src/nodesx.h, src/superx.c, src/relationsx.c,
	  src/planetsplitter.c, src/waysx.c, src/relationsx.h,
	  src/segmentsx.c, src/nodesx.c, src/waysx.h, src/segmentsx.h:
	  Fixed the --preserve option.

2012-11-12 [r1138]  Andrew M. Bishop <amb>

	* src/relationsx.c: Fix mis-use of NO_WAY/NO_WAY_ID and
	  NO_RELATION/NO_RELATION_ID constants in route relation handling.

2012-11-11 [r1137]  Andrew M. Bishop <amb>

	* src/types.h, src/osmparser.c, src/segmentsx.c: Mark those
	  segments that come from ways which are areas with an explicit
	  flag rather than an implicit one (also fixes a bug).

2012-11-10 [r1136]  Andrew M. Bishop <amb>

	* src/nodesx.c, src/waysx.h, src/segmentsx.h, src/nodesx.h,
	  doc/html/usage.html, src/relationsx.c, src/planetsplitter.c,
	  src/waysx.c, src/relationsx.h, src/segmentsx.c, doc/USAGE.txt:
	  Added a --preserve option which keeps the raw data files after
	  parsing, sorting and de-duplication.

2012-11-10 [r1134-1135]  Andrew M. Bishop <amb>

	* doc/DATALIFE.txt, src/waysx.c: Don't index the ways in the first
	  sorting, but wait until after de-duplicating.

	* src/relationsx.c: Sort the route relations and remove duplicates.

2012-11-10 [r1133]  Andrew M. Bishop <amb>

	* src/planetsplitter.c, src/segmentsx.c, src/segmentsx.h,
	  doc/DATALIFE.txt: The MergeSuperSegments function creates the
	  output file in the sorted order already, there is no need to
	  re-sort it.

2012-11-10 [r1132]  Andrew M. Bishop <amb>

	* src/segmentsx.c, src/segmentsx.h, doc/DATALIFE.txt,
	  src/planetsplitter.c: De-duplicate the super-segments as a
	  post-processing function after the sort so both operations are
	  combined in a single function.

2012-11-10 [r1131]  Andrew M. Bishop <amb>

	* src/segmentsx.h, src/planetsplitter.c, src/segmentsx.c:
	  De-duplicate the raw segments before any other processing (to
	  match the node, way and turn relation processing).

2012-11-10 [r1129-1130]  Andrew M. Bishop <amb>

	* src/planetsplitter.c: Separate the de-duplication of the ways
	  from the extracting of the names. Use the modified functions for
	  creating lists of nodes,segments,ways and relations from r1123.

	* src/waysx.c, src/waysx.h, doc/DATALIFE.txt: Separate the
	  de-duplication of the ways from the extracting of the names.

2012-11-08 [r1128]  Andrew M. Bishop <amb>

	* web/bin/summarise-log.pl: Allow generation of an HTML version of
	  the log file summary.

2012-11-08 [r1127]  Andrew M. Bishop <amb>

	* src/osmparser.c: Add two extra parsing rules for feet and inches.

2012-11-04 [r1126]  Andrew M. Bishop <amb>

	* src/tagging.c: Clarify that errors logged when examining tags
	  mean that tag will be ignored.

2012-11-04 [r1125]  Andrew M. Bishop <amb>

	* src/osmparser.c: Log an error for ways with only 1 node and for
	  relations with no nodes, ways or relations.

2012-11-03 [r1124]  Andrew M. Bishop <amb>

	* src/prunex.c: Append the new ways directly to the end of the
	  existing ways rather than using a new file.

2012-11-03 [r1123]  Andrew M. Bishop <amb>

	* src/nodesx.h, src/superx.c, src/relationsx.c, src/waysx.c,
	  src/relationsx.h, src/segmentsx.c, src/nodesx.c, src/waysx.h,
	  src/segmentsx.h: Don't open the input file for appending if there
	  is no intention to write anything to it.

2012-11-03 [r1122]  Andrew M. Bishop <amb>

	* src/superx.c, src/files.h, src/relationsx.c, src/segmentsx.c,
	  src/prunex.c, src/files.c: Change the UnmapFile() function to
	  take a pointer to the data instead of the filename (like the
	  CloseFile() function takes the file descriptor).

2012-11-02 [r1121]  Andrew M. Bishop <amb>

	* src/prunex.c, src/segmentsx.h: Fix a bug which gave different
	  results for slim mode and normal mode when pruning short
	  segments.

2012-11-01 [r1120]  Andrew M. Bishop <amb>

	* src/planetsplitter.c, src/waysx.c, src/relationsx.h,
	  src/segmentsx.c, doc/USAGE.txt, src/nodesx.c, src/waysx.h,
	  src/prunex.c, src/segmentsx.h, src/nodesx.h, src/superx.c,
	  doc/html/usage.html, src/relationsx.c: Introduce a new'--append'
	  option for appending data from a file to the currently parsed
	  data. Rename the intermediate file used for storing data to be
	  appended to. Add a function to call after appending to a file
	  which closes the file and renames it to a temporary filename
	  which is used for the remaining processing.

2012-11-01 [r1119]  Andrew M. Bishop <amb>

	* src/files.c, src/files.h: Add a function to rename a file.

2012-10-31 [r1118]  Andrew M. Bishop <amb>

	* src/relationsx.c, src/sorting.h, src/waysx.c, src/segmentsx.c,
	  src/nodesx.c: Add the option for the sorting function to preserve
	  the input order of equivalent items on the output. Use this
	  feature in sorting so that slim mode and normal mode give the
	  same results.

2012-10-24 [r1116-1117]  Andrew M. Bishop <amb>

	* doc/html/usage.html, doc/html/algorithm.html,
	  src/planetsplitter.c, doc/USAGE.txt, doc/ALGORITHM.txt,
	  src/prunex.c: Perform the pruning for isolated regions in terms
	  of each transport type individually.

	* doc/DATALIFE.txt: Use the index provided by the pre-sort function
	  rather than the way's internal id when pruning/compacting.

2012-10-24 [r1114-1115]  Andrew M. Bishop <amb>

	* src/segmentsx.c: Remove a debugging print statement.

	* src/waysx.c: Use the index provided by the pre-sort function
	  rather than the way's internal id when pruning/compacting.

2012-10-22 [r1112-1113]  Andrew M. Bishop <amb>

	* src/waysx.c: Use the new pre-sort function to allow CompactWays()
	  to delete the unused segments before sorting them.

	* src/segmentsx.c, src/sorting.c, src/relationsx.c: Fix bug with
	  index parameter in new pre-sort function and change comments to
	  clarify.

2012-10-22 [r1110-1111]  Andrew M. Bishop <amb>

	* src/segmentsx.c: Use the new pre-sort function to allow
	  RemovePrunedSegments() to delete the pruned segments before
	  sorting them.

	* src/segmentsx.c, src/relationsx.c: Change the message after
	  sorting geographically to be consistent with others.

2012-10-21 [r1109]  Andrew M. Bishop <amb>

	* src/planetsplitter.c, src/nodesx.c, doc/DATALIFE.txt,
	  src/nodesx.h: Move the UpdateNodes() work into the callback for
	  SortNodeListGeographically() and use firstnode when saving the
	  nodes.

2012-10-21 [r1108]  Andrew M. Bishop <amb>

	* src/planetsplitter.c, src/relationsx.h, doc/DATALIFE.txt,
	  src/relationsx.c: Use the new pre-sort function to allow
	  UpdateTurnRelations() and SortTurnRelationList() to be combined
	  into a single SortTurnRelationListGeographically() function that
	  only reads and writes the data once instead of twice.

2012-10-21 [r1107]  Andrew M. Bishop <amb>

	* src/segmentsx.h, doc/DATALIFE.txt, src/planetsplitter.c,
	  src/segmentsx.c: Use the new pre-sort function to allow
	  UpdateSegments() and SortSegmentList() to be combined into a
	  single SortSegmentListGeographically() function that only reads
	  and writes the data once instead of twice.

2012-10-21 [r1106]  Andrew M. Bishop <amb>

	* src/nodesx.c, src/sorting.c, src/relationsx.c, src/sorting.h,
	  src/waysx.c, src/segmentsx.c: Change the sorting functions to
	  have a pre-sort and post-sort selection function instead of just
	  a post-selection one (this will allow deletion of some items
	  before sorting instead of after sorting in some cases).

2012-10-21 [r1103-1105]  Andrew M. Bishop <amb>

	* doc/DATALIFE.txt: Added new columns showing when the data files
	  are mapped into memory.

	* src/waysx.c: Delete the onumber parameter from the Ways file
	  header. Don't map the ways file into memory when writing the
	  ways.

	* src/ways.h, src/filedumper.c: Delete the onumber parameter from
	  the Ways file header.

2012-10-21 [r1102]  Andrew M. Bishop <amb>

	* src/segmentsx.c: Reallocate the firstnode array when indexing
	  segments because there may be fewer nodes now.

2012-10-21 [r1101]  Andrew M. Bishop <amb>

	* src/nodesx.c: Remove some unused parts of the
	  SortNodeListGeographically() function.

2012-10-20 [r1100]  Andrew M. Bishop <amb>

	* doc/DATALIFE.txt, src/relationsx.c, src/planetsplitter.c,
	  src/waysx.c, src/segmentsx.c, src/waysx.h, src/segmentsx.h: Move
	  the compacting of the ways back to the top, delete the unused
	  ways at this point and also call the function again after pruning
	  segments.

2012-10-20 [r1099]  Andrew M. Bishop <amb>

	* src/nodesx.c: Mark pruned nodes in the node index.

2012-10-20 [r1098]  Andrew M. Bishop <amb>

	* src/relationsx.c, src/planetsplitter.c, src/relationsx.h,
	  src/segmentsx.c, src/nodesx.c, src/prunex.c, doc/DATALIFE.txt,
	  src/nodesx.h, src/superx.c: Delete the pruned nodes before
	  searching for super-nodes etc.

2012-10-20 [r1097]  Andrew M. Bishop <amb>

	* src/nodesx.c: Move the calculation of lat/long extents to the
	  UpdateNodes() function.

2012-10-20 [r1096]  Andrew M. Bishop <amb>

	* doc/DATALIFE.txt: Add missing data (nodesx->super).

2012-10-20 [r1095]  Andrew M. Bishop <amb>

	* doc/DATALIFE.txt (added): A description of the data lifetime in
	  the planetsplitter program (as an aid to understanding it better
	  and not messing it up when editing it).

2012-10-19 [r1094]  Andrew M. Bishop <amb>

	* src/waysx.c: Remove one filesort and one read through the ways
	  file when compacting.

2012-10-19 [r1093]  Andrew M. Bishop <amb>

	* src/waysx.c, src/segmentsx.c, src/waysx.h: Change to an external
	  index for the compacted ways.

2012-10-18 [r1092]  Andrew M. Bishop <amb>

	* src/planetsplitter.c, src/waysx.c, src/waysx.h: When compacting
	  ways exclude the ones that are not used by any segments.

2012-10-17 [r1091]  Andrew M. Bishop <amb>

	* src/planetsplitter.c: Perform the Way compacting at the end
	  (after pruning segments).

2012-10-17 [r1090]  Andrew M. Bishop <amb>

	* src/waysx.h, src/waysx.c, src/segmentsx.c: Rename the WayX->prop
	  entry to WayX->cid to disambiguate it.

2012-10-17 [r1089]  Andrew M. Bishop <amb>

	* src/typesx.h, src/superx.c: Rename the BitMask functions to set
	  or clear all bits.

2012-09-28 [r1078]  Andrew M. Bishop <amb>

	* src/ways.c, src/segments.c, src/visualiser.c, src/nodes.c,
	  src/ways.h, src/fakes.c, src/segments.h, src/optimiser.c,
	  src/filedumper.c, src/fakes.h, src/output.c: Rename some
	  variables so that pointers to nodes, segments, ways and relations
	  use the Hungarian notation "p" suffix (only applies to the
	  router, not planetsplitter).

2012-07-22 [r1027-1028]  Andrew M. Bishop <amb>

	* web/www/routino/noscript.cgi (removed),
	  web/www/routino/noscript.html (removed),
	  web/www/routino/noscript.template.html (removed): Delete obsolete
	  noscript web pages and CGIs.

	* web/www/routino/customvisualiser.cgi (removed),
	  web/www/routino/customrouter.cgi (removed): Delete obsolete
	  custom* CGIs.

2012-10-06  Andrew M. Bishop <amb>

	Version 2.3.2 released

2012-10-06 [r1083]  Andrew M. Bishop <amb>

	* doc/NEWS.txt, doc/README.txt, FILES, doc/html/readme.html: Update
	  for 2.3.2 release.

2012-10-02 [r1079]  Andrew M. Bishop <amb>

	* xml/routino-tagging.xml: Make the access tag normalisation
	  consistent between nodes an ways.

2012-09-26 [r1077]  Andrew M. Bishop <amb>

	* src/visualiser.c, web/www/routino/visualiser.js,
	  src/visualiser.h, src/filedumper.c,
	  web/www/routino/visualiser.cgi,
	  web/www/routino/visualiser.html.en: Add an option to the
	  visualiser to display nodes that disallow selected transport
	  type.

2012-09-25 [r1076]  Andrew M. Bishop <amb>

	* doc/OUTPUT.txt, doc/html/output.html: Change the example output
	  now that the copyright notice has changed, the final turn is no
	  longer missed and minor junctions are formatted differently in
	  the all text format.

2012-09-23 [r1075]  Andrew M. Bishop <amb>

	* src/test/expected/turns-WP08.txt,
	  src/test/expected/turns-WP09.txt,
	  src/test/expected/dead-ends-WP10.txt,
	  src/test/expected/dead-ends-WP11.txt,
	  src/test/expected/loops-WP01.txt,
	  src/test/expected/loops-WP02.txt,
	  src/test/expected/loops-WP03.txt,
	  src/test/expected/loops-WP04.txt,
	  src/test/expected/loops-WP05.txt,
	  src/test/expected/loops-WP06.txt,
	  src/test/expected/loops-WP07.txt,
	  src/test/expected/loops-WP08.txt,
	  src/test/expected/loops-WP09.txt,
	  src/test/expected/turns-WP10.txt,
	  src/test/expected/turns-WP11.txt,
	  src/test/expected/turns-WP12.txt,
	  src/test/expected/turns-WP13.txt,
	  src/test/expected/turns-WP14.txt,
	  src/test/expected/turns-WP15.txt,
	  src/test/expected/turns-WP16.txt,
	  src/test/expected/dead-ends-WP01.txt,
	  src/test/expected/dead-ends-WP02.txt,
	  src/test/expected/dead-ends-WP03.txt,
	  src/test/expected/dead-ends-WP04.txt,
	  src/test/expected/dead-ends-WP05.txt,
	  src/test/expected/dead-ends-WP06.txt,
	  src/test/expected/dead-ends-WP07.txt,
	  src/test/expected/dead-ends-WP08.txt,
	  src/test/expected/dead-ends-WP09.txt,
	  src/test/expected/loops-WP10.txt,
	  src/test/expected/loops-WP11.txt, src/output.c,
	  src/test/expected/turns-WP01.txt,
	  src/test/expected/turns-WP02.txt,
	  src/test/expected/turns-WP03.txt,
	  src/test/expected/turns-WP04.txt,
	  src/test/expected/turns-WP05.txt,
	  src/test/expected/turns-WP06.txt,
	  src/test/expected/turns-WP07.txt: Change the all text output
	  format so that minor junctions (where no turn instructions are
	  output for the HTML) are labelled differently. This also required
	  the expected results for the tests cases to be changed.

2012-09-22 [r1074]  Andrew M. Bishop <amb>

	* src/test/expected/super-or-not-WP02.txt,
	  src/test/expected/turns-WP10.txt,
	  src/test/expected/turns-WP11.txt,
	  src/test/expected/turns-WP12.txt,
	  src/test/expected/turns-WP13.txt,
	  src/test/expected/turns-WP14.txt,
	  src/test/expected/turns-WP15.txt,
	  src/test/expected/turns-WP16.txt,
	  src/test/expected/dead-ends-WP01.txt,
	  src/test/expected/dead-ends-WP02.txt,
	  src/test/expected/dead-ends-WP03.txt,
	  src/test/expected/dead-ends-WP04.txt,
	  src/test/expected/dead-ends-WP05.txt,
	  src/test/expected/dead-ends-WP06.txt,
	  src/test/expected/dead-ends-WP07.txt,
	  src/test/expected/dead-ends-WP08.txt,
	  src/test/expected/dead-ends-WP09.txt,
	  src/test/expected/loops-WP10.txt,
	  src/test/expected/loops-WP11.txt, src/output.c,
	  src/test/expected/oneway-loop-WP01.txt,
	  src/test/expected/node-restrictions-WP01.txt,
	  src/test/expected/turns-WP01.txt,
	  src/test/expected/node-restrictions-WP02.txt,
	  src/test/expected/turns-WP02.txt,
	  src/test/expected/node-restrictions-WP03.txt,
	  src/test/expected/turns-WP03.txt,
	  src/test/expected/node-restrictions-WP04.txt,
	  src/test/expected/turns-WP04.txt,
	  src/test/expected/node-restrictions-WP05.txt,
	  src/test/expected/turns-WP05.txt,
	  src/test/expected/node-restrictions-WP06.txt,
	  src/test/expected/turns-WP06.txt,
	  src/test/expected/node-restrictions-WP07.txt,
	  src/test/expected/turns-WP07.txt,
	  src/test/expected/node-restrictions-WP08.txt,
	  src/test/expected/turns-WP08.txt,
	  src/test/expected/turns-WP09.txt,
	  src/test/expected/dead-ends-WP10.txt,
	  src/test/expected/dead-ends-WP11.txt,
	  src/test/expected/loops-WP01.txt,
	  src/test/expected/loops-WP02.txt,
	  src/test/expected/loops-WP03.txt,
	  src/test/expected/loops-WP04.txt,
	  src/test/expected/loops-WP05.txt,
	  src/test/expected/loops-WP06.txt,
	  src/test/expected/loops-WP07.txt,
	  src/test/expected/loops-WP08.txt,
	  src/test/expected/loops-WP09.txt: Fix a bug that stopped the last
	  turn before a waypoint from being described in the HTML output if
	  the final section of the route was a fake-segment. Update the
	  test case expected results since the last turn was not being
	  described properly.

2012-09-20 [r1073]  Andrew M. Bishop <amb>

	* src/test/start-1-finish.sh, src/test/a-b-c.sh, src/test/a-b.sh:
	  Change the scripts for the test cases to use 'diff' instead of
	  'cmp' so that it is possible to see the changes.

2012-09-19 [r1071-1072]  Andrew M. Bishop <amb>

	* src/router.c: Change the error message printed if a super-route
	  cannot be converted into a normal route.

	* src/superx.c: When not marking nodes that allow no traffic as
	  super-nodes don't route through them when calculating
	  super-segments.

2012-09-18 [r1070]  Andrew M. Bishop <amb>

	* xml/routino-translations.xml: Change the URL for the
	  license/copyright file (not CC specific and points to
	  openstreetmap site).

2012-09-17 [r1069]  Andrew M. Bishop <amb>

	* src/superx.c, src/test/node-restrictions.osm, src/types.h,
	  src/test/expected/node-restrictions-WP04.txt: Do not mark
	  barriers that cannot be passed by any type of transport as
	  super-nodes.

2012-09-16 [r1068]  Andrew M. Bishop <amb>

	* src/test/expected/node-restrictions-WP06.txt (added),
	  src/test/node-restrictions.sh (added),
	  src/test/expected/node-restrictions-WP07.txt (added),
	  src/test/expected/node-restrictions-WP08.txt (added),
	  src/test/node-restrictions.osm (added), src/optimiser.c,
	  src/test/expected/node-restrictions-WP01.txt (added), src/test,
	  src/test/expected/node-restrictions-WP02.txt (added),
	  src/test/expected/node-restrictions-WP03.txt (added),
	  src/test/expected/node-restrictions-WP04.txt (added),
	  src/test/expected/node-restrictions-WP05.txt (added): Don't fail
	  to route if a selected waypoint is a node that does not permit
	  chosen traffic type. Add test cases for this change.

2012-09-13 [r1067]  Andrew M. Bishop <amb>

	* src/test/oneway-loop.osm, src/test/invalid-turn-relations.osm,
	  src/test/turns.osm: Make every test case loadable in JOSM.

2012-09-13 [r1066]  Andrew M. Bishop <amb>

	* src/superx.c, src/optimiser.c: Update some comments and make a
	  few very small optimisations.

2012-09-10 [r1065]  Andrew M. Bishop <amb>

	* src/relationsx.c, src/waysx.c: Tidy up relation expression.

2012-09-10 [r1064]  Andrew M. Bishop <amb>

	* src/relationsx.c: Log an error if a foot/bicycle way doesn't
	  allow foot/bicycle transport (it already overrides the way
	  tagging but didn't warn).

2012-09-09 [r1062-1063]  Andrew M. Bishop <amb>

	* src/optimiser.c: Refactor the code for the previous change.

	* src/superx.c: Tiny optimisation to super-segment calculation.

2012-09-08 [r1058-1061]  Andrew M. Bishop <amb>

	* src/optimiser.c: Fix the FindSuperSegment() function for routing
	  problem.

	* src/test: Ignore new log files.

	* src/test/Makefile: Fixed a spelling mistake in the printed
	  output.

	* src/test/oneway-loop.osm (added),
	  src/test/expected/oneway-loop-WP01.txt (added),
	  src/test/oneway-loop.sh (added): Added a new test case for a
	  real-life pathological routing problem involving oneway streets
	  and loops.

2012-08-12 [r1057]  Andrew M. Bishop <amb>

	* src/visualiser.c: Fix for highway type visualiser (was missing
	  one-way segments).

2012-08-11  Andrew M. Bishop <amb>

	Version 2.3.1 released

2012-08-11 [r1050]  Andrew M. Bishop <amb>

	* web/www/routino/router.html.en, web/www/routino/router.html.de,
	  web/www/routino/router.html.nl: Revert the change to waypoint
	  table widths.

2012-08-11 [r1049]  Andrew M. Bishop <amb>

	* web/www/routino/router.pl: Fix for older versions of Perl that
	  don't accept certain anonymous list syntax.

2012-08-11 [r1048]  Andrew M. Bishop <amb>

	* doc/README.txt, FILES, doc/html/readme.html, doc/NEWS.txt:
	  Updated for version 2.3.1.

2012-08-11 [r1047]  Andrew M. Bishop <amb>

	* web/www/routino/router.pl, web/www/routino/router.js,
	  web/www/routino/router.html.nl, web/www/routino,
	  web/www/routino/visualiser.js,
	  web/www/routino/icons/create-icons.pl,
	  web/www/routino/maplayout.css, src/xml/Makefile, src/Makefile,
	  web/www/routino/router.css, web/www/routino/router.html.de,
	  web/www/routino/icons, src/xmlparse.l,
	  web/www/routino/router.cgi, src/test/Makefile,
	  web/www/routino/router.html.en, src: Merge the changes from trunk
	  version into version 2.3.1 branch.

2012-08-06 [r1044-1045]  Andrew M. Bishop <amb>

	* src/test/Makefile, src/Makefile, src/xml/Makefile: Be more
	  consistent about what files to clean up.

	* src/xmlparse.l: Allow an unlimited number of attributes per tag
	  without crashing.

2012-08-04 [r1043]  Andrew M. Bishop <amb>

	* web/www/routino/router.pl, web/www/routino/router.js,
	  web/www/routino/router.cgi: Don't send back the unused lines from
	  the router CGI, add the complete command line and execution time
	  to the log file.

2012-08-03 [r1040]  Andrew M. Bishop <amb>

	* web/www/routino/router.html.de, web/www/routino/router.html.nl,
	  web/www/routino/maplayout.css, web/www/routino/router.html.en,
	  web/www/routino/router.css: Force the font size in pixels and
	  adjust the table width so that user browser preferences don't
	  destroy layout (using small or large font).

2012-08-03 [r1039]  Andrew M. Bishop <amb>

	* web/www/routino/router.js: Fix some bugs in the latest check-ins.

2012-08-03 [r1038]  Andrew M. Bishop <amb>

	* web/www/routino/router.html.de, web/www/routino/router.html.nl,
	  web/www/routino/router.js, web/www/routino/router.html.en: Add a
	  button to close the loop (duplicate the first waypoint at the
	  end).

2012-08-03 [r1037]  Andrew M. Bishop <amb>

	* web/www/routino/router.js: Don't add the waypoint items at the
	  start and hide them if not needed but make them invisible to
	  start with and display them if required.

2012-08-03 [r1036]  Andrew M. Bishop <amb>

	* web/www/routino/router.js: Improve the way that the home marker
	  is handled (dragging etc).

2012-08-03 [r1035]  Andrew M. Bishop <amb>

	* web/www/routino/visualiser.js, web/www/routino/router.js: Add
	  comments to the functions that are called from the HTML file (to
	  simplify debugging and make easier to maintain).

2012-08-02 [r1034]  Andrew M. Bishop <amb>

	* web/www/routino/router.js: Never-used markers now show as blank,
	  not 0,0. Clicking an unused marker centres it on the map and
	  updates the coordinates.

2012-08-02 [r1033]  Andrew M. Bishop <amb>

	* web/www/routino/router.js: Refactor the code that inserts,
	  removes and moves markers around so that all properties are moved
	  including search/coords selection, search values etc.

2012-08-02 [r1032]  Andrew M. Bishop <amb>

	* web/www/routino/router.js: Change the formSetCoords() function so
	  that it doesn't change the active state.

2012-07-31 [r1030-1031]  Andrew M. Bishop <amb>

	* web/www/routino/icons: Generate the full set of icons and ignore
	  them from SVN.

	* web/www/routino/icons/create-icons.pl: Create more limit markers
	  for the visualiser.

2012-07-22 [r1029]  Andrew M. Bishop <amb>

	* web/www/routino/icons/create-icons.pl: Create
	  marker-XXX-(red|grey).png icons which can get requested before
	  the Javascript removes them.

2012-07-21  Andrew M. Bishop <amb>

	Version 2.3 released

2012-07-21 [r1026]  Andrew M. Bishop <amb>

	* doc/NEWS.txt, doc/README.txt, FILES, doc/html/readme.html: Update
	  to version 2.3.

2012-07-21 [r1025]  Andrew M. Bishop <amb>

	* src/osmparser.c: Fix problem with not logging all invalid tags.
	  Minor optimisation to speed up tag recognition.

2012-07-17 [r1023-1024]  Andrew M. Bishop <amb>

	* doc/html/output.html: Change the comment describing the
	  parameters for the example route.

	* doc/html/usage.html, doc/USAGE.txt: Add a note that too many
	  threads and not enough memory will slow down planetsplitter
	  operation.

2012-07-17 [r1022]  Andrew M. Bishop <amb>

	* src/xmlparse.l: Some small lex changes and an optimisation to
	  remove repeated memory allocation.

2012-07-16 [r1021]  Andrew M. Bishop <amb>

	* src/sorting.c: Restore the shortcut that doesn't write the data
	  to a temporary file if it all can be sorted in one go. This
	  removes the slowdown with the multi-threaded code even when
	  running with no threads.

2012-07-15 [r1020]  Andrew M. Bishop <amb>

	* src/sorting.c: Don't call any of the pthread functions unless
	  running with multiple threads.

2012-07-14 [r1019]  Andrew M. Bishop <amb>

	* src/logging.c: Default not to use the --logtime option.

2012-07-12 [r1018]  Andrew M. Bishop <amb>

	* web/www/routino/router.js: Another change related to OpenLayers
	  2.12.

2012-07-11 [r1017]  Andrew M. Bishop <amb>

	* src/prunex.c: Fix bug with pruning straight highways
	  (uninitialised data).

2012-07-10 [r1016]  Andrew M. Bishop <amb>

	* web/www/routino/router.html.en, web/www/routino/router.html.de,
	  web/www/routino/router.html.nl, web/www/routino/router.js:
	  Trigger the search form only when pressing the return key.

2012-07-10 [r1014-1015]  Andrew M. Bishop <amb>

	* web/www/routino/page-elements.js: Remove some temporary variables
	  by combining statements.

	* web/www/routino/visualiser.js: A change that should have been in
	  r985.

2012-07-09 [r1013]  Andrew M. Bishop <amb>

	* web/www/openlayers/routino.cfg, web/www/routino/visualiser.js,
	  web/www/routino/router.js: Make compatible with OpenLayers
	  version 2.12 (but don't default to using it).

2012-07-09 [r1012]  Andrew M. Bishop <amb>

	* doc/INSTALL.txt, web/www/routino/router.js,
	  web/www/routino/mapprops.js: Move the maxmarkers variable from
	  router.js to mapprops.js.

2012-06-30 [r1011]  Andrew M. Bishop <amb>

	* web/www/routino/router.js, web/www/routino/visualiser.js: Remove
	  some temporary variables by combining statements.

2012-06-29 [r1010]  Andrew M. Bishop <amb>

	* web/www/routino/router.html.de,
	  web/www/routino/visualiser.html.en,
	  web/www/routino/router.html.nl, web/www/routino/router.js,
	  web/www/routino/router.html.en: Fix HTML so that it validates.

2012-06-29 [r1009]  Andrew M. Bishop <amb>

	* web/www/routino/router.js, web/www/routino/visualiser.js: Be more
	  consistent with the .transform() operation.

2012-06-29 [r1008]  Andrew M. Bishop <amb>

	* web/www/routino/router.js, web/www/routino/search.pl,
	  web/www/routino/search.cgi: Pass bounding box to search to help
	  find local places. Properly URI encode search strings. Properly
	  check CGI parameters.

2012-06-29 [r1007]  Andrew M. Bishop <amb>

	* web/www/routino/router.html.en, web/www/routino/router.css,
	  web/www/routino/router.html.de, web/www/routino/router.html.nl:
	  Remove all style definitions from HTML files except for
	  "display:none".

2012-06-29 [r1005-1006]  Andrew M. Bishop <amb>

	* web/www/routino/icons/waypoint-coords.png,
	  web/www/routino/icons/waypoint-search.png: Fix icons to have
	  transparent background.

	* web/www/routino/router.html.de, web/www/routino/router.html.nl,
	  web/www/routino/router.js, web/www/routino/search.pl,
	  web/www/routino/router.html.en, web/www/routino/search.cgi,
	  web/www/routino/router.css, doc/INSTALL.txt: Display all of the
	  search results and allow the user to select one.

2012-06-05 [r1004]  Andrew M. Bishop <amb>

	* web/www/routino/search.pl, web/www/routino/router.cgi,
	  web/www/routino/results.cgi, web/www/routino/search.cgi,
	  web/www/routino/visualiser.cgi, web/www/routino/router.pl,
	  web/www/routino/statistics.cgi: Made some of the perl variables
	  scope-local and checked other perl functions.

2012-06-05 [r1003]  Andrew M. Bishop <amb>

	* src/visualiser.c, doc/html/usage.html,
	  web/www/routino/visualiser.js, src/visualiser.h,
	  src/filedumper.c, doc/USAGE.txt, web/www/routino/visualiser.cgi,
	  web/www/routino/visualiser.html.en: Add an option to the
	  visualiser to display segments of each of the highway types.

2012-06-05 [r1002]  Andrew M. Bishop <amb>

	* src/visualiser.h, src/filedumper.c, doc/USAGE.txt,
	  web/www/routino/visualiser.cgi,
	  web/www/routino/visualiser.html.en,
	  web/www/routino/visualiser.css, src/visualiser.c,
	  doc/html/usage.html, web/www/routino/visualiser.js: Add an option
	  to the visualiser to display segments accessible to each of the
	  transport types.

2012-06-05 [r1001]  Andrew M. Bishop <amb>

	* web/www/routino/router.html.en, web/www/routino/search.cgi
	  (added), web/www/routino/router.css, web/www/routino/paths.pl,
	  web/www/routino/router.html.de,
	  web/www/routino/icons/waypoint-search.png (added),
	  web/www/routino/router.html.nl, web/www/routino/router.js,
	  web/www/routino/icons/waypoint-coords.png (added),
	  web/www/routino/search.pl (added): Add a button to replace the
	  lat/long text entry with a location search entry. Use Nominatim
	  service via CGI to get first search result and fill in coords.

2012-06-04 [r999-1000]  Andrew M. Bishop <amb>

	* web/www/routino/results.cgi: No need to include paths.pl.

	* doc/html/installation.html: Move the filename prefix parameter to
	  the paths.pl script with the other user-editable parameters.

2012-06-04 [r998]  Andrew M. Bishop <amb>

	* doc/INSTALL.txt, web/www/routino/paths.pl,
	  web/www/routino/router.pl: Move the filename prefix parameter to
	  the paths.pl script with the other user-editable parameters.

2012-06-04 [r997]  Andrew M. Bishop <amb>

	* web/www/routino/router.pl: On OSX the md5 program is called "md5"
	  and not "md5sum".

2012-05-10 [r996]  Andrew M. Bishop <amb>

	* src/sorting.c: Added some mutexes and condition variables to
	  communicate between threads.

2012-05-09 [r995]  Andrew M. Bishop <amb>

	* src/relationsx.c: Force bicycle routes to be bicycle accessible
	  and foot routes to be foot accessible.

2012-05-08 [r994]  Andrew M. Bishop <amb>

	* web/www/routino/router.html.de: Merge in the changes to the HTML
	  template.

2012-05-08 [r993]  Andrew M. Bishop <amb>

	* web/www/routino/router.html.de: Make link to documentation a
	  relative one rather than to the Routino website.

2012-05-08 [r992]  Andrew M. Bishop <amb>

	* web/www/routino/router.html.en, web/www/routino/router.html.de
	  (added), web/www/routino/router.html.nl: Add a German language
	  router webpage, and links to it from the other ones (patch from
	  Andreas Matthus).

2012-05-02 [r991]  Andrew M. Bishop <amb>

	* src/planetsplitter.c, src/Makefile, doc/USAGE.txt, src/sorting.c,
	  doc/html/usage.html: Convert sorting algorithms to optionally use
	  multiple threads.

2012-05-01 [r990]  Andrew M. Bishop <amb>

	* xml/routino-osm.xsd, xml/osm.xsd, src/osmparser.c: Handle OSM
	  files that contain changesets.

2012-04-29 [r989]  Andrew M. Bishop <amb>

	* src/planetsplitter.c: Handle the --process-only and --parse-only
	  options better.

2012-04-01 [r988]  Andrew M. Bishop <amb>

	* web/www/routino/customvisualiser.cgi,
	  web/www/routino/customrouter.cgi: Don't even bother checking the
	  legality of the parameters since the JavaScript does that.

2012-04-01 [r987]  Andrew M. Bishop <amb>

	* web/www/routino/icons, web/www/routino/router.html.nl,
	  web/www/routino/router.js, web/www/routino/icons/create-icons.pl,
	  web/www/routino/router.html.en: The number of waypoints is
	  controlled by the JavaScript and they are automatically inserted
	  so there is no need to insert multiple lines in the HTML.

2012-03-31 [r986]  Andrew M. Bishop <amb>

	* web/www/routino/router.html.en,
	  web/www/routino/visualiser.html.en,
	  web/www/routino/router.html.nl, web/www/routino/router.js,
	  web/www/routino/visualiser.js: Update the link URLs just-in-time
	  rather than every time the map moves or parameters are changed.

2012-03-24 [r985]  Andrew M. Bishop <amb>

	* web/www/routino/visualiser.js,
	  web/www/routino/customvisualiser.cgi,
	  web/www/routino/router.html.en,
	  web/www/routino/visualiser.html.en,
	  web/www/routino/router.html.nl, web/www/routino/router.js,
	  web/www/routino/customrouter.cgi: Process the URL query string in
	  the Javascript not in custom*.cgi. Refactor a lot of the code for
	  coordinate handling. Simplify custom*.cgi so that they just
	  redirect to the HTML page (will be removed in later versions -
	  for existing link compatibility only).

2012-03-23 [r984]  Andrew M. Bishop <amb>

	* web/www/routino/router.html.en, web/www/routino/router.html.nl,
	  web/www/routino/router.js: Added new buttons to centre map on
	  marker and to add coordinates for current location (Javascript
	  geolocation function). Shuffled the existing buttons around.
	  Allow "up" on first marker and "down" on last marker to wrap
	  around.

2012-03-23 [r983]  Andrew M. Bishop <amb>

	* web/www/routino/icons/waypoint-locate.png (added),
	  web/www/routino/icons/waypoint-recentre.png (added),
	  web/www/routino/icons/waypoint-down.png,
	  web/www/routino/icons/waypoint-add.png,
	  web/www/routino/icons/waypoint-home.png,
	  web/www/routino/icons/waypoint-remove.png,
	  web/www/routino/icons/waypoint-centre.png,
	  web/www/routino/icons/waypoint-up.png: Enlarged the button icons,
	  changed some and added two new ones.

2012-03-17 [r982]  Andrew M. Bishop <amb>

	* src/logging.c, doc/html/usage.html, src/planetsplitter.c,
	  src/logging.h, doc/USAGE.txt: Add a new '--logtime' option that
	  prints the elapsed time for planetsplitter.

2012-03-03  Andrew M. Bishop <amb>

	Version 2.2 released

2012-03-03 [r978-981]  Andrew M. Bishop <amb>

	* doc/html/output.html: Updated to version 2.2.

	* doc/html/readme.html: Updated to version 2.2.

	* doc/README.txt, FILES: Updated to version 2.2.

	* doc/NEWS.txt: Updated to version 2.2.

2012-02-21 [r977]  Andrew M. Bishop <amb>

	* src/prunex.c: Refactor code slightly for isolated regions.

2012-02-21 [r976]  Andrew M. Bishop <amb>

	* src/prunex.c: Re-arrange small sections of code based on results
	  of profiling.

2012-02-21 [r975]  Andrew M. Bishop <amb>

	* src/test/a-b-c.sh, src/test/a-b.sh, doc/html/usage.html,
	  src/planetsplitter.c, src/test/Makefile, src/test, doc/USAGE.txt,
	  src/test/start-1-finish.sh, src/test/only-split.sh: Enable
	  pruning by default. Fix the test cases to run with and without
	  pruning but only compare against the expected results when not
	  pruned.

2012-02-20 [r974]  Andrew M. Bishop <amb>

	* src/planetsplitter.c: Prune straight highways then isolated
	  regions and then short segments.

2012-02-20 [r973]  Andrew M. Bishop <amb>

	* src/prunex.c: Remove compiler warnings (when compiled with
	  optimisation).

2012-02-20 [r972]  Andrew M. Bishop <amb>

	* src/prunex.c: Allow pruning isolated regions to be run second or
	  later.

2012-02-20 [r971]  Andrew M. Bishop <amb>

	* src/prunex.c: Don't remove nodes/segments when straightening ways
	  if it would cause the loss of a way name.

2012-02-19 [r970]  Andrew M. Bishop <amb>

	* src/prunex.c: Some fixes to be able to process the whole of the
	  UK.

2012-02-18 [r969]  Andrew M. Bishop <amb>

	* doc/html/algorithm.html, doc/ALGORITHM.txt: Add a general
	  description of data pruning.

2012-02-18 [r968]  Andrew M. Bishop <amb>

	* src/prunex.c: Fix bug with pruning that caused super-node search
	  to fail.

2012-02-18 [r967]  Andrew M. Bishop <amb>

	* src/prunex.c: Refactored the code for straight highways and made
	  improvements.

2012-02-18 [r966]  Andrew M. Bishop <amb>

	* src/prunex.h, doc/html/usage.html, src/planetsplitter.c,
	  doc/USAGE.txt, src/prunex.c: Prune nodes in the middle of
	  straight highways.

2012-02-12 [r965]  Andrew M. Bishop <amb>

	* src/nodesx.h: Need 3 cached nodes for slim mode.

2012-02-11 [r964]  Andrew M. Bishop <amb>

	* doc/html/usage.html, src/planetsplitter.c, src/segments.h,
	  doc/USAGE.txt, src/waysx.h, src/prunex.c, src/segmentsx.h: Prune
	  short segments.

2012-02-09 [r963]  Andrew M. Bishop <amb>

	* src/prunex.h, src/planetsplitter.c, src/prunex.c: Prune isolated
	  segments if they cannot be routed to anywhere else, not just if
	  they are not connected.

2012-02-09 [r962]  Andrew M. Bishop <amb>

	* src/types.h: The latlong_t type is signed so must use an
	  appropriate constant.

2012-02-08 [r961]  Andrew M. Bishop <amb>

	* src/nodesx.h, src/types.h, src/prunex.c: Change the way that
	  pruned nodes are recorded.

2012-02-08 [r960]  Andrew M. Bishop <amb>

	* src/prunex.c: Don't mark pruned nodes as they are found but mark
	  them all at the end.

2012-02-07 [r959]  Andrew M. Bishop <amb>

	* src/Makefile: Revert the CFLAGS value.

2012-01-28 [r958]  Andrew M. Bishop <amb>

	* src/typesx.h: Fix the recent change with the bitmask type.

2012-01-28 [r956-957]  Andrew M. Bishop <amb>

	* src/files.h, src/prunex.c: Fix function comments.

	* src/sorting.h: Replace a missing header.

2012-01-28 [r955]  Andrew M. Bishop <amb>

	* src/segments.c, src/prunex.h, src/superx.c, src/visualiser.c,
	  src/relationsx.c, src/profiles.h, src/sorting.h, src/fakes.h,
	  src/nodesx.c, src/output.c, src/relations.c, src/typesx.h,
	  src/results.c, src/relations.h, src/nodes.c, src/waysx.c,
	  src/optimiser.c, src/osmparser.c, src/segmentsx.c, src/nodes.h,
	  src/tagging.c, src/prunex.c, src/segmentsx.h, src/profiles.c,
	  src/queue.c: Simplify and standardise the included headers.

2012-01-14 [r954]  Andrew M. Bishop <amb>

	* src/typesx.h: Change the bitmask type from uint8_t to uint32_t.

2012-01-14 [r953]  Andrew M. Bishop <amb>

	* src/prunex.h, doc/html/usage.html, src/planetsplitter.c,
	  doc/USAGE.txt, src/prunex.c: Add the option to prune small
	  isolated regions out of the database to avoid routes starting of
	  finishing on them.

2012-01-14 [r951-952]  Andrew M. Bishop <amb>

	* src/segmentsx.c: Bug fix for latest change.

	* src/relationsx.c: Zero the structure before filling it in so that
	  no junk is written to disk.

2012-01-13 [r950]  Andrew M. Bishop <amb>

	* src/nodesx.h, src/superx.c, src/segmentsx.c, src/typesx.h,
	  src/segmentsx.h: Add new macros to abstract the bit mask types.

2012-01-13 [r949]  Andrew M. Bishop <amb>

	* src/nodesx.h, src/prunex.h (added), src/superx.c,
	  src/relationsx.c, src/types.h, src/planetsplitter.c,
	  src/Makefile, src/segmentsx.c, src/nodesx.c, src/prunex.c
	  (added), src/segmentsx.h: Add an infrastructure to allow adding
	  new functions to prune nodes and segments.

2012-01-11 [r948]  Andrew M. Bishop <amb>

	* src/sorting.c, src/relationsx.c, src/sorting.h, src/waysx.c,
	  src/nodesx.c: The filesort_*() functions now return a count of
	  the number of items kept after sorting.

2012-01-10 [r947]  Andrew M. Bishop <amb>

	* src/superx.c, src/nodesx.c: Move the allocation of the nodexs
	  super flags memory until just before it is needed and free it as
	  soon as no longer needed.

2011-12-11 [r946]  Andrew M. Bishop <amb>

	* src/segmentsx.c: Remove unnecessary test.

2011-12-11 [r945]  Andrew M. Bishop <amb>

	* src/output.c: Remove warning about uninitialised variable.

2011-12-11 [r944]  Andrew M. Bishop <amb>

	* src/relationsx.c, src/segmentsx.c, src/nodesx.c: Fill the
	  structures with zero before inserting data and writing to file
	  (removes junk from unused spaces in database files).

2011-12-11 [r943]  Andrew M. Bishop <amb>

	* src/superx.c, src/relationsx.c, src/segmentsx.c, src/segmentsx.h:
	  Remove the "position" parameter from the NextSegmentX() function.

2011-12-11 [r942]  Andrew M. Bishop <amb>

	* src/nodesx.h, src/relationsx.c, src/segmentsx.c, src/waysx.h,
	  src/segmentsx.h: Remove the "position" parameter from the
	  PutBack*X() functions (only used in slim mode).

2011-12-10 [r940-941]  Andrew M. Bishop <amb>

	* src/osmparser.h: Update file now that the name has changed.

	* src/functionsx.h (removed), src/planetsplitter.c,
	  src/osmparser.c, src/osmparser.h (added): Rename functionsx.h to
	  osmparser.h.

2011-12-09 [r939]  Andrew M. Bishop <amb>

	* web/www/routino/customvisualiser.cgi,
	  web/www/routino/customrouter.cgi: The custom router uses the
	  translated router.html or visualiser.html depending on the
	  browser's Accept-Language header.

2011-12-08 [r936-938]  Andrew M. Bishop <amb>

	* web/www/routino/visualiser.html (added): Create a link from
	  visualiser.html.en to visualiser.html.

	* web/www/routino/visualiser.html (removed),
	  web/www/routino/visualiser.html.en (added): Rename
	  visualiser.html to visualiser.html.en.

	* web/www/routino/visualiser.js, web/www/routino/visualiser.html,
	  web/www/routino/router.js: Move semi-constant strings from the
	  JavaScript to the HTML so that they can be translated.

2011-12-08 [r935]  Andrew M. Bishop <amb>

	* web/www/routino/router.html.en, web/www/routino/router.html.nl,
	  web/www/routino/router.js: Use the translated total distance from
	  the summary and not the untranslated one from the CGI.

2011-12-08 [r934]  Andrew M. Bishop <amb>

	* src/visualiser.c: Make limit checking work with one-way streets
	  and in slim mode.

2011-12-07 [r933]  Andrew M. Bishop <amb>

	* doc/html/installation.html, web/www/routino/visualiser.js,
	  web/www/routino/router.html.en, doc/INSTALL.txt,
	  web/www/routino/visualiser.html, web/www/routino/router.html.nl,
	  web/www/routino/router.js, web/www/routino/mapprops.js (added):
	  Move the map preferences (N/S/E/W range, zoom range and URLs) to
	  a separate file.

2011-12-07 [r932]  Andrew M. Bishop <amb>

	* web/www/routino/page-elements.css,
	  web/www/routino/router.html.en, web/www/routino/visualiser.html,
	  web/www/routino/router.html.nl: Replace the "show"/"hide" button
	  with "+"/"-" buttons.

2011-12-07 [r931]  Andrew M. Bishop <amb>

	* web/data/create.sh: Generate an error log.

2011-12-06 [r930]  Andrew M. Bishop <amb>

	* doc/TAGGING.txt, doc/html/tagging.html: Describe what the
	  roundabout and mini-roundabout tags are used for.

2011-12-06 [r929]  Andrew M. Bishop <amb>

	* src/output.c: Mini-roundabouts are now described as roundabouts
	  instead of junctions.

2011-12-06 [r927-928]  Andrew M. Bishop <amb>

	* src/test/expected/turns-WP09.txt,
	  src/test/expected/turns-WP10.txt,
	  src/test/expected/turns-WP11.txt,
	  src/test/expected/turns-WP12.txt,
	  src/test/expected/turns-WP13.txt,
	  src/test/expected/turns-WP14.txt,
	  src/test/expected/turns-WP15.txt,
	  src/test/expected/turns-WP07.txt,
	  src/test/expected/turns-WP08.txt: Updated test case expected
	  results with the roundabout changes.

	* src/output.c: Use constants for the values of the "important"
	  variable. Fix the missing junctions on roundabouts.

2011-12-06 [r925-926]  Andrew M. Bishop <amb>

	* src/output.c: Output HTML directions for roundabouts.

	* xml/routino-translations.xml, src/translations.h,
	  src/translations.c, xml/routino-translations.xsd: Add new
	  translate-able strings for roundabouts.

2011-12-06 [r924]  Andrew M. Bishop <amb>

	* src/ways.h: Cache three ways not two.

2011-11-26 [r923]  Andrew M. Bishop <amb>

	* src/types.h, doc/TAGGING.txt, src/osmparser.c, src/filedumper.c,
	  doc/html/tagging.html, src/types.c, xml/routino-tagging.xml:
	  Parse and store information about roundabouts (to improve routing
	  instructions).

2011-11-26 [r921-922]  Andrew M. Bishop <amb>

	* doc/OUTPUT.txt, src/output.c, doc/html/output.html: Refactor a
	  lot of the code, simplify it and fix some bugs: Names of highways
	  in HTML format. Names of highways and bearings for GPX routes.
	  Change the format of the text file to be more like GPX & HTML.

	* src/ways.h, src/ways.c: Allow space to cache one name for each
	  cached way (in slim mode).

2011-11-23 [r920]  Andrew M. Bishop <amb>

	* xml/routino-tagging-nomodify.xml: Fix the invalid XML.

2011-11-22 [r919]  Andrew M. Bishop <amb>

	* src/osmparser.c, xml/routino-osm.xsd: Check that XML file
	  contains version='0.6' in 'osm' tag.

2011-11-22 [r918]  Andrew M. Bishop <amb>

	* src/filedumper.c: Refactor the code by moving the dumping of an
	  OSM region into a separate function.

2011-11-22 [r917]  Andrew M. Bishop <amb>

	* src/filedumper.c: Include a bounding box in the --dump-osm XML
	  output.

2011-11-21 [r916]  Andrew M. Bishop <amb>

	* src/filedumper.c: Ensure that only segments completely within the
	  specified region are dumped when using --dump-osm.

2011-11-21 [r914-915]  Andrew M. Bishop <amb>

	* doc/TAGGING.txt, doc/html/tagging.html: Document the use of the
	  area tag.

	* src/osmparser.c, src/segmentsx.c, xml/routino-tagging.xml: When
	  an area and a way overlap keep the way and discard the area.

2011-11-20 [r913]  Andrew M. Bishop <amb>

	* src/test/Makefile, src/xml/Makefile: Fix some more Makefile
	  oddities.

2011-11-20 [r912]  Andrew M. Bishop <amb>

	* web/www/openlayers/install.sh: Change script to default to
	  downloading OpenLayers v2.11.

2011-11-19 [r910-911]  Andrew M. Bishop <amb>

	* Makefile: Fix some Makefile oddities.

	* src/test/Makefile, src/Makefile, src/xml/Makefile: Fix some
	  Makefile oddities.

2011-11-19 [r907-909]  Andrew M. Bishop <amb>

	* doc/html/tagging.html: Fix heading anchor names.

	* src/xml/test/bad-comment-extra-double-dash.xml (added),
	  src/xmlparse.l: Fixed bug in XMl parsing that allowed invalid XML
	  (double dash within comments).

	* src/queue.c: Revert back to r874 (itself the same as r867) but
	  with the change that should have happened in r883 rather than
	  being based on r868.

2011-11-12  Andrew M. Bishop <amb>

	Version 2.1.2 released

2011-11-12 [r903]  Andrew M. Bishop <amb>

	* doc/NEWS.txt, doc/README.txt, FILES, doc/html/readme.html:
	  Updated for version 2.1.2.

2011-11-12 [r902]  Andrew M. Bishop <amb>

	* xml/routino-translations.xml, web/www/routino/router.html.en,
	  web/www/routino/router.html.nl: Added Russian language
	  translations.

2011-11-12 [r901]  Andrew M. Bishop <amb>

	* doc/OUTPUT.txt, doc/TAGGING.txt, doc/ALGORITHM.txt,
	  doc/INSTALL.txt: Small formatting changes.

2011-11-11 [r900]  Andrew M. Bishop <amb>

	* doc/OUTPUT.txt, src/output.c, doc/html/output.html: Change the
	  names of the variables for the XML and raw versions of the
	  highway names. Output the text files with translated highway
	  names. Update the documentation to say that only the header is
	  untranslated in the text files.

2011-11-11 [r899]  Andrew M. Bishop <amb>

	* xml/routino-tagging.xml: Fix invalid XML file.

2011-11-11 [r898]  Andrew M. Bishop <amb>

	* doc/TAGGING.txt, doc/html/tagging.html, xml/routino-tagging.xml:
	  Improve the documentation for the tagging rule configuration
	  file.

2011-11-11 [r896-897]  Andrew M. Bishop <amb>

	* xml/routino-tagging.xml: Add some more tagging rules from the UK
	  error.log file.

	* web/bin/summarise-log.pl: Summarise segments that are loops.

2011-11-11 [r895]  Andrew M. Bishop <amb>

	* src/relationsx.c: Make the progress messages more consistent.

2011-11-10 [r894]  Andrew M. Bishop <amb>

	* web/www/routino/router.pl: Use the same convention to indicate
	  the user-editable part of the file as used elsewhere.

2011-11-10 [r893]  Andrew M. Bishop <amb>

	* src/translations.h, doc/OUTPUT.txt, src/output.c,
	  src/translations.c, doc/html/output.html: Change the names of the
	  variables for the XML and raw versions of the translations.
	  Output the text files with the raw versions and not the XML
	  versions of the copyright information. Update the documentation
	  to say that only the copyright information is translated in the
	  text files.

2011-11-10 [r892]  Andrew M. Bishop <amb>

	* src/translations.c: Don't convert the highway types to XML
	  numeric entities here (it is already done in the output
	  functions).

2011-11-09 [r891]  Andrew M. Bishop <amb>

	* src/optimiser.c: Change the condition used to terminate the
	  search for the best route.

2011-11-08 [r890]  Andrew M. Bishop <amb>

	* src/superx.c: Improve comment.

2011-11-08 [r889]  Andrew M. Bishop <amb>

	* xml/Makefile: Delete the auto-generated profile.js and profile.pl
	  files with distclean target.

2011-10-31 [r888]  Andrew M. Bishop <amb>

	* src/files.h: Add a #define to disable the use of pread()/pwrite()
	  but this must be manually configured, there is no configure
	  script.

2011-10-31 [r887]  Andrew M. Bishop <amb>

	* src/nodesx.h, src/relations.h, src/files.h, src/relationsx.c,
	  src/ways.h, src/segments.h, src/waysx.c, src/Makefile,
	  src/xml/Makefile, src/nodes.h, src/waysx.h, src/segmentsx.h: Use
	  pread() and pwrite() functions instead of seek() followed by
	  read() or write().

2011-10-30 [r886]  Andrew M. Bishop <amb>

	* src/nodes.c, src/nodes.h: Copy the node offsets into RAM for the
	  slim mode since looking them up in the file is the largest single
	  contributor to the time.

2011-10-29 [r885]  Andrew M. Bishop <amb>

	* src/segments.c, src/visualiser.c, src/nodes.c, src/optimiser.c,
	  src/filedumper.c, src/nodes.h, src/output.c: Rationalise and
	  reduce the usage of LookUpNode() function.

2011-10-24 [r884]  Andrew M. Bishop <amb>

	* src/Makefile, src/xml/Makefile: Fix long-standing annoying bug
	  with dependencies for slim versions.

2011-10-24 [r883]  Andrew M. Bishop <amb>

	* src/queue.c: No need to use uint32_t (just use int).

2011-10-23  Andrew M. Bishop <amb>

	Version 2.1.1 released

2011-10-23 [r881-882]  Andrew M. Bishop <amb>

	* doc/NEWS.txt, FILES, doc/html/readme.html: Update for version
	  2.1.1.

	* doc/html/configuration.html: Update copyright year.

2011-10-22 [r880]  Andrew M. Bishop <amb>

	* Makefile: Fix running 'make test' from the top level.

2011-10-22 [r879]  Andrew M. Bishop <amb>

	* src/filedumper.c: Add some more typecasts before printing the
	  values.

2011-10-22 [r878]  Andrew M. Bishop <amb>

	* xml/Makefile: Fix the installation of the XML files.

2011-10-22 [r876-877]  Andrew M. Bishop <amb>

	* src/test/expected/turns-WP09.txt, src/test/turns.osm,
	  src/test/expected/turns-WP10.txt,
	  src/test/expected/turns-WP11.txt,
	  src/test/expected/turns-WP12.txt,
	  src/test/expected/turns-WP04.txt,
	  src/test/expected/turns-WP13.txt,
	  src/test/expected/turns-WP05.txt,
	  src/test/expected/turns-WP14.txt,
	  src/test/expected/turns-WP06.txt,
	  src/test/expected/turns-WP15.txt,
	  src/test/expected/turns-WP16.txt (added),
	  src/test/expected/turns-WP07.txt,
	  src/test/expected/turns-WP08.txt: Test case for 'except' tags on
	  turn restrictions.

	* src/osmparser.c, xml/routino-tagging.xml: Fix handling of
	  'except' tags for turn restrictions.

2011-10-22 [r875]  Andrew M. Bishop <amb>

	* src/sorting.c: Revert back to something very close to r869
	  because it is fastest by a tiny fraction.

2011-10-22 [r874]  Andrew M. Bishop <amb>

	* src/results.h, src/queue.c: Revert back to r867 because it is
	  faster (although only by 1%) than any of the other combinations.

2011-10-22 [r873]  Andrew M. Bishop <amb>

	* src/sorting.c, src/queue.c: Revert back to r864 zero-based binary
	  heap but with r868/r869 refactored code.

2011-10-15 [r872]  Andrew M. Bishop <amb>

	* src/sorting.c, src/queue.c: Change the binary heap to a 3-ary
	  heap.

2011-10-15 [r871]  Andrew M. Bishop <amb>

	* src/sorting.c: Bug fixes for the previous change.

2011-10-15 [r870]  Andrew M. Bishop <amb>

	* src/sorting.c, src/results.h, src/queue.c: Change the binary heap
	  to a 4-ary heap.

2011-10-15 [r868-869]  Andrew M. Bishop <amb>

	* src/sorting.c: Refactor the binary heap to reduce the number of
	  comparisons.

	* src/queue.c: Refactor the binary heap to reduce the number of
	  comparisons.

2011-10-09 [r867]  Andrew M. Bishop <amb>

	* src/sorting.c: Change to a unity based binary heap rather than
	  zero based one to save some additions.

2011-10-09 [r866]  Andrew M. Bishop <amb>

	* src/queue.c: Bug fix with previous change.

2011-10-06 [r865]  Andrew M. Bishop <amb>

	* src/results.h, src/queue.c: Change to a unity based binary heap
	  rather than zero based one to save some additions.

2011-10-06 [r864]  Andrew M. Bishop <amb>

	* src/results.c: Swap the order of two parts of an && statement.

2011-10-06 [r863]  Andrew M. Bishop <amb>

	* src/results.h, src/results.c: Change bin counters to 8-bit
	  (reduces memory) and pre-allocate first dimension of pointer
	  array (saves time).

2011-10-06 [r862]  Andrew M. Bishop <amb>

	* Makefile, xml/Makefile, doc/Makefile, src/Makefile,
	  src/xml/Makefile: Makefiles are more consistent with each other
	  and 'make test' can be run from the top level.

2011-10-06 [r861]  Andrew M. Bishop <amb>

	* doc/html/usage.html, src/planetsplitter.c, doc/USAGE.txt: Change
	  the default number of iterations to 5 since testing shows that
	  there is negligible improvement beyond here.

2011-10-05 [r860]  Andrew M. Bishop <amb>

	* src/optimiser.c: Optimise the number of hash function bins by
	  trial and error.

2011-10-05 [r859]  Andrew M. Bishop <amb>

	* src/Makefile, src/xml/Makefile: Add the gcc options for profiling
	  (coverage) and delete the files generated by it.

2011-10-05 [r858]  Andrew M. Bishop <amb>

	* src/results.c: If there are too many results in one bin then
	  double the number of bins.

2011-10-05 [r857]  Andrew M. Bishop <amb>

	* src/results.h, src/results.c: Remove the two RESULTS_*_INCREMENT
	  constants by swapping the dimensions on the 'point' array so that
	  both have unity value and are pointless.

2011-10-05 [r856]  Andrew M. Bishop <amb>

	* src/superx.c: Optimise the number of hash function bins by trial
	  and error.

2011-10-04 [r854-855]  Andrew M. Bishop <amb>

	* src/superx.c, src/optimiser.c: Increase the size of the hash
	  array used to store the results.

	* src/results.h, src/results.c: Change the way that allocated
	  memory is tracked.

2011-10-04 [r853]  Andrew M. Bishop <amb>

	* src/results.c: Split the data increment constant into two for the
	  different parts of the data structure.

2011-10-03 [r852]  Andrew M. Bishop <amb>

	* web/www/routino/router.cgi: Ensure that the shortest or quickest
	  option is passed to the router.

2011-10-03  Andrew M. Bishop <amb>

	Version 2.1 released

2011-10-03 [r851]  Andrew M. Bishop <amb>

	* FILES: Remove another .svn directory.

2011-10-03 [r850]  Andrew M. Bishop <amb>

	* doc/NEWS.txt, FILES, doc/html/readme.html: Update for version
	  2.1.

2011-09-07 [r849]  Andrew M. Bishop <amb>

	* src/test/super-or-not.osm, src/optimiser.c,
	  src/test/expected/super-or-not-WP03.txt (added): Handle the
	  special case where the start point is a super-node and the finish
	  point is somewhere within one of the super-segments from that
	  node.

2011-09-07 [r848]  Andrew M. Bishop <amb>

	* src/nodes.c: Fix for previous binary search change.

2011-09-07 [r847]  Andrew M. Bishop <amb>

	* src/filedumper.c: Fix bug with earlier change to OSM file
	  creator.

2011-09-07 [r846]  Andrew M. Bishop <amb>

	* src/router.c: Fix confusing, duplicated, output message.

2011-09-07 [r845]  Andrew M. Bishop <amb>

	* src/nodes.c: Make stricter checks for closest nodes just like in
	  v2.0.3 for segments.

2011-09-07 [r844]  Andrew M. Bishop <amb>

	* src/filedumper.c: Fix formatting problem with dumped OSM file.

2011-09-07 [r842-843]  Andrew M. Bishop <amb>

	* src/nodes.c, src/waysx.c, src/nodesx.c, src/relations.c: Check
	  binary search functions and improve comments, fix pathological
	  case with end point and/or improve start point.

	* src/filedumper.c: Use macro test function rather than direct
	  check.

2011-09-06 [r841]  Andrew M. Bishop <amb>

	* src/test/super-or-not.osm (added), src/test/a-b.sh (added),
	  src/test/expected/super-or-not-WP01.txt (added),
	  src/test/expected/super-or-not-WP02.txt (added), src/test,
	  src/test/super-or-not.sh (added): Added a new test case for the
	  routing bug-fix in version 2.0.3 (route via super-nodes may not
	  be shortest).

2011-09-06 [r840]  Andrew M. Bishop <amb>

	* src/test/expected/dead-ends-WP01.txt,
	  src/test/expected/dead-ends-WP02.txt,
	  src/test/expected/dead-ends-WP03.txt,
	  src/test/expected/dead-ends-WP04.txt,
	  src/test/expected/dead-ends-WP05.txt,
	  src/test/expected/dead-ends-WP06.txt,
	  src/test/expected/dead-ends-WP07.txt,
	  src/test/expected/dead-ends-WP08.txt,
	  src/test/expected/dead-ends-WP09.txt,
	  src/test/expected/loops-WP10.txt,
	  src/test/expected/loops-WP11.txt, src/test/copyright.xml (added),
	  src/test/expected/no-super-WP01.txt,
	  src/test/expected/no-super-WP02.txt,
	  src/test/expected/no-super-WP03.txt,
	  src/test/expected/no-super-WP04.txt,
	  src/test/expected/turns-WP01.txt,
	  src/test/expected/turns-WP02.txt,
	  src/test/expected/turns-WP03.txt, src/test/start-1-finish.sh,
	  src/test/expected/turns-WP04.txt,
	  src/test/expected/turns-WP05.txt,
	  src/test/expected/turns-WP06.txt,
	  src/test/expected/turns-WP07.txt,
	  src/test/expected/turns-WP08.txt,
	  src/test/expected/turns-WP09.txt, src/test/a-b-c.sh,
	  src/test/expected/dead-ends-WP10.txt,
	  src/test/expected/dead-ends-WP11.txt,
	  src/test/expected/loops-WP01.txt,
	  src/test/expected/loops-WP02.txt,
	  src/test/expected/loops-WP03.txt,
	  src/test/expected/loops-WP04.txt,
	  src/test/expected/loops-WP05.txt,
	  src/test/expected/loops-WP06.txt,
	  src/test/expected/loops-WP07.txt,
	  src/test/expected/loops-WP08.txt,
	  src/test/expected/loops-WP09.txt,
	  src/test/expected/turns-WP10.txt,
	  src/test/expected/turns-WP11.txt,
	  src/test/expected/turns-WP12.txt,
	  src/test/expected/turns-WP13.txt,
	  src/test/expected/turns-WP14.txt,
	  src/test/expected/turns-WP15.txt: Ensure that test cases have
	  correct copyright notice (Routino, AGPL3) in generated data and
	  not the default one (OSM, CC-SA).

2011-09-06 [r838-839]  Andrew M. Bishop <amb>

	* src/test/expected/dead-ends-WP01.txt (added),
	  src/test/expected/dead-ends-WP02.txt (added),
	  src/test/expected/dead-ends-WP03.txt (added),
	  src/test/expected/dead-ends-WP04.txt (added),
	  src/test/expected/dead-ends-WP05.txt (added),
	  src/test/expected/dead-ends-WP06.txt (added),
	  src/test/expected/dead-ends-WP07.txt (added),
	  src/test/expected/dead-ends-WP08.txt (added),
	  src/test/expected/loops-WP10.txt (added),
	  src/test/expected/dead-ends-WP09.txt (added),
	  src/test/expected/loops-WP11.txt (added),
	  src/test/expected/no-super-WP01.txt (added),
	  src/test/expected/no-super-WP02.txt (added),
	  src/test/expected/no-super-WP03.txt (added),
	  src/test/expected/turns-WP01.txt (added),
	  src/test/expected/no-super-WP04.txt (added),
	  src/test/expected/turns-WP02.txt (added),
	  src/test/expected/turns-WP03.txt (added),
	  src/test/expected/turns-WP04.txt (added),
	  src/test/expected/turns-WP05.txt (added),
	  src/test/expected/turns-WP06.txt (added),
	  src/test/expected/turns-WP07.txt (added),
	  src/test/expected/turns-WP08.txt (added),
	  src/test/expected/turns-WP09.txt (added),
	  src/test/expected/dead-ends-WP10.txt (added),
	  src/test/expected/dead-ends-WP11.txt (added),
	  src/test/expected/loops-WP01.txt (added),
	  src/test/expected/loops-WP02.txt (added),
	  src/test/expected/loops-WP03.txt (added),
	  src/test/expected/loops-WP04.txt (added),
	  src/test/expected/loops-WP05.txt (added),
	  src/test/expected/loops-WP06.txt (added),
	  src/test/expected/loops-WP07.txt (added),
	  src/test/expected/loops-WP08.txt (added),
	  src/test/expected/loops-WP09.txt (added),
	  src/test/expected/turns-WP10.txt (added),
	  src/test/expected/turns-WP11.txt (added),
	  src/test/expected/turns-WP12.txt (added),
	  src/test/expected/turns-WP13.txt (added),
	  src/test/expected/turns-WP14.txt (added),
	  src/test/expected/turns-WP15.txt (added): Store the expected
	  results to check for future regressions.

	* src/test/a-b-c.sh, src/test/expected (added),
	  src/test/start-1-finish.sh: Store the expected results to check
	  for future regressions.

2011-09-05 [r837]  Andrew M. Bishop <amb>

	* src/relationsx.c: Ignore relations based on all vehicle types
	  (including bicycles) not just motor vehicles.

2011-09-05 [r836]  Andrew M. Bishop <amb>

	* xml/Makefile, xml/scripts/walk.pl (added), xml,
	  xml/scripts/ride.pl (added), web/data, xml/scripts (added),
	  xml/scripts/drive.pl (added): Generate special-use sets of
	  tagging rules for walking, riding and driving

2011-08-27 [r834-835]  Andrew M. Bishop <amb>

	* web/bin/summarise-log.pl (added): A script to process the error
	  log file and summarise it.

	* xml/routino-tagging.xml: Add lots more tagging rules based on
	  errors logged from parsing UK, add some more error logging.

2011-08-27 [r832-833]  Andrew M. Bishop <amb>

	* src/osmparser.c: Only log errors for highways.

	* src/relationsx.c: Improve the error messages for bad relations.

2011-08-27 [r830-831]  Andrew M. Bishop <amb>

	* src/filedumper.c: Change the 'generator' tag in the dumped XML
	  file.

	* xml/routino-tagging.xsd: Whitespace change.

2011-08-21 [r828]  Andrew M. Bishop <amb>

	* doc/NEWS.txt, doc/README.txt, src/nodes.c, FILES,
	  src/optimiser.c, src/router.c, doc/html/readme.html: Merge
	  version 2.0.3 into working version.

2011-08-14 [r827]  Andrew M. Bishop <amb>

	* src/tagging.h, src/tagging.c, xml/routino-tagging.xsd: Add an
	  unset rule in the tagging processing XML file.

2011-08-13 [r826]  Andrew M. Bishop <amb>

	* src/tagging.h, src/tagmodifier.c, src/osmparser.c, src/tagging.c,
	  xml/routino-tagging.xsd: Add a logerror rule in the tagging
	  processing XML file.

2011-08-04 [r825]  Andrew M. Bishop <amb>

	* src/osmparser.c: Add more acceptable number suffixes.

2011-07-23 [r813]  Andrew M. Bishop <amb>

	* src/osmparser.c: Better parsing of width/height/length and weight
	  and more information about value actually used.

2011-07-21 [r812]  Andrew M. Bishop <amb>

	* src/relationsx.c, src/osmparser.c, src/waysx.c, src/segmentsx.c,
	  src/nodesx.c: Add logging of parsing and processing errors.

2011-07-21 [r810-811]  Andrew M. Bishop <amb>

	* src/test/a-b-c.sh, src/test/start-1-finish.sh,
	  src/test/only-split.sh: Use the --errorlog option.

	* doc/html/usage.html, src/planetsplitter.c, doc/USAGE.txt: The
	  filename is now optional in the --errorlog option.

2011-07-21 [r809]  Andrew M. Bishop <amb>

	* src/planetsplitter.c: Only open/close the error log file if one
	  was requested.

2011-07-10 [r806-808]  Andrew M. Bishop <amb>

	* src/test: Ignore the auto-generated files from the new test case.

	* src/test/invalid-turn-relations.osm (added),
	  src/test/invalid-turn-relations.sh (added),
	  src/test/only-split.sh (added): Add test cases for the new turn
	  relation validity checks.

	* src/relationsx.c: Check turn relations more carefully and discard
	  them if they are invalid.

2011-07-04 [r805]  Andrew M. Bishop <amb>

	* src/relationsx.c: Change the termination of route relation
	  way/relation lists.

2011-07-03 [r804]  Andrew M. Bishop <amb>

	* src/logging.c, doc/html/usage.html, src/planetsplitter.c,
	  src/logging.h, doc/USAGE.txt: Add framework for logging error
	  during OSM parsing and subsequent processing.

2011-07-02 [r803]  Andrew M. Bishop <amb>

	* src/nodes.h: Replace over-sized file entry with one of
	  appropriate size.

2011-08-04  Andrew M. Bishop <amb>

	Version 2.0.3 released

2011-08-04 [r823]  Andrew M. Bishop <amb>

	* doc/NEWS.txt, doc/README.txt, FILES, doc/html/readme.html:
	  Updated for version 2.0.3.

2011-08-04 [r822]  Andrew M. Bishop <amb>

	* src/router.c: If there is a route that passes super-nodes and one
	  that doesn't then choose the better one.

2011-08-04 [r820-821]  Andrew M. Bishop <amb>

	* src/router.c: If there is a direct route without passing any
	  super-nodes then keep it as a backup in case the potential route
	  that does pass super-nodes doesn't work out.

	* src/optimiser.c: Allow calling FixForwardRoute() more than once.

2011-08-04 [r819]  Andrew M. Bishop <amb>

	* src/optimiser.c: Revert previous change because it breaks the
	  dead-end handling.

2011-08-03 [r818]  Andrew M. Bishop <amb>

	* src/router.c: Find a valid route if the start and end point are
	  the same location (it doesn't require a U-turn).

2011-08-03 [r817]  Andrew M. Bishop <amb>

	* src/optimiser.c, src/router.c: Add a new (less confusing) error
	  message for when the start of the route has no super-nodes and
	  doesn't include the end node and make clearer the error message
	  when the combining of routes fails.

2011-08-03 [r816]  Andrew M. Bishop <amb>

	* src/nodes.c: Make more checks on the closest segment to avoid
	  choosing one that our profile does not allow us to use.

2011-08-02 [r815]  Andrew M. Bishop <amb>

	* src/optimiser.c: Handle the case where the start node is a
	  super-node and there is no previous segment.

2011-06-26  Andrew M. Bishop <amb>

	Version 2.0.2 released

2011-06-26 [r800-r801]  Andrew M. Bishop <amb>

	* doc/README.txt, doc/html/readme.html: Update for version 2.0.2.

	* doc/NEWS.txt, FILES, doc/html/readme.html: Update for version
	  2.0.2.

2011-06-25 [r798-799]  Andrew M. Bishop <amb>

	* src/results.c: Fix comment associated with results list memory
	  handling.

	* src/optimiser.c: Free temporary results that are calculated.

2011-06-25 [r795-797]  Andrew M. Bishop <amb>

	* src/tagging.h, src/planetsplitter.c, src/tagging.c: Add some
	  functions to free the tagging rules when they have been used.

	* src/osmparser.c: Free some memory allocated when parsing the
	  file.

	* src/nodesx.c: Free some memory allocated when writing the file.

2011-06-19 [r794]  Andrew M. Bishop <amb>

	* src/tagmodifier.c: Change to unsigned long and ensure that printf
	  format specifiers are correct.

2011-06-19 [r792-793]  Andrew M. Bishop <amb>

	* src/segmentsx.c: If a node has no segments return a NULL pointer
	  rather than random junk.

	* xml/routino-tagging.xml: Reinstate the line that makes
	  roundabouts one-way.

2011-06-18 [r791]  Andrew M. Bishop <amb>

	* src/osmparser.c, src/xmlparse.h, src/xmlparse.l: Don't use the
	  flex yylineno but keep track with an unsigned long long line
	  counter instead (if there are more than 2^31 nodes then there are
	  more than 2^31 lines as well).

2011-06-18 [r790]  Andrew M. Bishop <amb>

	* src/superx.c, src/relationsx.c, src/types.h, src/osmparser.c,
	  src/waysx.c, src/filedumper.c, src/segmentsx.c, src/nodesx.c,
	  src/router.c, src/typesx.h: Ensure that when printing numbers of
	  the index_t type that an appropriate printf format specifier is
	  used (ready for if it is redefined as 64-bit).

2011-06-18 [r788-789]  Andrew M. Bishop <amb>

	* src/Makefile: Use the -std=c99 option by default.

	* src/relationsx.c, src/waysx.c, src/segmentsx.c, src/nodesx.c,
	  src/segmentsx.h: Fix some more warnings from -Wextra and/or
	  -pedantic options.

2011-06-18 [r787]  Andrew M. Bishop <amb>

	* src/xmlparse.l: Use flex %options instead of #defines, force
	  clean compilation with C99.

2011-06-18 [r786]  Andrew M. Bishop <amb>

	* src/relationsx.c, src/relationsx.h: Rename structure element
	  "restrict" to "restriction" to avoid C99 error (reserved word).

2011-06-18 [r785]  Andrew M. Bishop <amb>

	* src/superx.c: Removed warning from gcc-4.6.

2011-06-14 [r784]  Andrew M. Bishop <amb>

	* xml/routino-tagging.xml: Fix error with handling ferry routes
	  (patch from Michael Günnewig).

2011-06-07  Andrew M. Bishop <amb>

	Version 2.0.1 released

2011-06-07 [r782]  Andrew M. Bishop <amb>

	* doc/html/readme.html: Update for version 2.0.1.

2011-06-07 [r781]  Andrew M. Bishop <amb>

	* doc/NEWS.txt, doc/README.txt, FILES: Update for version 2.0.1.

2011-06-05 [r779-780]  Andrew M. Bishop <amb>

	* src/superx.c, src/visualiser.c, src/nodes.c, src/relationsx.c,
	  src/waysx.c, src/filedumper.c, src/segmentsx.c, src/nodesx.c,
	  src/relations.c: Replace int with appropriate defined types
	  (mostly index_t, ll_bin_t and ll_bin2_t).

	* src/types.h: Add some comments to clarify the latitude/longitude
	  bin types and a new type for latitude/longitude bins (two
	  dimensions).

2011-06-05 [r777-778]  Andrew M. Bishop <amb>

	* src/profiles.c: Change unsigned int to int for consistency with
	  the rest of the code.

	* src/optimiser.c: Remove unused variable (hangover from previous
	  U-turn searching).

2011-06-04 [r776]  Andrew M. Bishop <amb>

	* src/superx.c, src/osmparser.c: Add missing header file.

2011-06-04 [r773-775]  Andrew M. Bishop <amb>

	* src/osmparser.c: Convert integer and floating point values
	  inline. Check that node, way and relation IDs don't need to be
	  long long types.

	* src/translations.c, src/profiles.c: Convert integer and floating
	  point values inline.

	* src/xmlparse.h, src/xmlparse.l: The
	  XMLPARSE_ASSERT_(INTEGER|FLOATING) functions now don't return the
	  converted type.

2011-06-04 [r770-772]  Andrew M. Bishop <amb>

	* src/segments.h: Add a type cast to a macro.

	* src/segmentsx.c, src/segmentsx.h: Change name of function
	  parameters to clarify what they are.

	* src/relationsx.c, src/segmentsx.c: Fix some more potential
	  problems with a transition to 64-bit node_t.

2011-06-03 [r761]  Andrew M. Bishop <amb>

	* src/superx.c, src/relationsx.c, src/segmentsx.c: Shorten the
	  messages when running to avoid going beyond 80 characters.

2011-06-03 [r759-760]  Andrew M. Bishop <amb>

	* src/visualiser.c: Remove hard-coded numeric value and replace
	  with a #define value.

	* src/superx.c, src/relationsx.c, src/segmentsx.c, src/typesx.h:
	  Remove hard-coded numeric values and replace with a common
	  #define value. Handle overflows consistently.

2011-06-03 [r758]  Andrew M. Bishop <amb>

	* src/nodesx.h, src/typesx.h: Move some macros from nodesx.h to
	  typesx.h.

2011-06-03 [r757]  Andrew M. Bishop <amb>

	* src/relationsx.c, src/tagmodifier.c, src/optimiser.c,
	  src/osmparser.c, src/waysx.c: Rationalise the increment of the
	  numbers used for the output when not --loggable.

2011-06-01 [r756]  Andrew M. Bishop <amb>

	* src/relationsx.c: Delete turn relations that refer to nodes or
	  ways that don't exist as soon as possible.

2011-05-31 [r755]  Andrew M. Bishop <amb>

	* src/nodesx.h, src/osmparser.c, src/segmentsx.c, src/waysx.h,
	  src/typesx.h: Fix some obvious problems with a transition to
	  64-bit node_t.

2011-05-31 [r754]  Andrew M. Bishop <amb>

	* src/tagging.c, src/translations.c, src/profiles.c: Fix
	  inconsistent C language version usage.

2011-05-30 Andrew M. Bishop <amb>

	Version 2.0 released

2011-05-30 [r742]  Andrew M. Bishop <amb>

	* src/relationsx.c: Don't crash on malformed relations, give better
	  reporting of number when processing them.

2011-05-30 [r741]  Andrew M. Bishop <amb>

	* FILES: Update for release.

2011-05-30 [r740]  Andrew M. Bishop <amb>

	* src/segmentsx.c: Fix spelling mistake in function parameter
	  comment.

2011-05-30 [r738-739]  Andrew M. Bishop <amb>

	* src/test/Makefile: Make sure that clean really means it.

	* doc/NEWS.txt, doc/README.txt, doc/html/readme.html: Update for
	  version 2.0 release.

2011-05-30 [r737]  Andrew M. Bishop <amb>

	* doc/html/usage.html, doc/html/algorithm.html, doc/TAGGING.txt,
	  doc/html/index.html, doc/html/data.html, doc/USAGE.txt,
	  doc/ALGORITHM.txt, doc/DATA.txt, doc/html/tagging.html: Run a
	  spelling check on the documentation.

2011-05-30 [r736]  Andrew M. Bishop <amb>

	* doc/html/algorithm.html: Describe new philosophy of alloing
	  U-turn at waypoints to avoid dead-ends.

2011-05-30 [r735]  Andrew M. Bishop <amb>

	* src/optimiser.c: Fix problem with test case loops WP11.

2011-05-30 [r734]  Andrew M. Bishop <amb>

	* src/optimiser.c, src/functions.h, src/router.c: Change the
	  philosophy on dead ends so that now a U-turn is made at the
	  waypoint if continuing in the previous direction would lead into
	  a dead-end. This simplifies the algorithm and removes a lot of
	  special case handling.

2011-05-30 [r731-733]  Andrew M. Bishop <amb>

	* src/test/loops.osm: Give the loops unique names.

	* src/test/a-b-c.sh, src/test/start-1-finish.sh: Print less
	  information when running.

	* src/fakes.c: Fix error with calculating length of fake segment
	  and optimise the ExtraFakeSegment function.

2011-05-29 [r730]  Andrew M. Bishop <amb>

	* src/test/a-b-c.sh: Exit on error.

2011-05-21 [r729]  Andrew M. Bishop <amb>

	* src/optimiser.c, src/functions.h, src/router.c: Find all routes
	  in the no-super.osm test case.

2011-05-20 [r727-728]  Andrew M. Bishop <amb>

	* src/test/no-super.osm: Add new test cases for fake
	  nodes/segments.

	* src/fakes.c, src/optimiser.c, src/fakes.h: Add a special function
	  to handle the detection of U-turns between two fake segments that
	  sit on the same real segment.

2011-05-18 [r725-726]  Andrew M. Bishop <amb>

	* src/test/a-b-c.sh (added), src/test, src/test/no-super.sh
	  (added), src/test/no-super.osm (added): Add new test cases for
	  very simple routes with no super-nodes.

	* src/fakes.c: Fix routing between two fake nodes on the same
	  segment (again).

2011-05-18 [r724]  Andrew M. Bishop <amb>

	* src/test/dead-ends.osm: Add a new waypoint at the very end of a
	  dead-end (not super-node).

2011-05-18 [r722-723]  Andrew M. Bishop <amb>

	* src/optimiser.c, src/functions.h: Remove the override flag from
	  FindNormalRoute().

	* src/optimiser.c, src/functions.h, src/router.c: Use the beginning
	  of the route as the start of the combined route (since it may
	  have special override segments in it).

2011-05-17 [r721]  Andrew M. Bishop <amb>

	* src/optimiser.c, src/functions.h, src/router.c: Change the order
	  of the arguments to the routing functions (move profile earlier).

2011-05-17 [r720]  Andrew M. Bishop <amb>

	* doc/Makefile: Install the license file in the doc directory.

2011-05-15 [r719]  Andrew M. Bishop <amb>

	* src/optimiser.c, src/router.c: Finally find a way out of
	  dead-ends, might have some nasty side-effects though.

2011-05-14 [r717-718]  Andrew M. Bishop <amb>

	* src/optimiser.c: Fix slim/non-slim variation.

	* src/test/dead-ends.osm: Add another waypoint at the terminal
	  super-node.

2011-05-13 [r716]  Andrew M. Bishop <amb>

	* src/test/turns.osm: Force waypoint 13 to go round the roundabout
	  twice.

2011-05-12 [r714-715]  Andrew M. Bishop <amb>

	* src/test/turns.osm (added), src/test, src/test/turns.sh (added):
	  Added turn restriction test cases.

	* src/test/start-1-finish.sh: Bug fix for logging.

2011-05-11 [r712-713]  Andrew M. Bishop <amb>

	* src/superx.c, src/segmentsx.c: Add comments to assert statements
	  that don't already have them.

	* src/optimiser.c: Crash out if infinite loop (usually caused by a
	  bug elsewhere).

2011-05-08 [r708-711]  Andrew M. Bishop <amb>

	* src/test/start-1-finish.sh: Run filedumper, allow running under a
	  run-time debugger.

	* src/optimiser.c: Remove clash of cache locations.

	* src/test/Makefile: Print an extra message after comparing the
	  slim and non-slim results.

	* src/segments.c, src/segments.h: Make the NextSegment function
	  inline (move from segments.c to segments.h).

2011-05-08 [r707]  Andrew M. Bishop <amb>

	* src/segments.c, src/visualiser.c, src/nodes.c, src/optimiser.c,
	  src/filedumper.c, src/nodes.h, src/output.c: The FirstSegment
	  function now takes a cache position argument.

2011-05-08 [r706]  Andrew M. Bishop <amb>

	* src/segments.c, src/nodes.c, src/relations.c, src/ways.c: Ensure
	  that the correct number of cached nodes, segments, ways or
	  relations are initialised.

2011-05-08 [r705]  Andrew M. Bishop <amb>

	* src/ways.h, src/filedumper.c, src/ways.c: Remove the unused name
	  caching for the ways (in slim mode).

2011-05-08 [r704]  Andrew M. Bishop <amb>

	* src/segments.h, src/segmentsx.h: Simplify the lookup of the
	  segment index in slim mode.

2011-05-07 [r703]  Andrew M. Bishop <amb>

	* src/optimiser.c: Allow the start of a route to double-back to the
	  initial node even if a super-node.

2011-05-07 [r700-702]  Andrew M. Bishop <amb>

	* src/test/loops.osm: Rename the waypoints.

	* src/files.c: Remove useless assert statement.

	* src/optimiser.c, src/nodes.h, src/segmentsx.c: Fix bugs found by
	  valgrind.

2011-05-07 [r697-699]  Andrew M. Bishop <amb>

	* src/optimiser.c: Handle things correctly if the
	  FindSuperSegment() function is called with a fake segment.

	* src/test/Makefile: Ensure that executables are compiled before
	  running the tests.

	* src/Makefile: Require slim and non-slim versions of fakes.o.

2011-05-07 [r695-696]  Andrew M. Bishop <amb>

	* src/router.c: Calculate an override version of the start of the
	  route to get out of dead-ends.

	* src/output.c: Use real segments when making comparisons (not
	  pointers or non-real segments).

2011-05-06 [r690-694]  Andrew M. Bishop <amb>

	* src/test: Ignore files and directories generated by running 'make
	  test'.

	* src/xml: Ignore files generated by running 'make test'.

	* src/Makefile: Allow running 'make test' in the source directory.

	* src/test/waypoints.pl (added), src/test/loops.osm (added),
	  src/test/Makefile (added), src/test/dead-ends.sh (added),
	  src/test/dead-ends.osm (added), src/test/start-1-finish.sh
	  (added), src/test/loops.sh (added): Routing test cases.

	* src/test (added): A directory for routing test cases.

2011-05-06 [r689]  Andrew M. Bishop <amb>

	* src/xml/test/bad-attr-character-ref.xml (removed): Remove
	  false-positive test case (a bug in xmlparse.l previously flagged
	  this as an error).

2011-04-27 [r688]  Andrew M. Bishop <amb>

	* src/optimiser.c: Force going straight on if a waypoint is a
	  super-node.

2011-04-27 [r686-687]  Andrew M. Bishop <amb>

	* src/optimiser.c: Improve the FindSuperSegment() function when the
	  existing segment is the right answer.

	* src/optimiser.c, src/router.c: Rename the variables in and around
	  the CombineRoutes() function for clarity.

2011-04-26 [r685]  Andrew M. Bishop <amb>

	* src/optimiser.c: When starting a super-route ensure that all
	  starting segments are super-segments to avoid u-turns at the
	  starting super-node.

2011-04-25 [r683-684]  Andrew M. Bishop <amb>

	* src/output.c: Fix error with turn description.

	* src/output.c: Include a point number (hidden) in the HTML file.

2011-04-24 [r682]  Andrew M. Bishop <amb>

	* src/waysx.c, src/waysx.h: Fix error is last semi-automated
	  update.

2011-04-24 [r681]  Andrew M. Bishop <amb>

	* src/segments.c, src/superx.c, src/visualiser.c, src/relationsx.c,
	  src/segments.h, src/superx.h, src/filedumper.c, src/nodesx.c,
	  src/relations.c, src/nodesx.h, src/relations.h, src/nodes.c,
	  src/waysx.c, src/nodes.h, src/segmentsx.c, src/waysx.h,
	  src/segmentsx.h, src/ways.c: Make the comments more consistent.

2011-04-24 [r680]  Andrew M. Bishop <amb>

	* src/translations.h, src/fakes.c, src/filedumper.c, src/fakes.h,
	  src/nodesx.c, src/output.c, src/results.c, src/files.c,
	  src/nodesx.h, src/results.h, src/files.h, src/nodes.c,
	  src/planetsplitter.c, src/osmparser.c, src/nodes.h,
	  src/profiles.c, src/segments.c, src/sorting.c, src/tagging.h,
	  src/visualiser.c, src/superx.c, src/logging.c, src/ways.h,
	  src/profiles.h, src/relationsx.c, src/segments.h, src/sorting.h,
	  src/tagmodifier.c, src/visualiser.h, src/superx.h, src/logging.h,
	  src/relationsx.h, src/relations.c, src/functionsx.h,
	  src/relations.h, src/types.h, src/optimiser.c, src/waysx.c,
	  src/segmentsx.c, src/functions.h, src/waysx.h, src/router.c,
	  src/segmentsx.h: Update comments throughout the source code.

2011-04-23 [r679]  Andrew M. Bishop <amb>

	* doc/html/algorithm.html, doc/ALGORITHM.txt: Add description of
	  U-turns at dead-ends.

2011-04-23 [r678]  Andrew M. Bishop <amb>

	* src/optimiser.c, src/functions.h, src/output.c, src/router.c:
	  Allow U-turns at dead-ends to avoid getting stuck.

2011-04-22 [r677]  Andrew M. Bishop <amb>

	* src/optimiser.c, src/router.c: Handle failure to find route
	  gracefully.

2011-04-22 [r676]  Andrew M. Bishop <amb>

	* web/www/routino/visualiser.cgi: Another change related to turn
	  restrictions (missed in last checkin).

2011-04-22 [r675]  Andrew M. Bishop <amb>

	* src/segments.c, doc/html/usage.html, web/www/routino/router.cgi,
	  src/segments.h, doc/USAGE.txt, src/router.c: Add in the option to
	  specify an initial heading.

2011-04-22 [r674]  Andrew M. Bishop <amb>

	* src/segmentsx.c, src/nodesx.c: Finish off the geographic sorting
	  of segments.

2011-04-22 [r673]  Andrew M. Bishop <amb>

	* src/filedumper.c: Use the common TurnAngle() function from
	  segments.c instead of a local one.

2011-04-22 [r672]  Andrew M. Bishop <amb>

	* src/segments.c, src/segments.h, src/output.c: Move the
	  turn_angle() and bearing_angle() functions from output.c into
	  segments.c.

2011-04-22 [r671]  Andrew M. Bishop <amb>

	* doc/html/algorithm.html, doc/ALGORITHM.txt: Simplify the language
	  used describing the highway properties.

2011-03-21 [r670]  Andrew M. Bishop <amb>

	* src/relationsx.c: Ignore turn restrictions that ban going the
	  wrong way down a one-way road.

2011-03-21 [r668-669]  Andrew M. Bishop <amb>

	* src/segments.c, src/filedumper.c, src/profiles.c: Include math.h
	  for files that use math functions.

	* src/types.h: Round the node latitude/longitude rather than
	  truncating.

2011-03-21 [r667]  Andrew M. Bishop <amb>

	* src/filedumper.c: Include some of the Routino internal
	  information when dumping an OSM format output.

2011-03-21 [r666]  Andrew M. Bishop <amb>

	* src/segmentsx.c: Fix bug with segment deduplication.

2011-03-21 [r665]  Andrew M. Bishop <amb>

	* src/relationsx.c, src/planetsplitter.c, src/relationsx.h,
	  src/nodesx.c: Sort the segments geographically.

2011-03-20 [r664]  Andrew M. Bishop <amb>

	* src/nodesx.c: Sort nodes strictly by latitude/longitude within
	  the bins (helps with regresssion testing).

2011-03-20 [r661-663]  Andrew M. Bishop <amb>

	* web/www/routino/documentation: Ignore extra image files.

	* src/xmlparse.l: Ensure that UTF-8 is used internally when reading
	  in a numeric entity.

	* src/router.c: Fix bug found by gcc-4.5.

2011-03-20 [r660]  Andrew M. Bishop <amb>

	* src/segmentsx.c: Return early from the IndexSegments function if
	  there are no segments.

2011-03-19 [r659]  Andrew M. Bishop <amb>

	* doc/html/algorithm.html, doc/html/example0.png,
	  doc/html/example1.png, doc/ALGORITHM.txt, doc/html/example2.png,
	  doc/html/example3.png (added), doc/html/example4.png (added):
	  Update the algorithm documents for turn restrictions.

2011-03-19 [r658]  Andrew M. Bishop <amb>

	* src/segmentsx.c: Deduplicate in pairs only (i.e. if a segment
	  occurs 4 times then keep 2 of them).

2011-03-19 [r657]  Andrew M. Bishop <amb>

	* src/segmentsx.c: Cache the recently used ways when de-duplicating
	  segments.

2011-03-19 [r656]  Andrew M. Bishop <amb>

	* src/superx.c: Use previous segment in router rather than looking
	  at previous node.

2011-03-12 [r655]  Andrew M. Bishop <amb>

	* src/segmentsx.c, src/nodesx.c: Make the used nodes marker
	  bit-wide rather than byte-wide.

2011-03-12 [r654]  Andrew M. Bishop <amb>

	* src/nodesx.h, src/superx.c, src/nodesx.c: Make the nodes super
	  marker bit-wide rather than byte-wide.

2011-03-12 [r653]  Andrew M. Bishop <amb>

	* src/nodesx.h, src/superx.c, src/planetsplitter.c, src/superx.h,
	  src/nodesx.c: Make the nodes super marker a boolean.

2011-03-12 [r652]  Andrew M. Bishop <amb>

	* src/superx.c, src/planetsplitter.c, src/superx.h: Optimise the
	  search for supernodes, consider traffic when counting segments
	  that meet at a node.

2011-02-27 [r651]  Andrew M. Bishop <amb>

	* src/nodesx.h, src/superx.c, src/relationsx.c, src/waysx.c,
	  src/segmentsx.c, src/waysx.h, src/segmentsx.h: Rename the xdata
	  and xcached members of the nodesx, segmentsx and waysx
	  structures.

2011-02-27 [r650]  Andrew M. Bishop <amb>

	* src/nodesx.h, src/relationsx.c, src/planetsplitter.c,
	  src/waysx.c, src/relationsx.h, src/segmentsx.c, src/nodesx.c,
	  src/waysx.h, src/segmentsx.h: Don't have both xnumber and number
	  in the nodesx, segmentsx, waysx and relationsx structures.

2011-02-27 [r649]  Andrew M. Bishop <amb>

	* src/segmentsx.c, src/segmentsx.h: Remove a now unused array of
	  segment indexes.

2011-02-27 [r648]  Andrew M. Bishop <amb>

	* src/logging.c: Handle the case where the middle string is shorter
	  than the previous one.

2011-02-26 [r646-647]  Andrew M. Bishop <amb>

	* src/superx.c: Use the OtherNode and IsOneWay* macros when
	  routing.

	* src/superx.c, src/relationsx.c, src/segmentsx.c, src/segmentsx.h:
	  Remove a pair of functions that are no longer used and rename the
	  other pair.

2011-02-26 [r645]  Andrew M. Bishop <amb>

	* src/relationsx.c, src/planetsplitter.c, src/relationsx.h: Fixed
	  the turn relations with a few more functions.

2011-02-26 [r644]  Andrew M. Bishop <amb>

	* src/planetsplitter.c, src/segmentsx.c, src/segmentsx.h: Renamed a
	  couple of functions for clarity.

2011-02-26 [r643]  Andrew M. Bishop <amb>

	* src/nodesx.h, src/superx.c, src/relationsx.c,
	  src/planetsplitter.c, src/osmparser.c, src/segmentsx.c,
	  src/nodesx.c, src/segmentsx.h: Go back to the internal structure
	  used (but reverted) during version 1.2 development where each
	  segment is stored only once. This halves the memory usage (mmap
	  files or just files) for planetsplitter. This is allowed because
	  a new algorithm to create the node to segment indexes makes it
	  simpler now that it was. This change is required so that
	  super-node/segment optimisation doesn't remove mutual loops. This
	  change doesn't handle turn restrictions yet.

2011-02-24 [r642]  Andrew M. Bishop <amb>

	* src/superx.c: Change a variable name to match the one used in
	  optimiser.c.

2011-02-24 [r641]  Andrew M. Bishop <amb>

	* src/superx.c, src/segmentsx.c: Create super-segments that go in
	  loops and preserve all such loops.

2011-02-23 [r640]  Andrew M. Bishop <amb>

	* src/segmentsx.c: Fix latent bug that can occur when
	  de-duplicating segments.

2011-02-23 [r639]  Andrew M. Bishop <amb>

	* xml/Makefile: Fix error in creating web files containing
	  profiles.

2011-02-20 [r638]  Andrew M. Bishop <amb>

	* src/optimiser.c: Allow U-turns at via points for transport types
	  that ignore turn restrictions.

2011-02-20 [r637]  Andrew M. Bishop <amb>

	* src/optimiser.c, src/functions.h, src/fakes.h: Don't allow
	  U-turns at via points (but doesn't necessarily include turning
	  round in the score when searching for optimum).

2011-02-18 [r636]  Andrew M. Bishop <amb>

	* src/optimiser.c: Fix the code that stops routes doubling-back on
	  themselves.

2011-02-11 [r635]  Andrew M. Bishop <amb>

	* web/www/routino/update-profiles.pl (added), xml/Makefile,
	  web/www/routino, web/www/routino/router.html.en,
	  web/www/routino/router.pl, web/www/routino/router.html.nl,
	  web/www/routino/router.js: Move the Javascript and Perl profiles
	  into separate files.

2011-02-11 [r634]  Andrew M. Bishop <amb>

	* doc/html/installation.html, web/www/openlayers/install.sh,
	  doc/INSTALL.txt: Change to OpenLayers 2.10.

2011-02-11 [r632-633]  Andrew M. Bishop <amb>

	* src/output.c: Don't confuse fake segments with junctions.

	* src/optimiser.c: Fix problem with only one super-node in the
	  route.

2011-02-11 [r631]  Andrew M. Bishop <amb>

	* src/fakes.c: Fix bug with generating fake segments.

2011-02-11 [r629-630]  Andrew M. Bishop <amb>

	* xml/routino-profiles.xml: Wheelchairs do not obey turn
	  restrictions.

	* web/www/routino/results.cgi, web/www/routino/router.html.en,
	  src/router.c, web/www/routino/router.pl,
	  web/www/routino/router.html.nl, web/www/routino/router.js: Print
	  a message if routed OK, allow web users to see router output (now
	  logged to file).

2011-02-05 [r628]  Andrew M. Bishop <amb>

	* src/filedumper.c: Fix statistics for ways (broken by change for
	  relations).

2011-02-05 [r626-627]  Andrew M. Bishop <amb>

	* src/superx.c, src/optimiser.c, src/segmentsx.c, src/nodesx.c:
	  Change some output printed while running.

	* src/filedumper.c: Fix problem with dumping turn relations.

2011-02-05 [r625]  Andrew M. Bishop <amb>

	* src/filedumper.c: Print out the size of the relations.mem file.

2011-02-05 [r623-624]  Andrew M. Bishop <amb>

	* web/www/routino/visualiser.cgi: Updated the visualiser to include
	  turn restrictions.

	* src/visualiser.c, doc/html/usage.html,
	  web/www/routino/visualiser.js, src/visualiser.h,
	  src/filedumper.c, doc/USAGE.txt, web/www/routino/visualiser.html:
	  Updated the visualiser to include turn restrictions.

2011-02-05 [r622]  Andrew M. Bishop <amb>

	* src/profiles.h, web/www/routino/noscript.cgi,
	  web/www/routino/customrouter.cgi, xml/routino-profiles.xsd,
	  web/www/routino/noscript.template.html, xml/routino-profiles.xml,
	  doc/html/usage.html, web/www/routino/router.cgi, src/optimiser.c,
	  web/www/routino/router.html.en, doc/USAGE.txt, src/router.c,
	  web/www/routino/router.pl, src/profiles.c,
	  web/www/routino/router.html.nl, web/www/routino/router.js:
	  Include the option to obey turn restrictions in the profile for
	  each transport type.

2011-01-30 [r620-621]  Andrew M. Bishop <amb>

	* doc/html/algorithm.html, doc/ALGORITHM.txt: Update algorithm
	  description to include turn restrictions and a note about how the
	  algorithm terminates the search.

	* doc/TAGGING.txt, doc/USAGE.txt: Update text versions of documents
	  to match HTML.

2011-01-30 [r618-619]  Andrew M. Bishop <amb>

	* src/output.c: Correct comments.

	* src/filedumper.c: Put a "restriction" tag into the turn
	  restrictions when dumped.

2011-01-30 [r617]  Andrew M. Bishop <amb>

	* src/optimiser.c, src/functions.h, src/router.c: Ensure that the
	  first/last node and first/last segment of the Results structure
	  are filled in properly.

2011-01-30 [r616]  Andrew M. Bishop <amb>

	* src/optimiser.c: Fix routing where the final node is a
	  super-node.

2011-01-29 [r615]  Andrew M. Bishop <amb>

	* src/relationsx.c: All nodes adjacent to a turn restriction must
	  also be turn restrictions.

2011-01-29 [r613-614]  Andrew M. Bishop <amb>

	* src/files.h: Fix assert problem.

	* src/Makefile, src/xml/Makefile: Make dependency filename based on
	  object file name (fixes overwriting problem with slim versions).

2011-01-29 [r612]  Andrew M. Bishop <amb>

	* src/superx.c, src/files.h, src/relationsx.c, src/waysx.c,
	  src/segmentsx.c, src/nodesx.c, src/files.c: Ensure that record of
	  closed file descriptors are erased.

2011-01-29 [r610-611]  Andrew M. Bishop <amb>

	* src/optimiser.c: Don't check for turn relations in
	  FindStartRoutes().

	* src/optimiser.c: Add some comments, shuffle a few lines of code.

2011-01-29 [r609]  Andrew M. Bishop <amb>

	* src/optimiser.c: Fix the code that allows overshooting by one
	  node when finding finish nodes.

2011-01-29 [r608]  Andrew M. Bishop <amb>

	* src/fakes.c, src/optimiser.c, src/Makefile, src/fakes.h,
	  src/relations.c, src/router.c: When finding a normal route check
	  for turn relations (considering previous segment). When finding
	  turn relations convert fake segments into real ones.

2011-01-29 [r607]  Andrew M. Bishop <amb>

	* src/nodes.c: Fix pathological case of rounding error for points
	  almost exactly on a segment.

2011-01-29 [r606]  Andrew M. Bishop <amb>

	* src/superx.c: Fix for route finding in planetsplitter.

2011-01-24 [r605]  Andrew M. Bishop <amb>

	* src/results.h, src/superx.c, src/optimiser.c, src/functions.h,
	  src/output.c, src/router.c, src/results.c: Finds routes and obeys
	  turn restrictions (only tested with very simple route and
	  restrictions, more turn restriction testing and regression
	  testing required).

2011-01-16 [r604]  Andrew M. Bishop <amb>

	* src/relations.h, src/relations.c: Fix logic error with searching
	  for via nodes.

2011-01-15 [r603]  Andrew M. Bishop <amb>

	* src/results.h, src/superx.c, src/optimiser.c, src/output.c,
	  src/results.c: Change the results structure to contain next
	  segment and rename elements to clarify prev/next node and
	  prev/next segment.

2011-01-15 [r602]  Andrew M. Bishop <amb>

	* src/segmentsx.c: Change to comment for clarification.

2011-01-15 [r599-601]  Andrew M. Bishop <amb>

	* doc/html/usage.html: Correction and clarification to filedumper
	  usage.

	* src/nodesx.h: Change to comment for clarification.

	* src/relations.h, src/relationsx.c, src/planetsplitter.c,
	  src/filedumper.c, src/relationsx.h, src/relations.c: Store the
	  'from' and 'to' segments and not nodes (to handle fake nodes
	  inserted in segments).

2011-01-15 [r598]  Andrew M. Bishop <amb>

	* src/visualiser.c, src/output.c: Change the IsSuperNode() macro to
	  take a single pointer argument.

2011-01-09 [r597]  Andrew M. Bishop <amb>

	* src/superx.c, src/relationsx.c, src/types.h: Make the 'from' and
	  'to' nodes of turn restrictions super-nodes.

2011-01-09 [r596]  Andrew M. Bishop <amb>

	* src/relations.h, src/optimiser.c, src/nodes.h, src/relations.c:
	  Check turn relations when finding a route.

2011-01-08 [r595]  Andrew M. Bishop <amb>

	* src/optimiser.c, src/filedumper.c, src/nodes.h: Change the
	  IsSuperNode() macro to take a single pointer argument.

2011-01-08 [r594]  Andrew M. Bishop <amb>

	* src/optimiser.c: Move the local variables closer to where they
	  are used.

2011-01-08 [r593]  Andrew M. Bishop <amb>

	* doc/html/tagging.html: Add information about the tags used for
	  turn relations.

2010-12-29  Andrew M. Bishop <amb>

	Changed version control environment from RCS to CVS to SVN.

2010-12-29  Andrew M. Bishop <amb>

	* doc/NEWS.txt: Temporary checkin to allow transition from RCS to
	  CVS to SVN.

	* xml/routino-tagging.xml: Pass through turn relation information.

2010-12-21  Andrew M. Bishop <amb>

	* src/filedumper.c: Add turn relations to the statistics and dump
	  outputs.

2010-12-21  Andrew M. Bishop <amb>

	* src/ways.h, src/segments.h, src/nodes.h, src/ways.c: Optimise the
	  node, segment, way lookup in slim mode by checking if the
	  previous index is being requested again.

	* src/relations.h, src/relations.c: Optimise the turn relation
	  lookup.

2010-12-21  Andrew M. Bishop <amb>

	* src/relations.h, src/relations.c: Add functions to search for
	  turn relations that match a particular node.

2010-12-21  Andrew M. Bishop <amb>

	* src/relations.h (added), src/relations.c (added): Initial
	  revision

	* src/superx.c, src/relationsx.c, src/types.h: Update the nodes to
	  force a super-node where there is a turn restriction.

2010-12-21  Andrew M. Bishop <amb>

	* src/relationsx.c, src/planetsplitter.c, src/relationsx.h: Finish
	  the processing of the turn relations now that the extra node
	  lookup table is in place.

2010-12-20  Andrew M. Bishop  <amb>

	* src/nodesx.c, src/segmentsx.c, src/segmentsx.h:
	Handle the SegmentX Segment in the same way as the other data structures (map
	into memory when used, open/close the file if slim).  Create the real nodes
	without mapping the segments into memory.

	* src/nodesx.c, src/nodesx.h, src/relationsx.c, src/segmentsx.c, src/segmentsx.h,
	src/waysx.h:
	Make the PutBack*() functions be no-ops in slim mode and remove the
	pre-processor guards from around the function calls.

	* src/nodesx.c:
	Don't map the file into memory for writing out the Nodes file.

	* src/superx.c, src/waysx.c, src/waysx.h, src/nodesx.c, src/relationsx.c, src/segmentsx.c:
	Close and open the files for the slim case to match the map/unmap of files for
	the non-slim case.

	* src/nodesx.c, src/segmentsx.c:
	Make the last two changes work for slim mode.

	* src/nodesx.c, src/nodesx.h:
	Create the Nodes offset table at the end rather than during the sort process.

	* src/nodesx.c, src/nodesx.h, src/segmentsx.c, src/segmentsx.h:
	Don't maintain a copy of the whole set of Nodes along with the NodeXs but
	generate the Node from the NodeX when written to disk.  Create a lookup table
	between the original index and the geographically sorted index.

2010-12-19  Andrew M. Bishop  <amb>

	* src/planetsplitter.c, src/relationsx.c:
	Process the turn relations (apart from updating the indexes to the
	geographically sorted nodes).

	* src/superx.c: Handle the case of no super segments better.

	* src/planetsplitter.c: Change around the order of the functions.

	* src/relationsx.c:
	A temporary check-in that handles turn restrictions more complicated than
	actually allowed (ways must start/end at the via node).

	* xml/routino-tagging.xml: Add mini-roundabouts.

	* src/sorting.c: Bug fix for last change.

2010-12-18  Andrew M. Bishop  <amb>

	* src/segmentsx.c:
	Remove the test for sorting zero segments (now that the sort function doesn't
	crash).

	* src/nodesx.c, src/segmentsx.c, src/segmentsx.h, src/superx.c:
	Duplicate the IndexFirstSegmentX() and IndexNextSegmentX() functions to create
	two distinct one for use at different times.

	* src/sorting.c: Handle the case where there is no data in the file.

	* src/Makefile, src/filedumper.c, src/functions.h, src/optimiser.c, src/planetsplitter.c,
	src/relationsx.c, src/relationsx.h, src/router.c, src/types.h:
	Add a Relations data type and write out the turn relations that have been read
	in.  Still doesn't perform the required processing after reading the data or use
	the information for routing.

2010-12-12  Andrew M. Bishop  <amb>

	* src/osmparser.c, src/typesx.h:
	Change the names of the enumerated types for turn restrictions.

2010-12-05  Andrew M. Bishop  <amb>

	* src/osmparser.c, src/relationsx.c, src/relationsx.h, src/typesx.h:
	Parse turn restriction relations and store ones with a single via node.
	(Doesn't do anything with them yet).

	* src/nodesx.h, src/segmentsx.h, src/waysx.h:
	Updated the comments for clarity.

2010-12-04  Andrew M. Bishop  <amb>

	* src/filedumper.c, src/nodesx.c, src/nodesx.h, src/osmparser.c, src/types.h:
	Improved version of previous change.

2010-11-28  Andrew M. Bishop  <amb>

	* src/filedumper.c, src/nodesx.c, src/nodesx.h, src/osmparser.c, src/types.h:
	Add parsing of mini-roundabouts.

	* xml/routino-tagging.xml, src/filedumper.c, src/osmparser.c, src/types.c, src/types.h:
	Remove the roundabout type from the parsing.

	* src/fakes.c:
	Fix some problems with fake nodes, in particular a route between two fake nodes
	on the same segment can now be calculated.

	* src/nodes.c:
	Return the two nodes of a segment in the same order each time.

2010-11-27  Andrew M. Bishop  <amb>

	* src/fakes.h, src/sorting.h: New file.

	* src/fakes.c, src/functions.h, src/nodesx.c, src/optimiser.c, src/output.c,
	src/relationsx.c, src/router.c, src/segmentsx.c, src/sorting.c, src/types.h, src/waysx.c:
	Split functions.h into fakes.h, sorting.h and the remainder in functions.h.

	* src/optimiser.c, src/router.c:
	Move some of the complexity from router.c to optimiser.c.

	* src/types.c, src/types.h, src/ways.h, src/waysx.c:
	Change the wayprop_t type into properties_t.

	* src/nodesx.h, src/osmparser.c, src/profiles.c, src/profiles.h, src/relationsx.c,
	src/relationsx.h, src/types.c, src/types.h, src/ways.h, src/waysx.c, src/filedumper.c,
	src/nodes.h, src/nodesx.c:
	Change the allow_t type into transports_t (and associated enums and macros).

	* src/types.h, src/ways.h: Change the waytype_t type into highway_t.

2010-11-14  Andrew M. Bishop  <amb>

	* xml/routino-tagging.xml:
	Fix mis-spelling with surface=asphalt tag (patch from Michael Günnewig).

	* src/filedumper.c, src/types.c, src/types.h, src/ways.h, src/waysx.c:
	Print out statistics about what highways are included in the database.

2010-11-13  Andrew M. Bishop  <amb>

	Version 1.5.1 released

2010-11-13  Andrew M. Bishop  <amb>

	* doc/NEWS.txt, doc/README.txt: Updated for version 1.5.1.

	* doc/USAGE.txt: Update program usage for new logging option.

	* xml/routino-translations.xml:
	Add translation for ferry into German (patch from Michael Günnewig).

	* src/relationsx.c: Fix bug with relation processing.

	* src/logging.h: Add GCC attributes for the logging functions.

	* src/logging.h, src/logging.c: New file.

	* src/Makefile, src/nodesx.c, src/optimiser.c, src/osmparser.c, src/planetsplitter.c,
	src/relationsx.c, src/router.c, src/segmentsx.c, src/superx.c, src/tagmodifier.c,
	src/waysx.c:
	Add an option to make the output more suitable for a log file.

2010-10-31  Andrew M. Bishop  <amb>

	* src/files.c:
	Ensure that enough memory gets allocated in FileName() function.

2010-10-30  Andrew M. Bishop  <amb>

	Version 1.5 released

2010-10-30  Andrew M. Bishop  <amb>

	* doc/README.txt, doc/NEWS.txt: Updated for version 1.5.

2010-10-18  Andrew M. Bishop  <amb>

	* src/profiles.c:
	Use sqrt() function to reduce the effect of property preferences close to 50%.
	Ensure that preferences cannot equal zero (error on division).

	* doc/ALGORITHM.txt, doc/INSTALL.txt, doc/USAGE.txt:
	Updated with information about the new features.

	* doc/CONFIGURATION.txt, doc/TAGGING.txt:
	Add in the footroute and bicycleroute configuration options and route relation
	tag processing.

2010-10-16  Andrew M. Bishop  <amb>

	* src/files.c: Fixed some comments for recent changes.

2010-10-09  Andrew M. Bishop  <amb>

	* xml/routino-profiles.xml:
	Add footroute and bicycleroute to the profiles.

	* src/files.c, src/files.h, src/relationsx.c:
	The ReOpenFile() function cannot be read/write because it stops the router
	running with read-only access to the database.

	* src/nodesx.c, src/relationsx.c, src/segmentsx.c, src/superx.c:
	Fix previous check-in on this set of files.

	* src/xmlparse.l: Ensure that comparisons are made with unsigned chars.

2010-10-03  Andrew M. Bishop  <amb>

	* src/nodesx.c, src/relationsx.c, src/segmentsx.c, src/superx.c:
	Don't try mapping a file if it is zero length (e.g. no super-segments).

	* src/files.c, src/files.h, src/relationsx.c:
	Add a function to map a file writeable and use it for updating the ways when
	processing route relations.

	* src/relationsx.c:
	Avoid self-recursion and adding route information to relations that already have
	it.

2010-09-25  Andrew M. Bishop  <amb>

	* src/osmparser.c, src/relationsx.c, src/relationsx.h, src/waysx.h:
	Apply the route=bicycle or route=foot tags from the relation to all ways
	contained in it and to all ways in all sub-relations of it (including recursion
	to depth 5).  This requires all relations to be stored even if not routes
	because they might be included by another relation that is.

	* src/segmentsx.c: Don't sort the (super-)segments if there are none.

	* src/nodesx.c, src/functions.h, src/sorting.c:
	Rename the heapsort() function to filesort_heapsort().

2010-09-19  Andrew M. Bishop  <amb>

	* src/files.c, src/files.h, src/nodesx.c, src/segmentsx.c, src/sorting.c, src/waysx.c:
	Change the names of the functions used to open files, change the ReOpen function
	to open R/W.

	* src/relationsx.c: Remove the sorting of the route relations.

2010-09-17  Andrew M. Bishop  <amb>

	* src/nodesx.c, src/segmentsx.c:
	Zero the NodesFile and SegmentsFile data structures before writing them (zeros
	unused bytes).

	* src/planetsplitter.c, src/waysx.c, src/waysx.h:
	Split the sorting of waysx from the compacting so that the route relation
	information can be included before compacting.

	* xml/routino-tagging.xml, src/functionsx.h, src/osmparser.c, src/planetsplitter.c:
	Parse relations and extract foot and bicycle routes to be added as properties to
	the ways.

	* src/types.c, src/types.h: Add footroute and bicycleroute properties.

	* src/relationsx.c, src/relationsx.h: New file.

	* src/typesx.h, src/Makefile:
	Add files and datatypes for processing relations.

	* xml/routino-tagging-nomodify.xml, xml/routino-tagging.xsd, src/tagging.c:
	Process tags for relations.

2010-09-16  Andrew M. Bishop  <amb>

	* src/waysx.c, src/segmentsx.c, src/nodesx.c:
	Fix the comment for the Append...() function.

2010-09-15  Andrew M. Bishop  <amb>

	* xml/routino-profiles.xml, xml/routino-tagging.xml, xml/routino-translations.xml,
	src/output.c, src/translations.c, src/types.c, src/types.h:
	Add routing on ferries.

	* src/filedumper.c, src/planetsplitter.c, src/router.c:
	Bug fix for last change.

	* src/filedumper.c, src/planetsplitter.c, src/router.c:
	Improve the usage information to tell which command line argument was in error.

	* src/profiles.c:
	Fix --help-profile-perl option and make perl and JSON outputs more pretty.

	* src/router.c, src/planetsplitter.c:
	Usage message has wrong option name.

	* src/xmlparse.l:
	Fix last change to make UTF-8 parsing more strict, also added strict conversion
	to XML-safe character references.

	* src/translations.c:
	Convert translations read from file into XML-safe encodings before using them.

	* src/output.c: HTML file has UTF-8 meta-tag.

	* xml/routino-translations.xml:
	Revert to UTF-8 multi-byte representations instead of character references.

2010-09-14  Andrew M. Bishop  <amb>

	* src/xmlparse.l: Stricter checking on XML data (Unicode).

2010-09-05  Andrew M. Bishop  <amb>

	* xml/Makefile, src/Makefile, doc/Makefile, Makefile:
	Move all of the installation pathnames to the top level Makefile and include it
	into the lower level makefiles.

	* src/planetsplitter.c, src/router.c, src/tagmodifier.c:
	Use the installed tagging.xml, profiles.xml or translations.xml files as the
	fallback option if no other given.

2010-09-04  Andrew M. Bishop  <amb>

	* xml/routino-translations.xml:
	Change German translations from named HTML character encodings to numeric ones
	(works in GPX files as well as HTML).

	* xml/routino-translations.xml:
	Added Dutch translations (from Jan Jansen).

2010-08-30  Andrew M. Bishop  <amb>

	* xml/routino-translations.xml:
	Change German translation to UTF-8, add comments indicating the origin of the
	two translations.

	* xml/routino-tagging-nomodify.xml:
	Relation rules are not allowed at all.

	* xml/Makefile, src/Makefile, doc/Makefile, Makefile:
	Added 'install' to top level (and lower) Makefiles.

	* src/ways.h, src/output.c:
	Change the names of the functions used to get the highway names.

	* src/filedumper.c:
	Only print the way name in OSM output when the way has a name.
	Change the names of the functions used to get the highway names.

	* src/profiles.c: Fix bug with writing out JSON profile information.

2010-08-30  Andrew M. Bishop  <amb>

	* src/ways.h, src/output.c:
	Change the names of the functions used to get the highway names.

	* src/filedumper.c:
	Only print the way name in OSM output when the way has a name.
	Change the names of the functions used to get the highway names.

	* src/profiles.c: Fix bug with writing out JSON profile information.

2010-08-04  Andrew M. Bishop  <amb>

	* src/output.c, src/segmentsx.c, src/types.h, src/fakes.c, src/functions.h, src/nodesx.c,
	src/optimiser.c:
	Change the way that fake nodes and segments are recognised (allows nearly 4G
	nodes to be stored instead of 2G nodes).

2010-08-03  Andrew M. Bishop  <amb>

	* src/filedumper.c, src/nodes.h, src/nodesx.c, src/optimiser.c, src/types.h:
	Rename the variables that hold the node allowed transports and flags.

2010-08-02  Andrew M. Bishop  <amb>

	* xml/routino-tagging-nomodify.xml, xml/routino-tagging.xml, xml/routino-tagging.xsd,
	src/filedumper.c, src/nodesx.c, src/nodesx.h, src/optimiser.c, src/osmparser.c,
	src/superx.c, src/tagging.c, src/types.h:
	Understand node traffic type restrictions.

2010-07-31  Andrew M. Bishop  <amb>

	* src/profiles.h, src/types.c, src/types.h, src/ways.h, src/waysx.c:
	Rename the wayallow_t type to allow_t (since it applies to nodes as well now).

	* src/filedumper.c, src/nodes.h, src/nodesx.c, src/segmentsx.c, src/types.h:
	Add extra information to a node to store turn restrictions and properties.
	(Move the super-node bit from the first segment to here.)

	* src/nodesx.c, src/segmentsx.c, src/waysx.c:
	Assert if the number of nodes, segments or ways exceeds the legal range of the
	index counters.

	* src/nodes.h, src/nodesx.h, src/segments.h, src/segmentsx.h, src/ways.h, src/waysx.h:
	Change the data types to index_t where they are counting nodes/segments/ways.

	* src/nodes.h, src/nodesx.h, src/segments.h, src/segmentsx.h, src/ways.h, src/waysx.c,
	src/waysx.h:
	Ensure that seeking within a file uses a 64-bit offset.

	* src/nodesx.c, src/segmentsx.c, src/superx.c, src/waysx.c:
	Remove the assert statements that check the order of calling the functions.

2010-07-26  Andrew M. Bishop  <amb>

	* src/filedumper.c, src/nodes.c, src/nodes.h, src/visualiser.c:
	Final part of slim mode for the router (node offsets).

2010-07-24  Andrew M. Bishop  <amb>

	* src/nodesx.c, src/segmentsx.c, src/waysx.c:
	Some tidying up of the writing of the file headers.

	* src/ways.c, src/ways.h, src/waysx.c, src/filedumper.c, src/nodes.c, src/optimiser.c,
	src/output.c, src/profiles.c, src/visualiser.c:
	Finished slim mode for the router by adding ways.

2010-07-23  Andrew M. Bishop  <amb>

	* src/filedumper.c, src/nodes.c, src/nodes.h, src/output.c, src/segments.c, src/segments.h,
	src/segmentsx.c:
	Added slim mode to the router for segments.

	* src/Makefile: Add the fakes.c file.

	* src/optimiser.c, src/results.c, src/results.h:
	Change the results structure to hold the index of the segment instead of a
	pointer to it.

	* src/types.h, src/router.c, src/functions.h:
	Move the fake nodes and segments to a new file.

	* src/fakes.c: New file.

2010-07-19  Andrew M. Bishop  <amb>

	* xml/routino-profiles.xml:
	Reduce the "multilane" preference for motor vehicles.  Gives too much bias with
	previous setting.

2010-07-15  Andrew M. Bishop  <amb>

	* src/Makefile, src/filedumper.c, src/nodes.c, src/nodes.h, src/nodesx.c, src/visualiser.c:
	Added a slim mode to the router (just for nodes to start with).

2010-07-14  Andrew M. Bishop  <amb>

	* src/segmentsx.h, src/superx.c, src/waysx.c, src/waysx.h, src/Makefile, src/nodesx.c,
	src/nodesx.h, src/planetsplitter.c, src/segmentsx.c:
	Replaced the runtime selection of slim mode / non-slim mode with compile time
	selection that gives no runtime overhead but gives two executables.

2010-07-13  Andrew M. Bishop  <amb>

	* src/nodesx.c, src/nodesx.h, src/segmentsx.c, src/segmentsx.h, src/waysx.c, src/waysx.h:
	Move the functions for slim mode out into the header file and make it inline.

2010-07-12  Andrew M. Bishop  <amb>

	* src/files.h: New file.

	* src/segmentsx.h, src/sorting.c, src/superx.c, src/tagging.c, src/tagmodifier.c,
	src/translations.c, src/ways.c, src/waysx.c, src/waysx.h, src/filedumper.c, src/files.c,
	src/functions.h, src/nodes.c, src/nodesx.c, src/nodesx.h, src/optimiser.c, src/output.c,
	src/planetsplitter.c, src/profiles.c, src/router.c, src/segments.c, src/segmentsx.c:
	Create a files.h header and put some of the most heavily used files.c functions
	into it and make them inline.

2010-07-11  Andrew M. Bishop  <amb>

	* src/segmentsx.c, src/segmentsx.h, src/files.c, src/nodesx.c, src/nodesx.h:
	Made the planetsplitter slim mode handle the output node and segment data in a
	slim way as well as in the input data.

	* src/nodesx.c, src/segmentsx.c, src/waysx.c:
	Change the names of the temporary files.

2010-07-10  Andrew M. Bishop  <amb>

	Version 1.4.1 released

2010-07-10  Andrew M. Bishop  <amb>

	* doc/NEWS.txt: Update NEWS for release.

	* doc/ALGORITHM.txt:
	Update documentation for slight modification to algorithm, also add more
	information about how preferences etc are handled.

2010-07-09  Andrew M. Bishop  <amb>

	* src/Makefile:
	Default compilation flags include optimisation and not debugging symbols.

2010-07-08  Andrew M. Bishop  <amb>

	* src/nodes.c:
	Fix error with finding closest segment to the specified point.

	* src/optimiser.c:
	Bug fix for not crashing when finding the middle part of the route.

2010-07-07  Andrew M. Bishop  <amb>

	* src/results.c, src/optimiser.c:
	Changed the amount of memory allocated for intermediate results => routes much
	faster.

	* src/output.c: Remove compilation warning.

	* src/Makefile:
	Copy files to web directory like done in other Makefiles.

	* doc/Makefile:
	Change location of HTML files in web directory and clean up web directory on distclean.

	* src/xml/Makefile: Stop message being printed when make runs.

	* xml/Makefile:
	Fix error from last checkin and clean up web directory on distclean.

2010-07-06  Andrew M. Bishop  <amb>

	* src/optimiser.c:
	Don't crash if the middle part of the route can't be found but exit cleanly.

2010-07-05  Andrew M. Bishop  <amb>

	* src/superx.c: Change the algorithm used to determine supernodes.

2010-07-03  Andrew M. Bishop  <amb>

	* xml/routino-translations.xml:
	Added German translation [patch from Christoph Eckert].

	* src/translations.c:
	Don't crash if more than one language is in translations.xml but --language
	option is not used.

2010-06-28  Andrew M. Bishop  <amb>

	* src/router.c: Don't crash if start and finish are the same point.

2010-06-27  Andrew M. Bishop  <amb>

	* doc/DATA.txt: New file.

	* doc/ALGORITHM.txt, doc/CONFIGURATION.txt, doc/INSTALL.txt, doc/OUTPUT.txt, doc/README.txt,
	doc/TAGGING.txt, doc/USAGE.txt:
	Updated documentation to match new web site.

	* doc/Makefile: New file.

	* xml/Makefile: Add some new variables.

2010-06-26  Andrew M. Bishop  <amb>

	* xml/routino-profiles.xml, xml/routino-tagging-nomodify.xml, xml/routino-tagging.xml,
	xml/routino-translations.xml, src/translations.c:
	Changed URLs to http://www.routino.org/

	* doc/README.txt: *** empty log message ***

	* doc/OUTPUT.txt: Changed URLs to http://www.routino.org/

2010-05-31  Andrew M. Bishop  <amb>

	Version 1.4 released

2010-05-31  Andrew M. Bishop  <amb>

	* doc/INSTALL.txt, doc/NEWS.txt, doc/README.txt:
	Update for version 1.4.

	* src/xml/Makefile: Make sure that distclean really cleans up.

	* Makefile: Make sure that xml sub-directory is made.

	* src/router.c:
	Fix the code that should stop routing if no segment is found.

2010-05-30  Andrew M. Bishop  <amb>

	* doc/USAGE.txt:
	Add the planetsplitter tagging rules option (and remove the unnecessary options
	that it replaces), add the filedumper OSM dump option and add the tagmodifier
	program.

	* doc/TAGGING.txt: Describe the new tagging rules.

	* doc/OUTPUT.txt: Note that the HTML and GPX outputs are translated.

	* doc/CONFIGURATION.txt: Add the tagging rules configuration file.

	* doc/ALGORITHM.txt: An update to the current size of the UK database.

	* xml/routino-tagging-nomodify.xml: New file.

	* src/tagmodifier.c:
	A tagging XML file must be read (just like planetsplitter).

	* src/filedumper.c:
	Add the option to dump a region rather than all and to not output super
	segments.

	* src/optimiser.c: Fix printing the number of super-segments tried.

2010-05-29  Andrew M. Bishop  <amb>

	* xml/routino-translations.xml, xml/routino-translations.xsd, src/ways.h, src/filedumper.c,
	src/osmparser.c, src/output.c, src/translations.c, src/translations.h:
	Translate the names given to unnamed roads (the highway type).

	* src/profiles.c, src/profiles.h, src/router.c:
	Stricter check on specified profile before routing.

	* src/router.c: Ensure that if no segment is found the routing stops.

	* src/nodes.c:
	When finding a closest segment one of the nodes must be within the search
	distance.

2010-05-28  Andrew M. Bishop  <amb>

	* src/router.c: Make sure that some profiles are loaded.

2010-05-27  Andrew M. Bishop  <amb>

	* src/optimiser.c, src/profiles.c:
	Fix bug with profile preferences (used incorrectly in route optimisation).

	* src/Makefile, src/filedumper.c, src/types.c, src/types.h:
	Add an option to filedumper to dump an OSM format file.

2010-05-25  Andrew M. Bishop  <amb>

	* src/xmlparse.l: Fix bug with encoding XML strings.

2010-05-23  Andrew M. Bishop  <amb>

	* xml/Makefile:
	Make sure that modified files are copied to web directory.

	* src/tagmodifier.c:
	Fix bug when filename is specified on command line.

	* src/tagging.c, src/tagging.h, src/tagmodifier.c, src/xmlparse.l, src/osmparser.c:
	Fix some memory leaks.

	* src/tagmodifier.c, xml/osm.xsd, xml/routino-osm.xsd, src/osmparser.c:
	Add the 'bound' element to the XML parser.

2010-05-22  Andrew M. Bishop  <amb>

	* src/functionsx.h, src/osmparser.c, src/planetsplitter.c, src/ways.h, src/waysx.c,
	src/waysx.h:
	Remove the --transport=<transport>, --not-highway=<highway> and
	--not-property=<property> options from planetsplitter because they can be done
	by the tagging.xml file now.

2010-05-18  Andrew M. Bishop  <amb>

	* src/Makefile: Add tagmodifier program.

	* src/xmlparse.l: Handle floating point numbers in scientific notation.

	* src/planetsplitter.c:
	Read in the tag transformation rules before calling the OSM parser.

	* src/functionsx.h, src/osmparser.c:
	Almost completely re-written OSM parser using tagging transformations.

	* src/tagmodifier.c, src/tagging.h, src/tagging.c: New file.

	* xml/Makefile: Copy the tagging rules to the web directory.

	* xml/routino-tagging.xml, xml/routino-tagging.xsd, xml/routino-osm.xsd:
	New file.

	* xml/osm.xsd: Small fix for OSM schema.

2010-05-14  Andrew M. Bishop  <amb>

	* src/types.c: Remove highway type aliases from HighwayType() function.

	* src/xmlparse.h, src/xmlparse.l: Allow empty strings to be returned.

2010-05-10  Andrew M. Bishop  <amb>

	* src/xmlparse.h, src/xmlparse.l:
	The line number is now a long integer.

	* src/xml/Makefile: Running 'make test' now compiles everything first.

2010-04-28  Andrew M. Bishop  <amb>

	* src/xml/Makefile: Delete zero length file if xsd-to-xmlparser fails.

	* src/nodes.c, src/nodesx.c, src/segments.c, src/segmentsx.c, src/ways.c, src/waysx.c:
	Change file format to allow 64-bit off_t type with 32 bit void* type.

	* src/Makefile, src/filedumper.c, src/xml/Makefile:
	Compile with _FILE_OFFSET_BITS=64 to get 64-bit fopen() and stat().

2010-04-27  Andrew M. Bishop  <amb>

	* src/output.c: Fix mistake of writing GPX information to wrong file.

	* doc/OUTPUT.txt, doc/CONFIGURATION.txt: New file.

	* doc/TAGGING.txt, doc/USAGE.txt, doc/ALGORITHM.txt, doc/INSTALL.txt, doc/NEWS.txt,
	doc/README.txt:
	Interim checkin of updated documentation.

2010-04-24  Andrew M. Bishop  <amb>

	* src/router.c:
	Merged the three functions to output the head/body/tail of the results back into
	a single function.  Added the '--output-none' option.

	* src/functions.h, src/output.c:
	Merged the three functions to output the head/body/tail of the results back into
	a single function.

	* xml/routino-translations.xml, xml/routino-translations.xsd, src/output.c,
	src/translations.c, src/translations.h:
	Added translations for the HTML output.

	* src/xmlparse.h, src/xmlparse.l: Changed functions from const.

	* src/output.c:
	Add the copyright information into the translations.xml file instead of the
	separate copyright.txt file.  Add the translated copyright strings into the
	outputs.

	* src/functions.h, src/router.c, src/translations.c, src/translations.h:
	Add the copyright information into the translations.xml file instead of the
	separate copyright.txt file.

	* src/xmlparse.h, src/xmlparse.l:
	Add an option to not convert the XML strings into decoded representations (saves
	converting them back later for the translated strings).

2010-04-23  Andrew M. Bishop  <amb>

	* src/xml/xsd-to-xmlparser.c, src/translations.c, src/xmlparse.h, src/xmlparse.l,
	src/profiles.c:
	Pass the tag name to the tag function.

2010-04-22  Andrew M. Bishop  <amb>

	* Makefile: Fix bug in makefile.

	* xml/Makefile: Move the translations into the web directory.

	* xml/routino-translations.xml, xml/routino-translations.xsd: New file.

	* src/output.c: Changed HTML output to be useful in web pages.

	* src/xmlparse.l:
	Restart properly so that a different file can be read.

2010-04-13  Andrew M. Bishop  <amb>

	* src/xml/xsd-to-xmlparser.c, src/profiles.c, src/translations.c:
	Name the tag variables and functions after the XSD data type and not the tag
	name that uses it.

2010-04-12  Andrew M. Bishop  <amb>

	* src/profiles.c, src/translations.c, src/xmlparse.h, src/xmlparse.l,
	src/xml/xsd-to-xmlparser.c, src/xml/Makefile:
	Change the last parameter to the ParseXML function to be general options.

	* src/Makefile, src/types.h, src/ways.c, src/ways.h:
	Move the type checking/printing functions from way.c to type.c.

	* src/types.c: New file.

2010-04-11  Andrew M. Bishop  <amb>

	* src/xml/xsd-to-xmlparser.c, src/profiles.c, src/translations.c, src/xmlparse.h,
	src/xmlparse.l:
	Added helper functions for parsing strings into numbers.
	Added macros to perform common error checking.
	Change XML parser callback functions to return an error status.

2010-04-10  Andrew M. Bishop  <amb>

	* src/router.c: Fix usage information.

	* src/translations.h, src/translations.c: New file.

	* src/output.c: Added translations for GPX and turn/heading.

	* src/Makefile, src/router.c:
	Added file of translations and language selection.

2010-04-09  Andrew M. Bishop  <amb>

	* src/functions.h, src/planetsplitter.c, src/sorting.c:
	Add an option '--sort-ram-size' to specify the RAM to use for sorting - defaults
	to 256MB if not using slim mode.

2010-04-08  Andrew M. Bishop  <amb>

	* src/xml/Makefile: Fix test program generation and running.

	* src/xmlparse.h, src/xmlparse.l:
	Make the strings const and add the number of attributes to the xmltag structure.
	Add functions to convert character entities and character references.

	* src/profiles.c, src/xml/xsd-to-xmlparser.c:
	Make the strings const and add the number of attributes to the xmltag structure.

2010-04-07  Andrew M. Bishop  <amb>

	* xml/Makefile: New file.

2010-04-06  Andrew M. Bishop  <amb>

	* src/Makefile:
	Remove special lex/flex flags.  Remove profiles.o from planetsplitter.

	* src/xml/xsd-to-xmlparser.c:
	Don't print anything for attributes that are not set.

	* src/xmlparse.l:
	Change error message for bad character in a quoted string.
	Make sure attribute values are cleared before calling tag function (for
	end-tags).

2010-04-04  Andrew M. Bishop  <amb>

	* src/xml/Makefile: Add some XML parsing test cases.

	* src/xml/xsd-to-xmlparser.c: Rename the XML handling function.

	* src/xmlparse.h, src/xmlparse.l, src/profiles.c: Added error checking.

2010-04-03  Andrew M. Bishop  <amb>

	* src/functionsx.h, src/osmparser.c, src/planetsplitter.c:
	Rename the old ParseXML() function as ParseOSM().

2010-04-01  Andrew M. Bishop  <amb>

	* src/output.c: Wrap GPX descriptions in CDATA.

2010-03-31  Andrew M. Bishop  <amb>

	* xml/routino-profiles.xml: New file.

	* src/xml/xsd-to-xmlparser.c, src/profiles.c, src/xmlparse.h, src/xmlparse.l:
	Call the XML tag functions for the end tags as well as the start tags.

2010-03-30  Andrew M. Bishop  <amb>

	* src/profiles.c, src/profiles.h:
	Change the name of the --profile-json and --profile-perl options.

	* src/filedumper.c, src/planetsplitter.c, src/router.c:
	Improve the program help messages.

2010-03-29  Andrew M. Bishop  <amb>

	* src/files.c, src/functions.h, src/profiles.c, src/profiles.h, src/router.c:
	Added command line option to specify a file containing profiles.
	Added command line option to select profile by name from loaded set.
	Use XML parser to read in the profiles.

	* src/Makefile: Better handling of the xml sub-directory.

	* src/xml/xsd-to-xmlparser.c:
	Add the option to ignore unknown attributes.
	Print out the skeleton file using static functions and variables.

	* src/xml/Makefile: Keep the intermediate files.

	* src/xmlparse.h, src/xmlparse.l:
	Add the option to ignore unknown attributes.

2010-03-28  Andrew M. Bishop  <amb>

	* src/profiles.h, src/router.c, src/profiles.c:
	Add an option to print out the profiles as XML format.

	* src/xmlparse.h, xml/xsd.xsd, xml/osm.xsd, src/xml/xsd-to-xmlparser.c:
	New file.

	* src/Makefile: Added the XML subdirectory and xmlparser.c.

	* src/xmlparse.l, src/xml/Makefile: New file.

2010-03-20  Andrew M. Bishop  <amb>

	* src/output.c: Add descriptions to each point in the GPX route file.

	* src/files.c, src/functions.h, src/nodesx.c, src/output.c, src/segmentsx.c, src/waysx.c:
	Move the stat() calls to find a file size into a helper function in files.c.

	* src/files.c, src/output.c, src/planetsplitter.c:
	Improve the error messages by adding strerror() to them.

	* src/filedumper.c, src/router.c:
	Don't check the return value of the functions to load the nodes, segments and
	ways because those functions will exit in case of an error.

	* src/nodes.c, src/segments.c, src/ways.c:
	Don't check the return value of MapFile() because it will exit in case of an
	error.

	* src/planetsplitter.c:
	Allow filenames on the planetsplitter command line.

2010-03-19  Andrew M. Bishop  <amb>

	* src/waysx.h, src/filedumper.c, src/files.c, src/functions.h, src/nodesx.c, src/nodesx.h,
	src/planetsplitter.c, src/segmentsx.c, src/segmentsx.h, src/superx.c, src/waysx.c:
	Allow planetsplitter to be run with a --parse-only or --process-only option and
	append to existing file or read from existing file.

2010-03-18  Andrew M. Bishop  <amb>

	* src/router.c: Fix usage message error and shuffle order.

	* src/output.c, src/router.c:
	Allow selection of which outputs are to be created.

2010-03-17  Andrew M. Bishop  <amb>

	* src/output.c: Re-order the code for HTML.

2010-03-15  Andrew M. Bishop  <amb>

	* src/output.c: Create a simple HTML output.

2010-03-06  Andrew M. Bishop  <amb>

	* src/router.c, src/nodes.c:
	Speed up start/via/stop point search algorithm.

2010-03-05  Andrew M. Bishop  <amb>

	* src/profiles.c:
	Change the format of the output for the --help-profile-{pl|js} options.

2010-01-21  Andrew M. Bishop  <amb>

	Version 1.3 released

2010-01-21  Andrew M. Bishop  <amb>

	* doc/NEWS.txt: Update to latest news.

2010-01-18  Andrew M. Bishop  <amb>

	* doc/USAGE.txt, doc/TAGGING.txt, doc/INSTALL.txt:
	Updated documentation.

2010-01-15  Andrew M. Bishop  <amb>

	* src/router.c, src/functions.h:
	Change the test output formats to add turn, node type and bearing information.

2010-01-13  Andrew M. Bishop  <amb>

	* src/output.c:
	Change the test output formats to add turn, node type and bearing information.

2009-12-16  Andrew M. Bishop  <amb>

	* src/router.c:
	Added an option to use only nodes and not interpolate a point into a segment.

2009-12-15  Andrew M. Bishop  <amb>

	* src/osmparser.c, src/profiles.c, src/types.h, src/ways.c:
	Added wheelchair as type of transport.

2009-12-13  Andrew M. Bishop  <amb>

	* src/osmparser.c, src/profiles.c, src/types.h, src/ways.c:
	Add bridge and tunnel to highway properties.

2009-12-12  Andrew M. Bishop  <amb>

	* src/Makefile:
	Ignore the error if executables cannot be copied after compiling.

	* src/functions.h, src/nodesx.c, src/segmentsx.c, src/sorting.c, src/waysx.c:
	Add some FILESORT_* #defines and use them.

2009-12-11  Andrew M. Bishop  <amb>

	* src/functions.h, src/nodesx.c, src/planetsplitter.c, src/segmentsx.c, src/sorting.c,
	src/waysx.c, src/waysx.h:
	Added a new function to sort variable length data - simplifies the compacting of
	ways, reduces memory usage potentially required for it and simplifies the code.

2009-12-10  Andrew M. Bishop  <amb>

	* src/waysx.c:
	Write out the list of ways without memory mapping anything.

2009-11-27  Andrew M. Bishop  <amb>

	* src/osmparser.c, src/profiles.c, src/types.h, src/ways.c:
	Add in "multilane" as a new highway property.

2009-11-25  Andrew M. Bishop  <amb>

	* src/filedumper.c, src/optimiser.c, src/osmparser.c, src/planetsplitter.c, src/profiles.h,
	src/router.c, src/ways.h, src/waysx.c, src/waysx.h:
	Store the selected options when parsing (planetsplitter) and display them in the
	statistics (filedumper) and check them when routing (router).

2009-11-23  Andrew M. Bishop  <amb>

	* src/osmparser.c, src/output.c, src/profiles.c, src/types.h, src/ways.c:
	Add in "steps" as a new highway type.

2009-11-19  Andrew M. Bishop  <amb>

	* src/optimiser.c, src/router.c:
	Made the verbose output consistent between different places.

2009-11-18  Andrew M. Bishop  <amb>

	* src/router.c: Fix bug with previous segment-splitting routing.

2009-11-14  Andrew M. Bishop  <amb>

	* src/optimiser.c, src/output.c, src/router.c, src/segments.h, src/functions.h, src/nodes.c,
	src/nodes.h:
	If a selected waypoint is not very close to an existing node then insert a fake
	node in the segment that comes closest and use that instead.

2009-11-13  Andrew M. Bishop  <amb>

	* src/optimiser.c, src/osmparser.c, src/queue.c, src/results.c, src/results.h, src/types.h:
	Added in some more constants with the value ~0.

2009-11-06  Andrew M. Bishop  <amb>

	* src/filedumper.c:
	Check the values for the --node=, --segment= and --way= options.

2009-11-03  Andrew M. Bishop  <amb>

	* src/output.c, src/planetsplitter.c, src/profiles.c, src/profiles.h, src/router.c,
	src/types.h, src/ways.c:
	Rename Way_Unknown to Way_Count to make more sense and match the properties.

2009-11-02  Andrew M. Bishop  <amb>

	* src/osmparser.c: Allow the tag "paved" as well as "surface=paved".

	* src/filedumper.c, src/optimiser.c, src/osmparser.c, src/planetsplitter.c, src/profiles.c,
	src/profiles.h, src/router.c, src/types.h, src/ways.c, src/ways.h:
	Added the ability to set routing preferences using highway properties.
	Initially the only choice is either paved or unpaved but the code has been
	updated to allow any number of properties to be added.

2009-10-27  Andrew M. Bishop  <amb>

	* src/osmparser.c:
	Handle the "designation=..." tag for bridleway, byway and footpath.  (Also
	change to using a macro for testing if access is allowed and now allow
	"destination").

	* src/osmparser.c, src/profiles.c, src/types.h, src/ways.c, src/ways.h:
	Added Moped to the list of transports (and incidentally increased the transport
	data type to 16 bits and re-ordered the Way data-type in response).

2009-10-26  Andrew M. Bishop  <amb>

	* src/profiles.c:
	Ensure that horses and bicycles have a default speed on trunk even though they
	have a default preference not to use it.

	* src/osmparser.c, src/profiles.c, src/types.h, src/ways.c:
	Re-ordered the types so that Horse comes before Bicycle.

	* src/osmparser.c, src/output.c, src/profiles.c, src/types.h, src/ways.c:
	Remove the Bridleway and Footway highway types and use the Path type instead
	(also re-ordered the types so that Cycleway comes before Path).

	* src/profiles.c: Remove unneeded spaces at the end of the output.

2009-10-25  Andrew M. Bishop  <amb>

	* src/output.c:
	Fix bug in code that determines waypoints for abbreviated output.

2009-10-24  Andrew M. Bishop  <amb>

	* src/functions.h, src/optimiser.c, src/router.c:
	Fix missing segments in output if start and finish points are found by the start
	search.

2009-10-22  Andrew M. Bishop  <amb>

	* src/files.c, src/nodesx.c, src/segmentsx.c, src/sorting.c, src/superx.c, src/waysx.c:
	Added some missing comments and corrected some existing ones.

2009-10-21  Andrew M. Bishop  <amb>

	Version 1.2 released

2009-10-21  Andrew M. Bishop  <amb>

	* doc/README.txt, doc/USAGE.txt, doc/NEWS.txt: Updated for version 1.2.

2009-10-20  Andrew M. Bishop  <amb>

	* src/Makefile: Add sorting.o to the Makefile.

2009-10-12  Andrew M. Bishop  <amb>

	* src/waysx.c: When sorting we cannot have NULL pointers now.

	* src/nodesx.c, src/segmentsx.c, src/waysx.c:
	Re-order the functions in the file into a more logical order.
	No functional changes.

	* src/nodesx.c, src/planetsplitter.c, src/segmentsx.c, src/sorting.c, src/waysx.c:
	Rename the tmpdirname variable.

2009-10-10  Andrew M. Bishop  <amb>

	* src/nodesx.c, src/osmparser.c, src/segmentsx.c, src/sorting.c, src/waysx.c:
	Corrections after running with valgrind.

	* src/planetsplitter.c: Fix early termination test.

	* src/nodesx.c, src/nodesx.h, src/segmentsx.c:
	Remove the nodesx->gdata index.

2009-10-09  Andrew M. Bishop  <amb>

	* src/nodesx.c, src/segmentsx.c, src/typesx.h, src/waysx.c, src/waysx.h:
	Free the nodesx->super array and the segmentsx->firstnode array when finished
	with them.  Remove wayx->cid and overwrite wayx->id instead.  Overwrite
	nodex[i]->id=i for later geographically sorted use.

2009-10-08  Andrew M. Bishop  <amb>

	* src/nodesx.c, src/planetsplitter.c, src/segmentsx.c, src/segmentsx.h, src/superx.c:
	Replace node, segment and way indexes with a single index for a set of segments
	containing the location of the first segment for each node.

	* src/nodesx.h: Fix comment.

2009-10-07  Andrew M. Bishop  <amb>

	* src/osmparser.c, src/segmentsx.c, src/superx.c:
	AppendSegment adds a single segment and not a pair.

	* src/waysx.c: Use heapsort() instead of qsort().

	* src/nodesx.c, src/nodesx.h, src/planetsplitter.c, src/segmentsx.c, src/segmentsx.h,
	src/superx.c, src/waysx.c:
	Go back to the version 1.1 method of having each segment listed twice.  This
	simplifies the lookup of first/next segments at no in-RAM index cost and now
	that slim mode has sorting of file contents the balance has tipped back.

2009-10-04  Andrew M. Bishop  <amb>

	* src/functions.h, src/sorting.c:
	Change the sort function to allow the indexing callback to veto the write.

	* src/nodesx.c: Remove the duplicates when sorting.

	* src/waysx.c:
	Sort the ways using the same method as the nodes.  Also remove the duplicates.

	* src/nodesx.c:
	Use the new sort functions to allow sorting the data in the file without needing
	to read (or mmap) the whole file into RAM at the same time.

	* src/functions.h: Add some functions to perform sorting.

	* src/sorting.c: New file.

	* src/queue.c: Fix bug with binary heap sort.

2009-09-25  Andrew M. Bishop  <amb>

	* src/queue.c: Add comments describing the algorithm used.

2009-09-23  Andrew M. Bishop  <amb>

	* src/nodesx.c, src/waysx.c:
	Simplify the de-duplication when sorting and update some comments.

2009-09-22  Andrew M. Bishop  <amb>

	* src/nodesx.c, src/nodesx.h:
	Remove a leftover from the last change on these files.

	* src/segmentsx.c: Improve the super-segment de-duplication.

2009-09-21  Andrew M. Bishop  <amb>

	* src/nodesx.c, src/nodesx.h, src/planetsplitter.c:
	Remove the non-highway nodes without re-sorting the whole list again.

2009-09-17  Andrew M. Bishop  <amb>

	* src/osmparser.c, src/planetsplitter.c, src/segmentsx.c, src/superx.c, src/waysx.c,
	src/waysx.h:
	Added the slim mode to Ways as well.

	* src/ways.h: Add padding to Ways structure to allow it to be zeroed.

	* src/nodesx.c: Add some comments when closing and re-opening files.

	* src/files.c, src/functions.h:
	The WriteFile function now has a const parameter.

2009-09-15  Andrew M. Bishop  <amb>

	* src/nodesx.c, src/nodesx.h, src/planetsplitter.c, src/segmentsx.c:
	Some bug fixes and some missing unmap function calls.

2009-09-07  Andrew M. Bishop  <amb>

	* src/segmentsx.h, src/superx.c, src/nodesx.c, src/nodesx.h, src/segmentsx.c:
	Fixed slim mode for segments and nodes (slim now means mapping only one file
	into RAM at a time and none when creating the final output).

2009-09-06  Andrew M. Bishop  <amb>

	* src/nodesx.h, src/planetsplitter.c, src/segmentsx.c, src/segmentsx.h, src/superx.c,
	src/superx.h, src/nodesx.c:
	Slim version of segments code (still very slow and only works on simple cases).

	* src/files.c, src/functions.h:
	Remove the delete option from UnmapFile() and make it return NULL.

	* src/filedumper.c: Allow dumping all nodes, segments or ways.

2009-09-05  Andrew M. Bishop  <amb>

	* src/nodesx.c: Don't re-sort unnecessarily.

	* src/nodesx.c, src/nodesx.h, src/planetsplitter.c, src/segmentsx.c, src/superx.c:
	Improve slim mode for nodes so that no data is not loaded into RAM at all.

	* src/files.c, src/functions.h: Add some more file functions.

2009-09-03  Andrew M. Bishop  <amb>

	* src/nodesx.c, src/files.c, src/functions.h:
	Remove extra argument from MapFile function.

	* src/nodesx.c, src/nodesx.h, src/planetsplitter.c, src/segmentsx.c, src/superx.c:
	Added slim mode (--slim) to planetsplitter for nodes only.

	* src/files.c, src/functions.h:
	Changes to mapping and unmapping files for slim mode.

2009-08-25  Andrew M. Bishop  <amb>

	* src/planetsplitter.c: Revert the order that the functions are called.

	* src/nodesx.c: Fix for assert statement.

	* src/files.c: Bug fix for mmap().

2009-08-20  Andrew M. Bishop  <amb>

	* src/osmparser.c: Fix bug with memory allocation.

2009-08-19  Andrew M. Bishop  <amb>

	* src/nodesx.c, src/nodesx.h, src/planetsplitter.c, src/segmentsx.c, src/segmentsx.h,
	src/superx.c, src/waysx.c, src/waysx.h:
	Remove "sorted" parameter in data structure and change assert statements.

2009-08-17  Andrew M. Bishop  <amb>

	* src/router.c:
	Increase to 99 the number of waypoints that can be specified.

2009-08-15  Andrew M. Bishop  <amb>

	* src/queue.c: Fix comment.

	* src/Makefile:
	Tidy the compilation options to make it easier to turn them on and off.

	* src/router.c:
	Remove the --all, --super and --no-output command line options.
	Handle the renamed routing functions.

	* src/functions.h, src/optimiser.c:
	Rename the routing functions and make FindRoute only find routes with no
	super-nodes in them.

	* src/queue.c:
	When popping from queue make sure that place in queue is cleared.

	* src/optimiser.c, src/queue.c, src/results.c, src/results.h, src/superx.c:
	Optimise the priority queue used for routing.

	* src/filedumper.c: Fix dumping nodes when they are super-nodes.

2009-07-23  Andrew M. Bishop  <amb>

	* src/Makefile, src/optimiser.c, src/results.c, src/results.h, src/superx.c:
	Split off queue functions into a separate file.

	* src/queue.c: New file.

2009-07-19  Andrew M. Bishop  <amb>

	* src/nodesx.c, src/segments.h, src/segmentsx.c, src/ways.h, src/waysx.c, src/filedumper.c,
	src/nodes.h:
	Include the number of super-nodes, super-segments etc in the database as useful
	information to put in the statistics output.

	* src/superx.c: Fix incorrect progress indicator message.

	* src/waysx.c: Fix problem with memory reallocation.

	* src/nodesx.c, src/osmparser.c, src/planetsplitter.c, src/segmentsx.c, src/segmentsx.h,
	src/superx.c:
	Store only one copy of each segment but index once for each direction.

2009-07-12  Andrew M. Bishop  <amb>

	* src/functionsx.h, src/nodesx.c, src/nodesx.h, src/osmparser.c, src/output.c,
	src/planetsplitter.c, src/profiles.c, src/results.c, src/segments.c, src/segmentsx.c,
	src/segmentsx.h, src/superx.c, src/superx.h, src/ways.h, src/waysx.c, src/waysx.h:
	Tidy up and fix comments and include files.

	* src/osmparser.c, src/planetsplitter.c, src/router.c, src/segmentsx.c, src/superx.c,
	src/waysx.c, src/filedumper.c, src/nodesx.c, src/optimiser.c:
	Check all print statements and made them more consistent and/or accurate.

2009-07-11  Andrew M. Bishop  <amb>

	* src/nodesx.c, src/nodesx.h, src/planetsplitter.c, src/segmentsx.c, src/waysx.c,
	src/waysx.h:
	Free memory at the end of planetsplitter (to aid finding potential leaks
	earlier).

2009-07-09  Andrew M. Bishop  <amb>

	* src/segmentsx.c: Free memory correctly (really).

	* src/planetsplitter.c, src/waysx.c, src/waysx.h:
	Separate the sorting of Ways from compacting of Ways.

	* src/nodes.h, src/nodesx.c, src/nodesx.h, src/segmentsx.c, src/visualiser.c,
	src/filedumper.c, src/nodes.c:
	Rename structure members after recent changes.

	* src/segmentsx.c: Free memory correctly.

	* src/types.h, src/segmentsx.c: Fix duplicate checking.

	* src/planetsplitter.c: Ensure that variable is reset before using it.

	* src/types.h, src/visualiser.c, src/visualiser.h, src/filedumper.c, src/nodes.c,
	src/nodes.h, src/nodesx.c, src/nodesx.h, src/optimiser.c, src/osmparser.c, src/output.c,
	src/router.c, src/segments.c, src/segments.h, src/segmentsx.c:
	Change from float to double for latitude and longitude.
	Store latitude and longitude as an integer type rather than float (higher precision).

2009-07-08  Andrew M. Bishop  <amb>

	* src/superx.c: Ensure that variable is reset before using it.

2009-07-06  Andrew M. Bishop  <amb>

	* src/visualiser.c:
	Print all super-segments within and crossing the border.
	Don't display speed limits for tracks and paths unless set.

2009-07-04  Andrew M. Bishop  <amb>

	* src/segmentsx.h, src/superx.c, src/waysx.c, src/waysx.h:
	Change data structure to avoid calling realloc() each time to allocate more
	memory.

2009-07-02  Andrew M. Bishop  <amb>

	* src/types.h, src/waysx.c, src/waysx.h:
	Handle duplicate ways.

	* src/nodes.c, src/nodesx.c, src/planetsplitter.c, src/profiles.c, src/results.c,
	src/segments.c, src/segmentsx.c, src/superx.c, src/superx.h, src/types.h, src/ways.c,
	src/waysx.c:
	Fix some gcc pedantic warnings.

	* src/files.c, src/nodesx.c, src/osmparser.c, src/results.c, src/router.c, src/segments.c,
	src/segmentsx.c, src/superx.c, src/ways.c, src/waysx.c:
	Removed unused header files, change assert statements, tidy some code.

2009-07-01  Andrew M. Bishop  <amb>

	* src/nodesx.c, src/nodesx.h, src/planetsplitter.c, src/segmentsx.c, src/segmentsx.h, src/superx.c:
	Remove the Node structure from the NodeX structure to save memory.

	* src/filedumper.c:
	Print latitude and longitude in degrees.

2009-06-30  Andrew M. Bishop  <amb>

	* src/segmentsx.h:
	Re-order the data in the structure.

	* src/nodesx.c, src/nodesx.h, src/osmparser.c, src/planetsplitter.c, src/segmentsx.c,
	src/segmentsx.h, src/superx.c, src/waysx.h:
	Remove the Segment structure from the SegmentX structure to save memory.

2009-06-29  Andrew M. Bishop  <amb>

	* src/filedumper.c, src/nodes.h, src/nodesx.c, src/segments.c, src/segments.h,
	src/segmentsx.c, src/superx.c, src/types.h:
	Move the super-segment and normal-segment flags from the nodes to the distance.
	Remove the NODE() macro and rename SUPER_FLAG to NODE_SUPER.

	* src/waysx.c: Replace memmove with structure copy.

	* src/nodesx.c, src/segmentsx.c, src/segmentsx.h, src/superx.c:
	Rename SegmentsX sdata to ndata.

2009-06-25  Andrew M. Bishop  <amb>

	* src/waysx.c, src/waysx.h: Rename part of the structure.

	* src/nodesx.c, src/nodesx.h, src/planetsplitter.c, src/segmentsx.c, src/segmentsx.h,
	src/superx.c, src/waysx.h:
	Undo part of the previous change - only update the Segment way index at the end.

	* src/waysx.h, src/nodesx.c, src/osmparser.c, src/planetsplitter.c, src/segmentsx.c,
	src/segmentsx.h, src/superx.c, src/superx.h, src/typesx.h, src/waysx.c:
	Reduce the number of ways in the output by compacting them (sharing the same
	information between identical ways).

2009-06-24  Andrew M. Bishop  <amb>

	* src/filedumper.c, src/nodes.h:
	Allow dumping out of nodes, segments and ways.

2009-06-15  Andrew M. Bishop  <amb>

	* src/segmentsx.c, src/superx.c, src/visualiser.c, src/ways.c, src/ways.h:
	Rename WaysSame() with WaysCompare() and reverse the sense of the output.

	* src/functionsx.h, src/typesx.h: New file.

	* src/functions.h, src/nodesx.h, src/osmparser.c, src/planetsplitter.c, src/segmentsx.h,
	src/superx.h, src/types.h, src/waysx.h:
	Put some of types.h into typesx.h (for extended data types).
	Put some of functions.h into functionsx.h (for OSM parser).
	Change included files to match.

	* src/filedumper.c, src/osmparser.c, src/output.c, src/router.c, src/types.h, src/visualiser.c:
	Add a macro for converting degrees to radians and radians to degrees.

	* src/optimiser.c:
	Fix weight, height, width, length restriction routing.

	* doc/TAGGING.txt, src/osmparser.c:
	Recognise tags "vehicle" and "motor_vehicle".

2009-06-13  Andrew M. Bishop  <amb>

	Version 1.1 released

2009-06-13  Andrew M. Bishop  <amb>

	* src/nodesx.c, src/planetsplitter.c, src/segmentsx.c, src/segmentsx.h:
	Handle nodes that are missing from the .osm file (ignore the segment).

	* src/nodesx.c:
	Revert the last change (Print an error message and exit if a node cannot be found).

	* doc/NEWS.txt: New file.

	* src/Makefile:
	Delete the executables from the web directory for 'distclean'.

2009-06-12  Andrew M. Bishop  <amb>

	* doc/USAGE.txt, doc/INSTALL.txt, doc/README.txt:
	Update the documentation.

	* src/Makefile: Copy the executables into the web directory.

2009-06-08  Andrew M. Bishop  <amb>

	* src/filedumper.c: Change help text.

	* src/visualiser.c:
	Change format of super-node/segment visualiser output.

2009-06-07  Andrew M. Bishop  <amb>

	* doc/TAGGING.txt: Updated with imperial to metric conversions.

	* src/Makefile: Added visualiser.c.

	* src/filedumper.c: Now used for data visualisation and statistics.

	* src/visualiser.h, src/visualiser.c: New file.

2009-06-05  Andrew M. Bishop  <amb>

	* src/osmparser.c:
	Improve parsing of imperial units (mph, feet & inches).

2009-06-03  Andrew M. Bishop  <amb>

	* src/nodesx.c:
	Print an error message and exit if a node cannot be found.

2009-05-31  Andrew M. Bishop  <amb>

	* src/ways.c, src/ways.h, src/waysx.c, src/waysx.h:
	Move function from waysx.c to ways.c.

2009-05-29  Andrew M. Bishop  <amb>

	* doc/USAGE.txt:
	Update usage information with new options and copyright.txt usage.

	* src/nodes.c, src/nodes.h, src/router.c:
	Make sure that the chosen "nearest point" is a highway that the profile allows.

2009-05-23  Andrew M. Bishop  <amb>

	* src/profiles.c:
	Change the default profile; horses are slower, bicycles may be allowed on
	footways (and similar).

2009-05-15  Andrew M. Bishop  <amb>

	* src/files.c, src/output.c:
	Error checking on opening files (to read/write data and to write output).

2009-05-14  Andrew M. Bishop  <amb>

	* src/output.c, src/results.c, src/router.c, src/segments.c, src/segmentsx.c, src/superx.c,
	src/types.h, src/nodes.c, src/nodesx.c, src/optimiser.c:
	Replace ~0 or 0 with NO_NODE value for "no node" condition.

2009-05-13  Andrew M. Bishop  <amb>

	* src/output.c:
	Remove one more NODE macro and fix an output formatting error.

	* src/nodes.c, src/nodes.h, src/optimiser.c, src/output.c, src/router.c:
	Remove some node macros, change some node function arguments.

	* src/optimiser.c, src/profiles.c, src/profiles.h:
	Move some common code into the profile.

	* src/superx.c: Remove distance and duration from Result structure.

	* src/output.c: Better junction detection.

	* src/optimiser.c, src/results.c, src/results.h:
	Remove distance and duration from Result structure.

2009-05-09  Andrew M. Bishop  <amb>

	* src/output.c:
	Add better junction detection for deciding on route waypoints.

2009-05-06  Andrew M. Bishop  <amb>

	* src/optimiser.c, src/profiles.c, src/profiles.h, src/types.h:
	Route using preferences for each highway.

	* src/router.c: Print out longitude then latitude.

2009-04-30  Andrew M. Bishop  <amb>

	* src/results.h, src/router.c, src/superx.c, src/types.h, src/optimiser.c, src/osmparser.c,
	src/planetsplitter.c, src/profiles.c, src/profiles.h, src/results.c:
	First attempt at preferences for highways - uses integer arithmetic and doesn't
	work well.

2009-04-27  Andrew M. Bishop  <amb>

	* src/functions.h, src/optimiser.c, src/output.c, src/results.c, src/results.h, src/router.c:
	Allow generating a route with intermediate waypoints.

2009-04-24  Andrew M. Bishop  <amb>

	* src/functions.h, src/output.c, src/router.c:
	Split the output functions into separate head/body/tail.
	Read in an optional copyright.txt file and include contents in output.

2009-04-23  Andrew M. Bishop  <amb>

	* src/profiles.c: Improve Javascript and perl print out.

	* src/filedumper.c, src/files.c, src/functions.h, src/planetsplitter.c, src/router.c:
	Move the filename generation to a new function.

2009-04-22  Andrew M. Bishop  <amb>

	* src/Makefile, src/functions.h, src/optimiser.c:
	Split the function to print the output into a new file.

	* src/output.c: New file.

2009-04-15  Andrew M. Bishop  <amb>

	* src/osmparser.c:
	Fix for parsing nodes from XML (no effect on results).

2009-04-12  Andrew M. Bishop  <amb>

	* doc/USAGE.txt, src/optimiser.c:
	Create a GPX route as well as a track.

	* src/ways.c: Changed the license to Affero GPLv3.

2009-04-10  Andrew M. Bishop  <amb>

	* src/optimiser.c:
	Add a waypoint to the GPX file for the start and finish points.

	* doc/USAGE.txt:
	Include more information about the output file formats.

2009-04-08  Andrew M. Bishop  <amb>

	Version 1.0 released

2009-04-08  Andrew M. Bishop  <amb>

	* Makefile: New file.

	* src/Makefile: Fix dependency file generation.

	* doc/USAGE.txt, doc/TAGGING.txt, doc/README.txt, doc/INSTALL.txt, doc/ALGORITHM.txt:
	New file.

	* src/Makefile, src/filedumper.c, src/files.c, src/functions.h, src/nodes.c, src/nodes.h,
	src/nodesx.c, src/nodesx.h, src/optimiser.c, src/osmparser.c, src/planetsplitter.c,
	src/profiles.c, src/profiles.h, src/results.c, src/results.h, src/router.c, src/segments.c,
	src/segments.h, src/segmentsx.c, src/segmentsx.h, src/superx.c, src/superx.h, src/types.h,
	src/ways.h, src/waysx.c, src/waysx.h:
	Changed the license to Affero GPLv3.

2009-04-07  Andrew M. Bishop  <amb>

	* src/planetsplitter.c: Remove the --help-profile command line option.

2009-03-28  Andrew M. Bishop  <amb>

	* src/optimiser.c:
	Fix file headers (again) and fix segment distance/duration for abbreviated text
	output.

2009-03-24  Andrew M. Bishop  <amb>

	* src/osmparser.c, src/profiles.c, src/types.h, src/ways.c:
	Added highway=path; defaults to foot=yes but also is defaulted for bicycle and
	horse transport.

2009-03-23  Andrew M. Bishop  <amb>

	* src/optimiser.c: Fixed the header in the output text files.

	* src/osmparser.c:
	Add parsing for *=designated allowing passage along a highway.

	* src/profiles.h, src/router.c, src/profiles.c:
	Add a function to output default profiles as perl data structures.

2009-03-21  Andrew M. Bishop  <amb>

	* src/nodesx.c:
	Handle duplicated nodes (e.g. from concatenated input files).

	* src/optimiser.c: Add a header to the output text files.

2009-03-07  Andrew M. Bishop  <amb>

	* src/optimiser.c:
	Renamed the *.txt output to *-all.txt and added a new shorted *.txt output.

	* src/router.c: Renamed the --no-print option to --no-output.

2009-03-04  Andrew M. Bishop  <amb>

	* src/nodes.c: Fix bug with finding nearest node.

2009-03-03  Andrew M. Bishop  <amb>

	* src/superx.c: Fix the merging of super-segments.

2009-03-01  Andrew M. Bishop  <amb>

	* src/profiles.c, src/profiles.h:
	Added more limits (weight, height, width, length).

	* src/segments.c: Use the lower speed from the profile and the way.

	* src/osmparser.c: Added more limits (weight, height, width, length).
	Added highway=living_street and highway=services.

	* src/ways.c, src/ways.h, src/optimiser.c, src/router.c, src/segmentsx.c, src/superx.c,
	src/types.h:
	Added more limits (weight, height, width, length).

	* src/waysx.c, src/waysx.h:
	Added a function to test if two ways are the same.

2009-02-28  Andrew M. Bishop  <amb>

	* src/nodesx.c:
	Round the node location to avoid if falling into the wrong bin.

	* src/nodesx.c, src/planetsplitter.c, src/segmentsx.c, src/waysx.c:
	Move print statements from planetsplitter into individual functions.

	* src/Makefile: Compile with optimisation and no profiling.

	* src/profiles.c, src/router.c:
	Add new command line options to make it more CGI friendly.

2009-02-27  Andrew M. Bishop  <amb>

	* src/profiles.c, src/profiles.h, src/router.c:
	Print out Javascript code containing the profiles.

2009-02-24  Andrew M. Bishop  <amb>

	* src/segmentsx.h, src/superx.c, src/nodesx.c, src/segments.c, src/segments.h,
	src/segmentsx.c:
	Remove segment->next1 since it always points at the next segment or nowhere.

	* src/profiles.c: Remove track from valid types for most transports.

2009-02-15  Andrew M. Bishop  <amb>

	* src/functions.h, src/optimiser.c, src/router.c:
	Change some function names.

	* src/osmparser.c: Add in tests for motorcar=1 etc.

	* src/nodes.c, src/nodes.h, src/router.c:
	The search to find a node given the lat/long now searches harder.

	* src/optimiser.c: Better test for failing to find a route.

	* src/router.c: Change --only-super to --super.

	* src/nodesx.c, src/optimiser.c, src/osmparser.c, src/router.c, src/segments.c,
	src/segmentsx.c, src/types.h, src/nodes.c:
	Store radians rather than degrees.

	* src/segments.c, src/segmentsx.c:
	Change to sinf(), cosf(), sqrtf(), asinf() functions.

	* src/optimiser.c:
	Set the sortby parameter to the minimum distance/duration consistent with the
	travelled distance/duration and the remaining straight line distance with the
	fastest possible speed.

	* src/filedumper.c, src/nodes.c, src/nodes.h, src/nodesx.c, src/types.h:
	Add macros for handling lat/long to bin conversions.

	* src/osmparser.c: Handle oneway=1 and oneway=-1.

2009-02-10  Andrew M. Bishop  <amb>

	* src/results.c, src/results.h:
	Added a new 'sortby' entry to the Result.
	Changed node_t to index_t.

	* src/router.c: Changed node_t to index_t.

	* src/nodes.c, src/segments.c, src/segments.h:
	Change the Distance() function to return distance_t.

2009-02-08  Andrew M. Bishop  <amb>

	* src/optimiser.c, src/results.c, src/results.h, src/router.c, src/superx.c:
	Calculate quickest or shortest, not both.

	* src/optimiser.c, src/profiles.c, src/router.c:
	Give appropriate error messages if start or end of route are not possible.

2009-02-07  Andrew M. Bishop  <amb>

	* src/results.c:
	Slight speedup by doing a linear search when looking up results and not storing
	in sorted order.

	* src/superx.h, src/superx.c, src/waysx.h, src/waysx.c, src/segmentsx.h, src/segmentsx.c,
	src/nodesx.h, src/nodesx.c:
	New file.

	* src/ways.h, src/Makefile, src/filedumper.c, src/functions.h, src/nodes.c, src/nodes.h,
	src/optimiser.c, src/osmparser.c, src/planetsplitter.c, src/router.c, src/segments.c,
	src/segments.h, src/types.h, src/ways.c:
	Split the extended data types from the normal data types.

	* src/nodes.c: Return NULL if the node cannot be found.

	* src/Makefile, src/filedumper.c, src/optimiser.c, src/router.c:
	Add new command line options.

	* src/supersegments.c: Fix some status messages.

	* src/optimiser.c, src/types.h: Routing works with super-nodes now.

2009-02-06  Andrew M. Bishop  <amb>

	* src/ways.c, src/segments.c, src/segments.h, src/supersegments.c, src/types.h, src/nodes.c,
	src/nodes.h, src/optimiser.c, src/osmparser.c, src/planetsplitter.c, src/functions.h:
	Segments now not duplicated in database.
	Routing with all nodes works, not with super-nodes.

2009-02-04  Andrew M. Bishop  <amb>

	* src/router.c: Fix usage output.

	* src/ways.c, src/ways.h: Only sort once, don't store the index.

	* src/planetsplitter.c, src/router.c:
	Use '--*' command line arguments, not '-*'.

	* src/nodes.c, src/router.c, src/segments.c, src/ways.c:
	Make sure that nodes, segments and ways could be loaded.

	* src/nodes.h, src/optimiser.c, src/router.c, src/segments.c, src/segments.h,
	src/supersegments.c, src/types.h, src/filedumper.c, src/nodes.c:
	Sort the nodes geographically and take coordinates as command line arguments.

2009-02-02  Andrew M. Bishop  <amb>

	* src/ways.c, src/ways.h, src/nodes.c, src/nodes.h, src/osmparser.c, src/segments.c,
	src/segments.h, src/supersegments.c, src/types.h:
	More variable and function name changes.

2009-02-01  Andrew M. Bishop  <amb>

	* src/profiles.c, src/router.c, src/segments.c, src/segments.h, src/supersegments.c,
	src/ways.c, src/ways.h, src/files.c, src/functions.h, src/nodes.c, src/nodes.h,
	src/optimiser.c, src/osmparser.c, src/planetsplitter.c, src/filedumper.c:
	Rename some variable types.

2009-01-31  Andrew M. Bishop  <amb>

	* src/segments.c, src/segments.h, src/supersegments.c, src/types.h, src/ways.c, src/ways.h,
	src/functions.h, src/nodes.c, src/nodes.h, src/optimiser.c, src/planetsplitter.c,
	src/profiles.h, src/router.c:
	Intermediate version during code cleanup.

	* src/optimiser.c, src/planetsplitter.c, src/router.c, src/segments.c, src/segments.h,
	src/functions.h, src/nodes.h:
	Intermediate checkin, routing now working.

	* src/Makefile:
	Don't print out anything when creating the dependencies directory.

	* src/planetsplitter.c, src/router.c:
	Add command line options to specify the directory and filename prefix.

2009-01-30  Andrew M. Bishop  <amb>

	* src/results.c, src/planetsplitter.c: Remove gcc warning.

	* src/Makefile: Move dependencies to subdir.

	* src/osmparser.c: Remove gcc warning.

2009-01-29  Andrew M. Bishop  <amb>

	* src/functions.h, src/nodes.c, src/nodes.h, src/optimiser.c, src/planetsplitter.c,
	src/router.c, src/segments.c, src/segments.h, src/supersegments.c:
	Intermediate version while transitioning data format for nodes and segments.

2009-01-28  Andrew M. Bishop  <amb>

	* src/Makefile, src/functions.h, src/nodes.c, src/nodes.h, src/optimiser.c, src/osmparser.c,
	src/planetsplitter.c, src/segments.c, src/segments.h, src/supersegments.c, src/ways.c,
	src/ways.h:
	Intermediate version while transitioning data format for nodes and segments.

2009-01-27  Andrew M. Bishop  <amb>

	* src/Makefile, src/functions.h, src/nodes.c, src/nodes.h, src/optimiser.c,
	src/planetsplitter.c, src/router.c, src/segments.c, src/segments.h, src/supersegments.c,
	src/ways.c, src/ways.h:
	Intermediate version while transitioning data format for nodes and segments.

2009-01-26  Andrew M. Bishop  <amb>

	* src/osmparser.c, src/planetsplitter.c, src/segments.c, src/segments.h,
	src/supersegments.c, src/ways.c, src/ways.h, src/filedumper.c, src/files.c, src/functions.h,
	src/optimiser.c:
	Change Segment to contain index of way not its real ID.
	Don't store the real way ID to save space.

2009-01-25  Andrew M. Bishop  <amb>

	* src/segments.c, src/segments.h:
	Slightly speed up the Duration calculation by changing the macro.

	* src/osmparser.c, src/profiles.c, src/ways.c, src/ways.h:
	Fix misspelling of Unclassified.

	* src/planetsplitter.c, src/segments.c, src/segments.h, src/supersegments.c, src/ways.h,
	src/optimiser.c:
	Change the segment->way so that it contains the index of the way, not the id.

	* src/profiles.c, src/profiles.h: New file.

	* src/ways.c, src/ways.h, src/Makefile, src/functions.h, src/optimiser.c, src/osmparser.c,
	src/planetsplitter.c, src/router.c, src/segments.c, src/segments.h:
	Added profiles to define speed and allowed highways.
	Added new options to planetsplitter and router to use the profiles.

2009-01-24  Andrew M. Bishop  <amb>

	* src/optimiser.c: Changed some variable names for clarity.

	* src/planetsplitter.c: Print more information about progress.
	Don't quit until 99.9% unchanged.

	* src/optimiser.c, src/results.c, src/results.h, src/supersegments.c:
	Change the Results structure so that the real data doesn't need to be realloc().
	Add functions to access the first and subsequent elements of the Results structure.

2009-01-23  Andrew M. Bishop  <amb>

	* src/osmparser.c, src/planetsplitter.c:
	Fix bug with not specifying a method of transport.

	* src/optimiser.c, src/router.c: Proper check that it was unroutable.

	* src/functions.h, src/optimiser.c, src/planetsplitter.c, src/supersegments.c:
	Remove "iteration" as function argument.

	* src/functions.h, src/optimiser.c, src/osmparser.c, src/planetsplitter.c, src/router.c,
	src/ways.c, src/ways.h:
	Add command line options to planetsplitter and router.
	Select transport type (must be allowed on way for parsing).
	Select highway types (ignore when parsing or routing).

	* src/ways.h, src/functions.h, src/optimiser.c, src/osmparser.c, src/router.c,
	src/segments.c, src/segments.h, src/ways.c:
	Add enumerated type Transport.
	Replace variables of AllowType with Transport where more appropriate.
	Replace AllowType with Allowed.
	Replace WayType with Highway.

	* src/osmparser.c: Only include ways that are not Way_Unknown type.

	* src/osmparser.c: Include permissive access.

	* src/functions.h, src/optimiser.c, src/results.c, src/results.h, src/router.c:
	Create a large or small results structure depending on how many nodes are
	expected.

2009-01-22  Andrew M. Bishop  <amb>

	* src/results.h: Increase the number of bins to 64k.

	* src/optimiser.c, src/osmparser.c, src/segments.c, src/segments.h, src/supersegments.c:
	Remove INVALID_DISTANCE and INVALID_DURATION.

	* src/optimiser.c, src/osmparser.c, src/supersegments.c, src/ways.c, src/ways.h:
	Removed the Way_TYPE() macro.

	* src/results.c, src/results.h, src/optimiser.c:
	Move queue functions into results.c.

	* src/filedumper.c, src/nodes.c, src/nodes.h, src/planetsplitter.c, src/router.c:
	Nodes, Segments, Ways - Nodes, Segments, Ways.

	* src/filedumper.c, src/nodes.c, src/nodes.h, src/segments.c, src/segments.h, src/ways.c,
	src/ways.h:
	Remove the choice of indexed or non-indexed data structures.

2009-01-21  Andrew M. Bishop  <amb>

	* src/optimiser.c:
	Various small speed-ups including not-reversing direction.

	* src/functions.h, src/optimiser.c, src/osmparser.c, src/router.c, src/segments.c,
	src/segments.h, src/supersegments.c, src/ways.c, src/ways.h:
	Calculate way speeds at routing time.

	* src/supersegments.c:
	Add reverse-oneway segments when creating supernodes.
	Check incoming oneway streets as well as outgoing ones.

	* src/osmparser.c: Don't change speed on roundabouts.

2009-01-20  Andrew M. Bishop  <amb>

	* src/planetsplitter.c:
	Add command line options for skipping parsing and iteration limit.

	* src/optimiser.c, src/osmparser.c, src/segments.c, src/segments.h, src/supersegments.c:
	Remove duration from segment, calculate duration depending on speed.

2009-01-19  Andrew M. Bishop  <amb>

	* src/functions.h, src/optimiser.c, src/planetsplitter.c, src/supersegments.c:
	Iteratively calculate the super-segments.

	* src/ways.h: Redefine Way_TYPE() to include one-way status.

2009-01-18  Andrew M. Bishop  <amb>

	* src/optimiser.c, src/supersegments.c:
	Fix problems with way-type matching and duplicated/missing super-segments.

	* src/functions.h, src/optimiser.c, src/router.c: Print out a GPX file.

	* src/optimiser.c, src/filedumper.c, src/functions.h, src/planetsplitter.c, src/router.c,
	src/segments.c, src/segments.h, src/supersegments.c, src/ways.c, src/ways.h:
	Added Super-Ways and allow user to select method of transport.

	* src/segments.c: Fix for changes made to ways.

	* src/supersegments.c:
	Ensure that supernodes are inserted wherever the way type changes.

	* src/osmparser.c: Fill in the extra way information.

	* src/ways.h:
	Store more information about a way (allowed modes of transport).

	* src/filedumper.c: Fix output printing.

	* src/router.c: Print an error if no route can be found.

	* src/optimiser.c:
	Fix bugs when start and/or finish nodes are supernodes.

2009-01-17  Andrew M. Bishop  <amb>

	* src/Makefile: Add the option to create assembler output files.

	* src/optimiser.c, src/results.c, src/results.h, src/supersegments.c:
	Change the contents of the results data structure.

	* src/router.c: Added an option to not print the result.

2009-01-16  Andrew M. Bishop  <amb>

	* src/optimiser.c, src/results.h, src/router.c:
	Speed optimisation by changing the contents of the Results structure.

	* src/optimiser.c:
	Don't bother calculating the distance to go, it takes too long.

2009-01-14  Andrew M. Bishop  <amb>

	* src/planetsplitter.c: Remove bad segments and non-way nodes.

	* src/nodes.c, src/nodes.h: Remove nodes which are not in highways.
	Fix the sorting and create indexes after sorting, not before saving.

	* src/segments.c, src/segments.h:
	Remove bad segments (repeated consecutive nodes and duplicate segments).
	Fix the sorting and create indexes after sorting, not before saving.

	* src/supersegments.c: Use invalid distances properly.

	* src/ways.c:
	Fix the sort algorithm and update the indexes after sorting, not before saving.

	* src/optimiser.c: Fix the bug with merging the results.
	Fix the bug with not clearing the results structure properly.

	* src/osmparser.c:
	Add segments that correspond to the wrong way along one-way routes with an
	invalid distance.

2009-01-11  Andrew M. Bishop  <amb>

	* src/functions.h, src/optimiser.c, src/router.c:
	Routes correctly using super-nodes (not Lands End to John O'Groats though).

	* src/filedumper.c, src/functions.h, src/optimiser.c, src/planetsplitter.c, src/router.c,
	src/segments.h, src/supersegments.c:
	Replace Junction with SuperNode.

	* src/nodes.c, src/nodes.h, src/segments.h, src/ways.c, src/ways.h:
	Some small changes to the nodes, segments and ways functions.

	* src/Makefile, src/filedumper.c, src/functions.h, src/optimiser.c, src/planetsplitter.c,
	src/results.h, src/router.c, src/segments.c, src/segments.h, src/supersegments.c:
	Working version with supersegments and junctions.

2009-01-10  Andrew M. Bishop  <amb>

	* src/ways.c, src/ways.h, src/osmparser.c, src/segments.c:
	Store more information about ways.

	* src/results.h, src/results.c: New file.

	* src/Makefile, src/optimiser.c:
	Move the results data type into new files.

	* src/nodes.h, src/segments.h, src/ways.h:
	Increase the increment for the indexed array case.

	* src/ways.h, src/Makefile, src/filedumper.c, src/functions.h, src/nodes.c, src/nodes.h,
	src/optimiser.c, src/osmparser.c, src/planetsplitter.c, src/router.c, src/segments.c,
	src/segments.h, src/supersegments.c, src/ways.c:
	About to add the super-segment functionality using Segments data type to hold
	them.

	* src/functions.h, src/types.h:
	Changed after nodes, ways and segment changes.

2009-01-09  Andrew M. Bishop  <amb>

	* src/segments.h: New file.

	* src/segments.c:
	Changed the format of the segments data type to match the nodes.

	* src/nodes.h: Enable indexed arrays.

	* src/ways.h: New file.

	* src/ways.c:
	Changed the format of the ways data type to match the nodes.

	* src/nodes.c, src/nodes.h:
	Changed the format of the nodes data type again.

2009-01-07  Andrew M. Bishop  <amb>

	* src/nodes.h: New file.

	* src/nodes.c: Lots of modifications:
	Two data structures - in memory (pointers) and in file (array).
	Data is hashed into multiple bins.
	Each function takes a nodes structure as an argument.

2009-01-06  Andrew M. Bishop  <amb>

	* src/supersegments.c: New file.

	* src/Makefile, src/filedumper.c, src/functions.h, src/planetsplitter.c, src/types.h:
	Added SuperSegments data type, but it does nothing yet.

	* src/optimiser.c:
	Tried to optimise the Queue data type.  It was slower than the original.

2009-01-05  Andrew M. Bishop  <amb>

	* src/filedumper.c: Print out the longest segment.

	* src/optimiser.c:
	Some optimisations.  Increase the number of result bins and change
	find_insert_result() into insert_result().

2009-01-04  Andrew M. Bishop  <amb>

	* src/optimiser.c: Introduced some new data types to simplify the code.

	* src/filedumper.c: Print more useful information.

	* src/segments.c, src/types.h, src/ways.c, src/filedumper.c, src/functions.h, src/nodes.c,
	src/optimiser.c, src/osmparser.c, src/planetsplitter.c:
	Changed the node, way and segment functions and data types.
	Removed 'alloced', shortened the prototype array.
	Remove the automatic sorting of the data.
	Added assert statements.

2009-01-03  Andrew M. Bishop  <amb>

	* src/ways.c: New file.

	* src/router.c, src/types.h, src/Makefile, src/filedumper.c, src/functions.h,
	src/optimiser.c, src/osmparser.c, src/planetsplitter.c:
	Added the ways to the output.

2009-01-02  Andrew M. Bishop  <amb>

	* src/optimiser.c, src/osmparser.c, src/segments.c, src/types.h:
	Added macros to convert between distance/km and duration/hours/minutes.
	Shortened the Segment data type with shorter distances and durations.

2009-01-01  Andrew M. Bishop  <amb>

	* src/functions.h, src/nodes.c, src/planetsplitter.c, src/segments.c, src/types.h:
	Remove the functions to initialise the node and segment arrays.

	* src/optimiser.c, src/router.c, src/Makefile: Print out the results.

2008-12-31  Andrew M. Bishop  <amb>

	* src/types.h, src/segments.c, src/router.c, src/planetsplitter.c, src/osmparser.c,
	src/optimiser.c, src/nodes.c, src/functions.h, src/files.c, src/filedumper.c, src/Makefile:
	New file.
