~mterry/duplicity/list-old-chains-0.6

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
New in v0.6.06 (2009/09/00)
---------------------------
Applied patches from Kasper Brand that fixed device file handling.
http://lists.gnu.org/archive/html/duplicity-talk/2009-09/msg00001.html


New in v0.6.05 (2009/08/28)
---------------------------
Merged in ~l2g/duplicity/test-compat from Larry Gilbert which made
the testing compatible across more systems.  Also fixed the remaining
collectionstest bug which was trying to test with no cache present.

Bugs fixed this release:
407968  GIO backend can't restore
408059  Failure due to _logger.log failure for content with special
        characters: TypeError decoding Unicode not supported
409593  deja-dup (or duplicity) deletes all signatures
412667  "duplicity remove-older-than" asks for passphrase even though
        not required
418170  [PATCH] file names longer then 512 symbols are not supported


New in v0.6.04 (2009/08/01)
---------------------------
One major and one minor change.  The "No such file or directory" error
is bad enough that this should be released quickly.  For those of you
using encryption, this is not a problem, but for those of you that do
not use encryption (--no-encryption), then this will manifest itself if
the local cache gets out of sync with the remote store.

Bugs fixed this release:
405734  duplicity fails to restore files that contain a newline character
403790  Backup error: No such file or directory


New in v0.6.03 (2009/07/29)
---------------------------
Lots of small changes and some bug fixes.
* Restart error handling has been smoothed out a great deal and it
  "does what is right" in order to keep going.
* Backends are now optional, if they fail an Info message is put out
  to notify of the failure and why.
* There was more work on translations and internationalization.
Thanks to everyone!

Bugs fixed this release:
377528  --file-to-restore doesn't work with trailing slash
394757  Backend imports should be made optional
398230  Deja-dup backup fails with message: "Unable to locate last file"
401303  0.6.2 manpage inconsistent wrt. archive-dir/name
405646  Small i18n error
405975  duplicity.gpg.gpg_failed() breaks and spews on GnuPG error
402794  duplicity public-key-only incompatible with gnupg 2.0.11


New in v0.6.02 (2009/07/07)
---------------------------
Duplicity will now remove any spurious files left in the cache from
a previous run.  This will keep the metadata cache in sync with the
remote storage metadata.

Bugs fixed this release:
394629  Hang on first collection-status
379386  Fix 'list-current-files' with missing archive dir
395826  "No such file or directory" when backing up second time
394627  User-friendly archive dir print
388699  Manifest mismatch error


New in v0.6.01 (2009/07/01)
---------------------------
Fixed issues in Checkpoint/Restart:
* The --name backupname" option was added to allow the
  user to separate one archive from another.  If not
  specified, the default is an MD5 hash of the target
  URL, which should suffice for most uses.

* The archive_dir (cache) is now stored in a standard
  location, defaulting to ~/.cache/duplicity.  See
  http://standards.freedesktop.org/basedir-spec/latest/

* The interaction between the --archive-dir option and
  the --name option allows for four possible results
  for the location of the archive dir.
    - neither specified (default)
      ~/.cache/duplicity/hash-of-url
    - --archive-dir=~/arch, no --name
      ~/arch/hash-of-url
    - no --archive-dir, --name=foo
      ~/.cache/duplicity/foo
    - --archive-dir=~/arch, --name=foo
      ~/arch/foo

* duplicity will now copy needed metadata from the
  remote store to the local cache as needed.  This
  means that the first use after upgraded from 0.5.x
  will have the metadata copied to the local archive
  dir in order to sync both.

* cleanup will now work correctly with the archive
  dir and separates the local from the remote files.

Bugs fixed this release:
* 388034     Unable to backup
* 378940     python2-6 issue / UTF-8 charset / Ubuntu 9.04
* 379386     Fix list-current-files w/ missing archive dir
* 387102     Asynchronous upload not working properly
* 387218     Make scp/ssh into sftp-only backend
* 388992     List of Orphaned Files Growing
* 392905     NoneType object has no attribute 'startswith'
* 393372     Error creating directory
* 383412     Add InfoCodes for upload events
* 383419     Add gio backend


New in v0.6.00 (2009/06/08)
---------------------------
Checkpoint/Restart capability added.  Checkpoint is
done at every volume written and Restart is done at
start of the next volume in the set.  Changes to
normal operations include a permanent duplicity
archive-dir at ~/.duplicity to save state.

To accomplish this, the signature and archive files
in the archive-dir now have three states:
1) temporary until the first volume has been written,
2) partial until the final volume has been written and
   sent to remote storage,
3) permanent with the same name as always.

Assumptions are made that if a restart is needed, then
all arguments are the same as before and that no files
have been removed from the file system between runs.

From now on, the --archive-dir option can be used to
change the location of the archive dir, but you are
responsible for moving the files if you change it.

Other fixes:
Unicode filenames in log messages are now OK.

Fixed problem where Cygwin was returning -1 for the
hard max open file limit.


New in v0.5.18 (2009/05/20)
---------------------------
Added support for RackSpace's CloudFiles, cf+http.

Added support for Tahoe-LAFS from the patch,
patch #6743: Tahoe backend for duplicity
https://savannah.nongnu.org/patch/?6743

Only half of this bug is fixed but it's still useful.
bug #21792: pipe call fails with an error OSError:
            [Errno 24] Too many open files
https://savannah.nongnu.org/bugs/?21792

Changed from using ulimit external command to
resource.getrlimit to check open files limit.


New in v0.5.17 (2009/05/04)
---------------------------
Removed one line of code left from some testing that I
did that caused a crash when the target dir was empty
and collection-status was requested.

Moved from using the df command to get temp space
availability to Python's os.statvfs() call.  Not all
df commands work the same way.

patch #6813: Making changelist easy to read
https://savannah.nongnu.org/patch/?6813

