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.