duplicity-team team mailing list archive
-
duplicity-team team
-
Mailing list archive
-
Message #05880
Version 2.0.0 Progress
Intro
This will serve to keep track of major changes coming down the pike for
v2.0 duplicity. I'll update with any new changes
I have made a new project called duplicity-py3
<https://gitlab.com/duplicity/duplicity-py3>. It passes all the tests we
have. I’m working on more comprehensive testing now.
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.
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's repo
with the duplicity-py3 repo and be done with it, down to just one project
again. Between now and then I have a tentative release schedule:
daterelease
07/10 RC0
07/17 RC1
07/24 RC2
07/27 2.0.0Python 3.8+ only from now on
- 2.7 is End Of Life
- 3.0 to 3.7 are End Of Life
- remove future (includes builtins)
- pure Python 3 code only (1 C extension)
Deprecated options
- –gio
- –old-filenames
- –short-filenames
- –time-separator
- –exclude-globbing-filelist
- –include-globbing-filelist
- –exclude-filelist-stdin
- –include-filelist-stdin
- –s3-multipart-max-timeout
- –s3-use-multiprocessing
- –s3-use-server-side-encryption
- –s3-use-server-side-kms-encryption
NOTE 1: For --old-filenames and --short-filenames, only the option itself
and the ability to *create* old and short filenames will be removed. We
will maintain the ability to read them for the foreseeable future.
NOTE 2: The --time-separator option will be deprecated only for full or
incremental backups, but allowed for non-backup commands since it is
necessary to read any backups created with a nonstandard time separator
character. We will not create any new files with time separators.
Changed Options
- --file-to-restore to --path-to-restore
- --do-not-restore-ownership to --no-restore-ownership
Remove replicate command
- See issue #98
- Plenty of other tools available, rsync, rclone, etc.
Remove rdiffdir command
- Not known to be in use.
- Would require major updates to maintain.
Remove s3_boto_backend.py
- 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 optional and 1 or 2 positional args:
1. COMMAND - all previous commands plus help (optional for
backup/restore)
2. SOURCE - the source directory or URL - same as previous
3. TARGET - the target directory or URL - same as previous
4. Other - timestamp or count
- Compression and encryption option interaction:
1. compression and encryption are both default
2. if –no-encryption is passed, only compression will be done (by
default gzip algo for now)
3. if –no-compression is passed, only encryption will be done (gpg
gets –compress-algo=none)
4. if both are passed we generate plain tarballs