2020-03-21 01:30:25 +03:00
|
|
|
## v0.6.3.dev
|
|
|
|
|
2020-03-21 02:58:45 +03:00
|
|
|
This is a bug fix release.
|
2020-03-21 01:30:25 +03:00
|
|
|
|
2020-03-21 02:58:45 +03:00
|
|
|
##### Changed:
|
|
|
|
|
|
|
|
- Show release notes from all releases since last update in update dialog.
|
2020-03-21 01:30:25 +03:00
|
|
|
|
|
|
|
##### Fixed:
|
|
|
|
|
|
|
|
- Fixed a `StopIteration` exception on startup when the location of the maestral CLI
|
|
|
|
script cannot be found in the package metadata.
|
|
|
|
- Fixed incorrect labels during the setup dialog when choosing whether to replace or keep
|
|
|
|
an old Dropbox folder. The labels 'Replace' and 'Cancel' where switched.
|
|
|
|
- Fixes an issue where the option 'Unlink & Quit' in the 'Revoked Access' error dialog
|
|
|
|
would do nothing.
|
2020-03-21 01:59:43 +03:00
|
|
|
- Fixes an issue with Dropbox Metadata no longer being hashable from v9.5 of the
|
|
|
|
Dropbox SDK.
|
2020-03-21 01:30:25 +03:00
|
|
|
|
|
|
|
|
2020-03-19 03:56:58 +03:00
|
|
|
## v0.6.2
|
2020-02-29 22:31:38 +03:00
|
|
|
|
2020-03-19 18:26:36 +03:00
|
|
|
This release enables excluding individual files from syncing and fixes an issue which led
|
|
|
|
to continuously retrying failed downloads. It also contains significant performance
|
|
|
|
improvements to indexing, reduces the CPU usage when syncing a large number of files and
|
|
|
|
introduces weekly re-indexing.
|
|
|
|
|
|
|
|
This release also introduces support for an ".mignore" file with the same syntax as
|
|
|
|
[gitignore](https://git-scm.com/docs/gitignore). This feature is considered 'alpha' and
|
|
|
|
may change in the future. Feedback is welcome.
|
2020-02-29 22:31:38 +03:00
|
|
|
|
|
|
|
#### Added:
|
|
|
|
|
2020-03-19 03:55:14 +03:00
|
|
|
- Support excluding files from sync. This uses the same 'selective sync' interface as
|
2020-03-15 00:57:04 +03:00
|
|
|
excluding folders. Excluded files will be removed from the local Dropbox folder.
|
|
|
|
- Introduces an ".mignore" file to specify files that Maestral should ignore. The
|
2020-03-01 18:38:24 +03:00
|
|
|
".mignore" file must be saved in the local Dropbox folder. When excluding files or
|
|
|
|
folders with selective sync (`maestral exclude`), they will be removed from the local
|
2020-03-16 16:04:53 +03:00
|
|
|
folder and kept in the cloud only. The ".mignore" file enables the reverse: files or
|
2020-03-15 00:57:04 +03:00
|
|
|
folders which exist locally will not be uploaded to Dropbox. It uses the same syntax
|
2020-03-01 18:38:24 +03:00
|
|
|
as [gitignore files](https://git-scm.com/docs/gitignore) and, similar to gitignore,
|
2020-03-16 16:04:53 +03:00
|
|
|
files which are already tracked by Maestral will not be affected. More details are given
|
|
|
|
in the [Wiki](https://github.com/SamSchott/maestral-dropbox/wiki/mignore).
|
|
|
|
- Added a config option "max_cpu_percent" to adjust the target maximum CPU usage per CPU
|
|
|
|
core. This defaults to 20%, i.e., 80% total for a quad core CPU. Maestral will aim to
|
|
|
|
remain below that percentage but this is not guaranteed.
|
2020-03-01 18:38:24 +03:00
|
|
|
|
2020-02-29 22:31:38 +03:00
|
|
|
#### Changed:
|
|
|
|
|
|
|
|
- Replaced the `excluded_files` and `excluded_folders` settings from the config file with
|
2020-03-18 01:58:46 +03:00
|
|
|
a unified `excluded_items` setting. Entries from `excluded_folders` will be migrated to
|
|
|
|
the `excluded_items` setting.
|
2020-03-16 16:04:53 +03:00
|
|
|
- Renamed methods which exclude / include folders to `exclude_item` etc.
|
2020-03-05 03:19:11 +03:00
|
|
|
- Speed up creation of local folders.
|
2020-03-16 16:04:53 +03:00
|
|
|
- When trying to create a file or folder with the same path as an item excluded by
|
2020-03-08 14:51:45 +03:00
|
|
|
selective sync, the new item is now renamed by appending "selective sync conflict"
|
|
|
|
instead of raising a sync issue. This is closer the behaviour of the official client.
|
2020-03-19 03:55:14 +03:00
|
|
|
- Significant performance improvements to indexing and file event processing. Indexing a
|
|
|
|
remote Dropbox with 20,000 to 30,000 files and comparing it a local folder now takes
|
2020-03-14 18:41:34 +03:00
|
|
|
~ 5 min, depending on on the average file size.
|
2020-03-13 01:48:34 +03:00
|
|
|
- Introduced periodic reindexing every week. This has been made possible by the above
|
|
|
|
performance improvements.
|
2020-02-29 22:31:38 +03:00
|
|
|
|
|
|
|
#### Fixed:
|
|
|
|
|
2020-03-01 18:16:09 +03:00
|
|
|
- Don't immediately retry when a download fails. Instead, save failed downloads and retry
|
|
|
|
only on pause / resume or restart.
|
2020-03-08 14:51:45 +03:00
|
|
|
- Fixes missing cursor and resulting unexpected `ValidationError` during sync startup.
|
2020-02-29 22:31:38 +03:00
|
|
|
- Wait until all sync activity has stopped before moving the Dropbox folder. This avoids
|
|
|
|
errors when trying to convert local to dropbox paths and vice versa during the move.
|
2020-03-05 03:19:11 +03:00
|
|
|
- Fixes an issue which would prevent some conflicting copies created by Dropbox from being
|
|
|
|
downloaded.
|
2020-03-11 13:50:42 +03:00
|
|
|
- Correctly handle when a local item is renamed to an always excluded file name such as
|
2020-03-05 03:19:11 +03:00
|
|
|
".DS_STORE": the item is now deleted from Dropbox.
|
|
|
|
- Fixes an issue where sharing an existing folder from the Dropbox website would result in
|
|
|
|
the folder being deleted locally. This is because Dropbox actually removes the shared
|
|
|
|
folder from the user's Dropbox and then re-mounts it as a shared drive / file system. We
|
|
|
|
handle this correctly now by leaving the local folder alone or deleting and
|
|
|
|
re-downloading it, depending on the time elapsed between removal and re-mounting.
|
2020-03-08 14:51:45 +03:00
|
|
|
- Improves conflict resolution when a folder has been been replaced with a file or vice
|
|
|
|
versa and both the local and remote item have un-synced changes.
|
2020-03-10 04:51:52 +03:00
|
|
|
- Fixes an issue where `maestral stop` would block until all pending syncs have completed.
|
2020-03-16 16:04:53 +03:00
|
|
|
This could potentially take a *very* long time for large downloads. Instead, any
|
|
|
|
interrupted downloads will be restarted on next launch.
|
2020-02-29 22:31:38 +03:00
|
|
|
|
|
|
|
#### Removed:
|
|
|
|
|
|
|
|
- Removed the `excluded_files` and `excluded_folders` settings from the config file.
|
|
|
|
|
2020-02-28 00:36:58 +03:00
|
|
|
## v0.6.1
|
2020-01-31 05:50:08 +03:00
|
|
|
|
2020-02-19 14:54:07 +03:00
|
|
|
This release improves desktop notifications: Notifications will now only appear for remote
|
|
|
|
file changes and you can chose between different notification levels (CLI only) and snooze
|
|
|
|
notifications temporarily. It also reintroduces the `maestral autostart` command to start
|
|
|
|
the sync daemon on login (requires systemd on Linux). This works independently of the GUI
|
|
|
|
option "Start on login".
|
|
|
|
|
2020-02-27 22:17:37 +03:00
|
|
|
There have also been significant changes in package structure: the GUI has been split
|
|
|
|
off into a separate package `maestral-qt` which will be installed with the gui extra
|
|
|
|
`pip3 install -U maestral[gui]` or directly with `pip3 install -U maestral-qt`. A native
|
|
|
|
Cocoa GUI (`maestral-cocoa`) for macOS is currently in testing and will likely be released
|
|
|
|
with the next update.
|
2020-02-19 14:54:07 +03:00
|
|
|
|
|
|
|
Other changes include improved error handling, cleaned up config files and some tweaks to
|
|
|
|
CLI commands. As always, there are several bug fixes. Thank you for all your feedback!
|
|
|
|
|
2020-02-06 23:18:28 +03:00
|
|
|
#### Added:
|
|
|
|
|
2020-02-24 23:07:42 +03:00
|
|
|
- New CLI command `maestral autostart` to start the daemon on login. This requires systemd
|
2020-02-19 14:54:07 +03:00
|
|
|
on Linux. The "Start on login" option of the GUI remains independent and the GUI will
|
|
|
|
attach to an existing daemon if it finds one.
|
2020-02-11 01:34:55 +03:00
|
|
|
- Added desktop notifications for errors: Serious errors such as revoked Dropbox access,
|
2020-02-24 23:07:42 +03:00
|
|
|
deleted Dropbox folder, etc, were previously only shown in the GUI as an alert window
|
2020-02-15 04:15:43 +03:00
|
|
|
or printed as warnings when invoking a CLI command.
|
2020-02-06 23:18:28 +03:00
|
|
|
- Support for different levels of desktop notifications (CLI only). You can now select
|
|
|
|
between FILECHANGE, SYNCISSUE, ERROR and NONE with `maestral notify LEVEL`.
|
|
|
|
- Added an option to snooze notifications. In the CLI, use `maestral notify snooze N` to
|
2020-02-09 17:54:34 +03:00
|
|
|
snooze notifications for N minutes. In the GUI, use the "Snooze Notifications" menu.
|
2020-02-06 23:18:28 +03:00
|
|
|
- Support using an existing directory when setting up Maestral through the CLI. This was
|
2020-02-09 17:54:34 +03:00
|
|
|
previously only supported in the GUI. Files and folders in the existing directory will
|
|
|
|
be merged with your Dropbox.
|
2020-02-07 00:24:58 +03:00
|
|
|
- The CLI command `maestral restart` now supports restarting Maestral into the current
|
2020-02-15 04:15:43 +03:00
|
|
|
process instead of spawning a new process. This is enabled by passing the `--foreground`
|
2020-02-19 14:54:07 +03:00
|
|
|
(`-f`) option.
|
|
|
|
- Added a native Cocoa GUI for macOS. This removes the PyQt5 dependency for macOS and
|
|
|
|
reduces the size of the bundled app from 50 MB to 15 MB. It also eliminates a few
|
|
|
|
inconsistencies in GUI appearance. Especially the sync issues window looks a lot better
|
|
|
|
(hopefully you won't see it too often).
|
2020-02-06 23:18:28 +03:00
|
|
|
|
2020-01-31 05:50:08 +03:00
|
|
|
#### Changed:
|
|
|
|
|
2020-02-11 00:56:59 +03:00
|
|
|
- Split off GUI into separate python packages (`maestral-qt`, `maestral-cocoa`).
|
2020-02-11 01:34:55 +03:00
|
|
|
- Notify only for remote changes and not for those which originated locally. This
|
2020-02-15 04:15:43 +03:00
|
|
|
should significantly reduce the number of unwanted notifications.
|
2020-02-27 22:17:37 +03:00
|
|
|
- Renamed `maestral notifications` to `maestral notify` for brevity.
|
2020-02-19 14:54:07 +03:00
|
|
|
- Renamed the `set-dir` command to `move-dir` to emphasize that it moves the local Dropbox
|
2020-02-09 17:54:34 +03:00
|
|
|
folder to a new location.
|
2020-02-24 23:07:42 +03:00
|
|
|
- Configurations are now tied to a Dropbox account:
|
2020-03-01 18:38:24 +03:00
|
|
|
- New configurations are now created on-demand when calling `maestral gui` or
|
2020-02-27 22:17:37 +03:00
|
|
|
`maestral start` with a new configuration name.
|
|
|
|
- A configuration is automatically removed when unlinking a Dropbox account.
|
|
|
|
- All configurations can be listed together with the account emails with
|
|
|
|
`maestral configs`. This replaces `maestral config list`.
|
2020-02-24 23:07:42 +03:00
|
|
|
- For app bundles on macOS, you can now pass a config option `--config-name` to the
|
2020-02-27 22:17:37 +03:00
|
|
|
bundle's executable ("Maestral.app/Contents/MacOS/main"). It will then use the specified
|
|
|
|
configuration if it already exists or to create a new one.
|
|
|
|
- The GUI no longer restarts after completing the setup dialog.
|
2020-02-15 04:15:43 +03:00
|
|
|
- Removed sync and application state info from the config file. Sync and application
|
|
|
|
states are now saved separately in '~/.local/share/maestral/CONFIG_NAME.state' on Linux
|
|
|
|
and '~/Library/Application Support/maestral/CONFIG_NAME.state' on macOS.
|
2020-02-19 14:54:07 +03:00
|
|
|
- Use atomic save to prevent corruption of the sync index if Maestral crashes or is killed
|
2020-02-15 04:15:43 +03:00
|
|
|
during a save.
|
|
|
|
- Moved the sync index to the same folder as the application state.
|
2020-02-21 20:18:38 +03:00
|
|
|
- Improved conflict detection and resolution when changing files which are currently being
|
|
|
|
uploaded or downloaded.
|
2020-02-15 04:15:43 +03:00
|
|
|
|
2020-01-31 23:19:32 +03:00
|
|
|
#### Fixed:
|
|
|
|
|
2020-02-24 23:07:42 +03:00
|
|
|
- Fixes an issue where local changes while maestral was not running could be overwritten
|
2020-02-28 00:36:58 +03:00
|
|
|
by remote changes instead of resulting in a conflicting copy.
|
2020-02-15 04:15:43 +03:00
|
|
|
- Fixes an issue where local file events could be ignored while a download is in progress.
|
2020-03-01 18:38:24 +03:00
|
|
|
- Fixes an issue where a new local file could be incorrectly deleted if it was created
|
2020-02-28 00:36:58 +03:00
|
|
|
just after a remote item at the same path was deleted.
|
2020-02-27 22:17:37 +03:00
|
|
|
- Fixes an issue where `maestral stop` and `maestral restart` would not interrupt running
|
|
|
|
sync jobs but instead wait for them to be completed. Now, aborted jobs will be resumed
|
|
|
|
when starting Maestral again.
|
2020-02-28 00:36:58 +03:00
|
|
|
- Correctly handle when a folder is replaced by a file and vice versa.
|
2020-02-11 17:15:52 +03:00
|
|
|
- Correctly handle additional error types: internal Dropbox server error, insufficient
|
|
|
|
space on local drive, file name too long for local file system and out-of-memory error.
|
2020-02-28 00:36:58 +03:00
|
|
|
- Automatically resume upload in case of dropped packages instead of raising a sync issue.
|
2020-02-24 23:07:42 +03:00
|
|
|
- Set the log level for the systemd journal according to user settings instead of always
|
2020-02-15 04:15:43 +03:00
|
|
|
using logging.DEBUG.
|
|
|
|
- Run checks for Dropbox folder location and link status when invoking `maestral restart`.
|
2020-02-09 17:54:34 +03:00
|
|
|
- Notify the user through the GUI when moving the Dropbox directory fails instead of
|
|
|
|
silently keeping the old directory.
|
2020-02-28 00:36:58 +03:00
|
|
|
- Fixes an issue where the environment variable XDG_DATA_DIR would not be respected in
|
|
|
|
Linux.
|
2020-02-24 23:07:42 +03:00
|
|
|
|
2020-02-14 00:42:16 +03:00
|
|
|
#### Removed:
|
|
|
|
|
|
|
|
- Removed "-a" option from `maestral ls`. List all entries by default, even if they start
|
|
|
|
with a period.
|
2020-02-24 23:07:42 +03:00
|
|
|
- Removed the `maestral config` command group. Configurations are now created and deleted
|
|
|
|
on-demand and can be listed with `maestral configs`.
|
2020-01-31 05:50:08 +03:00
|
|
|
|
2020-01-30 02:02:29 +03:00
|
|
|
## v0.5.2
|
2019-12-20 19:39:23 +03:00
|
|
|
|
2020-01-08 00:16:52 +03:00
|
|
|
#### Added:
|
|
|
|
|
2020-01-08 16:56:47 +03:00
|
|
|
- Added automatic crash and error reporting with [bugsnag](https://www.bugsnag.com). This
|
2020-01-30 00:30:48 +03:00
|
|
|
is *disabled* by default and can be enabled in the Settings pane or with the command
|
|
|
|
`maestral analytics -Y`. The information sent with the bug report contains a traceback,
|
|
|
|
the Python version, basic platform information (e.g, 'Darwin-19.2.0-x86_64-i386-64bit')
|
|
|
|
and potentially the version of PyQt5 and the user's desktop environment. No personal
|
|
|
|
information will be shared.
|
2020-01-08 00:16:52 +03:00
|
|
|
|
2020-01-05 22:43:03 +03:00
|
|
|
#### Changed:
|
|
|
|
|
2020-01-30 00:30:48 +03:00
|
|
|
- Improved the code which handles multiple configurations: Explicitly pass the config name
|
|
|
|
to classes instead of keeping it as a global variable.
|
2020-01-30 00:59:35 +03:00
|
|
|
- Improved starting of the daemon: ensure that the right python executable is used.
|
|
|
|
- Order of commands returned by `maestral --help` by importance instead of alphabetically.
|
2020-01-30 00:30:48 +03:00
|
|
|
- Sync errors will now be listed by `maestral status` if present.
|
|
|
|
- Live updates to the Settings window when settings are changed from the command line.
|
2020-01-31 05:50:08 +03:00
|
|
|
|
2019-12-20 19:39:23 +03:00
|
|
|
#### Fixed:
|
|
|
|
|
2020-01-28 22:50:31 +03:00
|
|
|
- Fixed an issue on macOS where some directory deletions could be ignored in case of rapid
|
|
|
|
successive deletions.
|
2019-12-20 19:39:23 +03:00
|
|
|
- Fixed an unexpected exception when attempting to create a directory that already exists.
|
|
|
|
Do not rely on the `exists_ok` parameter in `os.makedirs` but catch `FileExistsError`
|
|
|
|
explicitly (see https://bugs.python.org/issue13498).
|
2020-01-06 20:42:23 +03:00
|
|
|
- Fixed an `AttributeError` when a local folder is replaced by file: the Dropbox metadata
|
2020-01-08 00:16:52 +03:00
|
|
|
of the folder will not have a content hash. This mostly occurs when modifying a folder
|
2020-01-25 23:48:38 +03:00
|
|
|
structure programmatically, for instance with git.
|
2020-01-06 20:42:23 +03:00
|
|
|
- Fixed an `AttributeError` when a remote file has been replaced by a folder before its
|
|
|
|
changes could be downloaded: the Dropbox metadata of the folder will not have a content
|
|
|
|
hash.
|
2020-01-08 16:56:47 +03:00
|
|
|
- Fixed an bug introduced in v0.5.0 which would cause rebuilding the index to block
|
|
|
|
indefinitely.
|
2020-01-08 17:48:33 +03:00
|
|
|
- Fixed a crash of the GUI when closing the settings window shortly after closing the
|
|
|
|
"Chose folders to sync..." dialog. This was caused by QThreads being destroyed while
|
|
|
|
the threads were still running.
|
2020-01-17 00:47:04 +03:00
|
|
|
- Fixed an issue where the local revision number of a file could be set to 'folder',
|
|
|
|
resulting in an exception from the Dropbox API.
|
2020-01-20 20:39:03 +03:00
|
|
|
- Fixed a bug when the "relink dialog" (shown when Maestral's Dropbox access has expired)
|
|
|
|
might use the wrong Dropbox account when syncing multiple accounts.
|
2020-01-25 23:48:38 +03:00
|
|
|
- Fixed an issue with imports in Pyro5 5.7 which prevented the daemon from starting.
|
2020-01-08 16:56:47 +03:00
|
|
|
|
2020-01-08 00:16:52 +03:00
|
|
|
#### Removed:
|
|
|
|
|
2020-01-30 00:30:48 +03:00
|
|
|
- Removed the command `maestral errors` from the CLI.
|
2019-12-20 19:39:23 +03:00
|
|
|
|
2019-12-19 17:38:25 +03:00
|
|
|
## v0.5.0
|
2019-12-06 14:00:20 +03:00
|
|
|
|
2019-12-11 17:17:15 +03:00
|
|
|
This release improves the sync reliability in case of rapid successive changes to the
|
2019-12-17 19:25:58 +03:00
|
|
|
local Dropbox folder. It also improves error handling and includes other bug fixes. This
|
|
|
|
may be considered the first release candidate for a stable v1.0.0.
|
2019-12-11 19:17:42 +03:00
|
|
|
|
2019-12-13 02:56:22 +03:00
|
|
|
#### Added:
|
2019-12-11 19:17:42 +03:00
|
|
|
|
2019-12-17 19:25:58 +03:00
|
|
|
- Show a small bell on top of system tray icon in case of sync issues.
|
2019-12-12 21:42:52 +03:00
|
|
|
- Notify the user when the local Dropbox folder contains too many items to watch and
|
|
|
|
recommend increasing the maximum number of inotify watches (Linux only).
|
|
|
|
- Notify the user when an upload fails because a file exceeds the size limit of 350 GB.
|
|
|
|
- Notify the user when an upload fails due to dropped network packages.
|
2019-12-19 17:38:25 +03:00
|
|
|
- Adds a command line option `maestral link -r` to relink to an existing account without
|
2019-12-19 14:49:58 +03:00
|
|
|
resetting the sync state. This is the equivalent of the GUI 'relink dialog'.
|
2019-12-13 02:56:22 +03:00
|
|
|
|
|
|
|
#### Changed:
|
2019-12-13 23:03:11 +03:00
|
|
|
|
2019-12-19 17:38:25 +03:00
|
|
|
- Refines some error messages.
|
|
|
|
- Improves error handling in CLI: avoid printing full Python tracebacks to the console.
|
2019-12-19 14:49:58 +03:00
|
|
|
Print concise and actionable error messages instead if possible.
|
2019-12-19 17:38:25 +03:00
|
|
|
- Improves formatting of `maestral ls` output.
|
|
|
|
- Improves status notifications for large uploads: dynamically adapt the unit to show up
|
2019-12-12 21:42:52 +03:00
|
|
|
to four significant digits (e.g., "16MB/1.6GB" instead of "0/1.6GB").
|
2019-12-19 17:38:25 +03:00
|
|
|
- Reduces memory footprint of macOS app by stripping docstrings (at least 5MB in dropbox
|
2019-12-17 14:19:01 +03:00
|
|
|
package only).
|
2019-12-11 17:17:15 +03:00
|
|
|
|
2019-12-09 18:52:24 +03:00
|
|
|
#### Fixed:
|
2019-12-06 14:00:20 +03:00
|
|
|
|
2019-12-19 17:38:25 +03:00
|
|
|
- Fixes multiple sync issues and corner cases due to rapid and successive file changes:
|
|
|
|
The algorithm which combines successive changes of a local file to a single file event
|
|
|
|
(created / deleted / modified / moved) has been simplified and improved.
|
|
|
|
- Fixes an issue which could cause the watchdog thread to crash silently on case-sensitive
|
2019-12-11 17:17:15 +03:00
|
|
|
file systems when saving changes to a file.
|
2019-12-19 17:38:25 +03:00
|
|
|
- Removes sip import because it may fail depending on how PyQt was installed.
|
2019-12-11 17:17:15 +03:00
|
|
|
- Fixed an issue where user notifications would not appear for certain implementations of
|
2019-12-09 18:52:24 +03:00
|
|
|
'notify-send'.
|
2019-12-09 21:57:06 +03:00
|
|
|
- Fixes an error when setting the log level from the CLI.
|
2019-12-13 23:03:11 +03:00
|
|
|
- Fixes an error when relinking Maestral through the GUI after its Dropbox access has been
|
|
|
|
revoked.
|
2019-12-10 16:32:11 +03:00
|
|
|
|
2019-11-29 21:16:27 +03:00
|
|
|
## v0.4.4
|
2019-11-04 14:16:30 +03:00
|
|
|
|
2019-11-24 20:21:49 +03:00
|
|
|
This updates focuses on bug fixes and performance improvements. Notably, it reduces the
|
2019-11-29 21:16:27 +03:00
|
|
|
memory usage of the GUI by ~ 30MB. If you are upgrading from v0.2.4 or earlier, please
|
|
|
|
perform an incremental update to v0.4.3 first (see Removed section).
|
2019-11-14 18:25:33 +03:00
|
|
|
|
2019-11-04 14:16:30 +03:00
|
|
|
#### Changed:
|
|
|
|
|
|
|
|
- Show a progress dialog while checking for updates when requested by the user.
|
2019-11-12 22:36:59 +03:00
|
|
|
- Show an error message when the GUI cannot connect to or start a sync daemon.
|
2019-11-24 20:21:49 +03:00
|
|
|
- Reduces the memory footprint of the GUI by ~ 30 MB by avoiding Dropbox API imports and
|
2019-11-17 21:05:13 +03:00
|
|
|
deleting QWidgets when they are not visible.
|
2019-11-24 20:21:49 +03:00
|
|
|
- Changing the log level (e.g., `maestral log level DEBUG`) no longer requires a restart
|
|
|
|
of the maestral daemon to become effective.
|
2019-11-15 00:11:11 +03:00
|
|
|
- `maestral set-dir` now takes the new path as an argument: `maestral set-dir PATH`. If
|
|
|
|
not given, the user will be prompted to input a path or use the default.
|
2019-11-29 21:16:27 +03:00
|
|
|
- Migrated from Pyro4 to Pyro5 for communication with sync daemon.
|
2019-11-04 14:16:30 +03:00
|
|
|
|
2019-11-09 02:19:25 +03:00
|
|
|
#### Fixed:
|
|
|
|
|
2019-11-09 02:54:33 +03:00
|
|
|
- Fixes an unhandled error when trying to upload changes to a file which is not currently
|
2019-11-09 02:19:25 +03:00
|
|
|
indexed by Maestral.
|
|
|
|
- Fixes an unhandled error when attempting to calculate the content hash of a file which
|
|
|
|
has been deleted locally. This can occur after Maestral has been notified of remote
|
2019-11-14 18:25:33 +03:00
|
|
|
changes to a file which is deleted locally before comparing file contents.
|
|
|
|
- Fixes a bug which could result in multiple false "conflicting copies" of a file when the
|
2019-11-10 00:30:42 +03:00
|
|
|
user modifies the file while it is being uploaded.
|
2019-11-12 20:57:56 +03:00
|
|
|
- Fixes a regression bug which would prevent the creation and selection of new configs for
|
|
|
|
different Dropbox accounts.
|
2019-11-12 23:28:07 +03:00
|
|
|
- Fixes a bug that would prevent Maestral from properly shutting down a sync daemon which
|
|
|
|
was started from the GUI. This was a result of the daemon's sync threads not exiting as
|
2019-11-14 18:25:33 +03:00
|
|
|
long as a parent process from the same process group is still alive (the GUI in our
|
|
|
|
case). We prevent this by using "double-fork" magic to properly orphan the daemon
|
|
|
|
process so that init will perform its cleanup. See Stevens' "Advanced Programming in the
|
|
|
|
UNIX Environment" for details (ISBN 0201563177).
|
2019-11-14 19:44:18 +03:00
|
|
|
- Fixes an issue where the application launcher which is used to start Maestral on login
|
|
|
|
in Linux may be untrusted.
|
2019-11-15 00:11:11 +03:00
|
|
|
- Fixes an issue where `maestral set-dir` would fail if the new directory is the same as
|
|
|
|
the old directory.
|
2019-11-24 20:21:49 +03:00
|
|
|
|
2019-11-14 18:25:33 +03:00
|
|
|
#### Removed:
|
|
|
|
|
|
|
|
- Removed code to migrate config files and sync indices from Maestral versions prior to
|
|
|
|
v0.2.5.
|
|
|
|
- Removed code to migrate authentication keys to the system keyring when upgrading from
|
|
|
|
v0.1.2 or earlier.
|
2019-11-04 14:16:30 +03:00
|
|
|
|
2019-11-02 14:31:46 +03:00
|
|
|
## v0.4.3
|
2019-10-25 14:54:50 +03:00
|
|
|
|
2019-10-25 15:08:38 +03:00
|
|
|
#### Fixed:
|
|
|
|
|
|
|
|
- Fixes a bug which would prevent periodic update checks from running.
|
2019-10-29 14:32:23 +03:00
|
|
|
- Fixes an issue where the system tray icon would not be displayed on Qt 5.13.1 with
|
2019-10-26 15:38:00 +03:00
|
|
|
enabled HighDpi support.
|
2019-10-29 14:32:23 +03:00
|
|
|
- Fixes an issue which would prevent system tray icons from loading on Gnome 3.
|
2019-11-02 14:36:06 +03:00
|
|
|
- Fixes and issue which would prevent macOS binaries from running due to the team ID
|
|
|
|
missing in the a code-signing certificate. Note that, even though the macOS binary is
|
|
|
|
code-signed, the certificate is not from Apple's Developer Program. Therefore, to run
|
|
|
|
the app, you will have to "right-lick -> Open".
|
2019-10-29 14:32:23 +03:00
|
|
|
|
|
|
|
#### Changed:
|
|
|
|
|
|
|
|
- Tweaked system tray icon design.
|
2019-11-01 21:10:07 +03:00
|
|
|
- Use NSUserNotificationCenter when running from Python outside of an app bundle.
|
2019-10-28 17:39:04 +03:00
|
|
|
|
2019-10-26 15:38:00 +03:00
|
|
|
#### Removed:
|
|
|
|
|
2019-11-02 14:51:47 +03:00
|
|
|
- Removed automatic detection of Gnome screen scaling factors because it caused problems on
|
|
|
|
a few desktop environments. Set the environment variable `QT_SCREEN_SCALE_FACTORS`
|
|
|
|
instead to enable it manually if required.
|
2019-10-25 14:54:50 +03:00
|
|
|
|
2019-10-24 17:03:51 +03:00
|
|
|
## v0.4.2
|
2019-10-03 20:02:02 +03:00
|
|
|
|
2019-10-07 22:22:12 +03:00
|
|
|
#### Added:
|
|
|
|
|
2019-10-23 23:18:29 +03:00
|
|
|
- Added a command `maestral activity` which gives a live view of all items queued for
|
|
|
|
syncing or currently being synced.
|
2019-10-03 20:02:02 +03:00
|
|
|
|
|
|
|
#### Fixed:
|
|
|
|
|
2019-10-06 22:18:45 +03:00
|
|
|
- Fixes crash of the sync thread when attempting to download a file from Dropbox which has
|
2019-10-24 17:03:51 +03:00
|
|
|
been deleted after it has been queued for download but before the actual download attempt.
|
2019-10-06 22:18:45 +03:00
|
|
|
- Fixes crash of the sync thread when attempting to upload a file to Dropbox which has
|
2019-10-24 17:03:51 +03:00
|
|
|
been deleted after it has been queued for upload but before the actual upload attempt.
|
2019-10-04 14:57:32 +03:00
|
|
|
- Fixes a bug where the revision number of a file could be incorrectly set to "folder".
|
2019-10-06 22:18:45 +03:00
|
|
|
- Fixes a crash of the sync thread while indexing local changes (after a restart) if an
|
2019-10-24 17:03:51 +03:00
|
|
|
indexed item has been deleted before we could check if it is a file or a folder.
|
|
|
|
- Fixes a bug where newly downloaded files could be immediately re-uploaded in some cases.
|
2019-10-23 19:16:46 +03:00
|
|
|
- Fixes a crash on startup when started as systemd service with watchdog.
|
2019-10-03 20:02:02 +03:00
|
|
|
|
2019-10-03 21:08:06 +03:00
|
|
|
## v0.4.1
|
2019-09-16 13:57:01 +03:00
|
|
|
|
2019-09-28 17:55:38 +03:00
|
|
|
This release focuses on bug fixes and performance improvements. Notable changes are:
|
|
|
|
|
|
|
|
- You can now rebuild Maestral's index from the command line with `maestral rebuild-index`.
|
2019-09-29 22:57:08 +03:00
|
|
|
- Communication between the sync daemon and frontend (GUI or CLI) is faster and more secure.
|
2019-10-02 12:41:21 +03:00
|
|
|
- Improved system tray notifications.
|
2019-09-28 17:55:38 +03:00
|
|
|
|
|
|
|
Here is the list of all changes:
|
|
|
|
|
2019-09-18 00:11:59 +03:00
|
|
|
#### Added:
|
|
|
|
|
2019-09-22 13:38:54 +03:00
|
|
|
- Added `maestral rebuild-index` command to CLI.
|
2019-10-02 12:51:09 +03:00
|
|
|
- Added support for systemd software watchdog (see #55).
|
2019-09-16 13:57:01 +03:00
|
|
|
|
2019-09-25 01:56:18 +03:00
|
|
|
#### Changed:
|
|
|
|
|
2019-09-29 15:19:31 +03:00
|
|
|
- Renamed command `maestral config new` to `maestral config add`.
|
|
|
|
- Renamed command `maestral config delete` to `maestral config remove`.
|
2019-10-02 12:51:09 +03:00
|
|
|
- Improved system tray notifications:
|
|
|
|
- Display the name of the user who changed a file
|
|
|
|
- Added app-icon and and -name to Linux notifications.
|
|
|
|
- Migrated macOS notifications from `NSUserNotificationCenter` (deprecated) to
|
|
|
|
`UNUserNotificatioCenter` for macOS Mojave and higher.
|
2019-09-27 01:01:09 +03:00
|
|
|
- Improved appearance of unlink dialog: show spinning progress indicator and perform
|
2019-09-28 17:55:38 +03:00
|
|
|
unlink in the background.
|
|
|
|
- Show menu entry "No recent files" when there are no recently changed files to display.
|
|
|
|
- Use Unix domain sockets instead of TCP/IP sockets for communication with daemon. This
|
|
|
|
means that communication is lighter, faster and more secure (other users on the same PC
|
|
|
|
can no longer connect to your sync daemon).
|
|
|
|
- Use NSTemporaryDirectory on macOS as runtime dir.
|
2019-09-29 22:57:08 +03:00
|
|
|
- Simplified code for the initial sync.
|
2019-09-25 01:56:18 +03:00
|
|
|
|
2019-09-16 13:57:01 +03:00
|
|
|
#### Fixed:
|
|
|
|
|
2019-09-28 17:55:38 +03:00
|
|
|
- Fixes a bug where the CLI setup dialog could fail when choosing to replace an existing
|
2019-10-02 12:51:09 +03:00
|
|
|
Dropbox folder.
|
2019-09-28 17:55:38 +03:00
|
|
|
- Fixes a bug which would cause `maestral start` to hang indefinitely if the daemon is not
|
2019-10-02 12:51:09 +03:00
|
|
|
created successfully (see #57).
|
2019-09-28 17:55:38 +03:00
|
|
|
- Fixes a bug which would cause `maestral unlink` to fail when the Maestral daemon is
|
|
|
|
still running.
|
|
|
|
- Fixes a bug where the Maestral GUI would show a paused icon during the initial sync
|
|
|
|
after setup.
|
|
|
|
- Fixes a bug where the menu bar item "Pause Syncing" would not change to "Resume Syncing"
|
|
|
|
when pausing sync through the CLI via `maestral pause` (and vice versa).
|
2019-10-02 12:51:09 +03:00
|
|
|
- Catch unexpected exceptions in sync threads and display to user instead of crashing.
|
2019-09-18 00:11:59 +03:00
|
|
|
- Do not upload changes to an excluded folder but raise a sync issue instead.
|
2019-09-27 00:22:45 +03:00
|
|
|
- Fixes wrong color of system tray / menu bar icon on macOS when clicked in light-mode.
|
|
|
|
- Fixes a regression bug from v0.4.0 which caused the creation of new configs for separate
|
2019-09-23 00:06:48 +03:00
|
|
|
Dropbox accounts to fail silently.
|
2019-09-28 17:55:38 +03:00
|
|
|
- Fixes a bug which could result in a missing sync cursor when running the Maestral after
|
|
|
|
the initial setup. This would come from parallel access to the config files from a
|
|
|
|
thread spawned by the setup dialog and the Maestral daemon itself. We now make sure that
|
|
|
|
the setup dialog leaves no threads behind after exiting.
|
2019-09-27 00:22:45 +03:00
|
|
|
- Fixes a bug which could cause false sync errors when adding a nested folder structure to
|
2019-09-25 01:56:18 +03:00
|
|
|
the local Dropbox folder.
|
2019-09-27 00:22:45 +03:00
|
|
|
- Fixes bug in converting Dropbox `DeleteError`s due to an invalid path to
|
2019-09-25 02:23:44 +03:00
|
|
|
`MaestralApiError`s.
|
2019-09-27 12:28:39 +03:00
|
|
|
- Fixes a bug which would prevent Maestral from detecting local changes to files that are
|
|
|
|
part of a batch which is currently being downloaded.
|
2019-09-27 15:35:56 +03:00
|
|
|
- Fixes a bug where the user may be asked to create a new keyring in a non-default wallet
|
2019-10-02 12:51:09 +03:00
|
|
|
if multiple wallets are available on first start (see #56).
|
2019-10-01 17:51:23 +03:00
|
|
|
See https://github.com/jaraco/keyring/issues/391 for the current behaviour of Python
|
2019-09-27 15:35:56 +03:00
|
|
|
keyring.
|
2019-09-29 15:19:31 +03:00
|
|
|
- Fixes a bug which could cause the Maestral daemon to be started with a different PATH
|
2019-10-02 12:51:09 +03:00
|
|
|
than the invoking command (see #57).
|
2019-10-01 17:51:23 +03:00
|
|
|
- Fixes a bug where changes to a file which is not synced locally would trigger "file
|
|
|
|
added" instead of "file modified" notifications.
|
2019-09-16 13:57:01 +03:00
|
|
|
|
2019-10-03 21:08:06 +03:00
|
|
|
## v0.4.0
|
2019-08-21 20:19:51 +03:00
|
|
|
|
2019-09-11 15:02:20 +03:00
|
|
|
Main changes are:
|
|
|
|
|
|
|
|
- Support the exclusion of subfolders.
|
|
|
|
- Check and notify if updates are available.
|
|
|
|
- Decoupled GUI and sync daemon.
|
2019-09-13 17:55:24 +03:00
|
|
|
- Cleaned up the command line interface. Use `maestral start` instead of
|
|
|
|
`maestral daemon start` and `maestral start --foreground` instead of `maestral sync`.
|
2019-09-11 15:02:20 +03:00
|
|
|
- Bug fixes and performance improvements.
|
|
|
|
|
|
|
|
Details are given below.
|
|
|
|
|
|
|
|
#### Added:
|
2019-08-21 20:19:51 +03:00
|
|
|
|
2019-09-15 16:36:34 +03:00
|
|
|
- Method to get the sync status of individual files or folders. This is also accessible
|
2019-09-15 16:38:11 +03:00
|
|
|
through the CLI via `maestral file-status LOCAL_PATH`. In the future, this could be used
|
2019-09-15 16:36:34 +03:00
|
|
|
by file manager plugins to overlay the sync status of files.
|
|
|
|
- Support to exclude subfolders in the main API, CLI and GUI.
|
|
|
|
- Added a command group `maestral excluded` to view and manage excluded folders. Available
|
|
|
|
commands are `add`, `remove` and `show`.
|
2019-09-10 23:34:02 +03:00
|
|
|
- For case-sensitive file systems: Automatically rename created items which have the same
|
|
|
|
name as an existing item, but with a different case. This avoids possible issues on
|
|
|
|
case-sensitive file systems since Dropbox itself is not case-sensitive.
|
2019-09-15 16:36:34 +03:00
|
|
|
- GUI notifications when a new version of Maestral is available, configurable to daily,
|
|
|
|
weekly, monthly or never.
|
|
|
|
- A new "Check for updates..." menu entry.
|
2019-09-13 17:55:24 +03:00
|
|
|
- Better integration with systemd: When the daemon is started from systemd, status updates
|
|
|
|
and ready / stopping signals are sent to systemd and the log is sent to the journal
|
2019-09-15 14:56:07 +03:00
|
|
|
instead of stdout. This requires the installation of the systemd extra as
|
|
|
|
`pip3 install -U maestral[systemd]`, which will install `sdnotify` and `systemd-python`.
|
|
|
|
The latter may require you install additional packages through your system's package
|
|
|
|
manager first. See [here](https://github.com/systemd/python-systemd) for installation
|
|
|
|
instructions.
|
2019-08-21 20:19:51 +03:00
|
|
|
|
2019-09-11 15:02:20 +03:00
|
|
|
#### Changed:
|
2019-08-21 20:19:51 +03:00
|
|
|
|
|
|
|
- Separated daemon and CLI code into different modules.
|
2019-09-10 23:34:02 +03:00
|
|
|
- Simplified CLI:
|
|
|
|
- Moved commands from `maestral daemon` to main command group, i.e.,
|
|
|
|
`maestral daemon start` is now `maestral start`.
|
|
|
|
- Removed `maestral sync`. Use `maestral start --foreground` instead.
|
2019-09-11 15:02:20 +03:00
|
|
|
- GUI now uses only the main Maestral API which is exposed over sockets.
|
|
|
|
- Changed returned values of the Maestral API to Python types only for better
|
|
|
|
serialisation.
|
|
|
|
- GUI now starts its own daemon on demand or attaches to an existing one. This daemon will
|
|
|
|
run in a separate process, unless started from a macOS App bundle.
|
|
|
|
- Improved startup time for large folders: Moved indexing of local files after a restart
|
|
|
|
to the `upload_thread`.
|
|
|
|
- Sync engine moved to a submodule.
|
|
|
|
- Setup dialog no longer returns a Maestral instance on success but just ``True``. It
|
|
|
|
is up to the GUI to create or attach to a Maestral daemon.
|
2019-08-21 20:19:51 +03:00
|
|
|
|
2019-09-11 15:02:20 +03:00
|
|
|
#### Fixed:
|
2019-08-21 20:19:51 +03:00
|
|
|
|
2019-09-11 15:02:20 +03:00
|
|
|
- Fixed an incorrect error being raised for a corrupted rev file, which could lead to a
|
2019-08-21 20:19:51 +03:00
|
|
|
crash or misleading error message.
|
2019-09-15 16:38:11 +03:00
|
|
|
- Fixed a bug which would cause a renamed file with a previously invalid name not to sync
|
2019-09-11 15:02:20 +03:00
|
|
|
to Dropbox.
|
2019-09-10 23:34:02 +03:00
|
|
|
- Fixed a bug in the GUI which would cause clicking on a recently changed file to reveal
|
|
|
|
the wrong item in the file manager.
|
|
|
|
- Fixed a bug which would cause the sync thread to crash when attempting to follow a
|
|
|
|
broken symlink (#50). Now, the error will be reported to the user as a sync issue.
|
|
|
|
Thanks to @michaelbjames for the fix.
|
2019-09-11 19:59:20 +03:00
|
|
|
- Fixes a bug where the Dropbox path is not reset when aborting the setup dialog.
|
2019-09-10 23:34:02 +03:00
|
|
|
|
2019-09-11 15:02:20 +03:00
|
|
|
#### Removed:
|
2019-09-10 23:34:02 +03:00
|
|
|
|
|
|
|
- Removed the CLI command `maestral sync`. Use `maestral start --foreground` instead.
|
|
|
|
|
2019-08-21 20:19:51 +03:00
|
|
|
|
2019-10-03 21:08:06 +03:00
|
|
|
## v0.3.2
|
2019-08-19 01:44:16 +03:00
|
|
|
|
|
|
|
This release fixes a bug that could result in only changes of top-level items being
|
|
|
|
synced. This affects users who carried out the initial linking with Maestral v0.2.5 or
|
|
|
|
later and selected to exclude folders before the first download. Users affected by this
|
|
|
|
should rebuild Maestral's index by selecting "Rebuild index..." in the main menu.
|
|
|
|
|
|
|
|
Other improvements include expanded command line scripts with more useful output, minor
|
|
|
|
bug fixes and small tweaks to the UI.
|
2019-08-15 14:52:50 +03:00
|
|
|
|
|
|
|
#### Added:
|
|
|
|
|
|
|
|
- Added a "status" property to `maestral.main` which shows the last log message.
|
2019-08-17 13:44:33 +03:00
|
|
|
- Added a command group `maestral log` to view and clear the log as well set the logging
|
2019-08-15 14:52:50 +03:00
|
|
|
level. Commands are:
|
2019-08-17 13:44:33 +03:00
|
|
|
- `maestral log show`: Shows the logs in terminal.
|
|
|
|
- `maestral log clear`: Clears the logs.
|
|
|
|
- `maestral log level`: Returns the current log level.
|
|
|
|
- `maestral log level [DEBUG|INFO|WARNING|ERROR]`: Sets the log level to the given
|
|
|
|
value. Affects both stdout and file logs.
|
|
|
|
- Added an option "-a" to `maestral ls` to include hidden files.
|
2019-08-18 23:27:22 +03:00
|
|
|
- Added tooltips for system tray icon when not on macOS.
|
2019-08-15 14:52:50 +03:00
|
|
|
|
|
|
|
#### Changed:
|
|
|
|
|
|
|
|
- Made log levels persistent between sessions.
|
2019-08-16 00:38:41 +03:00
|
|
|
- Changed the name of `maestral list` to `maestral ls` and, by default, do not list
|
|
|
|
"hidden" items that start with a dot. Added an option "-a" to explicitly list all
|
2019-08-17 13:44:33 +03:00
|
|
|
files in a directory.
|
2019-08-15 15:06:45 +03:00
|
|
|
- Improved output from command line scripts:
|
|
|
|
- Wrap all long outputs in empty lines.
|
|
|
|
- Show more informative status.
|
|
|
|
- Show Dropbox folder location in account-info.
|
2019-08-17 13:44:33 +03:00
|
|
|
- Add colours to outputs like "[OK]" and "[FAILED]".
|
2019-08-15 15:06:45 +03:00
|
|
|
- Set minimum version requirement for click package.
|
2019-08-17 13:44:33 +03:00
|
|
|
- Reduced the startup time by downloading profile picture in a thread. Periodically update
|
2019-08-16 13:18:41 +03:00
|
|
|
in the background (every 20 min).
|
2019-08-19 01:44:16 +03:00
|
|
|
- Check hashes before uploading modified files. This speeds up re-linking an old folder by
|
|
|
|
orders of magnitude.
|
2019-08-18 23:27:22 +03:00
|
|
|
- Enable the creation of multiple autostart entries for different configurations.
|
|
|
|
- Fall back to PNG tray icons if the platform may not support our svg format.
|
2019-08-16 13:18:41 +03:00
|
|
|
|
2019-08-15 14:52:50 +03:00
|
|
|
#### Fixed:
|
|
|
|
|
2019-08-17 13:44:33 +03:00
|
|
|
- Fixed a bug which would not allow running maestral for the first time before explicitly
|
|
|
|
adding a configuration with `maestral config new`. Now, a default configuration is
|
|
|
|
created automatically on first run.
|
2019-08-16 00:38:41 +03:00
|
|
|
- Prevent the GUI and a daemon from syncing the same folder at the same time.
|
2019-08-15 14:52:50 +03:00
|
|
|
- Fixed the creation of multiple daemons. A new daemon will no longer overwrite an old
|
|
|
|
one and `maestral daemon start` will do nothing if a daemon for the given configuration
|
|
|
|
is already running.
|
|
|
|
- Automatic allocation of ports for the communication between daemon and client.
|
2019-08-15 15:34:26 +03:00
|
|
|
- Show the (Dropbox) file path in the string representation of `MaestralApiError`.
|
|
|
|
Previously, one could not see from the traceback which file caused the error.
|
2019-08-19 01:44:16 +03:00
|
|
|
- Fixed a bug that would result in only changes of top-level items being synced. This
|
|
|
|
affects users who carrier out the initial linking with Maestral v0.2.5 or later
|
|
|
|
(commit 40be316b49f2198a01cc9ce9b804f8e6336e36f8) and selected to exclude folders
|
|
|
|
before the initial sync. Users affected by this bug should rebuild Maestral's index by
|
|
|
|
selecting "Rebuild index..." in the main menu.
|
2019-08-24 02:55:52 +03:00
|
|
|
|
2019-08-17 13:44:33 +03:00
|
|
|
#### Removed:
|
|
|
|
|
|
|
|
- No longer install a script "maestral-gui". Use "maestral gui" instead.
|
2019-08-15 14:52:50 +03:00
|
|
|
|
2019-10-03 21:08:06 +03:00
|
|
|
## v0.3.1 (2019-08-14)
|
2019-08-15 00:12:40 +03:00
|
|
|
|
2019-08-15 14:52:50 +03:00
|
|
|
#### Fixed:
|
2019-08-15 00:12:40 +03:00
|
|
|
|
|
|
|
- Fixes a bug when calling the command line script `maestral daemon errors`. This bug
|
|
|
|
was the result of an error in pickling our MaestralApiExceptions (see
|
|
|
|
[https://bugs.python.org/issue1692335#msg310951](https://bugs.python.org/issue1692335#msg310951)
|
|
|
|
for a discussion).
|
|
|
|
|
2019-10-03 21:08:06 +03:00
|
|
|
## v0.3.0 (2019-08-14)
|
2019-08-14 22:41:12 +03:00
|
|
|
|
|
|
|
This release includes several significant changes. The largest are:
|
|
|
|
|
|
|
|
1) Support for multiple Dropbox accounts (via the command line)
|
|
|
|
2) A Maestral daemon for the command line
|
|
|
|
3) A redesigned settings window with more prominent account information
|
|
|
|
|
|
|
|
The detailed list of changes is:
|
2019-08-09 19:53:46 +03:00
|
|
|
|
2019-08-15 14:52:50 +03:00
|
|
|
#### Added:
|
2019-08-09 15:16:46 +03:00
|
|
|
|
2019-08-14 22:41:12 +03:00
|
|
|
- Maestral can now be started as a daemon from the command line. A new command group
|
|
|
|
`maestral daemon` has been introduced to manage this.
|
2019-08-14 20:42:29 +03:00
|
|
|
- Added support for custom Dropbox folder names. The folder name must be set with the
|
|
|
|
command line scripts.
|
2019-08-14 22:41:12 +03:00
|
|
|
- Added a new command group `maestral config` to manage multiple Maestral configurations
|
|
|
|
for different Dropbox accounts.
|
|
|
|
- Added a new command line option `--config-name` or `-c` to select the configuration
|
2019-08-09 19:53:46 +03:00
|
|
|
file to use.
|
2019-08-14 22:41:12 +03:00
|
|
|
- Improved grouping and naming of command line scripts.
|
|
|
|
- Added a "relink" dialog which is shown when Maestral's Dropbox access has expired or
|
|
|
|
has been revoked by the user.
|
2019-08-17 22:17:14 +03:00
|
|
|
- Improved logic to detect system tray color and set icons accordingly. This is mostly for
|
2019-09-10 23:34:02 +03:00
|
|
|
KDE which, unlike Gnome, does not handle automatically adapting its tray icon colours.
|
2019-08-09 19:53:46 +03:00
|
|
|
|
2019-08-15 14:52:50 +03:00
|
|
|
#### Changed:
|
2019-08-09 15:16:46 +03:00
|
|
|
|
2019-08-12 20:13:27 +03:00
|
|
|
- Animated setup dialog.
|
2019-08-11 03:42:58 +03:00
|
|
|
- Redesigned the settings window to show more prominent account information.
|
2019-08-09 15:16:46 +03:00
|
|
|
- Improved command line and GUI flows for setting or moving the Dropbox folder location.
|
2019-08-10 16:10:13 +03:00
|
|
|
- Moved to an Implicit Grant OAuth2 flow. This does not require an app secret to be
|
|
|
|
stored in the client source code. Maestral will therefore no longer require the user to
|
|
|
|
get their own API keys or to use the precompiled oauth binaries hosted on PyPI.
|
2019-08-14 22:41:12 +03:00
|
|
|
- Improved the user massages given by command line scripts.
|
2019-08-18 16:41:32 +03:00
|
|
|
- Improved status messages given in RebuildIndexDialog.
|
|
|
|
- Unified and improved the creation of QThreads by the GUI to perform background tasks.
|
|
|
|
This fixes an issue with occasional segfaults RebuildIndexDialog and improves the
|
|
|
|
reliability of the UI.
|
|
|
|
- Started to work on providing a top-level API in `Maestral` for all functionality that is
|
|
|
|
required by the UI. There should be no need to interact with `Monitor` or `UpDownSync`
|
|
|
|
directly for high-level functionality.
|
2019-08-16 13:18:41 +03:00
|
|
|
|
2019-08-15 14:52:50 +03:00
|
|
|
#### Fixed:
|
2019-08-14 20:42:29 +03:00
|
|
|
|
|
|
|
- Fixed a crash on startup if the Meastral's Dropbox access has expired or has been
|
|
|
|
revoked.
|
2019-08-14 22:41:12 +03:00
|
|
|
- Fixed handling of `ListFolder` errors. Those will only occur when the user gives an
|
|
|
|
incorrect folder name to list and will (hopefully) never be caused my Maestral itself.
|
2019-08-09 15:16:46 +03:00
|
|
|
|
2019-10-03 21:08:06 +03:00
|
|
|
## v0.2.6 (2019-08-08)
|
2019-08-08 18:58:46 +03:00
|
|
|
|
|
|
|
This release fixes a critical bug which would cause Maestral to get stuck after the
|
|
|
|
initial sync. This does not affect users who have already performed the initial sync
|
2019-08-08 19:09:24 +03:00
|
|
|
with a previous version of Maestral.
|
2019-08-08 13:09:14 +03:00
|
|
|
|
2019-08-15 14:52:50 +03:00
|
|
|
#### Added:
|
2019-08-08 18:20:34 +03:00
|
|
|
|
|
|
|
- Added a context menu entry to the "Sync issues" window to show a file on dropbox.com.
|
|
|
|
|
2019-08-15 14:52:50 +03:00
|
|
|
#### Changed:
|
2019-08-08 13:09:14 +03:00
|
|
|
|
|
|
|
- Move logs to '$XDG_CACHE_HOME/maestral' on Linux and '~/Library/Logs/maestral' on macOS.
|
2019-08-08 18:58:46 +03:00
|
|
|
- Reduce the number of Dropbox API calls during initial sync.
|
2019-08-08 13:09:14 +03:00
|
|
|
|
2019-08-15 14:52:50 +03:00
|
|
|
#### Fixed:
|
2019-08-08 18:20:34 +03:00
|
|
|
|
2019-08-08 19:09:24 +03:00
|
|
|
- Fixed a bug which would cause Maestral to get stuck after the initial download.
|
|
|
|
- Fixes an issue in macOS where modal dialogs in the settings window would sometimes
|
|
|
|
appear behind the window instead of in front of it.
|
2019-08-08 13:09:14 +03:00
|
|
|
|
2019-10-03 21:08:06 +03:00
|
|
|
## v0.2.5 (2019-08-07)
|
2019-08-07 18:12:50 +03:00
|
|
|
|
|
|
|
This release fixes several sync issues which could occur when the internet connection is
|
|
|
|
lost during a sync. It also notifies the user if Maestral's access to their Dropbox has
|
|
|
|
been revoked.
|
2019-08-06 13:59:33 +03:00
|
|
|
|
2019-08-15 14:52:50 +03:00
|
|
|
#### Added:
|
2019-08-07 04:16:03 +03:00
|
|
|
|
2019-08-07 15:01:31 +03:00
|
|
|
- Handle expired or invalidated Dropbox access.
|
2019-08-07 04:16:03 +03:00
|
|
|
- Ask the user before overriding an existing folder in the setup dialog.
|
2019-08-07 15:01:31 +03:00
|
|
|
- Added status updates for large file uploads (e.g., "Uploading 10/545MB...").
|
2019-08-07 04:16:03 +03:00
|
|
|
|
2019-08-15 14:52:50 +03:00
|
|
|
#### Changed:
|
2019-08-06 13:59:33 +03:00
|
|
|
|
|
|
|
- Significant speedup of initial indexing. Excluded folders or subfolders will no
|
|
|
|
longer be indexed.
|
2019-08-08 10:58:53 +03:00
|
|
|
- Save config files in the systems default location: '$XDG_CONFIG_HOME/maestral' or
|
2019-08-07 15:01:31 +03:00
|
|
|
'.config/maestral' in Linux and '~/Library/Application Support/maestral' on macOS.
|
2019-08-09 19:53:46 +03:00
|
|
|
|
2019-08-15 14:52:50 +03:00
|
|
|
#### Fixed:
|
2019-08-06 13:59:33 +03:00
|
|
|
|
|
|
|
- Fixed a false "Dropbox folder cannot be found" message which would appear when
|
2019-08-07 15:01:31 +03:00
|
|
|
quitting and restarting Maestral during the first sync. Now, the initial download is
|
|
|
|
quietly resumed when relaunching Maestral.
|
2019-08-07 04:16:03 +03:00
|
|
|
- Fixed an issue where an interrupted upload would not resume without restarting Maestral.
|
2019-08-07 15:01:31 +03:00
|
|
|
- Fixed an issue where file changes while "offline" would sometimes not be synced to
|
|
|
|
Dropbox when a connection is reestablished.
|
2019-08-07 18:02:50 +03:00
|
|
|
- Fixed an issue where errors from `requests` would inadvertently get caught instead of
|
|
|
|
being raised.
|
2019-08-06 13:59:33 +03:00
|
|
|
|
2019-10-03 21:08:06 +03:00
|
|
|
## v0.2.4 (2019-08-05)
|
2019-07-23 22:15:26 +03:00
|
|
|
|
2019-07-29 16:32:11 +03:00
|
|
|
This version mainly improves the appearance and responsiveness of the GUI specifically on
|
|
|
|
Linux platforms with a Gnome desktop. It also introduces a dialog to handle a deleted or
|
2019-07-27 02:23:21 +03:00
|
|
|
moved Dropbox folder.
|
2019-07-26 02:27:53 +03:00
|
|
|
|
2019-08-15 14:52:50 +03:00
|
|
|
#### Added:
|
2019-07-23 22:15:26 +03:00
|
|
|
|
|
|
|
- Added a "Select all" option when choosing which folders to sync.
|
2019-07-27 02:23:21 +03:00
|
|
|
- Handle deleted or moved Dropbox folder in setup dialog.
|
|
|
|
- Handle deleted or moved Dropbox folder while Maestral is running.
|
2019-07-23 22:15:26 +03:00
|
|
|
|
2019-08-15 14:52:50 +03:00
|
|
|
#### Changed:
|
2019-07-25 22:49:50 +03:00
|
|
|
|
2019-07-29 16:32:11 +03:00
|
|
|
- Improved performance of the GUI on some Gnome systems in case of many rapid status
|
2019-07-26 02:27:53 +03:00
|
|
|
changes.
|
2019-07-29 16:32:11 +03:00
|
|
|
- Show system tray icon already during the setup dialog.
|
2019-07-25 22:49:50 +03:00
|
|
|
|
2019-08-15 14:52:50 +03:00
|
|
|
#### Fixed:
|
2019-07-25 22:49:50 +03:00
|
|
|
|
2019-08-05 14:52:58 +03:00
|
|
|
- Fixed size of the system tray icon in Gnome desktops with high-DPI scaling.
|
2019-07-26 15:35:51 +03:00
|
|
|
- Fixed a bug which would result in an error dialog being shown for "normal" sync errors
|
|
|
|
such as an invalid file name.
|
|
|
|
- Fixed missing line-breaks in the traceback shown by the error dialog.
|
2019-08-04 21:01:14 +03:00
|
|
|
- Updated console scripts to reflect changes in MaestralMonitor and MaestralApiClient.
|
2019-07-25 22:49:50 +03:00
|
|
|
|
2019-10-03 21:08:06 +03:00
|
|
|
## v0.2.3 (2019-07-22)
|
2019-07-22 11:31:25 +03:00
|
|
|
|
2019-07-22 21:26:35 +03:00
|
|
|
This release mainly fixes crashes of the setup dialog and contains tweaks to the UI.
|
|
|
|
|
2019-08-15 14:52:50 +03:00
|
|
|
#### Changed:
|
2019-07-22 11:31:25 +03:00
|
|
|
|
|
|
|
- Launch into setup dialog if no Dropbox authentication token can be found in keychain.
|
2019-07-22 21:30:09 +03:00
|
|
|
- Only log messages of level ERROR or higher to file.
|
|
|
|
- Show account email in the system tray menu above space usage.
|
|
|
|
- Unified the code for error dialogs and added an app icon to all dialogs.
|
2019-07-22 11:31:25 +03:00
|
|
|
|
2019-08-15 14:52:50 +03:00
|
|
|
#### Fixed:
|
2019-07-22 11:31:25 +03:00
|
|
|
|
|
|
|
- Fixed a bug which could could result in the user being asked to re-authenticate when no
|
|
|
|
Dropbox folder is detected on startup.
|
2019-07-23 22:15:26 +03:00
|
|
|
- Fixed a bug which could cause Maestral to crash during the setup dialog, immediately
|
|
|
|
after user authentication.
|
2019-07-22 11:31:25 +03:00
|
|
|
|
2019-10-03 21:08:06 +03:00
|
|
|
## v0.2.2 (2019-07-19)
|
2019-07-19 14:18:25 +03:00
|
|
|
|
2019-08-15 14:52:50 +03:00
|
|
|
#### Added:
|
2019-07-19 14:18:25 +03:00
|
|
|
|
2019-07-20 20:21:37 +03:00
|
|
|
- Added support for file and folder names with two or more periods.
|
|
|
|
- Temporary autosave files that are created by macOS are now detected by their extension
|
|
|
|
and excluded from syncing.
|
2019-07-19 14:18:25 +03:00
|
|
|
- More fine-grained errors, subclassed from `MaestralApiError`.
|
2019-07-20 20:59:07 +03:00
|
|
|
- Log all events of level INFO and higher to a rotating file in '~/.maestral/logs'. The
|
2019-07-21 02:33:24 +03:00
|
|
|
log folder size will never exceed 6 MB.
|
2019-07-19 14:18:25 +03:00
|
|
|
|
2019-08-15 14:52:50 +03:00
|
|
|
#### Changed:
|
2019-07-19 14:18:25 +03:00
|
|
|
|
|
|
|
- Better handling when Dropbox resets a cursor: retry any `files_list_folder` calls and
|
2019-07-20 20:21:37 +03:00
|
|
|
prompt the user to rebuild the index on `files_list_folder_longpoll` calls.
|
2019-07-19 14:18:25 +03:00
|
|
|
- Prepare for G-suite Dropbox integration: G-suite files such as Google docs and sheets
|
|
|
|
will not be downloadable but can only be exported. Maestral will ignore such files.
|
|
|
|
- Moved deprecated API calls to v2.
|
2019-07-20 20:21:37 +03:00
|
|
|
- Better handling of `OSErrors` on download.
|
2019-07-21 15:37:02 +03:00
|
|
|
- Tweaks to logo.
|
2019-07-19 14:18:25 +03:00
|
|
|
|
2019-08-15 14:52:50 +03:00
|
|
|
#### Fixed:
|
2019-07-19 14:18:25 +03:00
|
|
|
|
|
|
|
- Fixed a bug which would prevent some error dialogs from being shown to the user.
|
2019-07-21 15:37:02 +03:00
|
|
|
- Fixed a bug which would cause the setup dialog to crash after linking to Dropbox.
|
2019-07-19 14:18:25 +03:00
|
|
|
|
2019-10-03 21:08:06 +03:00
|
|
|
## v0.2.1 (2019-07-18)
|
2019-07-18 17:42:02 +03:00
|
|
|
|
2019-08-15 14:52:50 +03:00
|
|
|
#### Changed:
|
2019-07-18 17:42:02 +03:00
|
|
|
|
2019-07-19 14:18:25 +03:00
|
|
|
- Reload all file and folder icons when the system appearance changes: the system may
|
2019-07-18 17:42:02 +03:00
|
|
|
provide different icons (e.g., darker folder icons in "dark mode" on macOS Mojave).
|
2019-07-22 19:20:30 +03:00
|
|
|
- Improved notification centre alerts in macOS: when installed as a bundled app,
|
2019-07-18 17:42:02 +03:00
|
|
|
notifications are now properly sent from the Maestral itself, showing the Maestral icon,
|
|
|
|
instead of through apple script.
|
|
|
|
- Improved layout of the "Rebuild index" dialog.
|
|
|
|
|
2019-08-15 14:52:50 +03:00
|
|
|
#### Fixed:
|
2019-07-18 17:42:02 +03:00
|
|
|
|
2019-07-19 14:18:25 +03:00
|
|
|
- Fixes a bug which would prevent Meastral from starting on login: the correct startup
|
2019-07-18 17:42:02 +03:00
|
|
|
script is now called.
|
|
|
|
|
2019-10-03 21:08:06 +03:00
|
|
|
## v0.2.0 (2019-07-17)
|
2019-07-01 20:28:18 +03:00
|
|
|
|
2019-07-13 20:10:05 +03:00
|
|
|
#### Major changes
|
2019-07-01 20:28:18 +03:00
|
|
|
|
2019-08-15 14:52:50 +03:00
|
|
|
#### Added:
|
2019-07-13 20:10:05 +03:00
|
|
|
|
|
|
|
- Proper handling of sync errors. Dropbox API errors are converted to a more informative
|
|
|
|
`MaestralApiError` and a log of sync errors is kept. This log is cleared as sync errors
|
|
|
|
are resolved. Errors are now handled as follows:
|
|
|
|
- Individual file sync errors are indicated by the system tray icon changing. The
|
|
|
|
can listed by the user through the GUI.
|
|
|
|
- Unexpected errors or major errors which prevent Maestral from functioning (e.g., a
|
|
|
|
corrupted index) trigger an error dialog.
|
|
|
|
|
|
|
|
- Introduced a new panel "View Sync Issues..." to show an overview of sync issues and
|
|
|
|
their cause (invalid file name, insufficient space on Dropbox, etc...)
|
|
|
|
- Added a new function to rebuild Maestral's file index which is accessible through the
|
|
|
|
GUI.
|
2019-07-03 00:23:10 +03:00
|
|
|
- Added "Recently Changed Files" submenu to the system tray menu. "Recently Changed Files"
|
|
|
|
shows entries for the 30 last-changed files (synced folders only) and navigates to the
|
|
|
|
respective file in the default file manager when an entry is clicked.
|
2019-07-13 20:10:05 +03:00
|
|
|
|
2019-08-15 14:52:50 +03:00
|
|
|
#### Changed:
|
2019-07-13 20:10:05 +03:00
|
|
|
|
|
|
|
- Refactored sync code: Collected all sync functionality in a the new class
|
|
|
|
`monitor.UpDownSync`. `MaestralClient` now only handles access to the Dropbox API itself
|
|
|
|
but is no longer concerned with version tracking, etc. `MaestralClient` no longer
|
|
|
|
catches Dropbox API errors but raises them, augmented with useful information, as
|
|
|
|
`MaestralApiError`.
|
2019-07-13 21:03:07 +03:00
|
|
|
- Moved storage of user authentication tokens from a text file to the system keyring. As a
|
2019-07-18 17:42:02 +03:00
|
|
|
result, authentication tokens will be encrypted on the hard drive and only decrypted
|
2019-07-13 21:03:07 +03:00
|
|
|
when the user logs in. On some systems, this may cause problems in headless mode, when
|
|
|
|
the Gnome keyring is not loaded. The
|
|
|
|
[keyring documentation](https://keyring.readthedocs.io/en/latest/#using-keyring-on-headless-linux-systems)
|
|
|
|
provides help for such cases.
|
2019-07-13 20:10:05 +03:00
|
|
|
|
|
|
|
#### Minor changes
|
|
|
|
|
2019-08-15 14:52:50 +03:00
|
|
|
#### Added:
|
2019-07-13 20:10:05 +03:00
|
|
|
|
|
|
|
- Added progress messages for uploads and downloads, e.g., "Downloading 3/98...". These
|
|
|
|
are output as info messages and shown in the status field of the system tray menu.
|
|
|
|
- When unlinking your Dropbox account through the GUI, Maestral is restarted to enter the
|
2019-07-08 15:18:41 +03:00
|
|
|
setup dialog.
|
2019-07-15 01:51:24 +03:00
|
|
|
- Refinements for dark interface themes such as Dark Mode in macOS Mojave
|
2019-07-03 00:23:10 +03:00
|
|
|
|
2019-08-15 14:52:50 +03:00
|
|
|
#### Changed:
|
2019-07-07 16:32:19 +03:00
|
|
|
|
2019-07-13 20:10:05 +03:00
|
|
|
- Use native system icons instead of macOS icons to represent files and folders.
|
|
|
|
- Some programs save file changes by deleting the old file and creating a new file. This
|
2019-07-08 20:30:01 +03:00
|
|
|
is now correctly combined to a single `FileModified` event.
|
2019-07-13 20:10:05 +03:00
|
|
|
- Some programs create temporary files when saving changes. Those temporary files are
|
|
|
|
deleted again after the save is completed. Those `FileCreated` and `FileDeleted`
|
2019-07-08 20:04:04 +03:00
|
|
|
events, which occur in quick succession, are now ignored by Maestral.
|
2019-07-08 20:30:01 +03:00
|
|
|
- The following file names have been added to the exclusion list:
|
|
|
|
- Files that start with "\~$" or ".~"
|
2019-07-08 20:04:04 +03:00
|
|
|
- Files that start with "~" and end with ".tmp"
|
2019-07-08 14:51:29 +03:00
|
|
|
- Cleaned up some of the config module code: removed Spyder specific functions and
|
2019-07-07 16:32:19 +03:00
|
|
|
obsolete Python 2 compatibility.
|
2019-07-18 17:42:02 +03:00
|
|
|
- Adapted code to correctly load resources in case Maestral is packaged as a macOS app
|
2019-07-16 13:27:19 +03:00
|
|
|
bundle.
|
2019-07-03 00:23:10 +03:00
|
|
|
|
2019-08-15 14:52:50 +03:00
|
|
|
#### Fixed:
|
2019-07-02 05:06:56 +03:00
|
|
|
|
2019-07-13 20:10:05 +03:00
|
|
|
- Fixed a bug which may result in a removed folder not being deleted locally if it
|
2019-07-02 05:06:56 +03:00
|
|
|
contains subfolders.
|
2019-07-13 20:10:05 +03:00
|
|
|
- Fixed a bug which may result in file modifications not being uploaded, depending on
|
2019-07-08 20:30:01 +03:00
|
|
|
how the changes were saved by the program which was used to edit the file.
|
|
|
|
- Fixed a bug which would incorrectly list top level files as folders in the "Exclude
|
|
|
|
folders" dialog.
|
|
|
|
- Truncate entries in the "Recently Changed Files" menu if their width exceeds 200 pixels.
|
2019-07-13 20:10:05 +03:00
|
|
|
- Fixed a bug which would cause Maestral to crash when clicking "Choose folders to sync..."
|
|
|
|
while Maestral cannot connect to Dropbox servers.
|
2019-07-01 20:28:18 +03:00
|
|
|
|
2019-10-03 21:08:06 +03:00
|
|
|
## v0.1.2 (2019-06-25)
|
2019-06-24 12:13:58 +03:00
|
|
|
|
2019-08-15 14:52:50 +03:00
|
|
|
#### Added:
|
2019-07-01 20:28:18 +03:00
|
|
|
|
|
|
|
- Added new command line option 'autostart' to automatically start Maestral on login.
|
|
|
|
|
2019-08-15 14:52:50 +03:00
|
|
|
#### Changed:
|
2019-06-24 12:13:58 +03:00
|
|
|
|
2019-06-29 22:02:38 +03:00
|
|
|
- Limit notifications to remote changes only and only notify for changes in folders that
|
2019-07-01 20:28:18 +03:00
|
|
|
currently being synced, unless more than 100 files have changed.
|
2019-07-22 19:20:30 +03:00
|
|
|
- Detect colour of system tray and invert icon colour automatically if not on macOS.
|
2019-06-24 12:13:58 +03:00
|
|
|
- Shut down immediately and kill threads instead of waiting for timeout.
|
2019-06-25 21:17:44 +03:00
|
|
|
- Improve appearance of Settings window in GTK 3 style.
|
2019-06-24 12:13:58 +03:00
|
|
|
|
2019-08-15 14:52:50 +03:00
|
|
|
#### Fixed:
|
2019-06-24 13:30:12 +03:00
|
|
|
|
2019-06-25 21:17:44 +03:00
|
|
|
- Fixed a bug which would cause uploads to fail if they are split into multiple chunks.
|
2019-06-24 13:30:12 +03:00
|
|
|
- Fixed a bug that would prevent Maestral from quitting if the setup dialog is aborted.
|
2019-06-25 14:16:51 +03:00
|
|
|
- Fixed a bug that would cause Maestral to crash during the setup dialog when switching
|
2019-06-25 21:17:44 +03:00
|
|
|
multiple times between the "Select Folders to Sync" and "Select Dropbox location" panels.
|
2019-07-08 14:51:29 +03:00
|
|
|
- Do not upload files that have identical content on Dropbox. Previously: files were
|
2019-06-25 21:17:44 +03:00
|
|
|
always uploaded and conflict checking was left to do by the Dropbox server.
|
2019-06-24 13:30:12 +03:00
|
|
|
|
2019-10-03 21:08:06 +03:00
|
|
|
## v0.1.1 (2019-06-23)
|
2019-06-23 19:34:47 +03:00
|
|
|
|
2019-08-15 14:52:50 +03:00
|
|
|
#### Fixed:
|
2019-06-23 19:34:47 +03:00
|
|
|
|
2019-06-25 14:16:51 +03:00
|
|
|
- Fixes an issue which would prevent newly created empty folders from being synced.
|
2019-06-25 21:17:44 +03:00
|
|
|
- Remove references to conda in startup script.
|