# Changelog

## pg_back 2.6.0

* Allow to override the connection user per database
* Add the --delete-uploaded to delete local file after upload
* Add the --backup-file-mode option to configure the permissions on dumps
* Add the --uniform-timestamp option to create all files of a run with the same
  time in the filenames

## pg_back 2.5.0

* Fix Azure URL handling
* Add support to upload files to Backblaze B2

## pg_back 2.4.0

* Add the --upload-prefix option to put files under this remote directory
* Do not try to purge global files when --dump-only is enabled

## pg_back 2.3.1

* Fix cipher_public_key and cipher_private_key not allowed in config file

## pg_back 2.3.0

* Add options to avoid dumping hash passwords with pg_dumpall
* Ensure usability without superuser privileges
* Update Go dependencies
* Add the --dump-only option to only dump databases
* Fix mode of the directory when the format is dir
* Add an option to download from remote locations
* Add an option to list files from remote locations

## pg_back 2.2.0

* Support compression in plain format
* Add option to skip loading config file
* Harden file permissions of output files
* Add Dockerfile and an example docker compose config
* Add an example configuration for Kubernetes
* Support AGE public keys for encryption
* Fix inclusion and excusion lists parsing in per db configs

## pg_back 2.1.1

* Fix exec path expansion when binDir is set
* Validate if the path given to -B is an existing directory
* Replace _ with - in the Debian package name, to make it a valid name
* Build with go 1.20 and update dependencies for security fixes

## pg_back 2.1.0

* Add quiet mode with the commnad line option -q/--quiet. It takes precedence
  over verbose mode.
* Compute checksum of global and ACL files
* Add a dump of hba_file and ident_file
* Encrypt and decrypt produced files
* Ensure jobs option is greater than or equal to 1
* Better check and adapt to versions of pg_dump and pg_dumpall
* Upload files to AWS S3
* Upload files to a remote host with SFTP
* Upload files to Google Cloud Storage (GCS)
* Upload files to Azure Blob Storage
* Add a systemd timer for Debian in the package generated by goreleaser
* Check the syntax of the configuration file
* Always create a createdb.sql file for plain format instead of dumping with --create
* Fix the purge based on a number of files to keep

## pg_back 2.0.1

* Use /var/run/postgresql as default host for connections
* Support Windows
* Force legacy timestamp format on Windows
* Allow postgresql URIs as connection strings
* Tell pg_dump and pg_dumpall never to prompt for a password


## pg_back 2.0.0

* Full rewrite in Go
* Better handling of configuration dump
* No need for pg_dumpacl anymore
* Long option names on the commandline
* New command line options:
  - --bin-directory - path to the binaries of PostgreSQL
  - --format - dump format
  - --parallel-backup-jobs - jobs for directory format
  - --compress - compression level for format that support it
  - --pre-backup-hook - command to run before backups
  - --post-backup-hook - command to run after backups
* keyword=value connection string support with the -d option
* Purge interval can be less than 1 day
* Allow concurrent pg_dump jobs
* Per database output directories using the {dbname} keyword in the path
* Per database configuration with schema and table inclusion/exclusion
* New configuration file format (ini) with an option to convert from the v1
  format
* RFC 3339 time format in file name by default
* Use semver for version numbers
* Add a set of unit tests

Incompatible changes from v1:

* Configuration file format: use --convert-legacy-config to convert a v1
  configuration file
* Fixed filename format with timestamp: either RFC 3339 or the default from v1
  (YYYY-mm-dd_HH-MM-SS)
* Hook commands are parsed and split respecting shell quotes, and passed to
  fork/exec, not a to shell


## pg_back 1.10

* Add signature in Directory format
* Allow negative integer for PGBK_PURGE


## pg_back 1.9

* Fix dumping settings not using connection parameters


## pg_back 1.8

* Add a timeout when trying to pause replication on standby clusters
* Add pre/post-backup hooks
* Save to output of SHOW ALL to a file, to backup parameters
* Add optionnal checksum of dump files
* New default configuration file path (/etc/pg_back/pg_back.conf) with
  backward compatibility
* Some bugfixes and improvements


## pg_back 1.7

* Fix the purge not handling pg_dumpacl SQL file properly
* Improve documentation of the configuration file


## pg_back 1.6

* Improvements on support for pg_dumpacl (0.1 and 0.2)


## pg_back 1.5

* Support for pg_dumpacl (https://github.com/dalibo/pg_dumpacl)
* RPM Packaging


## pg_back 1.4

* Support PostgreSQL 10


## pg_back 1.3

* Ensure replication is not paused while an exclusive lock is taken
* Allow a retention policy based on time and number of backups
* Allow to disable purge


## pg_back 1.2

* Support pausing replication on standby servers
* Add timestamped information messages


## pg_back 1.1

* Support the directory format of pg_dump


## pg_back 1.0

* First release

