Releases: samschott/maestral
v1.6.4
Changed:
- Drops support for macOS 10.13 and 10.14. macOS 10.15 or later is now required, reflecting the support status from Apple. In the future, we will drop support for macOS versions once they no longer receive security updates.
- Improved status messages: the sync count is now updated as items are uploaded or downloaded instead of with a delay.
maestral activity
now shows animating progress bars to view upload and download progress.maestral sharelink list
now outputs plain urls, separated by new lines. Use the--long | -l
option if you would like a pretty-printed table with additional information about each link.maestral history
now shows where the listed changes occurred (local vs remote).- When multiple GUIs are installed (for example Qt and Cocoa), ask the user to choose when running
maestral gui
instead of selecting a default.
Fixed:
- Fixes an error which would prevent running Maestral on Python 3.7.
- Fixes a regression where the CLI command
maestral activity
would fail when run from a macOS app bundle. - Fixes an issue where reauthorizing Maestral's Dropbox access could hang indefinitely.
- Fixes an issue on macOS where changing the casing of two local file names in the same folder in quick succession could result in the second file being deleted during sync.
Dependencies:
- Introduced
rich
dependency. - Removed
sdnotify
dependency.
v1.6.3
Changed:
- The macOS app bundle now uses Python 3.10 instead of 3.9. This comes with some performance improvements.
Fixed:
- Work around transitory server-side errors when refreshing access tokens by retrying the refresh up to five times.
- Fixed a segfault on startup for a small number of macOS users.
- Fixed an issue where files which contain decomposed unicode characters could be deleted after renaming them locally on some versions of macOS.
- Fixes an issue where the
maestral gui
command would fail for macOS app bundles.
v1.6.2
Changed:
- Improved error message for file names with incompatible characters that are rejected by Dropbox servers, e.g., emoji or slashes at the end of a file name.
- Capture Dropbox SDK logs in Maestral's log output. This will log which API endpoints are called and any retries on errors or rate limiting.
Fixed:
- Fixes intermittent failures to show a file associated with a sync issue in the Linux GUI.
- Fixes an issue where the macOS app bundle would use a system-wide installation of the Sparkle framework if available instead of the one bundled with Maestral. This could lead to unexpected issues if the system-wide installation would have an incompatible version.
- Fixes an issue where the access level of shared links may be incorrectly reported.
- Resume interrupted downloads after a shutdown when including new items with selective sync.
- Fixes occasional conflicting copies of folders during initial sync due to a race condition when a child item is synced before its parent folder.
- Fixes the display of timestamps in the CLI from
maestral ls
andmaestral history
commands. The former would show times in UTC instead of the device's timezone and the latter would show Unix timestamps instead of formatted output.
v1.6.1
v1.6.0
This release fixes several crashes of the GUI when running on Apple Silicon. It also refactors the handling of sync errors, resulting in more reliable clearing of sync errors after a file was successfully synced, features some performance improvements when indexing local changes and further decouples the sync logic from specifics of the Dropbox API.
Changed:
- Sync errors are now stored in a SQlite database table instead of a config file.
- The CLI command
maestral filestatus
will now returnerror
if there is a sync error for any child of the given path. - Re-enabled updating from versions older than 1.5.0.
- Improved file integrity checks after upload or download.
- Better parallelize CPU intensive work when indexing local changes. This improves performance on multicore CPUs.
- Migrate the Linux GUI from PyQt5 to PyQt6.
Fixed:
- Fixes an issue where upload sync errors could continue to be reported after the local file was deleted if the deletion occurred while sync was not running.
- Fixes an issue with the Linux Qt GUI where aborting the setup dialog after linking but before choosing a local Dropbox folder would result in an inconsistent state.
- Fixes an issue when storing 64-bit inode numbers in our database.
- Fixes occasional crashes of the macOS GUI when running on Apple Silicon.
v1.5.3
This release changes how symlinks are handled when syncing: when a symlink is created in the local Dropbox, it will no longer be followed but will trigger a sync issue instead. This is because the public Dropbox API does not currently support creating symlinks on the server. Symlinks which are already present on the server will however now be correctly recreated locally instead of being synced as an empty file. Other changes focus mainly on bog fixes with some bugs specific to the macOS app bundle.
Changed:
- The Dock icon no longer appears while the app is launching in macOS.
- The Dock icon no longer appears when clicking on a desktop notification on macOS.
- Clicking on a desktop notification will now show the file or folder which triggered the notification. Previously, only clicking on the "Show" button of the notification would open the file browser.
- Removed update notifications by the CLI.
- Proper symlink handling: Remote items which are symlinks will now be synced as symlinks instead of empty files. Local symlinks will no longer be followed during indexing or silently ignored when syncing. Instead, attempting to upload a symlink will raise an error because uploading symlinks is not currently supported by the public Dropbox API.
Fixed:
- Fixes a crash of the
maestral activity
CLI command when run from the macOS App Bundle due to a missing packaged library. - Fixes an issue which prevented the
maestral gui
command from working with the macOS app bundle. - Fixes an issue where moving a local file to overwrite another file, for example with mv in the terminal, could generate an incorrect conflicting copy during upload sync.
- Properly handle when the local Dropbox directory is renamed by changing the casing only on case-insensitive file systems such as APFS on macOS.
- Fixes an issue which could result in sync errors not being cleared after the successful sync of an item under some circumstances.
- Relative paths passed to
maestral move-dir
are now interpreted relative to the working directory where the command is run instead of the working directory of the sync daemon.
v1.5.2
Changed:
- Improved dialog flow on Linux when the local Dropbox folder is missing.
- Improved error handling when determining the change time (ctime) of a local file fails.
Fixed:
- Fixes an issue where the output of CLI commands would get truncated to 80 characters when piped to another command and not attached to an interactive stream such as a terminal.
- Fixes Python 3.10 compatibility of Linux (Qt) GUI, thanks to @raffaem.
- Fixes an issue where the CLI fails to install on Apple Silicon Macs.
- Fixes a startup loop of the Linux GUI when the local Dropbox folder is missing.
v1.5.1
This release focuses on bug fixes.
Changed:
- Handle Dropbox server errors in the same way as connection errors by retrying the sync job.
Fixed:
- Fixes an issue when trying to abort the CLI setup dialog with ctrl+C.
- Fixes an issue which could under some circumstances result in deleted folder content after performing the initial indexing and download. This would mostly occur for shared folders.
- Fixes an issue where launchd or systemd might start the sync daemon with a non-UTF-8 encoding set in the environment, leading to an error message on startup.
- Fixes an issue where deleting the local Dropbox folder during startup indexing may result in some files being deleted from the remote Dropbox.
v1.5.0
Added:
- Added support for Dropbox Business accounts with a Team Space. Shared folders in a Team Space will now be synced at the top level, next to the user's personal folder.
Changed:
- Reorganised config file sections.
- Brought back support for macOS High Sierra in the macOS app bundle.
Fixed:
- Fixed a crash when running the CLI command
maestral config-file --clean
.
v1.4.8
This update provides some performance improvements to syncing, several bug fixes, and improved error handling. From this release onward, the macOS app bundle can update itself using Sparkle.
Added:
- Added automatic updates with Sparkle for the macOS app bundle.
Changed:
- Improved performance when processing local file events.
- Improved error messages when the system keyring cannot be accessed despite being unlocked, for example because the executable (app bundle or Python) has an invalid signature.
- Improved error messages on startup for the macOS app bundle.
- Improved error message in the CLI when setting a config value fails because the new value has the wrong type.
- Improved handling of more exotic file system or device related errors when opening local files.
Fixed:
- Fixed a crash on startup of the daemon when the log level is set to WARNING.
- Fixed an issue which could result in an unresponsive daemon during startup on macOS.
- Fixed an issue which could result in the CLI or GUI to stall indefinitely if the daemon process is unresponsive.
- Fixed an issue in the macOS GUI where passing the "missing Dropbox folder" flow by selecting a new location would lead to duplicate menu entries in the status bar menu.
- Fixed an issue where the Linux / Qt GUI would hang indefinitely after unlinking.
- Fixed an issue where moving / removing the local Dropbox folder during a download could lead to unhandled exceptions instead of useful error messages.
- Fixed handling of 503 and other raw HTTP errors from the Dropbox SDK, for instance when Dropbox servers have temporary outages or are undergoing planned maintenance.
- Fixed periodic connection checking for connections over proxy using
http_proxy
environment variable. - Fixed an issue where some uploaded items would not register as synced after aborting or pausing during an upload sync.
- Fixed a compatibility issue with watchdog v2.1.4 and higher.
Removed:
- Removed an unneeded prompt when revoking a shared link.