## 1.18 2017-04-12

Stanza Upgrade, Refactoring, and Locking Improvements

Fixed an issue where read-only operations that used local worker processes (i.e. restore) were creating write locks that could interfere with parallel archive-push.

Added the stanza-upgrade command to provide a mechanism for upgrading a stanza after upgrading to a new major version of .

Added validation of pgbackrest.conf to display warnings if options are not valid or are not in the correct section.

Simplify locking scheme. Now, only the master process will hold write locks (for archive-push and backup commands) and not all local and remote worker processes as before.

Do not set timestamps of files in the backup directories to match timestamps in the cluster directory. This was originally done to enable backup resume, but that process is now implemented with checksums.

Improved error message when the restore command detects the presence of postmaster.pid.

Renumber return codes between 25 and 125 to avoid PostgreSQL interpreting some as fatal signal exceptions.

Refactor `Ini.pm` to facilitate testing.

The backup and restore commands no longer copy via temp files. In both cases the files are checksummed on resume so there's no danger of partial copies.

Allow functions to accept optional parameters as a hash.

Refactor `File->list()` and `fileList()` to accept optional parameters.

Refactor `backupLabel()` and add unit tests.

Silence some perl critic warnings.

Update wording for release note sections.

Ignore clock skew in container libc/package builds using make. It is common for containers to have clock skew so the build process takes care of this issue independently.

Complete statement/branch coverage for `Ini.pm`.

Improved functions used to test/munge manifest and info files.

Coverage testing always enabled on Debian-based containers.

Require description in every call to `testResult()`.

Make `iWaitSeconds` an optional parameter for `testResult()`.

Updated vagrant to new version and image.

Fixed flapping archive stop tests.

Added ability to test warning messages.