WeatherLog 2.0

I decided to move this release to 2.0 (instead of 1.11, which is what it was originally going to be), due to it breaking backwards compatibility. Before this, versions 0.3 to 1.10 could be updated by simply using the new program files; any changes to the data files were made automatically as needed. However, I decided to stop doing that for this release due to a change of formats and a restructuring of where the data and configuration files were stored. All releases from now on (or at least until 3.0, if I ever get that far) will be backwards compatible with this one.

Changes (Technical)

  • WeatherLog now follows the XDG Base Directory Specification, so instead of having all data files stored in ~/.weatherlog they have been moved to ~/.config/weatherlog (for configuration files) and ~/.local/share/weatherlog (for data files).
  • The data storage format has been changed from JSON to pickling, mostly for speed. Python’s JSON parser is rather slow compared to pickling (especially the internal C implementation).
  • More code cleanup.
  • Removed executable permissions from the files.
  • Removed all backwards compatibility code.

Changes (Features)

  • Moved some menu items around. Import and Export features are now in a new File menu.
  • Condensed the Info and Chart dialogs down into one each, with tabs for each category. This first makes its implementation simpler, and also makes it easier to use.
  • When importing data it is now possible to choose to import all data or only selected dates.
  • Streamlined copying and moving data between profiles. Instead of having the menus, there is now just two items. Whether to move or copy the data is choosen later on.
  • Implemented a new “metadata” file for each profile to store creation date and last modified date (and more in the future). This is shown in the profile selection dialogs.
  • When adding or renaming a profile the user can now choose to overwrite an existing one.
  • Changed some labels to make more sense.
  • Removed fullscreen support.
  • Changed keybindings to make more sense.
  • Implemented an Import All option.
  • Added validation for importing data.

Changes (Bugfixes)

  • Deferred creation of the profile in Import as New Profile to after the data file has been selected.
  • Deferred creation of the profile for Copy/Move to New Profile until after the data has been selected.
  • Fixed automatic sorting by date.
  • Import as New Profile now has the correct dialog title.
  • Export features now use proper save dialogs.
  • Manual saving is now completely followed.
  • Fixed info and chart dialogs getting old data.

Download

Downloads can be found on the SourceForge page, and the code is available on Github.