News and announcements

Duplicity 0.7.15 Released

Written for Duplicity by Kenneth Loafman on 2017-11-13

New in v0.7.15 (2017/11/13)
---------------------------
* Fixed bug introduced in new megabackend.py where process_commandline()
  takes a string not a list. Now it takes both.
* Updated web page for new megabackend requirements.
* Patched in lp:~mterry/duplicity/more-decode-issues
  - Here's some fixes for another couple UnicodeDecodeErrors.
  - The duplicity/dup_time.py fixes when a user passes a utf8 date string (or a string with bogus
    utf8 characters, but they have to really try to do that). This is bug 1334436.
  - The bin/duplicity change from str(e) to util.uexc(e) fixes bug 1324188.
  - The rest of the changes (util.exception_traceback and bin/duplicity changes to use it) are to
    make the printing of exceptions prettier. Without this, if you see a French exception, you see
    "accept\xe9es" instead of "acceptées".
  - You can test all of these changes in one simple line:
    $ LANGUAGE=fr duplicity remove-older-than $'accept\xffées'
* Fix backend.py to allow string, list, and tuple types to support megabackend.py.
* Fixed bug #1715650 with patch from Mattheww S
  - Fix to make duplicity attempt a get first, then create, a container
    in order to support container ACLs.
* Fixed bug #1714663 "Volume signed by XXXXXXXXXXXXXXXX, not XXXXXXXX"
  - Normalized comparison length to min length of compared keys before comparison
  - Avoids comparing mix of short, long, or fingerprint size keys.
* Merged in lp:~mterry/duplicity/rename-dep
  - Make rename command a dependency for LP build
* Fixed bug #1654756 with new b2backend.py module from Vincent Rouille
  - Faster (big files are uploaded in chunks)
  - Added upload progress reporting support
* Fixed bug #1448094 with patch from Tomáš Zvala
  - Don't log incremental deletes for chains that have no incrementals
* Fixed bug #1724144 "--gpg-options unused with some commands"
  - Add --gpg-options to get version run command
* Fixed bug #1720159 - Cannot allocate memory with large manifest file since 0.7.03
  - filelist is not read if --file-changed option in collection-status not present
  - This will keep memory usage lower in non collection-status operations
* Fixed bug #1723890 with patch from Killian Lackhove
  - Fixes error handling in pydrivebackend.py
* Fixed bug #1730902 GPG Error Handling
  - use util.ufn() not str() to handle encoding

Duplicity 0.7.14 Released

Written for Duplicity by Kenneth Loafman on 2017-08-31

New in v0.7.14 (2017/08/31)
---------------------------
* Merged in lp:~dawgfoto/duplicity/skip_sync_collection_status
  - collection-status should not sync metadata
  - up-to-date local metadata is not needed as collection-status is
    generated from remote file list
  - syncing metadata might require to download several GBs
* Fixed slowness in 'collection-status' by basing the status on the
  remote system only. The local cache is treated as empty.
* Fixed encrypted remote manifest handling to merely put out a non-fatal
  error message and continue if the private key is not available.
* Patched in lp:~mterry/duplicity/giobackend-display-name
  - giobackend: handle a wider variety of gio backends by making less assumptions;
    in particular, this fixes the google-drive: backend
* Fixed bug #1709047 with suggestion from Gary Hasson
  - fixed so default was to use original filename
* Fixed PEP8 errors in bin/duplicity
* Merged in lp:~mterry/duplicity/gio_child_for_display_name_0.7
  - gio: be slightly more correct and get child GFiles based on display name
* Fixed bug #1711905 with suggestion from Schneider
  - log.Warn was invoked with log.warn in webdavbackend.py
* Merged in lp:~mterry/duplicity/gpg-tag-versions
  - Support gpg versions numbers that have tags on them.
  - This can happen if you build gpg from git trunk (e.g. 2.1.15-beta20). Or if you run
    against the freedesktop flatpak runtime (e.g. 2.1.14-unknown).
* Fixed bug #1394386 with new module megabackend.py from Tomas Vondra
  - uses megatools from https://megatools.megous.com/ instead of mega.py library
    which has been deprecated
  - fixed copyright and PEP8 issues
  - replaced subprocess.call() with self.subprocess_popen() to standardize
* Fixed bug #1713640 with patch from Aleksandar Ivanisevic
  - replace 2.7 syntax with 2.6 equivalent
* Fixed bug #1538333 Assertion error in manifest.py: assert filecount == ...
  - Made sure to never pass .part files as true manifest files
  - Changed assert to log.Error to warn about truncated/corrupt filelist
  - Added unit test to make sure detection works
  - Note: while this condition is serious, it will not affect the basic backup and restore
    functions. Interactive options like --list-files-changed and --file-changed will not
    work correctly for this backup set, so it is advised to run a full backup as soon as
    possible after this error occurs.
* Fixed bug #1638033 Remove leading slash on --file-to-restore
  - code already used rstrip('/') so change to just strip('/')

Duplicity 0.7.13.1 Released

Written for Duplicity by Kenneth Loafman on 2017-06-18

