5.5.0   2024-11-20
        Support for PostgreSQL 17 added
        Fix warnings detected by the -Wshadow=compatible-local
          added in PostgreSQL 16

5.4.1   2023-07-04
        repmgrd: ensure witness node metadata is updated (Ian)

5.4.0   2023-03-16
        Support cloning replicas using pg-backup-api

5.3.3   2022-10-17
        Support for PostgreSQL added
        repmgrd: ensure event notification script is called for event
          "repmgrd_upstream_disconnect"; GitHub #760 (Ian)

5.3.2   2022-05-25
        standby clone: don't error out if unable to determine cluster size (Ian)
        node check: fix --downstream --nagios output; GitHub #749 (Ian)
        repmgrd: ensure witness node marked active (hslightdb)
        repmgrd: improve walsender disable check (Ian)
        general: ensure replication slots can be dropped by a
          replication-only user (Ian)

5.3.1   2022-02-15
        repmgrd: fixes for potential connection leaks (hslightdb)
        repmgr: fix upgrade path from repmgr 4.2 and 4.3 to repmgr 5.3 (Ian)

5.3.0   2021-10-12
        standby switchover: improve handling of node rejoin failure (Ian)
        repmgrd: prefix all shared library functions with "repmgr_" to
          minimize the risk of clashes with other shared libraries (Ian)
        repmgrd: at startup, if node record is marked as "inactive", attempt
          to set it to "active" (Ian)
        standby clone: set "slot_name" in node record if required (Ian)
        node rejoin: emit rejoin target note information as NOTICE (Ian)
        repmgrd: ensure short option "-s" is accepted (Ian)

5.2.1   2020-12-07
        config: fix parsing of "replication_type"; GitHub #672 (Ian)
        standby clone: handle missing "postgresql.auto.conf" (Ian)
        standby clone: add option --recovery-min-apply-delay (Ian)
        standby clone: fix data directory permissions handling for
          PostgreSQL 11 and later (Ian)
        repmgrd: prevent termination when local node not available and
          standby_disconnect_on_failover; GitHub #675 (Ian)
        repmgrd: ensure reconnect_interval" is correctly handled;
          GitHub #673 (Ian)

