Skip to content

Maestral v1.0.0

Compare
Choose a tag to compare
@samschott samschott released this 06 May 15:28
09417ee

This is the first stable release of Maestral. There have been numerous bug fixes to error handling and platform integration as well as a few bug fixes to syncing itself. There are also a few outward facing changes: Pausing Maestral now cancels all pending sync jobs instead of waiting for them to complete. The macOS GUI switches from Qt to using a native Cocoa interface and the macOS app bundle finally includes a full command line interface which can be installed from the settings window.

Added:

  • Command line tools are now bundled with the macOS app bundle and can be installed from the settings window.
  • Added support for config names with spaces.
  • Switch from Qt to a native Cocoa GUI on macOS. This reduces the size of the app bundle from 50 MB to 20 MB.
  • Expanded test suite to include sync tests.

Changed:

  • Added '.dropbox' and '.dropbox.cache' to always excluded paths.
  • Pausing sync now cancels all pending uploads and downloads.
  • Quicker detection of connection problems.
  • Faster sync of local deletions.
  • The GUI now always launches a separate daemon process instead of an in-process daemon.
  • Temporary files during a download are now stored inside the Dropbox directory at '.maestral.cache'. This guarantees that temporary files always reside on the same partition as the Dropbox folder itself.
  • System tray icons are no longer installed in the platform theme in Linux. This is part of a workaround for a Qt issue on Linux desktops which causes unnecessarily large pixmap transfers over dBus when HiDPI support is enabled. Manually installed icons will still be respected.
  • Switch from implicit grant to PKCE OAuth2 flow.
  • Added public API to link a Dropbox account: Maestral.get_auth_url and Maestral.link. Frontends no longer need to import maestral.oauth.
  • Moved all command line dialogs from the main API to the CLI module.
  • Bumped watchdog requirement to >= 10.0.0 for more consistent error handling.
  • Added explicit jeepny dependency for Linux. This is a dependency of keyring but we use it by itself as well.
  • Improved the reliability of ignoring file system events caused by Maestral itself.

Fixed:

  • Fixes an issue where a dropped internet connection during startup could result in continuous retries until the connection is finally established.
  • Fixes an issue where downloads of newly included folders would not resume after being interrupted.
  • Fixes an issue which could lead to false conflicting copies of folders in some cases.
  • Fixes the handling of inofify limit and permission errors when starting a file system watch.
  • Fixes handling of errors from too long file names.
  • Handle errors due to file names which are not allowed on the local file system.
  • Fixes handling of some uncaught insufficient disk space errors.
  • Fixes incorrect autostart entries on macOS.
  • Fixes a crash when running Maestral as a systemd service without python-systemd installed.
  • Fixes an issue when checking for updates if the list of releases from Github includes dev releases.
  • Fixes an issue where only remote changes would be listed in 'Recent changes' in the GUI.
  • Fixes the alignment of comboboxes in the Qt GUI on macOS.
  • Fixes a crash on macOS when no notification center is available, for instance in a headless session or on Github test runners.
  • Fixes a crash on Linux when the command line tool notify-send is not available.
  • Fixes an issue where sync errors would have incomplete path information.
  • Resolves an issue where indexing a large Dropbox folder with > 100,000 items would continuously timeout and restart in some cases.

Removed:

  • Removed migration code for versions < 0.6.3. If you want to update to v1.0.0, please make sure to upgrade to at least version 0.6.3 first or unlink your Dropbox before updating to v1.0.0.
  • Removed u-msgpack dependency.