Discussion: Version 2.0 Blueprint
Intro
This will serve to keep track of major changes coming down the pike for v2.0 duplicity.
I have made a new project called duplicity-py3. It passes all the tests we have. I'm working on more comprehensive testing now. If you want to see what's going on and find a bug, please report them there and not here.
Timeline
At this point we have released 3 alpha and 3 beta versions with almost minimal from testers. I'd like to get the testing done before the release if at all possible. @All
The main
branch has been merged into duplicity-py3
, and main
has is now in a release freeze. When we release 2.0, I'll just replace main with duplicity-py3 and be done with it. Between now and then I have a tentative release schedule:
date | release |
---|---|
07/10 | RC0 |
07/17 | RC1 |
07/24 | RC2 |
08/07 | 2.0.0 |
Python 3.8+ only from now on
- 2.7 is End Of Life
- 3.0 to 3.7 are End Of Life
- remove
future
(includesbuiltins
) - pure Python 3 code only (1 C extension)
Deprecated options
- --exclude-filelist-stdin
- --exclude-globbing-filelist
- --gio
- --include-filelist-stdin
- --include-globbing-filelist
- --old-filenames
- --s3-european-buckets
- --s3-multipart-max-timeout
- --s3-use-multiprocessing
- --s3-use-server-side-encryption
- --s3-use-server-side-kms-encryption
- --short-filenames
- --time-separator
NOTE: For --old-filenames
, --short-filenames
, and --time-separator
, only the option itself will be removed from the backup commands and the ability to create old or short filenames or with time separators will be removed. We will maintain the ability to read them for the foreseeable future.
Changed Options
-
--file-to-restore
to--path-to-restore
-
--do-not-restore-ownership
to--no-restore-ownership
replicate
command
Remove - See issue #98 (closed)
- Plenty of other tools available, rsync, rclone, etc.
rdiffdir
command
Remove - Not known to be in use.
- Would require major updates to maintain.
s3_boto_backend.py
Remove -
boto
has not been updated since 2018 - Does not support above Python 3.4
- Replaced by
s3_boto3_backend.py
Help system overhaul
- Module optparse will be replaced by argparse
- Hierarchical help for each command and backend
- Some improvements may be moved to 2.1 or later
Command line fixes
- Convert from optparse (deprecated) to argparse.
- There will be 1 command with 1 or 2 positional args:
- COMMAND - all previous commands plus
help
- SOURCE - the source directory or URL - same as previous
- TARGET - the target directory or URL - same as previous
- Other - timestamp or count
- COMMAND - all previous commands plus
- Compression and encryption option interaction:
- compression and encryption are both default
- if --no-encryption is passed, only compression will be done (by default gzip algo for now)
- if --no-compression is passed, only encryption will be done (gpg gets --compress-algo=none)
- if both are passed we generate plain tarballs