-
Notifications
You must be signed in to change notification settings - Fork 203
/
release.xml
1896 lines (1546 loc) · 104 KB
/
release.xml
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
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE doc SYSTEM "doc.dtd">
<doc title="Releases">
<description>The {[project]} Releases detail each version of the software and lists the changes made in each version.</description>
<intro>
<text><backrest/> release numbers consist of two parts, major and minor. A major release may break compatibility with the prior major release, for instance the 1.XX releases are not compatible with the 0.XX releases. Minor releases can include bug fixes and features but do not change the interface, naming, or the repository format.
The notes for a release may also contain <quote>Additional Notes</quote> but changes in this section are only to documentation or the test suite and have no direct impact the on the <backrest/> codebase.</text>
</intro>
<contributor-list>
<!-- The first contributor is the default for all release items to simplify the xml -->
<contributor id="steele.david">
<contributor-name-display>David Steele</contributor-name-display>
<contributor-id type="github">dwsteele</contributor-id>
</contributor>
<!-- The order of other contributors is alpha by name -->
<contributor id="barber.chris">
<contributor-name-display>Chris Barber</contributor-name-display>
<contributor-id type="github">gamerscomplete</contributor-id>
</contributor>
<contributor id="benoit.evan">
<contributor-name-display>Evan Benoit</contributor-name-display>
<contributor-id type="github">evanbenoit</contributor-id>
</contributor>
<contributor id="berg.christoph">
<contributor-name-display>Christoph Berg</contributor-name-display>
<contributor-id type="github">ChristophBerg</contributor-id>
</contributor>
<contributor id="didovicher.dmitry">
<contributor-name-display>Dmitry Didovicher</contributor-name-display>
<contributor-id type="github">anarazel</contributor-id>
</contributor>
<contributor id="fort.chris">
<contributor-name-display>Chris Fort</contributor-name-display>
<contributor-id type="github">the1forte</contributor-id>
</contributor>
<contributor id="freund.andres">
<contributor-name-display>Andres Freund</contributor-name-display>
<contributor-id type="github">anarazel</contributor-id>
</contributor>
<contributor id="frost.stephen">
<contributor-name-display>Stephen Frost</contributor-name-display>
<contributor-id type="github">sfrost</contributor-id>
</contributor>
<contributor id="harvey.john">
<contributor-name-display>John Harvey</contributor-name-display>
<contributor-id type="github">crunchyjohn</contributor-id>
</contributor>
<contributor id="lardiere.sebastien">
<contributor-name-display>Lardi&egrave;re S&eacute;bastien</contributor-name-display>
<contributor-id type="github">slardiere</contributor-id>
</contributor>
<contributor id="odonnell.jason">
<contributor-name-display>Jason O'Donnell</contributor-name-display>
<contributor-id type="github">Dwaligon</contributor-id>
</contributor>
<contributor id="parkinson.janice">
<contributor-name-display>Janice Parkinson</contributor-name-display>
<contributor-id type="github">jpabt</contributor-id>
</contributor>
<contributor id="renner.michael">
<contributor-name-display>Michael Renner</contributor-name-display>
<contributor-id type="github">terrorobe</contributor-id>
</contributor>
<contributor id="radman.eric">
<contributor-name-display>Eric Radman</contributor-name-display>
<contributor-id type="github">eradman</contributor-id>
</contributor>
<contributor id="shang.cynthia">
<contributor-name-display>Cynthia Shang</contributor-name-display>
<contributor-id type="github">cmwshang</contributor-id>
</contributor>
<contributor id="smith.greg">
<contributor-name-display>Greg Smith</contributor-name-display>
<contributor-id type="github">gregscds</contributor-id>
</contributor>
<contributor id="vernick.todd">
<contributor-name-display>Todd Vernick</contributor-name-display>
<contributor-id type="github">gintoddic</contributor-id>
</contributor>
<contributor id="vitale.michael">
<contributor-name-display>Michael Vitale</contributor-name-display>
<contributor-id type="github">MichaelDBA</contributor-id>
</contributor>
<contributor id="vondendriesch.adrian">
<contributor-name-display>Adrian Vondendriesch</contributor-name-display>
<contributor-id type="github">disco-stu</contributor-id>
</contributor>
<contributor id="wieck.jan">
<contributor-name-display>Jan Wieck</contributor-name-display>
<contributor-id type="github">wieck</contributor-id>
</contributor>
</contributor-list>
<release-list>
<release date="XXXX-XX-XX" version="1.09dev" title="UNDER DEVELOPMENT">
<release-core-list>
<release-bug-list>
<release-item>
<release-item-contributor-list>
<release-item-contributor id="shang.cynthia"/>
</release-item-contributor-list>
<p>Fixed the <cmd>check</cmd> command to prevent an error message from being logged if the backup directory does not exist.</p>
</release-item>
<release-item>
<p>Fixed error message to properly display the archive command when an invalid archive command is detected.</p>
</release-item>
</release-bug-list>
<release-feature-list>
<release-item>
<p>Non-exclusive backups will automatically be used on <postgres/> 9.6.</p>
</release-item>
<release-item>
<p>Check that archive_mode is enabled when <br-option>archive-check</br-option> option enabled.</p>
</release-item>
</release-feature-list>
<release-refactor-list>
<release-item>
<p><backrest/> version number included in command start INFO log output.</p>
</release-item>
<release-item>
<p>Process ID logged for local process start/stop INFO log output.</p>
</release-item>
</release-refactor-list>
</release-core-list>
<release-doc-list>
<release-feature-list>
<release-item>
<release-item-contributor-list>
<release-item-contributor id="shang.cynthia"/>
</release-item-contributor-list>
<p>Added <br-option>archive-timeout</br-option> option documentation to the user guide.</p>
</release-item>
</release-feature-list>
</release-doc-list>
<release-test-list>
<release-bug-list>
<release-item>
<p>Fixed missing expect output for help module.</p>
</release-item>
<release-item>
<p>Fixed broken <id>vm-max</id> option in <file>test.pl</file>.</p>
</release-item>
</release-bug-list>
<release-feature-list>
<release-item>
<p>Update CentOS/Debian package definitions.</p>
</release-item>
</release-feature-list>
<release-refactor-list>
<release-item>
<p>Regression tests can now be run as any properly-configured user, not just vagrant.</p>
</release-item>
<release-item>
<p>Miminize TeXLive package list to save time during VM builds.</p>
</release-item>
</release-refactor-list>
</release-test-list>
</release>
<release date="2016-09-14" version="1.08" title="Bug Fixes and Log Improvements">
<release-core-list>
<release-bug-list>
<release-item>
<release-item-contributor-list>
<release-item-ideator id="vernick.todd"/>
</release-item-contributor-list>
<p>Fixed an issue where local processes were not disconnecting when complete and could later timeout.</p>
</release-item>
<release-item>
<release-item-contributor-list>
<release-item-ideator id="vernick.todd"/>
</release-item-contributor-list>
<p>Fixed an issue where the protocol layer could timeout while waiting for WAL segments to arrive in the archive.</p>
</release-item>
</release-bug-list>
<release-refactor-list>
<release-item>
<p>Cache file log output until the file is created to create a more complete log.</p>
</release-item>
</release-refactor-list>
</release-core-list>
<release-doc-list>
<release-refactor-list>
<release-item>
<p>Show Process ID in output instead of filtering it out with the timestamp.</p>
</release-item>
</release-refactor-list>
</release-doc-list>
<release-test-list>
<release-refactor-list>
<release-item>
<release-item-contributor-list>
<release-item-contributor id="harvey.john"/>
</release-item-contributor-list>
<p>Suppress <quote>dpkg-reconfigure: unable to re-open stdin: No file or directory</quote> warning in Vagrant VM build.</p>
</release-item>
<release-item>
<p>Show Process ID in expect logs instead of filtering it out with the timestamp.</p>
</release-item>
</release-refactor-list>
</release-test-list>
</release>
<release date="2016-09-07" version="1.07" title="Thread to Process Conversion and Bug Fixes">
<release-core-list>
<release-bug-list>
<release-item>
<p>Fixed an issue where tablespaces were copied from the master during standby backup.</p>
</release-item>
<release-item>
<release-item-contributor-list>
<release-item-contributor id="shang.cynthia"/>
</release-item-contributor-list>
<p>Fixed the <cmd>check</cmd> command so backup info is checked remotely and not just locally.</p>
</release-item>
<release-item>
<release-item-contributor-list>
<release-item-contributor id="shang.cynthia"/>
</release-item-contributor-list>
<p>Fixed an issue where <br-option>retention-archive</br-option> was not automatically being set when <br-option>retention-archive-type=diff</br-option>, resulting in a less aggressive than intended expiration of archive.</p>
</release-item>
</release-bug-list>
<release-feature-list>
<release-item>
<p>Converted Perl threads to processes to improve compatibility and performance.</p>
</release-item>
<release-item>
<p>Exclude contents of <path>$PGDATA/pg_replslot</path> directory so that replication slots on the master do not become part of the backup.</p>
</release-item>
<release-item>
<p>The <setting>archive-start</setting> and <setting>archive-stop</setting> settings are now filled in <file>backup.manifest</file> even when <br-option>archive-check=n</br-option>.</p>
</release-item>
<release-item>
<release-item-contributor-list>
<release-item-contributor id="shang.cynthia"/>
</release-item-contributor-list>
<p>Additional warnings when archive retention settings may not have the intended effect or would allow indefinite retention.</p>
</release-item>
<release-item>
<p>Experimental support for non-exclusive backups in <postgres/> 9.6 rc1. Changes to the control/catalog/WAL versions in subsequent release candidates may break compatibility but <backrest/> will be updated with each release to keep pace.</p>
</release-item>
</release-feature-list>
<release-refactor-list>
<release-item>
<p>Refactor of protocol minions in preparation for the new local minion.</p>
</release-item>
<release-item>
<p>Remove obsolete thread index variable from <code>File()</code> module.</p>
</release-item>
<release-item>
<p>Changed temporary file names to consistently use the <file>.pgbackrest.tmp</file> extension even if the destination file is compressed or has an appended checksum.</p>
</release-item>
<release-item>
<p>Improve ASSERT error handling, safely check eval blocks, and convert <code>$@</code> to <code>$EVAL_ERROR</code>.</p>
</release-item>
</release-refactor-list>
</release-core-list>
<release-doc-list>
<release-bug-list>
<release-item>
<p>Fixed minor documentation reproducibility issues related to binary paths.</p>
</release-item>
</release-bug-list>
<release-feature-list>
<release-item>
<release-item-contributor-list>
<release-item-contributor id="shang.cynthia"/>
</release-item-contributor-list>
<p>Documentation for archive retention.</p>
</release-item>
</release-feature-list>
<release-refactor-list>
<release-item>
<p>Suppress TOC for unsupported versions of <backrest/>.</p>
</release-item>
</release-refactor-list>
</release-doc-list>
<release-test-list>
<release-refactor-list>
<release-item>
<p>New vagrant base box and make uid/gid selection for containers dynamic.</p>
</release-item>
</release-refactor-list>
</release-test-list>
</release>
<release date="2016-08-25" version="1.06" title="Backup from Standby and Bug Fixes">
<release-core-list>
<release-bug-list>
<release-item>
<release-item-contributor-list>
<release-item-ideator id="vitale.michael"/>
</release-item-contributor-list>
<p>Fixed an issue where a tablespace link that referenced another link would not produce an error, but instead skip the tablespace entirely.</p>
</release-item>
<release-item>
<release-item-contributor-list>
<release-item-ideator id="vitale.michael"/>
</release-item-contributor-list>
<p>Fixed an issue where options that should not allow multiple values could be specified multiple times in <file>pgbackrest.conf</file> without an error being raised.</p>
</release-item>
<release-item>
<release-item-contributor-list>
<release-item-ideator id="vernick.todd"/>
</release-item-contributor-list>
<p>Fixed an issue where the <br-option>protocol-timeout</br-option> option was not automatically increased when the <br-option>db-timeout</br-option> option was increased.</p>
</release-item>
</release-bug-list>
<release-feature-list>
<release-item>
<p>Backup from a standby cluster. A connection to the primary cluster is still required to start/stop the backup and copy files that are not replicated, but the vast majority of files are copied from the standby in order to reduce load on the master.</p>
</release-item>
<release-item>
<p>More flexible configuration for databases. Master and standby can both be configured on the backup server and <backrest/> will automatically determine which is the master. This means no configuration changes for backup are required after failing over from a master to standby when a separate backup server is used.</p>
</release-item>
<release-item>
<p>Exclude directories during backup that are cleaned, recreated, or zeroed by <postgres/> at startup. These include <path>pgsql_tmp</path> and <path>pg_stat_tmp</path>. The <file>postgresql.auto.conf.tmp</file> file is now excluded in addition to files that were already excluded: <file>backup_label.old</file>, <file>postmaster.opts</file>, <file>postmaster.pid</file>, <file>recovery.conf</file>, <file>recovery.done</file>.</p>
</release-item>
<release-item>
<p>Experimental support for non-exclusive backups in <postgres/> 9.6 beta4. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but <backrest/> will be updated with each release to keep pace.</p>
</release-item>
</release-feature-list>
<release-refactor-list>
<release-item>
<p>Simplify protocol creation and identifying which host is local/remote.</p>
</release-item>
<release-item>
<p>Removed all <code>OP_*</code> function constants that were used only for debugging, not in the protocol, and replaced with <code>__PACKAGE__</code>.</p>
</release-item>
<release-item>
<p>Improvements in <code>Db</code> module: separated out <code>connect()</code> function, allow <code>executeSql()</code> calls that do not return data, and improve error handling.</p>
</release-item>
<release-item>
<p>Improve error message for links that reference links in manifest build.</p>
</release-item>
<release-item>
<p>Added hints to error message when relative paths are detected in <cmd>archive-push</cmd> or <cmd>archive-get</cmd>.</p>
</release-item>
<release-item>
<p>Improve backup log messages to indicate which host the files are being copied from.</p>
</release-item>
</release-refactor-list>
</release-core-list>
<release-doc-list>
<release-refactor-list>
<release-item>
<p>Improve host tag rendering.</p>
</release-item>
</release-refactor-list>
</release-doc-list>
<release-test-list>
<release-refactor-list>
<release-item>
<p>Refactor db version constants into a separate module.</p>
</release-item>
<release-item>
<p>Update synthetic backup tests to <postgres/> 9.4.</p>
</release-item>
</release-refactor-list>
</release-test-list>
</release>
<release date="2016-08-09" version="1.05" title="Bug Fix for Tablespace Link Checking">
<release-core-list>
<release-bug-list>
<release-item>
<release-item-contributor-list>
<release-item-ideator id="fort.chris"/>
</release-item-contributor-list>
<p>Fixed an issue where tablespace paths that had $PGDATA as a substring would be identified as a subdirectories of $PGDATA even when they were not. Also hardened relative path checking a bit.</p>
</release-item>
</release-bug-list>
</release-core-list>
<release-doc-list>
<release-feature-list>
<release-item>
<release-item-contributor-list>
<release-item-contributor id="shang.cynthia"/>
</release-item-contributor-list>
<p>Added documentation for scheduling backups with cron.</p>
</release-item>
</release-feature-list>
<release-refactor-list>
<release-item>
<release-item-contributor-list>
<release-item-contributor id="shang.cynthia"/>
</release-item-contributor-list>
<p>Moved the backlog from the <backrest/> website to the GitHub repository wiki.</p>
</release-item>
<release-item>
<p>Improved rendering of spaces in code blocks.</p>
</release-item>
</release-refactor-list>
</release-doc-list>
</release>
<release date="2016-07-30" version="1.04" title="Various Bug Fixes">
<release-core-list>
<release-bug-list>
<release-item>
<release-item-contributor-list>
<release-item-ideator id="vitale.michael"/>
</release-item-contributor-list>
<p>Fixed an issue an where an extraneous remote was created causing threaded backup/restore to possibly timeout and/or throw a lock conflict.</p>
</release-item>
<release-item>
<release-item-contributor-list>
<release-item-ideator id="vitale.michael"/>
</release-item-contributor-list>
<p>Fixed an issue where db-path was not required for the <cmd>check</cmd> command so an assert was raised when it was missing rather than a polite error message.</p>
</release-item>
<release-item>
<release-item-contributor-list>
<release-item-ideator id="steele.david"/>
<release-item-contributor id="shang.cynthia"/>
<release-item-reviewer id="steele.david"/>
</release-item-contributor-list>
<p>Fixed <cmd>check</cmd> command to throw an error when database version/id does not match that of the archive.</p>
</release-item>
<release-item>
<release-item-contributor-list>
<release-item-ideator id="lardiere.sebastien"/>
</release-item-contributor-list>
<p>Fixed an issue where a remote could try to start its own remote when the <br-option>backup-host</br-option> option was not present in <file>pgbackrest.conf</file> on the database server.</p>
</release-item>
<release-item>
<p>Fixed an issue where the contents of <path>pg_xlog</path> were being backed up if the directory was symlinked. This didn't cause any issues during restore but was a waste of space.</p>
</release-item>
<release-item>
<p>Fixed an invalid <code>log()</code> call in lock routines.</p>
</release-item>
</release-bug-list>
<release-feature-list>
<release-item>
<p>Experimental support for non-exclusive backups in <postgres/> 9.6 beta3. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but <backrest/> will be updated with each release to keep pace.</p>
</release-item>
</release-feature-list>
<release-refactor-list>
<release-item>
<p>Enhancements to the protocol layer for improved reliability and error handling.</p>
</release-item>
<release-item>
<p>All remote types now take locks. The exceptions date to when the test harness and <backrest/> were running in the same VM and no longer apply.</p>
</release-item>
<release-item>
<p>Exceptions are now passed back from threads as messages when possible rather than raised directly.</p>
</release-item>
<release-item>
<p>Temp files created during backup are now placed in the same directory as the target file.</p>
</release-item>
<release-item>
<p>Output lock file name when a lock cannot be acquired to aid in debugging.</p>
</release-item>
<release-item>
<p>Reduce calls to <code>protocolGet()</code> in backup/restore.</p>
</release-item>
<release-item>
<p>Suppress banners on SSH protocol connections.</p>
</release-item>
<release-item>
<p>Improved remote error messages to identify the host where the error was raised.</p>
</release-item>
</release-refactor-list>
</release-core-list>
<release-doc-list>
<release-feature-list>
<release-item>
<p>Added <file>release.pl</file> to make releases reproducible. For now this only includes building and deploying documentation.</p>
</release-item>
<release-item>
<release-item-contributor-list>
<release-item-ideator id="vitale.michael"/>
</release-item-contributor-list>
<p>Added clarification on why the default for the <br-option>backrest-user</br-option> option is <id>backrest</id>.</p>
</release-item>
<release-item>
<release-item-contributor-list>
<release-item-ideator id="vitale.michael"/>
</release-item-contributor-list>
<p>Updated information about package availability on supported platforms.</p>
</release-item>
</release-feature-list>
<release-refactor-list>
<release-item>
<release-item-contributor-list>
<release-item-ideator id="vondendriesch.adrian"/>
<release-item-contributor id="steele.david"/>
</release-item-contributor-list>
<p>HTML footer dates are statically created in English in order to be reproducible.</p>
</release-item>
</release-refactor-list>
</release-doc-list>
<release-test-list>
<release-bug-list>
<release-item>
<p>Fixed a version checking issue in <file>test.pl</file>.</p>
</release-item>
<release-item>
<p>Fixed an issue where multi-threaded tests were not being run when requested.</p>
</release-item>
</release-bug-list>
<release-refactor-list>
<release-item>
<p>Reduce the frequency that certain tests are run to save time in regression.</p>
</release-item>
<release-item>
<p>Disable control master for older OS versions where it is less stable.</p>
</release-item>
</release-refactor-list>
</release-test-list>
</release>
<release date="2016-07-02" version="1.03" title="Check Command and Bug Fixes">
<release-core-list>
<release-bug-list>
<release-item>
<release-item-contributor-list>
<release-item-ideator id="parkinson.janice"/>
<release-item-ideator id="barber.chris"/>
</release-item-contributor-list>
<p>Fixed an issue where <id>keep-alives</id> could be starved out by lots of small files during multi-threaded <cmd>backup</cmd>. They were also completely absent from single/multi-threaded <cmd>backup</cmd> resume and <cmd>restore</cmd> checksumming.</p>
</release-item>
<release-item>
<release-item-contributor-list>
<release-item-ideator id="barber.chris"/>
</release-item-contributor-list>
<p>Fixed an issue where the <cmd>expire</cmd> command would refuse to run when explicitly called from the command line if the <br-option>db-host</br-option> option was set. This was not an issue when <cmd>expire</cmd> was run automatically after a <cmd>backup</cmd></p>
</release-item>
<release-item>
<p>Fixed an issue where validation was being running on <pg-setting>archive_command</pg-setting> even when the <br-option>archive-check</br-option> option was disabled.</p>
</release-item>
</release-bug-list>
<release-feature-list>
<release-item>
<release-item-contributor-list>
<release-item-ideator id="steele.david"/>
<release-item-contributor id="shang.cynthia"/>
<release-item-reviewer id="steele.david"/>
</release-item-contributor-list>
<p>Added <cmd>check</cmd> command to validate that <backrest/> is configured correctly for archiving and backups.</p>
</release-item>
<release-item>
<p>Added the <br-option>protocol-timeout</br-option> option. Previously <br-option>protocol-timeout</br-option> was set as <br-option>db-timeout</br-option> + 30 seconds.</p>
</release-item>
<release-item>
<p>Failure to shutdown remotes at the end of the backup no longer throws an exception. Instead a warning is generated that recommends a higher <br-option>protocol-timeout</br-option>.</p>
</release-item>
<release-item>
<p>Experimental support for non-exclusive backups in <postgres/> 9.6 beta2. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but <backrest/> will be updated with each release to keep pace.</p>
</release-item>
</release-feature-list>
<release-refactor-list>
<release-item>
<p>The <code>pg_xlogfile_name()</code> function is no longer used to construct WAL filenames from LSNs. While this function is convenient it is not available on a standby. Instead, the archive is searched for the LSN in order to find the timeline. If due to some misadventure the LSN appears on multiple timelines then an error will be thrown, whereas before this condition would have passed unnoticed.</p>
</release-item>
<release-item>
<p>Option handling is now far more strict. Previously it was possible for a command to use an option that was not explicitly assigned to it. This was especially true for the <br-option>backup-host</br-option> and <br-option>db-host</br-option> options which are used to determine locality.</p>
</release-item>
<release-item>
<p>Improved handling of users/groups captured during backup that do not exist on the restore host. Also explicitly handle the case where user/group is not mapped to a name.</p>
</release-item>
<release-item>
<p>Changed version variable to a constant. It had originally been designed to play nice with a specific packaging tool but that tool was never used.</p>
</release-item>
</release-refactor-list>
</release-core-list>
<release-doc-list>
<release-bug-list>
<release-item>
<p>Fixed DTD search path that did not work properly when <setting>--doc-path</setting> was used.</p>
</release-item>
<release-item>
<p>Fixed <backrest/>-specific xml that was loaded for non-<backrest/> projects.</p>
</release-item>
<release-item>
<p>Fixed section names being repeated in the info output when multiple <br-option>--require</br-option> options depended on the same sections.</p>
</release-item>
<release-item>
<p>Fixed <backrest/> config sections being blank in the output when not loaded from cache.</p>
</release-item>
</release-bug-list>
<release-feature-list>
<release-item>
<p>Allow hidden options to be added to a command. This allows certain commands (like <id>apt-get</id>) to be forced during the build without making that a part of the documentation.</p>
</release-item>
<release-item>
<p>Allow command summaries to be inserted anywhere in the documentation to avoid duplication.</p>
</release-item>
<release-item>
<release-item-contributor-list>
<release-item-ideator id="vondendriesch.adrian"/>
<release-item-contributor id="steele.david"/>
</release-item-contributor-list>
<p>Allow a static date to be used for documentation to generate reproducible builds.</p>
</release-item>
<release-item>
<p>Update TeX Live to 2016 version.</p>
</release-item>
<release-item>
<release-item-contributor-list>
<release-item-contributor id="shang.cynthia"/>
<release-item-reviewer id="steele.david"/>
</release-item-contributor-list>
<p>Added documentation for asynchronous archiving to the user guide.</p>
</release-item>
</release-feature-list>
<release-refactor-list>
<release-item>
<p>Recommended install location for <backrest/> modules is now <path>/usr/share/perl5</path> since <path>/usr/lib/perl5</path> has been removed from the search path in newer versions of Perl.</p>
</release-item>
<release-item>
<p>Added instructions for removing prior versions of <backrest/>.</p>
</release-item>
<release-item>
<p>New, consolidated implementation for link rendering.</p>
</release-item>
<release-item>
<p><postgres/> version is now a variable to allow multi-version documentation.</p>
</release-item>
</release-refactor-list>
</release-doc-list>
<release-test-list>
<release-feature-list>
<release-item>
<p>Obsolete containers are removed by the <br-option>--vm-force</br-option> option.</p>
</release-item>
</release-feature-list>
<release-refactor-list>
<release-item>
<p>Major refactor of the test suite to make it more modular and object-oriented. Multiple Docker containers can now be created for a single test to simulate more realistic environments. Tests paths have been renamed for clarity.</p>
</release-item>
<release-item>
<p>Greatly reduced the quantity of Docker containers built by default. Containers are only built for <postgres/> versions specified in <id>db-minimal</id> and those required to build documentation. Additional containers can be built with <br-option>--db-version=all</br-option> or by specifying a version, e.g. <br-option>--db-version=9.4</br-option>.</p>
</release-item>
</release-refactor-list>
</release-test-list>
</release>
<release date="2016-06-02" version="1.02" title="Bug Fix for Perl 5.22">
<release-core-list>
<release-bug-list>
<release-item>
<release-item-contributor-list>
<release-item-contributor id="vondendriesch.adrian"/>
<release-item-reviewer id="steele.david"/>
</release-item-contributor-list>
<p>Fix usage of sprintf() due to new constraints in Perl 5.22. Parameters not referenced in the format string are no longer allowed.</p>
</release-item>
</release-bug-list>
<release-refactor-list>
<release-item>
<p>Log directory create and file open now using FileCommon functions which produce more detailed error messages on failure.</p>
</release-item>
</release-refactor-list>
</release-core-list>
<release-doc-list>
<release-bug-list>
<release-item>
<release-item-contributor-list>
<release-item-contributor id="berg.christoph"/>
<release-item-contributor id="vondendriesch.adrian"/>
<release-item-reviewer id="steele.david"/>
</release-item-contributor-list>
<p>Fixed syntax that was not compatible with Perl 5.2X.</p>
</release-item>
<release-item>
<release-item-contributor-list>
<release-item-ideator id="vondendriesch.adrian"/>
</release-item-contributor-list>
<p>Fixed absolute paths that were used for the PDF logo.</p>
</release-item>
</release-bug-list>
<release-feature-list>
<release-item>
<p>Release notes are now broken into sections so that bugs, features, and refactors are clearly delineated. An <quote>Additional Notes</quote> section has been added for changes to documentation and the test suite that do not affect the core code.</p>
</release-item>
<release-item>
<release-item-contributor-list>
<release-item-contributor id="vondendriesch.adrian"/>
<release-item-contributor id="steele.david"/>
</release-item-contributor-list>
<p>Added man page generation.</p>
</release-item>
<release-item>
<p>Added an execution cache so that documentation can be generated without setting up the full container environment. This is useful for packaging, keeps the documentation consistent for a release, and speeds up generation when no changes are made in the execution list.</p>
</release-item>
</release-feature-list>
<release-refactor-list>
<release-item>
<release-item-contributor-list>
<release-item-ideator id="steele.david"/>
<release-item-contributor id="shang.cynthia"/>
<release-item-reviewer id="steele.david"/>
</release-item-contributor-list>
<p>The change log was the last piece of documentation to be rendered in Markdown only. Wrote a converter so the document can be output by the standard renderers. The change log will now be located on the website and has been renamed to <quote>Releases</quote>.</p>
</release-item>
<release-item>
<p>Remove function constants and pass strings directly to logDebugParam(). The function names were only used once so creating constants for them was wasteful.</p>
</release-item>
<release-item>
<p>Lists can now be used outside of <id>p</id> and <id>text</id> tags for more flexible document structuring.</p>
</release-item>
</release-refactor-list>
</release-doc-list>
<release-test-list>
<release-bug-list>
<release-item>
<p>Replaced overzealous <code>perl -cW</code> check which failed on Perl 5.22 with <code>perl -cw</code>.</p>
</release-item>
</release-bug-list>
<release-feature-list>
<release-item>
<p>Added Ubuntu 16.04 (Xenial) and Debian 8 (Jessie) to the regression suite.</p>
</release-item>
<release-item>
<p>Upgraded doc/test VM to Ubuntu 16.04. This will help catch Perl errors in the doc code since it is not run across multiple distributions like the core and test code. It is also to be hoped that a newer kernel will make Docker more stable.</p>
</release-item>
</release-feature-list>
<release-refactor-list>
<release-item>
<p>Test release version against the executable using <file>change-log.xml</file> instead of <file>CHANGELOG.md</file>.</p>
</release-item>
</release-refactor-list>
</release-test-list>
</release>
<release date="2016-05-17" version="1.01" title="Enhanced Info, Selective Restore, and 9.6 Support">
<release-core-list>
<release-feature-list>
<release-item>
<release-item-contributor-list>
<release-item-ideator id="steele.david"/>
<release-item-contributor id="shang.cynthia"/>
<release-item-reviewer id="steele.david"/>
</release-item-contributor-list>
<p>Enhanced text output of <cmd>info</cmd> command to include timestamps, sizes, and the reference list for all backups.</p>
</release-item>
<release-item>
<release-item-contributor-list>
<release-item-ideator id="frost.stephen"/>
<!-- <release-item-contributor id="steele.david"/> -->
<release-item-reviewer id="shang.cynthia"/>
<release-item-reviewer id="smith.greg"/>
<release-item-reviewer id="frost.stephen"/>
</release-item-contributor-list>
<p>Allow selective restore of databases from a cluster backup. This feature can result in major space and time savings when only specific databases are restored. Unrestored databases will not be accessible but must be manually dropped before they will be removed from the shared catalogue.</p>
</release-item>
<release-item>
<release-item-contributor-list>
<!-- <release-item-contributor id="steele.david"/> -->
<release-item-reviewer id="shang.cynthia"/>
</release-item-contributor-list>
<p>Experimental support for non-exclusive backups in <postgres/> 9.6 beta1. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but <backrest/> will be updated with each release to keep pace.</p>
</release-item>
</release-feature-list>
</release-core-list>
</release>
<release date="2016-04-14" version="1.00" title="New Repository Format and Configuration Scheme, Link Support">
<release-core-list>
<p><b>IMPORTANT NOTE</b>: This flag day release breaks compatibility with older versions of <backrest/>. The manifest format, on-disk structure, configuration scheme, and the exe/path names have all changed. You must create a new repository to hold backups for this version of <backrest/> and keep your older repository for a time in case you need to do a restore. Restores from the prior repository will require the prior version of <backrest/> but because of name changes it is possible to have <id>1.00</id> and a prior version of <backrest/> installed at the same time. See the notes below for more detailed information on what has changed.</p>
<release-feature-list>
<release-item>
<release-item-contributor-list>
<release-item-ideator id="renner.michael"/>
<!-- <release-item-contributor id="steele.david"/> -->
</release-item-contributor-list>
<p>Implemented a new configuration scheme which should be far simpler to use. See the User Guide and Configuration Reference for details but for a simple configuration all options can now be placed in the <setting>stanza</setting> section. Options that are shared between stanzas can be placed in the <setting>[global]</setting> section. More complex configurations can still make use of command sections though this should be a rare use case.</p>
</release-item>
<release-item>
<p>The <setting>repo-path</setting> option now always refers to the repository where backups and archive are stored, whether local or remote, so the <setting>repo-remote-path</setting> option has been removed. The new <setting>spool-path</setting> option can be used to define a location for queueing WAL segments when archiving asynchronously. A local repository is no longer required.</p>
</release-item>
<release-item>
<release-item-contributor-list>
<release-item-ideator id="renner.michael"/>
<release-item-ideator id="frost.stephen"/>
<!-- <release-item-contributor id="steele.david"/> -->
</release-item-contributor-list>
<p>The default configuration filename is now <file>pgbackrest.conf</file> instead of <file>pg_backrest.conf</file>. This was done for consistency with other naming changes but also to prevent old config files from being loaded accidentally when migrating to <id>1.00</id>.</p>
</release-item>
<release-item>
<release-item-contributor-list>
<release-item-ideator id="renner.michael"/>
<release-item-ideator id="frost.stephen"/>
<!-- <release-item-contributor id="steele.david"/> -->
</release-item-contributor-list>
<p>The default repository name was changed from <path>/var/lib/backup</path> to <path>/var/lib/pgbackrest</path>.</p>
</release-item>
<release-item>
<!-- <release-item-contributor-list>
<release-item-contributor id="steele.david"/>
</release-item-contributor-list> -->
<p>Lock files are now stored in <path>/tmp/pgbackrest</path> by default. These days <path>/run/pgbackrest</path> is the preferred location but that would require init scripts which are not part of this release. The <setting>lock-path</setting> option can be used to configure the lock directory.</p>
</release-item>
<release-item>
<release-item-contributor-list>
<release-item-ideator id="frost.stephen"/>
<!-- <release-item-contributor id="steele.david"/> -->
</release-item-contributor-list>
<p>Log files are now stored in <path>/var/log/pgbackrest</path> by default and no longer have the date appended so they can be managed with <id>logrotate</id>. The <setting>log-path</setting> option can be used to configure the lock directory.</p>
</release-item>
<release-item>
<release-item-contributor-list>
<release-item-ideator id="renner.michael"/>
<release-item-ideator id="frost.stephen"/>
<!-- <release-item-contributor id="steele.david"/> -->
</release-item-contributor-list>
<p>Executable filename changed from <file>pg_backrest</file> to <file>pgbackrest</file>.</p>
</release-item>
<release-item>
<p>All files and directories linked from PGDATA are now included in the backup. By default links will be restored directly into PGDATA as files or directories. The <setting>{[dash]}-link-all</setting> option can be used to restore all links to their original locations. The <setting>{[dash]}-link-map</setting> option can be used to remap a link to a new location.</p>
</release-item>
<release-item>
<p>Removed <setting>{[dash]}-tablespace</setting> option and replaced with <setting>{[dash]}-tablespace-map-all</setting> option which should more clearly indicate its function.</p>
</release-item>