patch #6814: Ignore comments in filelists
https://savannah.nongnu.org/patch/?6814


New in v0.5.16 (2009/04/21)
---------------------------
bug #24825: duplicity warn on insufficient TMPDIR
            space availability and low max open
            file limits pre-backup.
https://savannah.nongnu.org/bugs/?24825

bug #25594: wrong backup statistics
https://savannah.nongnu.org/bugs/?25594

bug #25976: Password requested when not needed.
https://savannah.nongnu.org/bugs/?25976

patch #6806: More graceful handling of old
             --short-filename files
https://savannah.nongnu.org/patch/?6806

Added tilde and variable expansion to the source or
target argument that is not a URL.


New in v0.5.15 (2009/04/09)
---------------------------
FTP backend was failing on PureFTPd when the "-x ''"
option was removed from the second ncftpls popen, a fix
that was implemented due to bug #24741.  This fix does
the ls in one pass by extracting the last entry on the
'ls -l' listing.

If a file is unreadable due to access rights or other
non-fatal errors, put out error message and continue
rather than dying messily with a traceback.

Added tilde '~' expansion and variable expansion in the
options that require a filename.  You can now have this
"--archive-dir=~/ArchDir/$SYSNAME" if you need it.  No
expansion is applied to the source or target URL's.

Fixed problem I caused, again, where sys.exit() was
trapping instead of exiting.  Added big note to not
to do that again.


New in v0.5.14 (2009/04/02)
---------------------------
After email voting among known duplicity contributors,
the decision was reached to revert to the GPL Version 2
license, so with their consensus, duplicity is now under
GPL Version 2.

Revert to calling NcFTP utilities (ls, get, put) directly
rather than scripting ncftp via pexpect by reverting to the
0.5.07 version of ftpbackend.py.

Changed fatal error regarding version 3.2.0 of ncftpput to
warning level since it has been reported that the problem
does not occur on most distributions.

Changed from log.Log with numbered log levels to log.Debug,
log.Info, log.Notice, log.Warn, log.FatalError as below:
    0    log.FatalError
    1-2  log.Warn
    3-4  log.Notice
    5-8  log.Info
    9 log.Debug
The -vN option has not changed.  Verbosity may also be one
of: character [ewnid], or word ['error', 'warning', 'notice',
'info', 'debug'].  The default is 4 (Notice).  The options
-v4, -vn, and -vnotice are functionally equivalent, as are
the mixed-case versions, -vN, -vNotice, -vNOTICE.

Normalized include statements and tried to insure that all
duplicity includes were from the duplicity module.

patch #6790: Add --exclude-if-present
https://savannah.nongnu.org/patch/?6790


New in v0.5.13 (2009/03/26)
---------------------------
Add more error detection to FTP backend.

Fix backends so sleep does not occur after last retry.

Fix so BackendException does not cause traceback except when
verbosity is at level 5 or higher (Info level).

Adjust log levels so some errors show up with default verbosity.

Fixed bug where an extra comma caused a traceback during a warning
about unnecessary sig files.  Plus fixed print so the real filename
would show up and not a Python object representation.

Add Changelog.GNU to website and distribution to add a bit of detail
showing the CVS changes via rcs2log.  Added dist/mkGNUChangelog.sh.

bug #22908: Don't block gpg-agent
https://savannah.nongnu.org/bugs/?22908

To fix the above, --use-agent was added as a command line option.
When this is specified and asymetric encryption is enabled, then all
GnuPG passphrases will come from the gpg-agent or equivalent program
and no passphrase prompt will be issued.

bug #25787: Usernames with escaped @-sign are not handled properly
https://savannah.nongnu.org/bugs/?25787

bug #25976: Password requested when not needed.
https://savannah.nongnu.org/bugs/?25976

patch #6787: import duplicity.GnuPGInterface explicitly
https://savannah.nongnu.org/patch/?6787


New in v0.5.12 (2009/03/15)
---------------------------
bug #25838: Backup fails / ncftp - remote file already exists
https://savannah.nongnu.org/bugs/?25838
With this fix we also get resume in ftp get/put.  If a put or
get fails part of the way through, ncftp will resume on the
next retry.

bug #25853: duplicity fails with boto passwords coming from ~/.boto
https://savannah.nongnu.org/bugs/?25853

patch #6773: Make user name optional in rsync backend
https://savannah.nongnu.org/patch/?6773

GPG errors will no longer cause tracebacks, but will produce a
log entry, from gpg, similar to the following:
===== Begin GnuPG log =====
gpg: BAD0BAD0: skipped: public key not found
gpg: [stdin]: encryption failed: public key not found
===== End GnuPG log =====
This will let the user know what really caused the GPG process
to fail, and what really caused errors like 'broken pipe'.

Add Epydoc output to web site and start adding documentation.
http://duplicity.nongnu.org/epydoc/index.html


New in v0.5.11 (2009/03/08)
---------------------------
bug #25787: Usernames with @-sign are not handled properly
https://savannah.nongnu.org/bugs/?25787

Bug #333057: GnuPGInterface prints exit statuses incorrectly
https://bugs.launchpad.net/bugs/333057

bug #25696: ncftp error w/0.5.09 -- nested target directories
https://savannah.nongnu.org/bugs/?25696

bug #15664: When restoring backup: "OverflowError:
            long int too large to convert to int"
https://savannah.nongnu.org/bugs/?15664

patch #6761: More robust pexpect handling of SSH authentication
https://savannah.nongnu.org/patch/?6761

patch #6762: Wrong exit() used for 2.3/2.4 Python
https://savannah.nongnu.org/patch/?6762


New in v0.5.10 (2009/03/01)
---------------------------
The default filename format has changed from W3 style to a long
numeric style, YYYYMMDDTHHMMSSZ, with no delimiters, thus is now
compatible with Windows/Samba filesystems.  The time is UTC, not
local, so there will be no timezone or daylight savings time issues.

