+2010-07-10 Andrew M. Bishop <amb@gedanken.demon.co.uk>
+
+ Version 1.4.1 released
+
+2010-07-10 Andrew M. Bishop <amb@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * src/Makefile:
+ Default compilation flags include optimisation and not debugging symbols.
+
+2010-07-08 Andrew M. Bishop <amb@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * src/superx.c: Change the algorithm used to determine supernodes.
+
+2010-07-03 Andrew M. Bishop <amb@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * src/router.c: Don't crash if start and finish are the same point.
+
+2010-06-27 Andrew M. Bishop <amb@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ Version 1.4 released
+
+2010-05-31 Andrew M. Bishop <amb@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * src/router.c: Make sure that some profiles are loaded.
+
+2010-05-27 Andrew M. Bishop <amb@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * src/xmlparse.l: Fix bug with encoding XML strings.
+
+2010-05-23 Andrew M. Bishop <amb@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * xml/Makefile: New file.
+
+2010-04-06 Andrew M. Bishop <amb@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * src/functionsx.h, src/osmparser.c, src/planetsplitter.c:
+ Rename the old ParseXML() function as ParseOSM().
+
+2010-04-01 Andrew M. Bishop <amb@gedanken.demon.co.uk>
+
+ * src/output.c: Wrap GPX descriptions in CDATA.
+
+2010-03-31 Andrew M. Bishop <amb@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * src/output.c: Re-order the code for HTML.
+
+2010-03-15 Andrew M. Bishop <amb@gedanken.demon.co.uk>
+
+ * src/output.c: Create a simple HTML output.
+
+2010-03-06 Andrew M. Bishop <amb@gedanken.demon.co.uk>
+
+ * src/router.c, src/nodes.c:
+ Speed up start/via/stop point search algorithm.
+
+2010-03-05 Andrew M. Bishop <amb@gedanken.demon.co.uk>
+
+ * src/profiles.c:
+ Change the format of the output for the --help-profile-{pl|js} options.
+
+2010-01-21 Andrew M. Bishop <amb@gedanken.demon.co.uk>
+
+ Version 1.3 released
+
+2010-01-21 Andrew M. Bishop <amb@gedanken.demon.co.uk>
+
+ * doc/NEWS.txt: Update to latest news.
+
+2010-01-18 Andrew M. Bishop <amb@gedanken.demon.co.uk>
+
+ * doc/USAGE.txt, doc/TAGGING.txt, doc/INSTALL.txt:
+ Updated documentation.
+
+2010-01-15 Andrew M. Bishop <amb@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * src/output.c:
+ Change the test output formats to add turn, node type and bearing information.
+
+2009-12-16 Andrew M. Bishop <amb@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * src/waysx.c:
+ Write out the list of ways without memory mapping anything.
+
+2009-11-27 Andrew M. Bishop <amb@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * src/optimiser.c, src/router.c:
+ Made the verbose output consistent between different places.
+
+2009-11-18 Andrew M. Bishop <amb@gedanken.demon.co.uk>
+
+ * src/router.c: Fix bug with previous segment-splitting routing.
+
+2009-11-14 Andrew M. Bishop <amb@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * src/filedumper.c:
+ Check the values for the --node=, --segment= and --way= options.
+
+2009-11-03 Andrew M. Bishop <amb@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * src/output.c:
+ Fix bug in code that determines waypoints for abbreviated output.
+
+2009-10-24 Andrew M. Bishop <amb@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ Version 1.2 released
+
+2009-10-21 Andrew M. Bishop <amb@gedanken.demon.co.uk>
+
+ * doc/README.txt, doc/USAGE.txt, doc/NEWS.txt: Updated for version 1.2.
+
+2009-10-20 Andrew M. Bishop <amb@gedanken.demon.co.uk>
+
+ * src/Makefile: Add sorting.o to the Makefile.
+
+2009-10-12 Andrew M. Bishop <amb@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * src/queue.c: Add comments describing the algorithm used.
+
+2009-09-23 Andrew M. Bishop <amb@gedanken.demon.co.uk>
+
+ * src/nodesx.c, src/waysx.c:
+ Simplify the de-duplication when sorting and update some comments.
+
+2009-09-22 Andrew M. Bishop <amb@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * src/osmparser.c: Fix bug with memory allocation.
+
+2009-08-19 Andrew M. Bishop <amb@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * src/router.c:
+ Increase to 99 the number of waypoints that can be specified.
+
+2009-08-15 Andrew M. Bishop <amb@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * src/superx.c: Ensure that variable is reset before using it.
+
+2009-07-06 Andrew M. Bishop <amb@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * src/filedumper.c, src/nodes.h:
+ Allow dumping out of nodes, segments and ways.
+
+2009-06-15 Andrew M. Bishop <amb@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ Version 1.1 released
+
+2009-06-13 Andrew M. Bishop <amb@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * src/filedumper.c: Change help text.
+
+ * src/visualiser.c:
+ Change format of super-node/segment visualiser output.
+
+2009-06-07 Andrew M. Bishop <amb@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * src/osmparser.c:
+ Improve parsing of imperial units (mph, feet & inches).
+
+2009-06-03 Andrew M. Bishop <amb@gedanken.demon.co.uk>
+
+ * src/nodesx.c:
+ Print an error message and exit if a node cannot be found.
+
+2009-05-31 Andrew M. Bishop <amb@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * src/output.c:
+ Add better junction detection for deciding on route waypoints.
+
+2009-05-06 Andrew M. Bishop <amb@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * src/osmparser.c:
+ Fix for parsing nodes from XML (no effect on results).
+
+2009-04-12 Andrew M. Bishop <amb@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ Version 1.0 released
+
+2009-04-08 Andrew M. Bishop <amb@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * src/planetsplitter.c: Remove the --help-profile command line option.
+
+2009-03-28 Andrew M. Bishop <amb@gedanken.demon.co.uk>
+
+ * src/optimiser.c:
+ Fix file headers (again) and fix segment distance/duration for abbreviated text
+ output.
+
+2009-03-24 Andrew M. Bishop <amb@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * src/nodes.c: Fix bug with finding nearest node.
+
+2009-03-03 Andrew M. Bishop <amb@gedanken.demon.co.uk>
+
+ * src/superx.c: Fix the merging of super-segments.
+
+2009-03-01 Andrew M. Bishop <amb@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * src/profiles.c, src/profiles.h, src/router.c:
+ Print out Javascript code containing the profiles.
+
+2009-02-24 Andrew M. Bishop <amb@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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@gedanken.demon.co.uk>
+
+ * 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.
+