Release History:

v2.x: X

v2.3: 13 February 2025
	- Use subsecond times in an image for better interpolation
	- When interpolation is disabled, round up when exactly half way
	- Allow fractional times in --photooffset
	- Fix handling of --timeadd values between -1:00 and 0:00
	- Read time zone from photos when available or --no-photo-tz to disable
	- Warn if the times in the GPX file are not strictly increasing
	- Correlate just the selected files in the GUI if only some are selected
	- Store GPSDOP tag in image when available and exact match
	- Display an image by double-clicking it in the GUI
	- Increase the width of the default GUI window
	- Support drag-and-drop for GPX files and images in the GUI
	- Update the German & French translation
	- Clean up memory handling and fix some memory leaks in the GUI

v2.2: 17 October 2024
	- Fix metainfo nits
	- Add a few tests for improved coverage
	- Add and improve some examples in the man page
	- Fix test005 to work with libxml2 2.13
	- Mention CSV in the help output for --machine

v2.1: 3 April 2024
	- Fix some tests to work in more locales
	- Update French index.html file
	- List more build requirements in INSTALL
	- Add more CI builds
	- Improve portability by including more required header files
	- Support --direction and --heading (sort of) with --latlong
	- Add support for heading and direction times to the GUI
	- Update the German & French translation
	- Add support for writing image direction tags
	- Improve usability of the make file
	- Adapt to API type changes in exiv2 0.28.0
	- Improve the man page and documentation
	- De-emphasize the note about versions before 1.5.2
	- Fix reading the autotimezone config value in the GUI
	- Initialize variable to avoid crash
	- Switch to gtk_file_chooser_native_new for file dialogs in GTK 3
	- Add an AppStream metadata file
	- Print a few error messages to stderr instead of stdout
	- Fully initialize points entered with --latlong
	- Fix elevation parsing
	- Add a warning when files are given out of order with --show-gpx
	- Add more regression tests
	- Add the --show-gpx option to create GPX output for images
	- Build all targets by default, including documentation
	- Add an icon to the HTML index page
	- Added French and German translations to the .desktop file
	- Removed gpscorrelate2.glade
	- Add badges in the docs for the latest version & license
	- Check for OOM condition after heap allocs