Duplicity still recognizes the old long filename format, and will
continue incremental backup chains if found.  The old format is
still available via the --old-filenames option (pending deprecation).

Users of --short-filenames or --time-separator should stop using these
options on their next full backup.  The new filenames are compatible
with your system.

The following options are pending deprecation and will be removed in a
future release:
    --time-separator
    --short-filenames
    --old-filenames

bug #19988: Incompatibility to Samba/SMB share
https://savannah.nongnu.org/bugs/?19988

bug #25097: Allow listing files from any time, not just current time
https://savannah.nongnu.org/bugs/?25097

bug #25550: Error codes do not propagate from log to exit status
https://savannah.nongnu.org/bugs/?25550

bug #25308: Signatures orphaned if from another time zone
https://savannah.nongnu.org/bugs/?25308

Bug #229826: duplicity crashed with ValueError in port()
https://bugs.launchpad.net/duplicity/+bug/229826


New in v0.5.09 (2009/02/17)
---------------------------
FTP is now driven with pexpect rather than NcFTP utilities.
This closes the following bugs (and solves other problems):
bug #24741: ncftpls -x '' causes failure on Yahoo FTP server
bug #23516: duplicity/ncftpget not closing unlinked files, ...

bug #25509: Logic error in imapbackend.py [IMAP_SERVER]
https://savannah.nongnu.org/bugs/?25509

bug #25512: [Patch] Retry on Imap failure
https://savannah.nongnu.org/bugs/?25512

bug #25530: commandline passwd not working
https://savannah.nongnu.org/bugs/?25530


New in v0.5.08 (2009/02/02)
---------------------------
Turns out going backwards in the license is not as easy as
forwards.  Restoring GPLv3 license until consensus reached.


New in v0.5.07 (2009/01/31)
---------------------------
bug #25293: IOError: [Errno 22] Invalid argument
https://savannah.nongnu.org/bugs/?25293

bug #25379: sys.exit() causes traceback and should not
https://savannah.nongnu.org/bugs/?25379

bug #25403: 0.5.06 "manifests not equal, different volume numbers"
https://savannah.nongnu.org/bugs/?25403

patch #6729: New imap backend. Replaces current gmail backend
https://savannah.nongnu.org/patch/?6729

patch #6730: Fix timing out for SSH backend
https://savannah.nongnu.org/patch/?6730

patch #6733: Improve error handling in imapbackend.py
https://savannah.nongnu.org/patch/?6733

Increase default volume size (--volsize) to 25M from 5M.  This
reduces the number of volumes to accomodate larger backups.

Reworked patch 6701 to list collection one at a time rather than
writing all as one huge list.  Was causing memeory problems when
the collections got large.

Fix backendtest.py so that empty URL's in config.py cause the
backend test to be skipped rather than erroring.  Added notes
in config.py.tmpl explaining the change.

Add/update copyright statements in all distribution source files
and revert duplicity to GPL version 2 license.

Original fix to disallow use of ncftpput 3.2.0 mistyped the ErrorCode
used and resulted in an error rather than an explanation.


New in v0.5.06 (2009/01/09)
---------------------------
Fix to deprecation warnings about sha and md5 modules.
Uses hashlib if available, otherwise original module.

Added loop to run-all-tests.sh to run all tests against all supported
versions of Python if available.  Looks for 2.3, 2.4, 2.5, 2.6.

Noah Spurrier has given us permission to distribute pexpect.py along
with duplicity, so this will no longer be an install requirement.

NcFTP version 3.2.0 will not work with duplicity since we require the
use of both -f and -C options on ncftpput.  3.1.9, 3.2.1+ work fine.
I put in error checks for this situation in the FTP backend code.

bug #25230: --include-globbing-filelist only including first entry.
https://savannah.nongnu.org/bugs/?25230

bug #25239: Error during clean, wrong case in duplcicity
https://savannah.nongnu.org/bugs/?25239

patch #6709: Report correct number of volumes when restoring
https://savannah.nongnu.org/patch/?6709

sr #106583: document the need to use the --force option
https://savannah.nongnu.org/support/?106583


New in v0.5.05 (2008/12/30)
---------------------------
bug #25194: Duplicity 5.04 requires python-distutils-extra...
https://savannah.nongnu.org/bugs/?25194


New in v0.5.04 (2008/12/27)
---------------------------
patch #6678: Add progress metering
https://savannah.nongnu.org/patch/?6678

patch #6686: Add error codes for all fatal errors
https://savannah.nongnu.org/patch/?6686

bug #25090: Typos and trailing whitespace in duplicity manpage
https://savannah.nongnu.org/bugs/?25090

bug #24889: NCFTP cannot deal with some FTP servers
https://savannah.nongnu.org/bugs/?24889

patch #6692: Print collection status in a machine-readable way
https://savannah.nongnu.org/patch/?6692

patch #6693: Some FatalError's don't have codes still
https://savannah.nongnu.org/patch/?6693

patch #6694: Log exceptions
https://savannah.nongnu.org/patch/?6694

patch #6695: Log filenames
https://savannah.nongnu.org/patch/?6695

patch #6696: Consolidate get_delta_iter and get_delta_iter_w_sig
https://savannah.nongnu.org/patch/?6696

patch #6697: Always log at least one progress during dry run
https://savannah.nongnu.org/patch/?6697

patch #6700: Make duplicity translatable
https://savannah.nongnu.org/patch/?6700

patch #6701: Make current-list command machine-readable
https://savannah.nongnu.org/patch/?6701

patch #6702: handle unknown errnos in robust.py
https://savannah.nongnu.org/patch/?6702

GPG was throwing "gpg: [don't know]: invalid packet (ctb=14)" and apparently
this is non-fatal.  There is a fix for this being rolled into GPG 2.x.
http://lists.gnupg.org/pipermail/gnupg-devel/2006-September/023180.html
Copied from collections.py.  Fix supplied by Simon Blandford <simon@onepointltd.com>


