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
FYI, 4.3 and 4.4 have also been released: 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)