## 1.04 2016-07-30

Various Bug Fixes

Fixed an issue an where an extraneous remote was created causing threaded backup/restore to possibly timeout and/or throw a lock conflict.

Fixed an issue where db-path was not required for the check command so an assert was raised when it was missing rather than a polite error message.

Fixed check command to throw an error when database version/id does not match that of the archive.

Fixed an issue where a remote could try to start its own remote when the backup-host option was not present in pgbackrest.conf on the database server.

Fixed an issue where the contents of pg_xlog were being backed up if the directory was symlinked. This didn't cause any issues during restore but was a waste of space.

Fixed an invalid `log()` call in lock routines.

Experimental support for non-exclusive backups in 9.6 beta3. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but will be updated with each release to keep pace.

Suppress banners on SSH protocol connections.

Improved remote error messages to identify the host where the error was raised.

All remote types now take locks. The exceptions date to when the test harness and were running in the same VM and no longer apply.

Enhancements to the protocol layer for improved reliability and error handling.

Exceptions are now passed back from threads as messages when possible rather than raised directly.

Temp files created during backup are now placed in the same directory as the target file.

Output lock file name when a lock cannot be acquired to aid in debugging.

Reduce calls to `protocolGet()` in backup/restore.

Added clarification on why the default for the backrest-user option is backrest.

Updated information about package availability on supported platforms.

Added release.pl to make releases reproducible. For now this only includes building and deploying documentation.

HTML footer dates are statically created in English in order to be reproducible.

Fixed a version checking issue in test.pl.

Fixed an issue where multi-threaded tests were not being run when requested.

Reduce the frequency that certain tests are run to save time in regression.

Disable control master for older OS versions where it is less stable.