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

Read all announcements