New in v0.5.03 (2008/11/17)
---------------------------
bug #24731: Documentation error: "if... if" in remove-older-than paragraph
https://savannah.nongnu.org/bugs/?24731

bug #24775: Digest Auth for WebDAV backend
https://savannah.nongnu.org/bugs/?24775

patch #6676: Raw delta stats aren't right for multivolumes
https://savannah.nongnu.org/patch/?6676

patch #6675: Add modelines
https://savannah.nongnu.org/patch/?6675

patch #6674: Add --log-* options to man page
https://savannah.nongnu.org/patch/?6674

patch #6673: Add --dry-run option
https://savannah.nongnu.org/patch/?6673

patch #6672: makedist doesn't ship util.py
https://savannah.nongnu.org/patch/?6672

patch #6670: Machine Readable Output
https://savannah.nongnu.org/patch/?6670

patch #6662: improve s3 backend error reporting
https://savannah.nongnu.org/patch/?6662

patch #6652: improve asynch scheduler (including the synchronous case)
https://savannah.nongnu.org/patch/?6652

patch #6642: make ParsedUrl() thread-safe with respect to itself
https://savannah.nongnu.org/patch/?6642

patch #6638: correct typo in reporting lack of sufficiently new boto backend
https://savannah.nongnu.org/patch/?6638

sr #106496: put install-from-cvs-notes in CVS-README
https://savannah.nongnu.org/support/?106496

sr #106534: GMail backups aren't stored in the correct location
https://savannah.nongnu.org/support/?106534


New in v0.5.02 (2008/09/21)
---------------------------
- Add -h option for help

- Change gpg logging so that logs are always collected.
The log is printed in the case of gpg IO errors.  Also,
verbosity level 5 or above (-v5) will print the logs.

patch #6297: Add IMAP/s/gmail support
https://savannah.nongnu.org/patch/?6297

bug #24260: backend.py missing re import
https://savannah.nongnu.org/bugs/?24260

bug #24274: asyncscheduler.py missing sys import
https://savannah.nongnu.org/bugs/?24274


New in v0.5.01 (2008/09/11)
---------------------------
bug #24234: Tabs Present In Source Files
https://savannah.nongnu.org/bugs/?24234

bug #24223: WebDAV backend broken in 0.5.00
https://savannah.nongnu.org/bugs/?24223

bug #24226: WebDAV Does Not Create Collection If Needed
https://savannah.nongnu.org/bugs/?24226


New in v0.5.00 (2008/09/06)
---------------------------
Changes to unit tests:
  - resolve circular imports after backend reorg
  - resolve exception error import - now in errors.py
  - remove need for temp2.tar to be in CVS repository

bug #23988: scp destination fails if no username is specified
https://savannah.nongnu.org/bugs/?23988

bug #23985: --no-encryption option does not work in 0.4.12
https://savannah.nongnu.org/bugs/?23985

patch #6623: slightly augment tempdir cleanup logging
https://savannah.nongnu.org/patch/?6623

patch #6596: re-organize backend module structure
https://savannah.nongnu.org/patch/?6596

patch #6589: S3 european bucket support
https://savannah.nongnu.org/patch/?6589

patch #6353: Concurrency for volume encryption and upload.
https://savannah.nongnu.org/patch/?6353


New in v0.4.12 (2008/07/22)
---------------------------
Dan Muresan created a patch to minimize the number of password
prompts.  To do so, it sometimes requests a password once without
confirmation; if later it turns out that a full backup is needed,
the user is prompted for confirmation.

bug #23540: doc bug in man page (environment FTP_PASSWORD)
https://savannah.nongnu.org/bugs/?23540

bug #23362: Documentation for --version, --time-separator <char>
https://savannah.nongnu.org/bugs/?23362

bug #23283: interactive passphrase query is suboptimal
https://savannah.nongnu.org/bugs/?23283

bug #23066 was not actually applied to 0.4.11.  Its here now.
https://savannah.nongnu.org/bugs/?23066

bug #22826: regressions caused by boto 1.1c
https://savannah.nongnu.org/bugs/?22826


New in v0.4.11 (2008/05/05)
---------------------------
Changes applied to allow duplicity to run under Python 2.3 again.

patch #6485: Reinstate patch #6340 with a detailed explanation.
https://savannah.nongnu.org/patch/?6485

bug #23066: ssh uris with given portnumbers are not handled correctly
https://savannah.nongnu.org/bugs/?23066


New in v0.4.10 (2008/03/27)
---------------------------
bug #22728: FTP backend fails on empty directory
https://savannah.nongnu.org/bugs/?22728

patch #6374: Duplicity --tempdir patch documentation.
https://savannah.nongnu.org/patch/?6374

patch #6375: Duplicity reports the epoch for a nonexistant last full backup date
https://savannah.nongnu.org/patch/?6375

patch #6380: add additional named logging levels
https://savannah.nongnu.org/patch/?6380

patch #6389: Possible Fix for pagefile.sys on Win32 systems
https://savannah.nongnu.org/patch/?6389

patch #6403: Restore by overwriting files/directories by using --force option
https://savannah.nongnu.org/patch/?6403

patch #6449: add additional debug level logging
https://savannah.nongnu.org/patch/?6449

patch #6453: handle absolute urls in webdav backend
https://savannah.nongnu.org/patch/?6453

Fix problem where S3 prefix was prepended with 'd'.  This caused
a failure in the regression tests.


New in v0.4.9 (2008/01/04)
--------------------------
NOTE: URL format correction in rsync://.  The rsync backend
now properly supports absolute and relative pathnames and
module access.  The formats are:
    rsync://user@host::/module/some_dir
    rsync://user@host/relative_path
    rsync://user@host//absolute_path

