duplicity-announce
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Duplicity-announce] Duplicity 0.6.21 Released


From: Kenneth Loafman
Subject: [Duplicity-announce] Duplicity 0.6.21 Released
Date: Wed, 23 Jan 2013 09:54:28 -0600

Hello All,

We've just released version 0.6.21 of duplicity with the following bug fixes:

#946988 GnuPG passphrase error after failed backup session
#1005901 cannot change temp dir
#1013446 Uncached grp and pwd calls make duplicity slow with large group and passwd maps
#1080423 UnicodeDecodeError when backing up to Ubuntu One in some locales
#1091269 Data corruption when resuming

plus a whole bunch of changes listed at the end of this message.  

Much thanks goes to Edgar Soldin (edso), Mike Terry (mt), and many others for their contributions.

As usual, you can download the latest and greatest version at:  https://launchpad.net/duplicity/+download

...Thanks,
...Ken


New in v0.6.21 (2013/01/23)
---------------------------
Enhancements:
* Merged in lp:~ed.so/duplicity/24syntaxfix
  - fix python 2.4 vs 2.5 syntax error
* Merged in lp:~mterry/duplicity/u1-oauthlib
  - As the Ubuntu packager for duplicity, I would prefer u1backend.py
    used oauthlib instead of oauth.  oauthlib is well maintained upstream
    (unlike oauth), has a python3 port (for the future), and is in Ubuntu
    main (so is oauth right now, but hopefully in the future we can drop
    it to universe, in which case duplicity can't use it anymore).
* Merged in lp:~mterry/duplicity/delete-new-sig-in-cache
  - In duplicity 0.6.20, we fixed bug 1031269. This means that we no longer
    leave sig files on the remote location.  Leaving sig files on the remote
    location also caused a bug with deleting cache files. Code used to leave
    remote new-sig but delete the locale cache new-sig; this meant that we would
    keep downloadoing the new-sig all the time from remote. We had worked around
    that by just not deleting the new-sig in the cache, which was sort of the
    wrong side of that problem to tackle.  Now that we handle the remote
    new-sigs better (by deleting them), I don't think we need this code anymore.
    Patch by address@hidden.
* Merged in lp:~mterry/duplicity/u1-ascii-error
  - Fix for u1backend unicode error.  Patch by Paul Barker.
* Merged in lp:~satwell/duplicity/caching
  - Add a cache for password and group lookups. This significantly improves
    runtime with very large password and group configurations.
* Merged in lp:~ed.so/duplicity/manpage
  - more formatting fixes, clarifications in sections EXAMPLES, FILE SELECTION
* Merged in lp:~ed.so/duplicity/lftp.netrc
  - Allow .netrc auth for lftp backend
* Merged in lp:~mterry/duplicity/946988
  - This fixes bug 946988 by not duplicating the checks for when we should ask
    for the password (those same checks are done more correctly inside
    get_passphrase). And add a test to reproduce the bug.
* Merged in lp:~lenharo-h/duplicity/duplicity
  - Generate encrypted backups without revealing the user's key id
    via option --hidden-encrypt-key
* Merged in lp:~mterry/duplicity/u1-utf8
  - Make sure u1backend returns filenames as utf8
* Merged in lp:~carlos-abalde/duplicity/gdocs-backend-gdata-2.0.16.-upgrade
  - Upgrade of GoogleDocs backend to python gdata lib >= 2.0.15:
    Stop using get_everything method.
* Merged in lp:~ed.so/duplicity/webdav.fix-retry
  - bugfix: webdav retrying broke on ERRORS like "error: [Errno 32] Broken pipe" in
    socket.pyas reported here https://answers.launchpad.net/duplicity/+question/212966
    added a more generalized 'retry_fatal' decorator which makes retrying backend
    methods even easier
* Merged in lp:~ed.so/duplicity/manpage
  - Clear up PASSPHRASE reusage as sign passphrase.  Minor fixes.
* Merged in lp:~ed.so/duplicity/u1_and_manpage
  - Manpage
    - document Ubuntu One required python libs
    - added continuous contributors and backend author notes
  - U1backend
    - lazily import non standard python libs, fixes
    http://article.gmane.org/gmane.comp.sysutils.backup.duplicity.general/5753
    - fix "not bytearray" prevents PUT with python 2.6
    - don't hang after putting in credentials (cause it silently retries in background)
      but go through with backup
* Fixed 1091269 Data corruption when resuming with --no-encryption
  - Patches from Pascual Abellan that make block size consistent and
    that add -n (no-encryption) option to manual-ctrl-c-test.sh.
  - Modified gpg.py patch to use 64k block size so unit test passes.
* Merged in lp:~mterry/duplicity/static-corruption
  - This branch fixes three possible ways a backup could get data-corrupted.
    Inspired by bug 1091269.
      A) If resuming after a volume that ended in a one-block file, we would
         skip the first block of the next file.
      B) If resuming after a volume that ended in a multi-block file, we would
         skip the first block of the next file.
      C) If resuming after a volume that spanned a multi-block file, we would
         skip some data inside the file.
  - A and B are because when finding the right place in the source files to
    restart the backup, the iteration loop didn't handle None block numbers
    very well (which are used to indicate the end of a file).
  - C is what bug 1091269 talks about. This was because data block sizes would
    get smaller as the difftar file got closer and closer to the volsize.
    Standard block sizes were 64 * 1024.  But say we were close to the end of
    the difftar... When resuming, duplicity doesn't know the custom block sizes
    used by the previous run, so it uses standard block sizes. And it doesn't
    always match up, as you can imagine. So we would leave chunks of data out
    of the backed up file.
  - Tests added for these cases.
  - This branch is called 'static-corruption' because all these issues occur
    even when the source data doesn't change. I still think there are some
    corruption issues when a file changes in between duplicity runs. I haven't
    started looking into that yet, but that's next on my list.
  - C only happened without encryption (because the gpg writer function already
    happened to force a constant data block size). A and B happened with or
    without encryption.
* Merged in lp:~ed.so/duplicity/webdav.fix-retry
  - added ssl certificate verification (see man page)
  - more robust retry routine to survive ssl errors, broken pipe errors
  - added http redirect support
* Merged in lp:~ed.so/duplicity/webdav.manpage
  - explanation of webdav changes above
* Merged in lp:~mterry/duplicity/pygi
  - Python bindings for the gobject stack (used in the gio backend) have changed
    from static to dynamically-generated bindings. The old static bindings are
    deprecated. So here's a branch to change the gio backend from old to new ones.
* Merged in lp:~mterry/duplicity/py3rsync
  - This branch lets one build the _librsync module with Python 3. You can't
    really do anything useful with it, but it's a nicely-isolated piece to add
    Python 3 support for.
  - The changes are a mix of modernization and #ifdef logic.
  - All tests still pass in Python 2.7 and 2.4. I tested manually that the module
    worked as expected in Python 3.
* Merged in lp:~duplicity-team/duplicity/po-updates
  - Updated translations


reply via email to

[Prev in Thread] Current Thread [Next in Thread]