New in v0.7.13.1 (2017/06/18)
-----------------------------
* Fixed problem in dist/makedist when building on Mac where AppleDouble
  files were being created in the tarball. See:
  https://superuser.com/questions/61185/why-do-i-get-files-like-foo-in-my-tarball-on-os-x

Duplicity 0.7.13 Released

Written for Duplicity by Kenneth Loafman on 2017-06-12

New in v0.7.13 (2017/06/12)
---------------------------
* Fixed bug #1680682 with patch supplied from Dave Allan
  - Only specify --pinentry-mode=loopback when --use-agent is not specified
* Fixed man page that had 'cancel' instead of 'loopback' for pinentry mode
* Fixed bug #1684312 with suggestion from Wade Rossman
  - Use shutil.copyfile instead of os.system('cp ...')
  - Should reduce overhead of os.system() memory usage.
* Fixed bug #1320832 with suggestion from Oskar Wycislak
  - Use chunks instead of reading it all in swiftbackend
* Fixed bug #1689632 with patch from Howard Kaye
  - On MacOS, the tempfile.TemporaryFile call erroneously raises an
    IOError exception saying that too many files are open. This causes
    restores to fail randomly, after thousands of files have been restored.
* Fixed bug #1320641 and others regarding lockfile
  - swap from lockfile to fasteners module
  - use an fcntl() style lock for process lock of duplicity cache
  - lockfile will now clear if duplicity is killed or crashes
* May have finally fixed bug #1556553, "Too many open files...".
  - Applied patch from Howard Kaye, question #631423. The fix is to dup
    the file descriptor, and then close the file in the deallocator
    routine in the glue code. Duping the file lets the C code and the Python
    code each close the file when they are done with it.
  - Invalidated and removed the fix put in for bug #1320832.
  - Caveat: long incremental chains will still eat up a large number of file
    descriptors. It's a very risky practice, so I'm not inclined to fix it.
* Revisited bug #670891 with patch from Edgar Soldin
  - Forced librsync.PatchedFile() to extract file object from TemporaryFile()
    object when on Windows or Cygwin systems. This allows us to avoid the
    problem of tmpfile() use which creates temp files in the wrong place.
  - See discussion at https://bugs.launchpad.net/duplicity/+bug/670891
* Fix bug #1672540 with patch from Benoit Nadeau
  - Rename would fail to move par files when moving across filesystems.
  - Patch uses shutil.move() to do the rename instead.
* Fixed bug #1265765 with patches from Matthias Larisch and Edgar Soldin
  - SSH Paramiko backend now uses BufferedFile implementation to enable
    collecting the entire list of files on the backend.
* Copy.com is gone so remove copycombackend.py.
* Merged in lp:~xlucas/duplicity/swift-multibackend-bug
  - Fix a bug when swift backend is used in a multibackend configuration.
* Merged in lp:~duplicity-team/duplicity/po-updates

Duplicity 0.7.12 Released

Written for Duplicity by Kenneth Loafman on 2017-03-21

New in v0.7.12 (2017/03/21)
---------------------------
* Fixed bug #1623342 with patch supplied by Daniel Jakots
  - Failing test on OpenBSD because tar/gtar not found
* Fixed bug #1654220 with patch supplied by Kenneth Newwood
  - Duplicity fails on MacOS because GPG version parsing fails
* Fixed bug #1655268 "--gpg-binary option not working"
  - If gpg binary is specified rebuild gpg profile using new binary location
* Fixed bug #1658283 "Duplicity 0.7.11 broken with GnuPG 2.0"
  - Made gpg version check more robust than just major version
  - Now use --pinentry-mode=loopback on gpg 2.1 and greater
  - Removed check for non-Linux systems, a false problem
* Merged in lp:~matthew-t-bentley/duplicity/duplicity
  - Sets a user agent. Backblaze asked for this in case there are errors that originate
    from the Duplicity B2 backend
  - Only retrieves a new upload URL when the current one expires, to bring it in line
    with their best practices for integrations: https://www.backblaze.com/b2/docs/integration_checklist.html
* Add detail about import exceptions in onedrivebackend.py
* Fixed bug #1657916 with patch supplied by Daniel Harvey
  - B2 provider cannot handle two backups in the same bucket
* Fixed bug #1603704 with patch supplied by Maciej Bliziński
  - Crash with UnicodeEncodeError
* Some fixes to gpg.py to handle gpg1 & gpg2 & gpg2.1 commandline issues
  - --gpg-agent is optional on gpg1, but on gpg2 it is used automatically
  - --pinentry-mode is not a valid opt until gpg2.1, so condition on that
* Fixed bug #1367675 - IMAP Backend does not work with Yahoo server
  - added the split() as needed in 'nums=list[0].strip().split(" ")'
  - the other fixes mentioned in the bug report comments were already done
* Fixed bug #1671852 - Code regression caused by revision 1108
  - change util.uexc() back to bare uexc()
* Fixed bug #1668750 - Don't mask backend errors
  - added exception prints to module import errors

15 of 43 results

Announcements