Fixed regression caused by changeover to new urlparse.py.
bug #21475: FTP Usernames that contain '@' are not recognized
https://savannah.nongnu.org/bugs/?21475

Added section URL FORMAT in the duplicity man page.

Added 2nd patch to bug #21475 that forces all versions of
Python to use the fixed urlparse.py.

Fixed so that remove-older-than and remove-all-but-n-full
will not request a GPG passphrase.

Fixed issue with Pure-FTPd that would always return an empty
directory listing and thus force a full backup every time.
A side effect of the change is that we now only make one call
to ncftpls to get the listing, thereby reducing the overhead
on systems with a large number of backup files.

bug #21896: Two problems with rsync under 0.4.8 + patch
https://savannah.nongnu.org/bugs/?21896

bug #21909: Problematic typo in compare_verbose() method
https://savannah.nongnu.org/bugs/?21909

patch #6354: S3 staight typo results in a bogus exception
https://savannah.nongnu.org/patch/?6354

patch #6356: Command line option for the temporary directory root.
https://savannah.nongnu.org/patch/?6356

patch #6357: Explicit restore action is missing from the command list,
https://savannah.nongnu.org/patch/?6357


New in v0.4.8 (2007/12/15)
--------------------------
First pass at bringing unittest cases up to date.
All unit tests are working, but more test cases need
to be added to handle the new protocols, plus there is
some print leakage even with logging turned off.

Allow pexpect to force the close of the child on sftp
calls.  We already do that with scp calls.  This cleans
up that exception.

bug #21751: rsync module urls do not work in 0.4.7
https://savannah.nongnu.org/bugs/?21751

bug #21752: Boto backend needs version 0.9d or later
https://savannah.nongnu.org/bugs/?21752

patch #6340: S3 short filename regression
https://savannah.nongnu.org/patch/?6340

patch #6344: S3 bad bad key key handling
http://savannah.nongnu.org/patch/?6344


New in v0.4.7 (2007/12/07)
--------------------------
Applied patch from Eric Hanchrow to fix logging error in
botoBackend, and fix delete() in rsyncBackend.

bug #21673: remove-all-but-n-full wrong arg usage
https://savannah.nongnu.org/bugs/?21673

bug #21686: NcFTPGet 3.2.0 tempfile incompatibility
https://savannah.nongnu.org/bugs/?21686

patch #6292: Amazon S3 bucket creation deferral
https://savannah.nongnu.org/patch/?6292

patch #6293: left-over patch from remove-all-but-n-full
https://savannah.nongnu.org/patch/?6293

patch #6296: Generic S3 url support for Duplicity 0.4.6
https://savannah.nongnu.org/patch/?6296

patch #6298: URI unquoting patch for FTP backend
https://savannah.nongnu.org/patch/?6298

patch #6299: re-design tempfile handling
https://savannah.nongnu.org/patch/?6299

patch #6300: Standard library replacement for ParsedUrl class
https://savannah.nongnu.org/patch/?6300

patch #6301: log sftp commands at verbosity 5
https://savannah.nongnu.org/patch/?6301


New in v0.4.6 (2007/11/28)
--------------------------
https://savannah.nongnu.org/bugs/?21508
bug #21508: Change delete implementation of ftpBackend to
only send one "DELE" instead of multiple per delete.

https://savannah.nongnu.org/bugs/?21646
bug #21646: --archive-dir causes delete of remote full
sigs and orphaned sig files

https://savannah.nongnu.org/bugs/?21651
bug #21651, add https support for webdav.

https://savannah.nongnu.org/bugs/?21657
bug #21657: ncftpls fails to create dir in ver 0.4.5

https://savannah.nongnu.org/patch/?6284
patch #6284: document TMPDIR and friends

https://savannah.nongnu.org/patch/?6284
patch #6285: security fix: eliminate use of mktemp()

https://savannah.nongnu.org/patch/?6289
patch #6289: Amazon S3 key prefix patch for Duplicity 0.4.5

https://savannah.nongnu.org/patch/?6291
patch #6291: Alternative WebDAV HTTPS patch


New in v0.4.5 (2007/11/26)
--------------------------
https://savannah.nongnu.org/bugs/?21646
Fix to handling of collections when --archive-dir is used.
Prior to this, duplicity would write the full sig files to
both local and remote, then delete the remote.  Now, it does
not delete the remote full sigs.

Applied the following patches from Peter Schuller
patch #6279, add command 'remove-all-but-n-full'
patch #6280, clarify --archive-dir option
patch #6281, --help should print to stdout, not stderr
patch #6282, collection-status: output in more consistent order


New in v0.4.4 (2007/11/23)
------------------------------
All the changes in RC1 through RC4 plus:

Changes to ftpBackend to use a temp login config file rather
than putting the username and password on the command line.
This requires the use of NcFTP 3.1.9 or later.

Thanks to a patch from Greg Hewgill the Amazon S3 backend now
uses --num-retries to retry IO repeatedly if needed.

Changes to commandline processing to allow non-ambiguous short
strings for commands, i.e. 'i', 'inc', 'incr' for 'incremental',
'f' for 'full', etc..  A warning message is printed if the short
command is not unique.  Note: this already works for options, so
I just applied the same idea to commands.

Applied a patch from Gregory Hartman to correct handling of DST
in time calculations.  This affects backups made the night of
a DST time switch.


New in v0.4.4.RC4 (2007/10/26)
------------------------------
WARNING:  COMMAND LINE CHANGES ARE NOT BACKWARDS COMPATIBLE!
There is a new command line syntax to separate actions and
options.  Refer to the new man page for full details of the
change.  The new syntax looks like:
    duplicity [full|incr] [options] source_dir target_url
    duplicity [restore] [options] source_url target_dir
    duplicity verify [options] source_url target_dir
    duplicity collection-status [options] target_url
    duplicity list-current-files [options] target_url
    duplicity cleanup [options] target_url
    duplicity remove-older-than time [options] target_url