5.2.0   2020-10-22
        general: add support for PostgreSQL 13 (Ian)
        general: remove support for PostgreSQL 9.3 (Ian)
        config: add support for file inclusion directives (Ian)
        repmgr: "primary unregister --force" will unregister an active primary
          with no registered standby nodes (Ian)
        repmgr: add option --verify-backup to "standby clone" (Ian)
        repmgr: "standby clone" honours --waldir option if set in
          "pg_basebackup_options" (Ian)
        repmgr: add option --db-connection to "node check" (Ian)
        repmgr: report database connection error if the --optformat option was
          provided to "node check" (Ian)
        repmgr: improve "node rejoin" checks (Ian)
        repmgr: enable "node rejoin" to join a target with a lower timeline (Ian)
        repmgr: support pg_rewind's automatic crash recovery in Pg13 and later (Ian)
        repmgr: improve output formatting for cluster matrix/crosscheck (Ian)
        repmgr: improve database connection failure error checking on the
          demotion candidate during "standby switchover" (Ian)
        repmgr: make repmgr metadata tables dumpable (Ian)
        repmgr: fix issue with tablespace mapping when cloning from Barman;
          GitHub #650 (Ian)
        repmgr: improve handling of pg_control read errors (Ian)
        repmgrd: add additional optional parameters to "failover_validation command"
          (spaskalev; GitHub #651)
        repmgrd: ensure primary connection is reset if same as upstream;
          GitHub #633 (Ian)

5.1.0   2020-04-13
        repmgr: remove BDR 2.x support
        repmgr: don't query upstream's data directory (Ian)
        repmgr: rename --recovery-conf-only to --replication-conf-only (Ian)
        repmgr: ensure postgresql.auto.conf is created with correct permissions (Ian)
        repmgr: minimize requirement to check upstream data directory location
          during "standby clone" (Ian)
        repmgr: warn about missing pg_rewind prerequisites when executing
          "standby clone" (Ian)
        repmgr: add --upstream option to "node check"
        repmgr: report error code on follow/rejoin failure due to non-available
          replication slot (Ian)
        repmgr: ensure "node rejoin" checks for available replication slots (Ian)
        repmgr: improve "standby switchover" completion checks (Ian)
        repmgr: add replication configuration file ownership check to
          "standby switchover" (Ian)
        repmgr: check the demotion candidate's registered repmgr.conf file can
          be found (laixiong; GitHub 615)
        repmgr: consolidate replication connection code (Ian)
        repmgr: check permissions for "pg_promote()" and fall back to pg_ctl
          if necessary (Ian)
        repmgr: in --dry-run mode, display promote command which will be used (Ian)
        repmgr: enable "service_promote_command" in PostgreSQL 12 (Ian)
        repmgr: accept option -S/--superuser for "node check"; GitHub #612 (Ian)

5.0     2019-10-15
        general: add PostgreSQL 12 support (Ian)
        general: parse configuration file using flex (Ian)
        repmgr: rename "repmgr daemon ..." commands to "repmgr service ..." (Ian)
        repmgr: improve data directory check (Ian)
        repmgr: improve extension check during "standby clone" (Ian)
		repmgr: pass provided log level when executing repmgr remotely (Ian)
        repmgrd: fix handling of upstream node change check (Ian)

4.4     2019-06-27
        repmgr: improve "daemon status" output (Ian)
        repmgr: add "--siblings-follow" option to "standby promote" (Ian)
        repmgr: add "--repmgrd-force-unpause" option to "standby switchover" (Ian)
        repmgr: fix data directory permissions issue in barman mode where
          an existing directory is being overwritten (Ian)
        repmgr: improve "--dry-run" behaviour for "standby promote" and
          "standby switchover" (Ian)
        repmgr: when running "standby clone" with the "--upstream-conninfo" option
          ensure that "application_name" is set correctly in "primary_conninfo" (Ian)
        repmgr: ensure "--dry-run" together with --force when running "standby clone"
          in barman mode does not modify an existing data directory (Ian)
        repmgr: improve "--dry-run" output when running "standby clone" in
          basebackup mode (Ian)
        repmgr: improve upstream walsender checks when running "standby clone" (Ian)
        repmgr: display node timeline ID in "cluster show" output (Ian)
        repmgr: in "cluster show" and "daemon status", show upstream node name
          as reported by each individual node (Ian)
        repmgr: in "cluster show" and "daemon status", check if a node is attached
          to its advertised upstream node
        repmgr: use --compact rather than --terse option in "cluster event" (Ian)
        repmgr: prevent a standby being cloned from a witness server (Ian)
        repmgr: prevent a witness server being registered on the cluster primary (John)
        repmgr: ensure BDR2-specific functionality cannot be used on
          BDR3 and later (Ian)
        repmgr: canonicalize the data directory path (Ian)
        repmgr: note that "standby follow" requires a primary to be available (Ian)
        repmgrd: monitor standbys attached to primary (Ian)
        repmgrd: add "primary visibility consensus" functionality (Ian)
        repmgrd: fix memory leak which occurs while the monitored PostgreSQL
           node is not running (Ian)
        general: documentation converted to DocBook XML format (Ian)

4.3     2019-04-02
        repmgr: add "daemon (start|stop)" command; GitHub #528 (Ian)
        repmgr: add --version-number command line option (Ian)
        repmgr: add --compact option to "cluster show"; GitHub #521 (Ian)
        repmgr: cluster show - differentiate between unreachable nodes
          and nodes which are running but rejecting connections (Ian)
        repmgr: add --dry-run option to "standby promote"; GitHub #522 (Ian)
        repmgr: add "node check --data-directory-config"; GitHub #523 (Ian)
        repmgr: prevent potential race condition in "standby switchover"
          when checking received WAL location; GitHub #518 (Ian)
        repmgr: ensure "standby switchover" verifies repmgr can read the
          data directory on the demotion candidate; GitHub #523 (Ian)
        repmgr: ensure "standby switchover" verifies replication connection
          exists; GitHub #519 (Ian)
        repmgr: add sanity check for correct extension version (Ian)
        repmgr: ensure "witness register --dry-run" does not attempt to read node
          tables if repmgr extension not installed; GitHub #513 (Ian)
        repmgr: ensure "standby register" fails when --upstream-node-id is the
          same as the local node ID (Ian)
        repmgrd: check binary and extension major versions match; GitHub #515 (Ian)
        repmgrd: on a cascaded standby, don't fail over if "failover=manual";
          GitHub #531 (Ian)
        repmgrd: don't consider nodes where repmgrd is not running as promotion
          candidates (Ian)
        repmgrd: add option "connection_check_type" (Ian)
        repmgrd: improve witness monitoring when primary node not available (Ian)
		repmgrd: handle situation where a primary has unexpectedly appeared
		  during failover; GitHub #420 (Ian)
		general: fix Makefile (John)

4.2     2018-10-24
        repmgr: add parameter "shutdown_check_timeout" for use by "standby switchover";
          GitHub #504 (Ian)
        repmgr: add "--node-id" option to "repmgr cluster cleanup"; GitHub #493 (Ian)
        repmgr: report unreachable nodes when running "repmgr cluster (matrix|crosscheck);
          GitHub #246 (Ian)
        repmgr: add configuration file parameter "repmgr_bindir"; GitHub #246 (Ian)
        repmgr: fix "Missing replication slots" label in "node check"; GitHub #507 (Ian)
        repmgrd: fix parsing of -d/--daemonize option (Ian)
        repmgrd: support "pausing" of repmgrd (Ian)

4.1.1   2018-09-05
        logging: explicitly log the text of failed queries as ERRORs to
          assist logfile analysis; GitHub #498
        repmgr: truncate version string, if necessary; GitHub #490 (Ian)
        repmgr: improve messages emitted during "standby promote" (Ian)
        repmgr: "standby clone" - don't copy external config files in --dry-run
          mode; GitHub #491 (Ian)
        repmgr: add "cluster_cleanup" event; GitHub #492 (Ian)
        repmgr: (standby switchover) improve detection of free walsenders;
          GitHub #495 (Ian)
        repmgr: (node rejoin) improve replication slot handling; GitHub #499 (Ian)
        repmgrd: ensure that sending SIGHUP always results in the log file
          being reopened; GitHub #485 (Ian)
        repmgrd: report version number *after* logger initialisation; GitHub #487 (Ian)
        repmgrd: fix startup on witness node when local data is stale; GitHub #488/#489 (Ian)
        repmgrd: improve cascaded standby failover handling; GitHub #480 (Ian)
        repmgrd: improve reconnection handling (Ian)

4.1.0   2018-07-31
        repmgr: change default log_level to INFO, add documentation; GitHub #470 (Ian)
        repmgr: add "--missing-slots" check to "repmgr node check" (Ian)
        repmgr: improve command line error handling; GitHub #464 (Ian)
        repmgr: fix "standby register --wait-sync" when no timeout provided (Ian)
        repmgr: "cluster show" returns non-zero value if an issue encountered;
          GitHub #456 (Ian)
        repmgr: "node check" and "node status" returns non-zero value if an issue
           encountered (Ian)
        repmgr: add CSV output mode to "cluster event"; GitHub #471 (Ian)
        repmgr: add -q/--quiet option to suppress non-error output; GitHub #468 (Ian)
        repmgr: "node status" returns non-zero value if an issue encountered (Ian)
        repmgr: enable "recovery_min_apply_delay" to be 0; GitHub #448 (Ian)
        repmgr: "cluster cleanup" - add missing help options; GitHub #461/#462 (gclough)
        repmgr: ensure witness node follows new primary after switchover;
          GitHub #453 (Ian)
        repmgr: fix witness node handling in "node check"/"node status";
          GitHub #451 (Ian)
        repmgr: fix "primary_slot_name" when using "standby clone" with --recovery-conf-only;
          GitHub #474 (Ian)
        repmgr: don't perform a switchover if an exclusive backup is running;
          GitHub #476 (Martín)
        repmgr: enable "witness unregister" to be run on any node; GitHub #472 (Ian)
        repmgrd: create a PID file by default; GitHub #457 (Ian)
        repmgrd: daemonize process by default; GitHub #458 (Ian)

4.0.6   2018-06-14
        repmgr: (witness register) prevent registration of a witness server with the
          same name as an existing node (Ian)
        repmgr: (standby follow) check node has actually connected to new primary
          before reporting success; GitHub #444 (Ian)
        repmgr: (standby clone) improve handling of external configuration file copying,
          including consideration in --dry-run check; GitHub #443 (Ian)
        repmgr: (standby clone) don't require presence of "user" parameter in
          conninfo string; GitHub #437 (Ian)
        repmgr: (standby clone) improve documentation of --recovery-conf-only
          mode; GitHub #438 (Ian)
        repmgr: (node rejoin) fix bug when parsing --config-files parameter;
          GitHub #442 (Ian)
        repmgr: when using --dry-run, force log level to INFO to ensure output
          will always be displayed; GitHub #441 (Ian)
        repmgr: (cluster matrix/crosscheck) return non-zero exit code if node
           connection issues detected; GitHub #447 (Ian)
        repmgrd: ensure local node is counted as quorum member; GitHub #439 (Ian)

4.0.5   2018-05-02
        repmgr: poll demoted primary after restart as a standby during a
          switchover operation; GitHub #408 (Ian)
        repmgr: add configuration parameter "config_directory"; GitHub #424 (Ian)
        repmgr: add "dbname=replication" to all replication connection strings;
          GitHub #421 (Ian)
        repmgr: add sanity check if --upstream-node-id not supplied when executing
          "standby register"; GitHub #395 (Ian)
        repmgr: enable provision of "archive_cleanup_command" in recovery.conf;
          GitHub #416 (Ian)
        repmgr: actively check for node to rejoin cluster; GitHub #415 (Ian)
        repmgr: enable pg_rewind to be used with PostgreSQL 9.3/9.4; GitHub #413 (Ian)
        repmgr: fix minimum accepted value for "degraded_monitoring_timeout";
          GitHub #411 (Ian)
        repmgr: fix superuser password handling; GitHub #400 (Ian)
        repmgr: fix parsing of "archive_ready_critical" configuration file
          parameter; GitHub #426 (Ian)
        repmgr: fix display of conninfo parsing error messages (Ian)
        repmgr: fix "repmgr cluster crosscheck" output; GitHub #389 (Ian)
        repmgrd: prevent standby connection handle from going stale (Ian)
        repmgrd: fix memory leaks in witness code; GitHub #402 (AndrzejNowicki, Martín)
        repmgrd: handle "pg_ctl promote" timeout; GitHub #425 (Ian)
        repmgrd: handle failover situation with only two nodes in the primary
          location, and at least one node in another location; GitHub #407 (Ian)
        repmgrd: set "connect_timeout=2" when pinging a server (Ian)

4.0.4   2018-03-09
        repmgr: add "standby clone --recovery-conf-only" option; GitHub #382 (Ian)
        repmgr: make "standby promote" timeout values configurable; GitHub #387 (Ian)
        repmgr: improve replication slot warnings generated by "node status";
          GitHub #385 (Ian)
        repmgr: remove restriction on replication slots when cloning from
          a Barman server; GitHub #379 (Ian)
        repmgr: ensure "node rejoin" honours "--dry-run" option; GitHub #383 (Ian)
        repmgr: fix --superuser handling when cloning a standby; GitHub #380 (Ian)
        repmgr: update various help options; GitHub #391, #392 (hasegeli)
        repmgrd: add event "repmgrd_shutdown"; GitHub #393 (Ian)
        repmgrd: improve detection of status change from primary to standby (Ian)
        repmgrd: improve log output in various situations (Ian)
        repmgrd: improve reconnection to the local node after a failover (Ian)
        repmgrd: ensure witness server connects to new primary after a failover (Ian)

4.0.3   2018-02-15
        repmgr: improve switchover handling when "pg_ctl" used to control the
          server and logging output is not explicitly redirected (Ian)
        repmgr: improve switchover log messages and exit code when old primary could
          not be shut down cleanly (Ian)
        repmgr: check demotion candidate can make a replication connection to the
          promotion candidate before executing a switchover; GitHub #370 (Ian)
        repmgr: add check for sufficient walsenders/replication slots before executing
          a switchover; GitHub #371 (Ian)
        repmgr: add --dry-run mode to "repmgr standby follow"; GitHub #368 (Ian)
        repmgr: provide information about the primary node for "standby_register" and
          "standby_follow" event notifications; GitHub #375 (Ian)
        repmgr: add "standby_register_sync" event notification; GitHub #374 (Ian)
        repmgr: output any connection error messages in "cluster show"'s list of
          warnings; GitHub #369 (Ian)
        repmgr: ensure an inactive data directory can be deleted; GitHub #366 (Ian)
        repmgr: fix upstream node display in "repmgr node status"; GitHub #363 (fanf2)
        repmgr: improve/clarify documentation and update --help output for
          "primary unregister"; GitHub #373 (Ian)
        repmgr: allow replication slots when Barman is configured; GitHub #379 (Ian)
        repmgr: fix parsing of "pg_basebackup_options"; GitHub #376 (Ian)
        repmgr: ensure "pg_subtrans" directory is created when cloning a standby in
          Barman mode (Ian)
        repmgr: fix primary node check in "witness register"; GitHub #377 (Ian)

4.0.2   2018-01-18
        repmgr: add missing -W option to getopt_long() invocation; GitHub #350 (Ian)
        repmgr: automatically create slot name if missing; GitHub #343 (Ian)
        repmgr: fixes to parsing output of remote repmgr invocations; GitHub #349 (Ian)
        repmgr: BDR support - create missing connection replication set
          if required; GitHub #347 (Ian)
        repmgr: handle missing node record in "repmgr node rejoin"; GitHub #358 (Ian)
        repmgr: enable documentation to be build as single HTML file; GitHub #353 (fanf2)
        repmgr: recognize "--terse" option for "repmgr cluster event"; GitHub #360 (Ian)
        repmgr: add "--wait-start" option for "repmgr standby register"; GitHub #356 (Ian)
        repmgr: add "%p" event notification parameter for "repmgr standby switchover"
          containing the node ID of the demoted primary (Ian)
        docs: various fixes and updates (Ian, Daymel, Martín, ams)

4.0.1   2017-12-13
        repmgr: ensure "repmgr node check --action=" returns appropriate return
          code; GitHub #340 (Ian)
        repmgr: add missing schema qualification in get_all_node_records_with_upstream()
          query GitHub #341 (Martín)
        repmgr: initialise "voting_term" table in application, not extension SQL;
          GitHub #344 (Ian)
        repmgr: delete any replication slots copied by pg_rewind; GitHub #334 (Ian)
        repmgr: fix configuration file sanity check; GitHub #342 (Ian)

4.0.0   2017-11-21
        Complete rewrite with many changes; for details see the repmgr 4.0.0 release
        notes at: https://repmgr.org/docs/4.0/release-4.0.0.html

3.3.2   2017-06-01
        Add support for PostgreSQL 10 (Ian)
        repmgr: ensure --replication-user option is honoured when passing database
          connection parameters as a conninfo string (Ian)
        repmgr: improve detection of pg_rewind on remote server (Ian)
        repmgr: add DETAIL log output for additional clarification of error messages (Ian)
        repmgr: suppress various spurious error messages in `standby follow` and
          `standby switchover` (Ian)
        repmgr: add missing `-P` option (Ian)
        repmgrd: monitoring statistic reporting fixes (Ian)

3.3.1   2017-03-13
        repmgrd: prevent invalid apply lag value being written to the
          monitoring table (Ian)
        repmgrd: fix error in XLogRecPtr conversion when calculating
          monitoring statistics (Ian)
        repmgr: if replication slots in use, where possible delete slot on old
          upstream node after following new upstream (Ian)
        repmgr: improve logging of rsync actions (Ian)
        repmgr: improve `standby clone` when synchronous replication in use (Ian)
        repmgr: stricter checking of allowed node id values
        repmgr: enable `master register --force` when there is a foreign key
          dependency from a standby node (Ian)

3.3     2016-12-27
        repmgr: always log to STDERR even if log facility defined (Ian)
        repmgr: add --log-to-file to log repmgr output to the defined
          log facility (Ian)
        repmgr: improve handling of command line parameter errors (Ian)
        repmgr: add option --upstream-conninfo to explicitly set
          'primary_conninfo' in recovery.conf (Ian)
        repmgr: enable a standby to be registered which isn't running (Ian)
        repmgr: enable `standby register --force` to update a node record
          with cascaded downstream node records (Ian)
        repmgr: add option `--no-conninfo-password` (Abhijit, Ian)
        repmgr: add initial support for PostgreSQL 10.0 (Ian)
        repmgr: escape values in primary_conninfo if needed (Ian)

3.2.1   2016-10-24
        repmgr: require a valid repmgr cluster name unless -F/--force
          supplied (Ian)
        repmgr: check master server is registered with repmgr before
          cloning (Ian)
        repmgr: ensure data directory defaults to that of the source node (Ian)
        repmgr: various fixes to Barman cloning mode (Gianni, Ian)
        repmgr: fix `repmgr cluster crosscheck` output (Ian)

3.2     2016-10-05
        repmgr: add support for cloning from a Barman backup (Gianni)
        repmgr: add commands `standby matrix` and `standby crosscheck` (Gianni)
        repmgr: suppress connection error display in `repmgr cluster show`
          unless `--verbose` supplied (Ian)
        repmgr: add commands `witness register` and `witness unregister` (Ian)
        repmgr: enable `standby unregister` / `witness unregister` to be
          executed for a node which is not running (Ian)
        repmgr: remove deprecated command line options --initdb-no-pwprompt and
           -l/--local-port (Ian)
        repmgr: before cloning with pg_basebackup, check that sufficient free
           walsenders are available (Ian)
        repmgr: add option `--wait-sync` for `standby register` which causes
           repmgr to wait for the registered node record to synchronise to
           the standby (Ian)
        repmgr: add option `--copy-external-config-files` for files outside
           of the data directory (Ian)
        repmgr: only require `wal_keep_segments` to be set in certain corner
           cases (Ian)
        repmgr: better support cloning from a node other than the one to
           stream from (Ian)
        repmgrd: add configuration options to override the default pg_ctl
           commands (Jarkko Oranen, Ian)
        repmgrd: don't start if node is inactive and failover=automatic (Ian)
        packaging: improve "repmgr-auto" Debian package (Gianni)


3.1.5   2016-08-15
        repmgrd: in a failover situation, prevent endless looping when
          attempting to establish the status of a node with
          `failover=manual` (Ian)
        repmgrd: improve handling of failover events on standbys with
          `failover=manual`, and create a new event notification
          for this, `standby_disconnect_manual` (Ian)
        repmgr: add further event notifications (Gianni)
        repmgr: when executing `standby switchover`, don't collect remote
          command output unless required (Gianni, Ian)
        repmgrd: improve standby monitoring query (Ian, based on suggestion
          from  Álvaro)
        repmgr: various command line handling improvements (Ian)

3.1.4   2016-07-12
        repmgr: new configuration option for setting "restore_command"
          in the recovery.conf file generated by repmgr (Martín)
        repmgr: add --csv option to "repmgr cluster show" (Gianni)
        repmgr: enable provision of a conninfo string as the -d/--dbname
          parameter, similar to other PostgreSQL utilities (Ian)
        repmgr: during switchover operations improve detection of
          demotion candidate shutdown (Ian)
        various bugfixes and documentation updates (Ian, Martín)

3.1.3   2016-05-17
        repmgrd: enable monitoring when a standby is catching up by
          replaying archived WAL (Ian)
        repmgrd: when upstream_node_id is NULL, assume upstream node
          to be current master (Ian)
        repmgrd: check for reappearance of the master node if standby
          promotion fails (Ian)
        improve handling of rsync failure conditions (Martín)

3.1.2   2016-04-12
        Fix pg_ctl path generation in do_standby_switchover() (Ian)
        Regularly sync witness server repl_nodes table (Ian)
        Documentation improvements (Gianni, dhyannataraj)
        (Experimental) ensure repmgr handles failover slots when copying
          in rsync mode (Craig, Ian)
        rsync mode handling fixes (Martín)
        Enable repmgr to compile against 9.6devel (Ian)

3.1.1   2016-02-24
        Add '-P/--pwprompt' option for "repmgr create witness" (Ian)
        Prevent repmgr/repmgrd running as root (Ian)

3.1.0   2016-02-01
        Add "repmgr standby switchover" command (Ian)
        Revised README file (Ian)
        Remove requirement for 'archive_mode' to be enabled (Ian)
        Improve -?/--help output, showing default values if relevant (Ian)
        Various bugfixes to command line/configuration parameter handling (Ian)

3.0.3   2016-01-04
        Create replication slot if required before base backup is run (Abhijit)
        standy clone: when using rsync, clean up "pg_replslot" directory (Ian)
        Improve --help output (Ian)
        Improve config file parsing (Ian)
        Various logging output improvements, including explicit HINTS (Ian)
        Add --log-level to explicitly set log level on command line (Ian)
        Repurpose --verbose to display extra log output (Ian)
        Add --terse to hide hints and other non-critical output (Ian)
        Reference internal functions with explicit catalog path (Ian)
        When following a new primary, have repmgr (not repmgrd) create the new slot (Ian)
        Add /etc/repmgr.conf as a default configuration file location (Ian)
        Prevent repmgrd's -v/--verbose option expecting a parameter (Ian)
        Prevent invalid replication_lag values being written to the monitoring table (Ian)
        Improve repmgrd behaviour when monitored standby node is temporarily
          unavailable (Martín)

3.0.2   2015-10-02
        Improve handling of --help/--version options; and improve help output (Ian)
        Improve handling of situation where logfile can't be opened (Ian)
        Always pass -D/--pgdata option to pg_basebackup (Ian)
        Bugfix: standby clone --force does not empty pg_xlog (Gianni)
        Bugfix: autofailover with reconnect_attempts > 1 (Gianni)
        Bugfix: ignore comments after values (soxwellfb)
        Bugfix: handle string values in 'node' parameter correctly (Gregory Duchatelet)
        Allow repmgr to be compiled with a newer libpq (Marco)
        Bugfix: call update_node_record_set_upstream() for STANDBY FOLLOW (Tomas)
        Update `repmgr --help` output (per Github report from renard)
        Update tablespace remapping in --rsync-only mode for 9.5 and later (Ian)
        Deprecate `-l/--local-port` option - the port can be extracted
          from the conninfo string in repmgr.conf (Ian)
        Add STANDBY UNREGISTER (Vik Fearing)
        Don't fail with error when registering master if schema already defined (Ian)
        Fixes to whitespace handling when parsing config file (Ian)

3.0.1   2015-04-16
        Prevent repmgrd from looping infinitely if node was not registered (Ian)
        When promoting a standby, have repmgr (not repmgrd) handle metadata updates (Ian)
        Re-use replication slot if it already exists (Ian)
        Prevent a test SSH connection being made when not needed (Ian)
        Correct monitoring table column names (Ian)

3.0     2015-03-27
        Require PostgreSQL 9.3 or later (Ian)
        Use `pg_basebackup` by default (instead of `rsync`) to clone standby servers (Ian)
        Use `pg_ctl promote` to promote a standby to primary
        Enable tablespace remapping using `pg_basebackup` (in PostgreSQL 9.3 with `rsync`) (Ian)
        Support cascaded standbys (Ian)
        "pg_bindir" no longer required as a configuration parameter (Ian)
        Enable replication slots to be used (PostgreSQL 9.4 and later (Ian)
        Command line option "--check-upstream-config" (Ian)
        Add event logging table and option to execute an external program when an event occurs (Ian)
        General usability and logging message improvements (Ian)
        Code consolidation and cleanup (Ian)

2.0.3   2015-04-16
        Add -S/--superuser option for witness database creation Ian)
        Add -c/--fast-checkpoint option for cloning (Christoph)
        Add option "--initdb-no-pwprompt" (Ian)

2.0.2   2015-02-17
        Add "--checksum" in rsync when using "--force" (Jaime)
        Use createdb/createuser instead of psql (Jaime)
        Fixes to witness creation and monitoring (wamonite)
        Use default master port if none supplied (Martín)
        Documentation fixes and improvements (Ian)

2.0.1   2014-07-16
        Documentation fixes and new QUICKSTART file (Ian)
        Explicitly specify directories to ignore when cloning (Ian)
        Fix log level for some log messages (Ian)
        RHEL/CentOS specfile, init script and Makefile fixes (Nathan Van Overloop)
        Debian init script and config file documentation fixes (József Kószó)
        Typo fixes (Riegie Godwin Jeyaranchen, PriceChild)

2.0stable 2014-01-30
        Documentation fixes (Christian)
        General refactoring, code quality improvements and stabilization work (Christian)
        Added proper daemonizing (-d/--daemonize) (Christian)
        Added PID file handling (-p/--pid-file) (Christian)
        New config option: monitor_interval_secs (Christian)
        New config option: retry_promote_interval (Christian)
        New config option: logfile (Christian)
        New config option: pg_bindir (Christian)
        New config option: pgctl_options (Christian)

2.0beta2 2013-12-19
        Improve autofailover logic and algorithms (Jaime, Andres)
        Ignore pg_log when cloning (Jaime)
        Add timestamps to log line in stderr (Christian)
        Correctly check wal_keep_segments (Jay Taylor)
        Add a ssh_options parameter (Jay Taylor)

2.0beta1 2012-07-27
        Make CLONE command try to make an exact copy including $PGDATA location (Cedric)
        Add detection of master failure (Jaime)
        Add the notion of a witness server (Jaime)
        Add autofailover capabilities (Jaime)
        Add a configuration parameter to indicate the script to execute on failover or follow (Jaime)
        Make the monitoring optional and turned off by default, it can be turned on with --monitoring-history switch (Jaime)
        Add tunables to specify number of retries to reconnect to master and the time between them (Jaime)

1.2.0   2012-07-27
        Test ssh connection before trying to rsync (Cédric)
        Add CLUSTER SHOW command (Carlo)
        Add CLUSTER CLEANUP command (Jaime)
        Add function write_primary_conninfo (Marco)
        Teach repmgr how to get tablespace's location in different pg version (Jaime)
        Improve version message (Carlo)

1.1.1   2012-04-18
        Add --ignore-rsync-warning (Cédric)
        Add strnlen for compatibility with OS X (Greg)
        Improve performance of the repl_status view (Jaime)
        Remove last argument from log_err (Jaime, Reported by Jeroen Dekkers)
        Complete documentation about possible error conditions (Jaime)
        Document how to clean history (Jaime)

1.1.0   2011-03-09
        Make options -U, -R and -p not mandatory (Jaime)

1.1.0b1 2011-02-24
        Fix missing "--force" option in help (Greg Smith)
        Correct warning message for wal_keep_segments (Bas van Oostveen)
        Add Debian build/usage docs (Bas, Hannu Krosing, Cedric Villemain)
        Add Debian .deb packaging (Hannu)
        Move configuration data into a structure (Bas, Gabriele Bartolini)
        Make rsync options configurable (Bas)
        Add syslog as alternate logging destination (Gabriele)
        Change from using malloc to static memory allocations (Gabriele)
        Add debugging messages after every query (Gabriele)
        Parameterize schema name used for repmgr (Gabriele)
        Avoid buffer overruns by using snprintf etc. (Gabriele)
        Fix use of database query after close (Gabriele)
        Add information about progress during "standby clone" (Gabriele)
        Fix double free errors in repmgrd (Charles Duffy, Greg)
        Make repmgr exit with an error code when encountering an error (Charles)
        Standardize on error return codes, use in repmgrd too (Greg)
        Add [un]install actions/SQL like most contrib modules (Daniel Farina)
        Wrap all string construction and produce error on overflow (Daniel)
        Correct freeing of memory from first_wal_segment (Daniel)
        Allow creating recovery.conf file with a password (Daniel)
        Inform when STANDBY CLONE sees an unused config file (Daniel)
        Use 64-bit computation for WAL apply_lag (Greg)
        Add info messages for database and general work done (Greg)
        Map old verbose flag into a useful setting for the new logger (Greg)
        Document repmgrd startup restrictions and log info about them (Greg)

1.0.0   2010-12-05
        First public release
