## 2.06 2018-10-15

Checksum Delta Backup and PostgreSQL 11 Support

Fix missing URI encoding in S3 driver.

Fix incorrect error message for duplicate options in configuration files.

Fix incorrectly reported error return in info logging.

A return code of 1 from the archive-get was being logged as an error message at info level but otherwise worked correctly.

Add checksum delta for incremental backups.

Checksum delta backups uses checksums rather than timestamps to determine if files have changed.

11 support, including configurable WAL segment size.

Ignore all files in a linked tablespace directory except the subdirectory for the current version of .

Previously an error would be generated if other files were present and not owned by the user.

Improve info command to display the stanza cipher type.

Improve support for special characters in filenames.

Allow delta option to be specified in the configuration file.

Migrate local, unencrypted, non-S3 archive-get command to C.

Storage refactoring. Posix file functions now differentiate between open and missing errors. Don't use negations in objects below Storage. Rename posix driver files/functions for consistency. Full abstraction of storage driver interface. Merge protocol storage helper into storage helper. Add CIFS driver to storage helper for read-only repositories.

Update all interfaces to use variable parameter constructors.

Info objects now parse JSON and use specified storage.

Add `ioReadLine()`/`ioWriteLine()` to `IoRead`/`IoWrite` objects.

Add helper for repository storage.

Add `cryptoHmacOne()` for HMAC support.

Add `cfgDefOptionMulti()` to identify multi-value options.

Add `bufNewZ()` and `bufHex()` to `Buffer` object.

Allow `hashSize()` to run on remote storage.

Restore `bIgnoreMissing` flag in `backupFile()` lost in storage refactor.

Migrate `walIsPartial()`, `walIsSegment()`, and `walSegmentFind()` from Perl to C.

Migrate control functions to detect stop files to C.

Make archive-get info messages consistent between C and Perl implementations.

Change locking around async process forking to be more test friendly.

Simplify debug logging by allowing log functions to return `String` objects.

Improve documentation in `filter.h` and `filter.internal.h`.

Use command in authorized_hosts to improve SSH security.

List allowable values for the buffer-size option in the configuration reference.

Update introduction to be pithy.

Install nodejs from deb.nodesource.com.

Disable flapping archive/get unit on CentOS 6.

Move test expect log out of the regular test directory.

Fix buffer underrun in configuration test harness.

Fix missing test caused by a misplaced YAML tag.

Make Valgrind return an error even when a non-fatal issue is detected. Update some minor issues discovered in the tests as a result.

Add -ftree-coalesce-vars option to unit test compilation.

Clear test directory between test runs.

Allow C or Perl coverage to run on more than one VM.

Don't perform valgrind when requested.

Remove compiler warnings that are not valid for u16.

Merge all posix storage tests into a single unit.

Add .gitignore to C src directory.

Fix typo in unit test error messages, EXECTED => EXPECTED.

Make comment blocks consistent across all tests.