Fixed an issue where resumed compressed backups were not preserving existing files.

Fixed an issue where resume and incr/diff would not ensure that the prior backup had the same compression and hardlink settings.

Fixed an issue where a cold backup using {[dash]}-no-start-stop could be started on a running cluster without {[dash]}-force specified.

Fixed an issue where a thread could be started even when none were requested.

Fixed an issue where the version number was not being updated in backup.info and archive.info after an upgrade/downgrade.

Fixed an issue where the info command was throwing an exception when the repository contained no stanzas.

Fixed an issue where the pg_stop_backup() NOTICEs were being output to stderr.

Experimental support for 9.5 alpha2. This may break when the control version or WAL magic changes in future versions but will be updated in each release to keep pace. All regression tests pass except for {[dash]}-target-resume tests (this functionality has changed in 9.5) and there is no testing yet for .partial WAL segments.

Renamed recovery-setting option and section to recovery-option to be more consistent with naming conventions.

Added dynamic module loading to speed up commands, especially asynchronous archiving.

Code cleanup and refactoring to standardize on patterns that have evolved over time.

Command-line help is now extracted from the same XML source that is used for the other documentation and includes much more detail.

Expiration tests are now synthetic rather than based on actual backups. This will allow development of more advanced expiration features.