v2.0: 28 October 2019
	- gpscorrelate moved to Github and Dan Fandrich took over maintenance.
	  The new home page is https://dfandrich.github.io/gpscorrelate
	- Now writing GPSTimeStamp tag as unsigned rational, as per spec
	- Now writing GPSDateStamp tag as ASCII, as per spec
	- Added automatic time zone offset detection by default (the previous
	  behaviour can be selected with "-z 0")
	- GUI now displays the version number in the title bar
	- File loading dialogs now have appropriate filters on file extensions
	- Stop documenting the -p option, which never worked (--degmins hasn't
	  been touched)
	- Store GPS coordinates in such a way as to preserve the number of
	  significant figures of the original data
	- Use pkg-config to get the exiv2 compiler flags when building
	- Renamed OFLAGS to LDFLAGS in the Makefile which is a more common name
	- Use presence of the GPSLatitude tag instead of GPSVersionID as an
	  indicator of the presence of GPS tags (some cameras write
	  GPSVersionID even when they don't write any GPS location tags)
	- Don't record a GPSMapDatum tag if the string is blank
	- The -g option can be used multiple times to specify multiple GPX files
	- GUI now allows multiple GPX files to be selected
	- Exit status in command-line client now reflects if any image
	  encountered a fatal or nonfatal error
	- Fixed NULL pointer dereference with GPX files containing a
	  single point
	- Stop ignoring the last point in a track with --no-interpolation
	- The progress graph that shows while processing many images on a slow
	  machine is now displayed as the files are processed.
	- --machine output is no longer dependent on the current locale
	- Properly escape quotes in file names in --machine output
	- Fixed time calculations spanning DST discontinuities
	- Added a dist target to create a tar ball from git
	- Only write an altitude tag if it exists in the GPX file
	- Added a comprehensive test suite of the CLI
	- Prevent duplicate GPS tags in the final file (which could
	  happen if some tags already existed before correlation)
	- Stop overwriting files when --no-write is used with --remove
	  (Debian bug #576744)
	- Added French, German and Russian translations of program text using
	  gettext
	- Added a French translation of most documentation other than the
	  man page
	- Added continuous integration builds on Linux, OS X, FreeBSD and
	  Windows
	- Added support for GTK3 and made that the default
	- Added --latlong option to supply a coordinate manually
	- Integrated Windows support into the main makefile
	- Added the ability to overwrite existing tags with --replace
	- Added Help and About buttons to the GUI

v1.6.1: 13 February 2010
	- Added desktop icon created by Till Maas.
	- Added a patch to fix future build issues on Fedora.

v1.6.0: 5 April 2009
	Added another patch that I forgot to include in 1.5.9. Thanks again Eugeniy.

v1.5.9: 4 April 2009
	Incorporated patches from the new Debian maintainer:
	- Fixes crash on empty tags
	- Fixes writing of negative altitudes.
	- Fixes display of negative altitudes.
	- Fixes invalid use of Exiv2 toRational().
	Thanks Eugeniy for organising all these fixes; you did all the work - I just
	applied the patches you supplied.

v1.5.8: 1 November 2008
	The 'Till Maas' release.
	- Added gpscorrelate.desktop contributed by Till.
	- Added patches for the Makefile by Till, to improve the installation.
	- Added manpage, originally from Debian, but converted to XML by Till.
	- Added patches for the Makefile by Till, to configure and install the manpages.
	- Added patches by Till to remove compilation warnings.
	- Thanks for your work!

v1.5.7: 21 September 2008
	- Fixed a bug where altitude data was not read correctly if the value was
	  negative - instead it would read positive. It was always written correctly,
	  though. Thanks to Andrzej Novak for pointing this one out.
	- Added an 'install' target to the makefile provided by Till Maas. Thanks!
	- Update the GUI to remember the last directory for Photos and GPX data when
	  using the file chooser dialog. This also persists across program invocations.
	  This was suggested by Till Maas.
	- Added Makefile.mingw32 contributed by Julio Castillo, which allows cross
	  compilation on Win32. This also included some cross-platform patches for the
	  code, which is greatly appreciated.

v1.5.6: 1 October 2007
	- Incorporated patch from Marc Horowitz that allows gpscorrelate to correctly
	  calculate negative timezone adjustments. Previously, the minutes were not
	  subtracted from the timezone adjustment.

v1.5.5: 20 August 2007
        - Made altitude data in GPX files optional. This should have been the case
	  since the beginning, but it seems it was not.

v1.5.4: 22 June 2007
	- Added Photo Offset time, as a fine adjustment between photo time and
	  GPS time. Read the docs to understand it.
	- GUI now has extra settings, and a "Strip GPS tags" button.
	- GUI Now remembers settings on exit, into ~/.gpscorrelaterc. These are
	  reloaded next time the GUI is started.

v1.5.3: 20 June 2007
	- GPS coordinates, including altitude, are not written as Rational
	  values instead of Signed Rational values, this now meets the EXIF
	  specifications.
	- Default format for writing coordinates is now DD MM SS.SS. The old
	  behaviour can be forced with the --degmins parameter.
	- If altitude is negative, the correct sea level reference value is
	  now written.

v1.5.2: 6 June 2007
	- Fixed bug where program would die with uncaught exception if input
	  files were not JPEGs at all. Now the exception is caught.
	- Fixed very silly bug where timestamps were incorrectly calculated:
	  in struct tm, I didn't realise that tm_mon was 0-based, and didn't
	  decrement it. This caused failures on dates spanning months with
	  different numbers of days. Because the timestamps inside EXIF data
	  and the timestamps from GPX data were converted the same way, the
	  matching still worked. The date part is written as GPSDateStamp,
	  which is wrong, and thus a --fix-datestamp option is provided.
	- Turns out GPS Timestamp wasn't correct either. This time was out
	  by the local timezone. This did not affect matches. --fix-timestamps
	  will fix this as well.
	- Added a --version option.

v1.5.1: 3rd April 2007
	Included patch from Marc Horowitz (an MIT one) to correctly remove
	all GPS tags when using the "remove GPS tags" feature. It seems my
	original code missed two. The patch instead iterates over the tags
	and removes anything starting with "Exif.GPSInfo". Thanks!

v1.5: 24 Feb 2007
	Fixed very silly bug where it would segfault on certain GPX files.
	Turns out those GPX files don't have time data on the trackpoints,
	and this is due to that track coming from certain parts of the GPS
	memory (where the timestamps get stripped to save space on the GPS
	device itself). This is something gpscorrelate should have handled.

v1.4: 28 May 2006
	Added option to preserve mtime on input photos. Patch submitted
	by Russell Steicke. (http://adelie.cx/).
	Also added patch to make GPX read correctly in non-C locales -
	would interpret "." as thousands separator in some locales.

v1.3: 25 April 2006
	It would appear that the Exiv2 API changed somewhat.
	And gpscorrelate didn't work. Reported to me by a friendly chap.
	Now fixed to work correctly with the latest Exiv2 v0.9.1.

v1.2: (Not released until 1.3)
	Added --machine/-o option. This outputs the tags from
	the passed files in a machine-readable CSV output.

v1.1: 1 Mar 2005
	Instead of ignoring track segments, we record them now,
	and by default don't interpolate between them. This can
	be disabled, ie, match between track segments.

v1.0: 24 Feb 2005
	Initial release.