Fixed issue in --time-separator where the current time string
was being set prior to setting the separator, causing errors
when trying to set the --time-separator for Windows systems.

Fix so that file mtime is always compared in full seconds.

Fix so that ftpBackend.delete() does not print file list.


New in v0.4.4.RC3 (2007/10/02)
------------------------------
Patch from Olivier Croquette to add --full-if-older-than=<time>
option to force a full backup at <time> rather than incremental.

Patch from Stefan Hoth to add :port option in FTP.

Patch from Mitchell Garnaat to get all keys from S3, rather
than just the first 1000.

Fix to sshBackend to version check for python-pexpect 2.1.

Fix one case in ftpBackend where host string was used instead of
url_string.  This only affected the creation of the target dir on
the remote system, if it did not exist, and only if the user or
port needed to be specified.


New in v0.4.4.RC2 (2007/09/26)
------------------------------
Added --timeout <seconds> (default 30) to allow users to change
duplicity's network timeout settings.

Added --time-separator <char> to allow users to change the time
separator from ':' to another character that will work on their
system.  HINT: For Windows SMB shares, use --time-separator='_'.
NOTE: '-' is not valid as it conflicts with date separator.

Add patch from Alexander Zangerl to suppress the GPG passphrase
prompt when a passphrase is not needed.
 - full and pubkey enc:  doesn't depend on old encrypted info
 - inc and pubkey enc and archive-dir: need manifest and sigs,
   which the archive dir contains unencrypted
 - with encryption disabled
 - listing files:  needs manifest, but the archive dir has that
 - collection status:  only looks at a repository

Add patch from Olivier Croquette to allow user@domain usernames,
making ftp://user@domain@domain.com/path a valid URL.

Added a bit of debug print to sshBackend for --verbosity=9.

Changed usage message to separate options and commands.


New in v0.4.4.RC1 (2007/09/19)
------------------------------
Patches applied from Debian
DP: fix #228388: old/aborted/offending sig files prohibit further action
DP: fixes manual page and usage msg for rsync url and --remove-older-than
DP: make tempfiles with useful names
DP: do not ask for a passphrase if none is required!

https://savannah.nongnu.org/bugs/?21123
duplicity 0.4.3 ftpBackend did not find backup sets when there was
more than 20 files in directory.

https://savannah.nongnu.org/patch/?6212
Large performance boost for large volume sizes.

https://savannah.nongnu.org/patch/?6211
Restore strict host checking in sshBackend.

https://savannah.nongnu.org/patch/?6205
Add option --librsync-dir for when its not found.


New in v0.4.3 (2007/08/20)
--------------------------
All the changes in RC1 through RC12 plus:

Move get_password() to Backend class to standardize.

Fix problem with ftpBackend to create target directory
if needed.  Note: this creates only one level.

Dropped ssh-command and added ssh-options to allow users
to add options to the scp and sftp commmands.

Removed use of tempfile.TemporaryFile().  This fixes the
restore problem on Windows that was due to Python bug
1776696 reported on Sourceforge.

Fixed Debian Bug#437694: Make bzip2 compression optional.
The default is not to do bzip2 compression.  To use bzip2
add the following command line option:
--gpg-options='--compress-algo=bzip2 --bzip2-compress-level=9'
Note: do not add spaces in the string value.

Fixed bug 20764 - unable to use port in ssh backend.
https://savannah.nongnu.org/bugs/?20764

Remove ssh_command option, add ssh_options.  This adds
options to the scp and sftp commands that are used by
the ssh backend.

Change ssh backend to send 'quit' instead of EOF when
using sftp.  This allows it to run under cron as long
as the password is supplied non-interactively.

Change ssh backend to not pass :port part of URL to
scp or sftp.  We already supply -oPort=xx for port.


New in v0.4.3.RC12 (2007/08/09)
-------------------------------
Fix index out of range in Bug 20730, triggered when there
is only one incremental in the list.
https://savannah.nongnu.org/bugs/?20730

Changed the file:, ftp:, and ssh: backends so that
the target directory will be created at start.

Changed the ftp: backend so that empty target dirs
do not error out.


New in v0.4.3.RC11 (2007/07/20)
-------------------------------
Duplicity is now covered under GPL version 3 (or later).

Duplicity now correctly processes scp URL's of the form:
  scp://user@host[:port]/
where the directory spec is empty.  This fixes a bug where the
user could not write into the home directory on the target.

The SSH/SCP backend has had an overhaul.  It now requires the
python-pexpect module.  Normally this can be obtained from your
distro's repository, but if you want, you can download pexpect
from http://pexpect.sourceforge.net.

The SSH/SCP backend work was done to allow the user to use password
authentication rather than public-key.  You may now enter a password,
either through the FTP_PASSWORD environment variable, or at the
console.  To activate this feature you will need to use the option
--ssh-askpass on the command line.  The default is public-key, which
does *not* look for a password from either source.

Various fixes to the man page for --ssh-askpass, --remove-older-than,
and --archive-dir.


New in v0.4.3.RC10 (2007/07/14)
-------------------------------
Add support for:
  --ftp-passive,
  --ftp-regular

Removed -m option on FTP put command.  This means that the remote
directory must exist prior to backup.

Changed ftpBackend from -f option back to commandline.  Various
versions of ncftp* interact differently when both -f and commandline
options are supplied.

The FTP password is munged in all log operations.

Added logging of filenames in the bucket when -v9 is used on
Amazon S3.


New in v0.4.3.RC9 (2007/07/09)
------------------------------
Change to a max block size of 2048 bytes for rsync difference buffer.
This may slow things down for truly large files, but will give much
smaller deltas on files with numerous small changes, such as database
files.

New S3 backend, Boto, from Eric Evans, replaces bitBucket.  Boto can
be obtained from http://code.google.com/p/boto/.  I did not make this
a requirement for setup since its not in the normal repositories.

