Barman News - History of user-visible changes
Copyright (C) 2011-2015 2ndQuadrant Italia Srl

Version 1.5.0 - 28 Sep 2015

-   Add support for the get-wal command which allows users to fetch any
    WAL file from the archive of a specific server
-   Add support for retry hook scripts, a special kind of hook scripts
    that Barman tries to run until they succeed
-   Add active configuration option for a server to temporarily disable
    the server by setting it to False
-   Add barman_lock_directory global option to change the location of
    lock files (by default: 'barman_home')
-   Execute the full suite of checks before starting a backup, and skip
    it in case one or more checks fail
-   Forbid to delete a running backup
-   Analyse include directives of a PostgreSQL server during backup and
    recover operations
-   Add check for conflicting paths in the configuration of Barman, both
    intra (by temporarily disabling a server) and inter-server (by
    refusing any command, to any server).
-   Add check for wal_level
-   Add barman-wal-restore script to be used as restore_command on a
    standby server, in conjunction with barman get-wal
-   Implement a standard and consistent policy for error management
-   Improved cache management of backups
-   Improved management of configuration in unit tests
-   Tutorial and man page sources have been converted to Markdown format
-   Add code documentation through Sphinx
-   Complete refactor of the code responsible for managing the backup
    and the recover commands
-   Changed internal directory structure of a backup
-   Introduce copy_method option (currently fixed to rsync)
-   Bug fixes:
    -   Manage options without '=' in PostgreSQL configuration files
    -   Preserve Timeline history files (Fixes: #70)
    -   Workaround for rsync on SUSE Linux (Closes: #13 and #26)
    -   Disables dangerous settings in postgresql.auto.conf
        (Closes: #68)

Version 1.4.1 - 05 May 2015

* Fix for WAL archival stop working if first backup is EMPTY
  (Closes: #64)
* Fix exception during error handling in Barman recovery
  (Closes: #65)
* After a backup, limit cron activity to WAL archiving only
  (Closes: #62)
* Improved robustness and error reporting of the backup delete
  command (Closes: #63)
* Fix computation of WAL production ratio as reported in the
  show-backup command
* Improved management of xlogb file, which is now correctly fsynced
  when updated. Also, the rebuild-xlogdb command now operates on a
  temporary new file, which overwrites the main one when finished.
* Add unit tests for dateutil module compatibility
* Modified Barman version following PEP 440 rules and added support
  of tests in Python 3.4

Version 1.4.0 - 26 Jan 2015

* Incremental base backup implementation through the reuse_backup
  global/server option. Possible values are off (disabled,
  default), copy (preventing unmodified files from being
  transferred) and link (allowing for deduplication through hard
  links).
* Store and show deduplication effects when using reuse_backup=
  link.
* Added transparent support of pg_stat_archiver (PostgreSQL 9.4) in
  check, show-server and status commands.
* Improved administration by invoking WAL maintenance at the end of
  a successful backup.
* Changed the way unused WAL files are trashed, by differentiating
  between concurrent and exclusive backup cases.
* Improved performance of WAL statistics calculation.
* Treat a missing pg_ident.conf as a WARNING rather than an error.
* Refactored output layer by removing remaining yield calls.
* Check that rsync is in the system path.
* Include history files in WAL management.
* Improved robustness through more unit tests.
* Fixed bug #55: Ignore fsync EINVAL errors on directories.
* Fixed bug #58: retention policies delete.

Version 1.3.3 - 21 Aug 2014

* Added "last_backup_max_age", a new global/server option that
  allows administrators to set the max age of the last backup in a
  catalogue, making it easier to detect any issues with periodical
  backup execution
* Improved robustness of "barman backup" by introducing two global/
  server options: "basebackup_retry_times" and
  "basebackup_retry_sleep". These options allow an administrator to
  specify, respectively, the number of attempts for a copy
  operation after a failure, and the number of seconds of wait
  before retrying
* Improved the recovery process via rsync on an existing directory
  (incremental recovery), by splitting the previous rsync call into
  several ones - invoking checksum control only when necessary
* Added support for PostgreSQL 8.3
* Minor changes:

    + Support for comma separated list values configuration options
    + Improved backup durability by calling fsync() on backup and
      WAL files during "barman backup" and "barman cron"
    + Improved Nagios output for "barman check --nagios"
    + Display compression ratio for WALs in "barman show-backup"
    + Correctly handled keyboard interruption (CTRL-C) while
      performing barman backup
    + Improved error messages of failures regarding the stop of a
      backup
    + Wider coverage of unit tests
* Bug fixes:

    + Copies "recovery.conf" on the remote server during "barman
      recover" (#45)
    + Correctly detect pre/post archive hook scripts (#41)

Version 1.3.2 - 15 Apr 2014

* Fixed incompatibility with PostgreSQL 8.4 (Closes #40, bug
  introduced in version 1.3.1)

Version 1.3.1 - 14 Apr 2014

* Added support for concurrent backup of PostgreSQL 9.2 and 9.3
  servers that use the "pgespresso" extension. This feature is
  controlled by the "backup_options" configuration option (global/
  server) and activated when set to "concurrent_backup". Concurrent
  backup allows DBAs to perform full backup operations from a
  streaming replicated standby.
* Added the "barman diagnose" command which prints important
  information about the Barman system (extremely useful for support
  and problem solving)
* Improved error messages and exception handling interface
* Fixed bug in recovery of tablespaces that are created inside the
  PGDATA directory (bug introduced in version 1.3.0)
* Fixed minor bug of unhandled -q option, for quiet mode of
  commands to be used in cron jobs (bug introduced in version
  1.3.0)
* Minor bug fixes and code refactoring

Version 1.3.0 - 3 Feb 2014

* Refactored BackupInfo class for backup metadata to use the new
  FieldListFile class (infofile module)

* Refactored output layer to use a dedicated module, in order to
  facilitate integration with Nagios (NagiosOutputWriter class)

* Refactored subprocess handling in order to isolate stdin/stderr/
  stdout channels (command_wrappers module)

* Refactored hook scripts management

* Extracted logging configuration and userid enforcement from the
  configuration class.

* Support for hook scripts to be executed before and after a WAL
  file is archived, through the 'pre_archive_script' and
  'post_archive_script' configuration options.

* Implemented immediate checkpoint capability with
  --immediate-checkpoint command option and 'immediate_checkpoint'
  configuration option

* Implemented network compression for remote backup and recovery
  through the 'network_compression' configuration option (#19)

* Implemented the 'rebuild-xlogdb' command (Closes #27 and #28)

* Added deduplication of tablespaces located inside the PGDATA
  directory

* Refactored remote recovery code to work the same way local
  recovery does, by performing remote directory preparation
  (assuming the remote user has the right permissions on the remote
  server)

* 'barman backup' now tries and create server directories before
  attempting to execute a full backup (#14)

* Fixed bug #22: improved documentation for tablespaces relocation

* Fixed bug #31: 'barman cron' checks directory permissions for
  lock file

* Fixed bug #32: xlog.db read access during cron activities

Version 1.2.3 - 5 September 2013

* Added support for PostgreSQL 9.3

* Added support for the "--target-name" recovery option, which allows to
  restore to a named point previously specified with pg_create_restore_point
  (only for PostgreSQL 9.1 and above users)

* Fixed bug #27 about flock() usage with barman.lockfile (many thanks to
  Damon Snyder <damonsnyder at users.sf.net>)

* Introduced Python 3 compatibility

Version 1.2.2 - 24 June 2013

* Fix python 2.6 compatibility

Version 1.2.1 - 17 June 2013

* Added the "bandwidth_limit" global/server option which allows
  to limit the I/O bandwidth (in KBPS) for backup and recovery operations

* Added the "tablespace_bandwidth_limit" global/server option which allows
  to limit the I/O bandwidth (in KBPS) for backup and recovery operations
  on a per tablespace basis

* Added /etc/barman/barman.conf as default location

* Bug fix: avoid triggering the minimum_redundancy check
  on FAILED backups (thanks to Jérôme Vanandruel)

Version 1.2.0 - 31 Jan 2013

* Added the "retention_policy_mode" global/server option which defines
  the method for enforcing retention policies (currently only "auto")

* Added the "minimum_redundancy" global/server option which defines
  the minimum number of backups to be kept for a server

* Added the "retention_policy" global/server option which defines
  retention policies management based on redunancy (e.g. REDUNDANCY 4)
  or recovery window (e.g. RECOVERY WINDOW OF 3 MONTHS)

* Added retention policy support to the logging infrastructure, the
  "check" and the "status" commands

* The "check" command now integrates minimum redundancy control 

* Added retention policy states (valid, obsolete and potentially obsolete)
  to "show-backup" and "list-backup" commands

* The 'all' keyword is now forbidden as server name

* Added basic support for Nagios plugin output to the 'check'
  command through the --nagios option

* Barman now requires argh => 0.21.2 and argcomplete-

* Minor bug fixes

Version 1.1.2 - 29 Nov 2012

* Added "configuration_files_directory" option that allows
  to include multiple server configuration files from a directory

* Support for special backup IDs: latest, last, oldest, first

* Management of  multiple servers to the 'list-backup' command.
  'barman list-backup all' now list backups for all the configured servers.

* Added "application_name" management for PostgreSQL >= 9.0

* Fixed bug #18: ignore missing WAL files if not found during delete

Version 1.1.1 - 16 Oct 2012

* Fix regressions in recover command.

Version 1.1.0 - 12 Oct 2012

* Support for hook scripts to be executed before and after
  a 'backup' command through the 'pre_backup_script' and 'post_backup_script'
  configuration options.

* Management of  multiple servers to the 'backup' command.
  'barman backup all' now iteratively backs up all the configured servers.

* Fixed bug #9: "9.2 issue with pg_tablespace_location()"

* Add warning in recovery when file location options have been defined
  in the postgresql.conf file (issue #10)

* Fail fast on recover command if the destination directory contains
  the ':' character (Closes: #4) or if an invalid tablespace
  relocation rule is passed

* Report an informative message when pg_start_backup() invocation
  fails because an exclusive backup is already running (Closes: #8)

Version 1.0.0 - 6 July 2012

* Backup of multiple PostgreSQL servers, with different versions. Versions
  from PostgreSQL 8.4+ are supported.

* Support for secure remote backup (through SSH)

* Management of a catalog of backups for every server, allowing users
  to easily create new backups, delete old ones or restore them

* Compression of WAL files that can be configured on a per server
  basis using compression/decompression filters, both predefined (gzip
  and bzip2) or custom

* Support for INI configuration file with global and per-server directives.
  Default location for configuration files are /etc/barman.conf or
  ~/.barman.conf. The '-c' option allows users to specify a different one

* Simple indexing of base backups and WAL segments that does not require
  a local database

* Maintenance mode (invoked through the 'cron' command) which performs
  ordinary operations such as WAL archival and compression, catalog
  updates, etc.

* Added the 'backup' command which takes a full physical base backup
  of the given PostgreSQL server configured in Barman

* Added the 'recover' command which performs local recovery of a given
  backup, allowing DBAs to specify a point in time. The 'recover' command
  supports relocation of both the PGDATA directory and, where applicable,
  the tablespaces

* Added the '--remote-ssh-command' option to the 'recover' command for
  remote recovery of a backup. Remote recovery does not currently support
  relocation of tablespaces

* Added the 'list-server' command that lists all the active servers
  that have been configured in barman

* Added the 'show-server' command that shows the relevant information
  for a given server, including all configuration options

* Added the 'status' command which shows information about the current
  state of a server, including Postgres version, current transaction ID,
  archive command, etc.

* Added the 'check' command which returns 0 if everything Barman needs
  is functioning correctly

* Added the 'list-backup' command that lists all the available backups
  for a given server, including size of the base backup and total size
  of the related WAL segments

* Added the 'show-backup' command that shows the relevant information
  for a given backup, including time of start, size, number of related
  WAL segments and their size, etc.

* Added the 'delete' command which removes a backup from the catalog

* Added the 'list-files' command which lists all the files for a
  single backup

* RPM Package for RHEL 5/6
