Maestral v1.0.0
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
andMaestral.link
. Frontends no longer need to importmaestral.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.