New FTP backend from Thorsten Schnebeck that uses ncftp instead of
Pythons ftplib.  This seems to be much more solid.  I added the -f
option with a secure temp file to contain host, user, and password,
rather than having them on the command line.  I also added the -m
option to the put command to create the target directory and the -t
option to make sure it times out if there is a network problem.

The Backend class now contains a popen_persist function that acts like
run_command_persist.  Both use the new num_retries global.

Added a commandline option, '--num-retries=<int>', to set the number
of retries.  The default is 5.


New in v0.4.3.RC8 (2007/06/27)
------------------------------
Bug 20282 - Thomas Tuttle:
An out of range index when checking past history in the backup
sets caused a failure when trying to access later.

Bug 20149 - dAniel hAhler:
dAniel submitted a second patch for this for further cleanup.
The new patch prefers the latest intact backup set.

Bug 20039 - Andreas Schildbach: --and--
Patch 6030 - Alexander Zangerl <az@debian.org>:
Duplicity now uses bzip2 for compression.  This matches the way
the Debian distribution handles it.  I'll think about adding an
option to override later, if its needed.


New in v0.4.3.RC7 (2007/06/19)
------------------------------
Bug 20179 - dAniel hAhler:
When errors cause login to fail in FTP, reset and try again.

Patch 6015 -dAniel hAhler:
Better display of traceback when ftpBackend errors out.

Patch 6029 - Alexander Zangerl <az@debian.org>:
http://bugs.debian.org/370206
archive-dir together with incremental backup results in crash. the
patch is simple, the code in 0.4.2 did attempt to access strings as
objects.

Patch 6031 - Alexander Zangerl <az@debian.org>:
http://bugs.debian.org/369971
there's some problems with unattended encrypted dumps, if the user
doesn't want to hand duplicity the gpg passphrase and attempts to work
around this by using a local archive dir.  the patch makes it look at
a manifest in a local archive dir if gpg doesn't manage to decrypt a
remote one (no surprise without a passphrase).

Patch 6032 - Alexander Zangerl <az@debian.org>:
a new feature patch: i've recently gotten annoyed with having
gazillions of 5mb files and therefore added a --volsize option to
allow the user setting the chunk size. the patch is simple and
contains a manpage update as well.

Patch 6033 - Alexander Zangerl <az@debian.org>:
let's add a --help terse usage message and don't just direct the user
to the manual. this should come handy if somebody needs to restore
stuff without having the manual available.


New in v0.4.3.RC6 (2007/06/13)
------------------------------
Bug 20149 - dAniel hAhler: When errors cause an incomplete backup set,
flag the error with a message, rather than erroring out.  The user
then knows to run --cleanup.

Patch 5998 - Kuang-che Wu: Cache uid and gid lookup to speed
operations.

Patch 5993 - daacyy302@sneakemail.com: Make Amazon S3 backend
incrementally more robust for recovery.


New in v0.4.3.RC5 (2007/06/04)
------------------------------
GnuPG fails when trying to access stdin on an empty passphrase.
Changes allow empty passphrase on public-key encryption and now
respond gracefully on empty passphrase for symmetric encryption.

dAniel hAhler submitted a patch to change "Error initializing file
foo" (log level 2), where foo was a socket, to "Skipping socket foo"
(log level 7).  https://savannah.nongnu.org/patch/?5985

Change logging to flush after every write, unbuffering stdout and
stderr, thus producing logs that are coherent.


New in v0.4.3.RC4 (2007/06/02)
------------------------------
More fixes on FTP.  dAniel hAhler supplied a new patch for FTP that
cleans up the error handling and reduces the retry time to zero on the
first retry.


New in v0.4.3.RC3 (2007/05/31)
------------------------------
Fixed connection problem in FTP where it was not quitting on
connection reset and just logging in again.  This created many stale
logins on the remote system.

Changed attribution of a couple of patches to dAniel hAhler, who
actually wrote the patches, not just found them.


New in v0.4.3.RC2 (2007/05/30)
------------------------------
Fixed bug in tarfile.py that was causing ValueError exception.  Thanks
to dAniel hAhler for the patch that fixed the problem.  Refer to:
http://savannah.nongnu.org/bugs/?19998


New in v0.4.3.RC1 (2007/05/26)
------------------------------
Applied patches:
  https://savannah.nongnu.org/patch/?4486
  https://savannah.nongnu.org/patch/?5183
  https://savannah.nongnu.org/patch/?5185
  https://savannah.nongnu.org/patch/?5412
  https://savannah.nongnu.org/patch/?5413
  https://savannah.nongnu.org/patch/?5680
  https://savannah.nongnu.org/patch/?5681
  https://savannah.nongnu.org/patch/?5682
  https://savannah.nongnu.org/patch/?5794
  https://savannah.nongnu.org/patch/?5830

Fixed bugs:
  https://savannah.nongnu.org/bugs/?2441
  https://savannah.nongnu.org/bugs/?16711

ProFTPD resets the connection after returning 226 when NLSTing an
empty directory, so changed code to allow that exception.

ftpBackend now asks for a password if FTP_PASSWORD does not exist.

rsyncBackend was using full URL in the commandline and failing.
It now uses only server:path/, leaving off rsync://.

Added --sftp-command option, now that the scp backend uses sftp for
listing and deleting files.

Brian Sutherland has contributed a new backend for Amazon's S3 data
storage service.

Added some patches compiled by Andre Beckedorf:

    Tolerate more errors when listing an ftp directory (errors
    indicate an empty dir).

    Retry ftp commands when upon temporary error.  (Thanks to to
    Stefan Schimanski and dAniel hAhler for their patches.)


New in v0.4.2 (2006/02/02)
--------------------------
Mathias de Riese's substantial patch or patches appear to have been
applied to CVS years ago, but not released yet.  Sorry about that.

