News and announcements
Duplicity 0.8.23 Released
Written for Duplicity by Kenneth Loafman on 2022-05-15
## rel.0.8.23 (2022-05-15)
### New
* Add --webdav-headers to webdavbackend. Fixes #94. [Kenneth Loafman]
* Document rclone option setting via env vars. [edeso]
* Document rclone option setting via env vars. [edeso]
* Fix other archs, expose rdiffdir. [edeso]
fix remote build of armhf, arm64, ppc64el arm64 was tested on Debian
11 arm64 rdiffdir now avail as /snap/bin/
obsolete folder /usr/lib/python3.9/ in snap
* Demote boto backend to legacy ... [ede]
usable via boto+s3:// or boto+gs:// now only removed s3+http://
scheme added --s3-endpoint-url option as replacement added
--s3-
of the same patch set
* Promote boto3 backend to default s3:// backend ... [ede]
add --s3-unencrypte
* Man page, major sorting, reformatting, S3/GCS documentation update. [ede]
some updates, added s3 options, clarifications updated Notes on S3
and Google Cloud Storage usage sort Options, Url Formats, Notes on
alphabetically consistently use "NOTE:" indent properly all over
### Changes
* Use cicd image hosted on GitLab. [Kenneth Loafman]
* Create singular container for testing. [Kenneth Loafman]
### Fix
* Fix LP bug #1970124 - obscure error message. [Kenneth Loafman]
Fixes handling of error message with real path, not temp path.
### Other
* Pkg:fix: make extra sure correct python binary is used. [edeso]
remove unmaintained changelog add shell wrapper(
debug script use shell wrapper as snap binary ignores PATH for
python binary on debian
* Merge remote-tracking branch 'origin/clean-dist' [Kenneth Loafman]
* Optimize CI/CD to only run when needed. [Kenneth Loafman]
* Merge remote-tracking branch 'origin/
* Merge branch 'duplicity-core20' of
git@gitlab.
* Merge remote-tracking branch 'origin/master' into duplicity-core20. [Kenneth Loafman]
* Merge branch 'duplicity-core20' into 'master' [Kenneth Loafman]
upgrade to base core20
See merge request duplicity/
* Upgrade to base core20. [Kenneth Loafman]
* Merge branch 'website\_links' into 'master' [Kenneth Loafman]
switch website to gitlab.io, promote duplicity.us
See merge request duplicity/
* Switch website to gitlab.io, promote duplicity.us. [ede]
* Fix website link. [ede]
Duplicity 0.8.22 Released
Written for Duplicity by Kenneth Loafman on 2022-03-04
## rel.0.8.22 (2022-03-04)
### New
* Minimize testing/
* Add testing/
* Add Getting Versioned Source to README-REPO.md. [Kenneth Loafman]
* Add --use-glacier-ir option for instant retrieval. Fixes #102. [Kenneth Loafman]
* Add --par2-volumes entry to man page. [Kenneth Loafman]
* Add option --show-
Patches provided by Peter Canning (@pcanning). Closes #99.
### Changes
* Add warning for replicate command. See issue #98. [Kenneth Loafman]
* Add line wrap to changelog process, body and subject. [Kenneth Loafman]
### Fix
* Add --no-files-changed option. Fixes issue #110. [Kenneth Loafman]
* Fix use of sorted() builtin (does not sort in place). [Kenneth Loafman]
* Fix #107 - TypeError in restart\
* Need to pass kwargs to BaseIdentitu. [Kenneth Loafman]
* Fix \_\_init\_\_ in hubic.py. Fixes #106. [Kenneth Loafman]
* Somehow missed boto when doing #102. Now supported. [Kenneth Loafman]
### Other
* Merge branch 'master' of gitlab.
* Revert "chg:dev:core20 usess py38, not py36." [Kenneth Loafman]
This reverts commit 05eda5828c7bdde
* Merge branch 'filecoin-backend' into 'master' [Kenneth Loafman]
Slate Backend
See merge request duplicity/
* Slate Backend. [Shr1ftyy]
* Merge branch 'mr-origin-75' [Kenneth Loafman]
* Skip tests for ppc64le also. [Mikel Olasagasti Uranga]
Duplicity 0.8.21 Released
Written for Duplicity by Kenneth Loafman on 2021-11-09
## rel.0.8.21 (2021-11-09)
### New
* Add update of API docs to deploy step. [Kenneth Loafman]
### Changes
* Fix build of pages. [Kenneth Loafman]
* Switch over to sphinx-rtd-theme. [Kenneth Loafman]
* Fix command line warning messages. [Kenneth Loafman]
* Nuke generated .rst files. [Kenneth Loafman]
* Nuke before\_script. [ci skip] [Kenneth Loafman]
* Move html to public dir. [Kenneth Loafman]
* Back to alabaster theme. Port changes from sqlite branch. [Kenneth Loafman]
* Remove Dockerfiles for .10 versions. [Kenneth Loafman]
* Fix some rst errors in docstrings. Add doctest module. [Kenneth Loafman]
* Fixes to make API docs work right. [Kenneth Loafman]
### Fix
* Fix #93 - dupliicity wants private encryption key. [Kenneth Loafman]
* PAR2 backend failes to create par2 file with spaces in name. [Kenneth Loafman]
* Fix bug 930151 - Restore symlink changes target attributes (2) [Kenneth Loafman]
* Fix LP bug 930151 - Restore a symlink changes target attributes. [Kenneth Loafman]
* Fix #89 part 2 - handle small input files where par2 fails. [Kenneth Loafman]
* Fix theme name, sphinx\_rtd\_theme. [Kenneth Loafman]
* Fix #90 - rclone backend fails with spaces in pathnames. [Kenneth Loafman]
* Fix #89 - Add PAR2 number volumes option. [Kenneth Loafman]
* Fix #88 - Add PAR2 creation failure error message. [Kenneth Loafman]
* Fix bug #87, Restore fails and stops on corrupted backup volume. [Kenneth Loafman]
* Fix bug #86, PAR2 backend fails on restore, with patch supplied. [Kenneth Loafman]
* Fix PEP8 style errors. [Kenneth Loafman]
* Fix issue #81 - Assertion fail when par2 prefix forgotten. [Kenneth Loafman]
* Fix issue #79 - Multibackend degradation. [Kenneth Loafman]
* Add verbose exception on progress file failure. [Kenneth Loafman]
### Other
* Merge branch 'master' of gitlab.
* Merge branch 'issue73' into 'master' [Kenneth Loafman]
resolve os option key naming mismatch
See merge request duplicity/
* Resolve os option key naming mismatch. [Johannes Winter]
* Merge branch 'master' into 'master' [Kenneth Loafman]
Set up gdrive client credentials scope correctly to allow refreshing token
See merge request duplicity/
* Set up gdrive client credentials scope correctly. [Christopher Haglund]
* Merge branch 'master' of git@gitlab.
* Merge branch 'y0va-master-
don't query for filesize.
See merge request duplicity/
* Don't query for filesize. [Johannes Winter]
* Merge branch 'issue85' into 'master' [Kenneth Loafman]
upgrade docker test environment
See merge request duplicity/
* Upgrade docker test environment. [Johannes Winter]
* Merge branch 'master' of gitlab.
* Merge branch 'master' of gitlab.
* Merge branch 'mr4' into 'master' [Kenneth Loafman]
Fix TypeError.
See merge request duplicity/
* Fix TypeError. [Clemens Fuchslocher]
* Merge branch 'mr3' into 'master' [Kenneth Loafman]
* SSHPExpectBackend: Implement \_delete\_list method. [Clemens Fuchslocher]
* Merge branch 'mr2' into 'master' [Kenneth Loafman]
* MultiBackend: Don't log username and password. [Clemens Fuchslocher]
* Merge branch 'mr1' into 'master' [Kenneth Loafman]
Fix NameError.
See merge request duplicity/
* Fix NameError. [Clemens Fuchslocher]
* Merge branch 'onedrive-
onedrive: Support using an external client id / refresh token
See merge request duplicity/
* Onedrive: Support using an external client id / refresh token. [Michael Terry]
* Merge branch 'fix-tmdir' into 'master' [Kenneth Loafman]
fix functional tests when _runtest_dir is not /tmp
See merge request duplicity/
* Fix functional tests when \_runtestdir is not /tmp. [Guillaume Girol]
* Merge branch 'date' into 'master' [Kenneth Loafman]
Allow to override manpage date with SOURCE_DATE_EPOCH
See merge request duplicity/
* Allow to override manpage date with SOURCE\
in order to make builds reproducible.
See https:/
and https:/
for the definition of this variable.
Also use UTC/gmtime to be independent of timezone.
* Merge branch 'origin/
* Improved management of volumes unsealing for PCA backend For PCA backend, unseal all volumes at once when restoring them instead of unsealing once at a time. Use pre\_process\
Duplicity 0.8.20 Released
Written for Duplicity by Kenneth Loafman on 2021-06-26
## rel.0.8.20 (2021-06-26)
### New
* Better looping. Increase to 100 loops. [Kenneth Loafman]
* Repeating test for LP bug 487720. [Kenneth Loafman]
Restore fails with "Invalid data - SHA1 hash mismatch"
### Changes
* Log difftar filename where kill happened. [Kenneth Loafman]
* Allow customization. [Kenneth Loafman]
* Add support for --s3-multipart-
Fixes issue #61
* Fix formatting in A NOTE ON GDRIVE BACKEND. Minor. [Kenneth Loafman]
### Fix
* Fix test file count after deleting lockfile. [Kenneth Loafman]
* Support -o{Global,
Fixes issue #60
* Add pydrive2 to requirements.txt. [Kenneth Loafman]
Fixes #62. pydrivebackend was updated to pydrive 2 over a year ago, but
the requirements.txt file was not updated to reflect this.
* Fix error message on gdrivebackend. [Kenneth Loafman]
* Fix issue #57 SSH backends - IndexError: list index out of range. [Kenneth Loafman]
### Other
* Merge branch 'master' into 'master' [Kenneth Loafman]
Add support for new b2sdk V2 API
See merge request duplicity/
* Add support for new b2sdk V2 API. [Adam Jacobs]
* Merge branch 'master' into 'master' [Kenneth Loafman]
chg:dev:Fix Support DynamicLargeObjects inside swift backend
See merge request duplicity/
* Merge branch 'issue#68' into 'master' [Kenneth Loafman]
have duplicity retry validate_block so object storage can report correct size
See merge request duplicity/
* Have duplicity retry validate\_block so object storage can report correct size. [Doug Thompson]
* Merge branch 'master' into 'master' [Kenneth Loafman]
Replace b2sdk private API references in b2backend with public API
See merge request duplicity/
* Replace b2sdk private API references in b2backend with public API. [Adam Jacobs]
* Merge branch 'master' into 'master' [Kenneth Loafman]
Update b2 backend to use *public* b2sdk API.
See merge request duplicity/
* Update b2 backend to use *public* b2sdk API. [Adam Jacobs]
* Merge branch 'bullfrogalj/
* B2sdk 1.8.0 refactored minimum\_part\_size to recommended\
It's a breaking change that makes duplicity fail with the new SDK.
This fix makes duplicity compatible with both pre- and post- 1.8.0 SDKs.
* Merge branch 'PR-backend-
backend gdrive, added Google MyDrive support
See merge request duplicity/
* Added Google MyDrive support updated man pages and --help text. [Anthony Uphof]
Duplicity 0.8.19 Released
Written for Duplicity by Kenneth Loafman on 2021-04-29
## rel.0.8.19 (2021-04-29)
### New
* Merge branch 'google-drive-v3' into 'master' [Kenneth Loafman]
Add a new Google Drive backend (gdrive:)
See merge request duplicity/
### Changes
* Remove installs common between before\_script: and script: [Kenneth Loafman]
* Remove installs common between before\_script: and script: [Kenneth Loafman]
### Fix
* Gdata module passes on py27 only. [Kenneth Loafman]
* Util.uexec() will return u'' if no err msg in e.args. [Kenneth Loafman]
* Util.uexec() should check for e==None on entry. [Kenneth Loafman]
* Fix bug #1547458 - more consistent passphrase prompt. [Kenneth Loafman]
* Fixes bug #1454136 - SX backend issues. [Kenneth Loafman]
* Fixes bug 1918981 - option to skip trash on delete on mediafire. [Kenneth Loafman]
Added --mf-purge option to bypass trash
* Fix bug 1919017 - MultiBackend reports failure on file deletion. [Kenneth Loafman]
* Fixes #41 - par2+rsync (non-ssh) fails. [Kenneth Loafman]
### Other
* Merge branch 'develop' into 'master' [Kenneth Loafman]
Fix Google Drive timeout
See merge request duplicity/
* Fix "Giving up after 5 attempts. timeout: The read operation timed out" [Christian Perreault]
* Merge branch 'master' into 'master' [Kenneth Loafman]
Don't sync when removing old backups
See merge request duplicity/
* Don't sync when removing old backups. [Matthew Marting]
* Merge branch 'fix-uexec-
fix util.uexc: do not return None
See merge request duplicity/
* Fix util.uexc: do not return None. [Michael Kopp]
* Merge branch 'boxbackend' into 'master' [Kenneth Loafman]
Implement Box backend
See merge request duplicity/
* Implement Box backend. [Jason Wu]
* Merge branch 'megav3' into 'master' [Kenneth Loafman]
Implement megav3 backend to to cater for change in MEGACmd
See merge request duplicity/
* Implement megav3 backend to to cater for change in MEGACmd. [Jason Wu]
* Merge branch 'master' of git@gitlab.
* Merge branch 'use-new-
fix documentation for azure backend
See merge request duplicity/
* Fix documentation for azure backend. [Michael Kopp]
* Merge branch 'master' into 'master' [Kenneth Loafman]
Fix typo
See merge request duplicity/
* Fix typo. [Moses Miller]
* Merge branch 'master' into 'master' [Kenneth Loafman]
Add IDrive backend
See merge request duplicity/
* Add IDrive backend. [SmilingM]
* Merge branch 'master' into 'master' [Kenneth Loafman]
Progress bar improvements
Closes #49
See merge request duplicity/
* Progress bar improvements. [Moses Miller]
* Fix;usr:Fixes bug #1652953 - seek(0) on /dev/stdin crashes. [Kenneth Loafman]
* Add a new Google Drive backend (gdrive:) [Jindřich Makovička]
- Removes the PyDrive/PyDrive2 dependencies, and depends only on the
Google API client libraries commonly available in distributions.
- Uses unchanged JSON secret files as downloaded from GCP
- Updates the Google Drive API to V3
* Merge branch 'azurev12' into 'master' [Kenneth Loafman]
Azurev12
See merge request duplicity/
* Replaced original azure implementation. [Erwin Bovendeur]
* Fixed code smells. [Erwin Bovendeur]
* Azure v12 support. [Erwin Bovendeur]
* Revert "fix:pkg:Remove requirement for python3-
This reverts commit 90e7e2acb6d1584
* Merge branch 'feature/
List required volumes when called with 'restore --dry-run'
See merge request duplicity/
* List required volumes when called with 'restore --dry-run' [Matthias Blankertz]
When restoring in dry-run mode, and with the manifest available, list
the volumes that would be gotten from the backend when actually
performing the operation.
This is intended to aid users of e.g. the S3 backend with (deep) glacier
storage, allowing the following workflow to recover files, optionally at
a certain time, from a long-term archive:
1. duplicity restore --dry-run [--file-to-restore <file/dir>] [--time <time>] boto3+s3://...
2. Start a Glacier restore process for all the listed volumes
3. duplicity restore [--file-to-restore <file/dir>] [--time <time>] boto3+s3://...
* Merge branch 'swrmr-
Fix sorting of BackupSets by avoiding direct comparison
Closes #42
See merge request duplicity/
* Fix sorting of BackupSets by avoiding direct comparison. [Stefan Wehrmeyer]
Sorting should only compare their time/end_time, not BackupSets directly
Closes #42
* Merge branch 'master' of gitlab.
* Merge branch 'master' into 'master' [Kenneth Loafman]
Update mailing list link
See merge request duplicity/
* Update mailing list link. [Chris Coutinho]
* Merge branch 'master' of gitlab.
* Fixes #16 - Move from boto to boto3. [Kenneth Loafman]
* Py27 EOL 01/2020, py35 EOL 01/2021, remove tests. [Kenneth Loafman]
* Remove 2to3 from ub16 builds. [Kenneth Loafman]
* Move py35 back to ub16, try 2. [Kenneth Loafman]
* Move py35 back to ub16. [Kenneth Loafman]
* Move py27 tests to ub16 and py35 tests to ub18. [Kenneth Loafman]
* Fixes #16 - Move from boto to boto3. [Kenneth Loafman]
* Py27 EOL 01/2020, py35 EOL 01/2021, remove tests. [Kenneth Loafman]
* Move py27 tests to ub16 and py35 tests to ub18. [Kenneth Loafman]
Move py35 back to ub16.
Move py35 back to ub16, try 2.
Remove 2to3 from ub16 builds.
* Fixes #33, remove quotes from identity filename option. [Kenneth Loafman]
* Fix to correctly build \_librsync.so. [Kenneth Loafman]
* Fix to add --inplace option to build\_ext. [Kenneth Loafman]
* Rename pylintrc to .pylintrc. [Kenneth Loafman]
* Merge branch 'fix-prefix-
* Multibackend: fix indentation error that was preventing from registering more than one affinity prefix per backend. [KheOps]
* Move testfiles dir to a temp location. [Kenneth Loafman]
- was crashing LiClipse/Eclipse when present in project.
- so far only Darwin and Linux are supported, default Linux.
- Darwin uses 'getconf DARWIN_
- Linux uses TMPDIR, TEMP, or defaults to /tmp.
* Merge remote-tracking branch 'alpha/testfiles' [Kenneth Loafman]
* Update .gitlab-ci.yml to need code test to pass. [Kenneth Loafman]
* Remove basepython in code and coverage tests. [Kenneth Loafman]
* Add report.xml. [Kenneth Loafman]
* Bulk replace testfiles with /tmp/testfiles. [Kenneth Loafman]
* Skip unicode tests that fail on non-Linux systems like macOS. [Kenneth Loafman]