Followed suggestion by David Rigel, make user type passphrase twice to
confirm.

Eric Hanchrow's patch makes sure duplicity deletes older signatures
when using --remove-older-than.

Jiri Tyr's patch may fix some scp/sftp problems.

asdf's patch makes sure uids or gids over 2097151 don't corrupt the
tarfiles.

Cleaned up and documented --collection-status option, which lists the
backup chains and sets found in the repository.

FTP error 450 when listing a directory now understood to mean the
directory is empty (duplicity will not exit with error).

--remove-older-than now cannot delete the active backup chain, even if
you specify a time later than the chain (e.g. "--remove-older-than
now").


New in v0.4.1 (2003/08/09)
--------------------------
Applied (version of) Helmut Schneider's patch to display file mod
times with --list-current-files.

Fixed bug found by Rob Browning handling symlinks with long names that
have long names.

Applied Stephen Isard's patch to fix exclude-globbing-filelist.

Applied Sebastian Wilhelmi's patches to add rsync as a backend.

To improve large file performance, signature block size is now based
on file length.

duplicity should now build with librsync 0.9.6.  Much thanks to
Donovan Baarda for his work in this version of librsync.

duplicity should work with Python 2.3 now.


New in v0.4.0 (2002/11/30)
--------------------------
Changed restore procedure to download volumes from all backup sets
simultaneously.

Changed the verbosity level of some messages to 5, so level 4 is
cleaner.

Added --verify option, for checking whether a backup is up-to-date, or
to see what has changed since that backup.

GPG no longer needed: with --no-encryption option duplicity will write
gzipped volumes.  The checksums of volumes will still be verified, but
this will not stop a malicious attack because the manifest files can
be easily updated.

Earlier versions could crash when doing an incremental backup where no
files had changed.


New in v0.3.1 (2002/11/17)
--------------------------
Now by default the most recent files get restored, not the oldest.
You can get the old weird behavior by specifying --restore-time 1 (or
any other very early time).

Fixed a couple bugs where duplicity would crash if it found the remote
directory corrupted in various ways (for instance, if it contained a
file that looked like a duplicity file but had an invalid time
string).

Added --cleanup option, for deleting the files that may accumulate if
a duplicity session is aborted after it has uploaded some files.

Added --remove-older-than option, for safely deleting backup sets
older than the given time.

Suppress GPG log messages like "gpg: CAST5 encrypted data" if
verbosity is set to 3 or less.

short-filenames get even shorter---now use base 36 (0-9 and a-z) for
times and volume numbers.  This change is not backwards compatible but
probably I'm the only one affected.  If not, let me know and I can
probably write a little script.

Improved the way files are packed into the volumes so less space is
wasted per volume.

Decreased default volume size to 5MB (from 50MB) in preparation for
the new restore system planned for 0.4.0.


New in v0.3.0 (2002/11/10)
--------------------------
Added ftp backend.  Now the remote repository can accessed by ftp and
can be specified like "ftp://user@foo.bar/".

Added --ssh-command and --scp-command options, which can be used to
replace ssh and scp, or pass different arguments to them.  Requested
by Will Dyson.

Added --short-filenames option, for use when uploading to a file
system that can't have filenames longer than 30 characters (e.g. Mac
OS 8).

Added --list-current-files mode, which lists the files currently at
the given destination url.

Ported some statistics code from rdiff-backup.  Now by default
statistics are printed after a backup session.  This can be disabled
with the --no-print-statistics option.  Thanks to Mathieu Doidy for
requesting the above two features.

Added rdiff-backup-style --include/exclude-filelist-globbing options.
Now filelists with "+ /- " can be treated exactly like repeated
--include or --exclude options.

Fixed bug backing up normal files instead of directories.  Thanks to
Mathieu Doidy for bug report.


New in v0.2.1 (2002/10/31)
--------------------------
Security Fix:  Fixed bug where an rdiffdir patch containing a path
with a '..' component could overwrite files in parent directory.

Fixed bug where files without a username (only uid) would be marked as
changed every session.  Thanks to Peter Ehrenberg for bug report.

Now files with negative mtimes are treated as if they have mtime 0.
This prevents them from being marked as changed unnecessarily.  Thanks
to Peter Ehrenberg for report.


New in v0.2.0 (2002/09/29)
--------------------------
(Thanks to Peter Ehrenberg for his valuable suggestions on many of the
below.)

** IMPORTANT ** New syntax intended to make duplicity more
user-friendly.  Old duplicity invocation will not work so change your
scripts and read the man page.

By default no local archive dir will be read or created.
$HOME/.duplicity has no special significance.  However, one can be
specified with --archive-dir for faster operation.

If PASSPHRASE environment variable not set, ask user for passphrase
instead of exiting.

The source directory and hostname are now recorded, and rdiff-backup
will complain if you try to back up different directories to the same
location (but --allow-source-mismatch can override).

Changed some of the logging verbosity levels.  Level 5 now lists files
being backed up.

Fixed large file problems.  Files larger than 2GB should be backed up
correctly.

Significant additions to the manual page.

By default, duplicity now chooses whether to make a full or
incremental backup depending on whether up-to-date signatures can be
found on the remote side or local archive directory.  Overrideable
with (-f/--full and -i/--incremental).


New in v0.1.1 (2002/09/16)
--------------------------
Supports asymmetric encryption with GPG public keys using the
--encrypt-key option.

Added option --sign-key.  When backing up, files are signed with the
given key.  When restoring, remote files are required to be signed by
given key.

Now duplicity checks the hash data found in the manifest file.  The
previous version generated SHA1 hashes but did not check them when
restoring.

Fixed GnuPG broken pipe error.  In the previous version certain
partial restores would end with a spurious GnuPG error message.


New in v0.1.0 (2002/08/26)
--------------------------
First real version.