Skip to content

pgmoneta 0.20.0

This is a feature release.

Features

  • Redesign locking for the backup repository
  • Improved S3 support
  • Grafana 12 support
  • pgmoneta-cli: Add pgmoneta-cli.conf file
  • pgmoneta-walinfo: Add interactive mode
  • pgmoneta-walfilter: Support for filtering of a WAL stream

All users should upgrade.

Commits

* e9fedac1 jesperpedersen Doxygen fixes
* 14f0b299 jesperpedersen New doxygen versions
* bcd0bc4e jesperpedersen Add missing fflush calls
* 65efecf8 saraanbih [#738] interaction mode for pgmoneta_walinfo using ncurses
* bdaf9b08 Somye [#610] CLI: added pgmoneta_cli.conf
* 2bebc45c Shashank Singh [#603] Exclude WAL size from incremental backup restore_size
* de3ad013 jesperpedersen Fix #include
* 156ee5fe jesperpedersen [#863] Verify: Invalid maybe recorded as valid
* c06cb1c6 jesperpedersen [#862] SHA512: Missing flush
* 04073932 jesperpedersen [#821] Delete workflow abort early because of active repository flag
* 4114a626 jesperpedersen [#851] Add extra lock loop
* eefe73f7 Shashank Singh [#860] fix:Prevent null pointer crash in verify command when files parameter is omitted
* 79ebeed8 jesperpedersen Remove logging from pgmoneta_get_wal_files
* 2b9ef074 jesperpedersen [#839] Switch to full scan if lock fails
* c92bb069 Somye [#858] Fixed walinfo build error
* 904d3961 jesperpedersen Change to _debug
* 1f82f1df jesperpedersen [#851] Look for WAL files with the correct name
* 35a4f8c9 jesperpedersen [#851] Look for WAL files with the correct name
* cf0e8141 jesperpedersen [#851] Look for WAL files with the correct name
* e5810a79 jesperpedersen [#851] Look for WAL files with the correct name
* b7e6fea5 jesperpedersen Fix double free in error path
* 22d28823 jesperpedersen [#839] Redesign repository locking
* f0b87402 jesperpedersen [#839] Redesign repository locking
* 3dc19d12 jesperpedersen [#839] Redesign repository locking
* cb4b697d jesperpedersen Revert "[#839] Redesign repository locking"
* 52482e8c jesperpedersen [#839] Redesign repository locking
* 00f04b95 jesperpedersen [#851] Use pgmoneta_exists as a guard (pt2)
* 7307f360 jesperpedersen [#851] Use pgmoneta_exists as a guard
* 0ac93a7b Shashank Singh [#856] Fix buffer overflow warnings in test_utils.c using pgmoneta_append()
* e9f75d29 jesperpedersen [#839] Redesign repository locking
* 79daa4e9 jesperpedersen [#839] Redesign repository locking
* d1b6e624 saraanbih [#853] Move pgmoneta_describe_walfiles_in_directory to walinfo.c
* e756daea jesperpedersen [#839] Redesign repository locking
* ab706aa5 jesperpedersen [#839] Redesign repository locking
* 3e2aa1c1 jesperpedersen [#839] Redesign repository locking
* 7333e05b jesperpedersen Document clang-format 21+ requirement
* 97ff28bb ashu3103 [#836] Buffer overflow in pgmoneta_get_wal_files
* a2b1a19e jesperpedersen Run w/o --name-only
* e804cf2f jesperpedersen [#846] status: Add active information
* 60e4fc1c sksingh2005 [#744] Grafana: update dashboards and provisioning for Grafana 12
* 81b429d9 Amr-Shams [#830]refactor: S3 configuration to be overwritten by the server config    - Added per-server S3 configuration overrides entirely.    - Added the now-redundant `s3_configuration` struct.
* d892062a Amr-Shams feat(walfile): Support dynamic block size in WAL decoding refactor the wal decoding logic to use replace hard coded 8192-byte constants to the wal file header format [#841]
* 1f91f336 jesperpedersen [#842] MANAGEMENT_ERROR_BACKUP_NOSERVER / MANAGEMENT_ERROR_BACKUP_NOFORK
* d2362863 jesperpedersen clang-format
* 1d85a749 jesperpedersen [#839] Redesign repository locking
* 65ac4177 jesperpedersen Happy 2026 !
* ba42872c jesperpedersen Fix formatting
* 2fe33b0e sksingh2005 [#739] Added unit tests for utils.h
* d5bf34ad jesperpedersen Adjust logging
* 5917e625 jesperpedersen [#838] Log unencrypted management requests
* 8a563a31 jesperpedersen [#837] CLI: Use compression and encryption by default
* 6dbc1a48 jesperpedersen [#834] Comments don't work in pgmoneta.conf
* c5f5d571 Haoran Zhang Restore misformatted code
* 42a115f9 Haoran Zhang Add debug message upon lock acquirement
* fce0bf8d Haoran Zhang Add debug message upon lock acquirement
* 4265a3af Haoran Zhang Add debug message upon lock acquirement
* 7fc105cf TutTrue Replace Uncrustify with ClangFormat for C code formatting
* ef8463ce Amr-Shams [#742]Add support for custom S3 endpoints
* 1b0ff5b1 Shashank Singh [#820] Log test case start points
* 88ec2b90 sksingh2005 [#665] Only load backup once
* 3b36dec7 jesperpedersen [#821] Remove valid check
* 574c8a00 jesperpedersen [#821] Remove is_online check
* 99323b6f jesperpedersen Add additional checks for test_delete
* 2f1acae3 jesperpedersen Add missing \newpage
* 34ebec1b sksingh2005 [#718] Hash Elapsed Time for backup.info
* 04fdf054 saraanbih Use errno codes for config validation in cli.c
* b474dab8 saraanbih [#809] Fix walinfo input validation and buffer overflow
* 2f728855 jesperpedersen Initial AI guidelines
* 7bd2b542 jesperpedersen Update actions
* 0e9e7a19 jesperpedersen Eisvogel 3.3.0
* 250dc23c jesperpedersen Disable Mac
* 10a3b78b jesperpedersen DOCS detection fixes
* 875a4cce jesperpedersen Update build information
* a809d1b8 jesperpedersen Remove Hindi documentation as it isn't maintained
* 2dfeff46 jesperpedersen Use Eisvogel 3.2.1
* bb91d5b6 jchrys [#811]Make `ssh_private_key_file`, `ssh_public_key_file` configurable
* 9e921f5e jesperpedersen [#601] Startup: Wrong collation
* ece685ce jesperpedersen [#601] Startup: Wrong collation
* 65485ee4 jesperpedersen [#752] Change incremental to 14+
* 1121e806 ashu3103 [#752] Create Incr Backup Workflow
* be7da25d jesperpedersen uncrustify
* 09cf7626 saraanbih [#622] Add file existence check for walinfo config file
* f9c49f7a jesperpedersen [#806] Remove CORE_DEBUG flag
* ac42ed40 jchrys [#804]fix `pgmoneta_resolve_path` not resolving trailing env var
* a492ed6b jchrys [#802]handle `pgmoneta_value_create` failure in `pgmoneta_art_insert`
* a391fb82 jchrys [#800] detect Podman before Docker to avoid alias misdetection
* 5b8c7904 jesperpedersen [#796] Improve pgmoneta_log_mem
* 65e28579 jesperpedersen [#796] Improve pgmoneta_log_mem
* 566a8a5f jesperpedersen [#796] Improve pgmoneta_log_mem
* ff4734eb jesperpedersen Uncrustify 0.81 configuration
* daa46f47 jesperpedersen Add newline after semicolon
* b00e9a13 Haoran Zhang uncrustify
* b171a570 jesperpedersen [#795] Compression code review
* 301f2690 ashu3103 [#791] Support for backup start and stop server APIs
* 56bca16f ashu3103 [#792] Memory Leak in pgmoneta_split()
* fe4cf64a Mohab Replace desc of records with <empty> if empty
* 4a81109d ashu3103 [#787] Make wal_file_name a public util API
* 2fbe4c06 Haoran Zhang [#786] Flush WAL segments as soon as possible
* 270dab58 Mohab [#784] Fix formatting across multiple files
* 92987664 Mohab Support .partial files in pgmoneta_get_wal_files
* 62b9d409 jesperpedersen Use SHA256 for source package
* c5134484 Mohab [#768] Added detailed WAL statistics collection
* d372fa2e Haoran Zhang [#780] Allow changing setup.sql every time
* ee99d2a1 ashu3103 [#772] Extend  API to return current timeline ID
* bef009fa ashu3103 uncomment server api testcases
* 2f22fe9c User1995 [#777] Fix RPM Build Issues: Missing Test Directory, Man Pages, Binaries, and RST Formatting Errors
* bc6d615a bassamadnan [#766] Refactor HTTP API
* f836cadf Mohab [#670] Implemented filtering on xid
* acca86a3 Haoran Zhang [#776] Try fixing CI
* 23b4ec32 jesperpedersen Comment test cases
* 9369a032 User1995 [#774] Support UTF8 passwords
* 1d11e443 ashu3103 build fixes
* 31645860 ashu3103 [#758] Fetch metadata of a file from the postgres server
* 2015dcd6 Mohab [#664] Fix walinfo output formatting
* 64552924 jesperpedersen uncrustify
* e5a727d8 jesperpedersen [#742] Add Garage as a S3 environment
* 7715562d ashu3103 [#763] Broken CI | Fix test_wal_summary test case
* c6d45a29 jesperpedersen Exclude .cache and test from source package
* 467ee8f9 jesperpedersen Use name
* 3fd049b4 ashu3103 [#757] Store the information about maximum block number modified in a BRT entry
* 27495fdd ashu3103 [#755] Refactor WAL Summarizer
* 21469baf ashu3103 [#753] Add a utils function to translate string lsn to integer lsn
* 5093418a Mohab [#670] Implement walfilter initial setup + filtering on DELETE
* 0c850345 bassamadnan [#745] Improve manual
* 03300488 Haoran Zhang Revert #749 and document create_slot
* 961bc87d Mohab [#748] Add physical replication slot creation for replication user
* 51dbd6e1 ashu3103 [#746] Memory Leak while converting bytea to binary for a chunk not present in file
* 3217efec ashu3103 [#735] Get endLSN of WAL Summarizer
* c30bb288 Haoran Zhang Mention platform test document
* 9d83c52b Haoran Zhang Update test documentation: Test Resource
* 08af3d72 jesperpedersen Includes for core API
* 3ca3294d jesperpedersen Try and fix -Wsign-compare
* 4bf685af jesperpedersen Try and fix -Wsign-compare
* da350c4b jesperpedersen Try and fix -Wsign-compare
* 4e0140f1 jesperpedersen Remove manual packages from CI
* 59fd0cb7 jesperpedersen Try and fix -Wsign-compare
* cfee09d9 jesperpedersen Add -Wsign-compare
* d2162580 jesperpedersen Disable CI/docs
* fc3b455e jesperpedersen Next is 0.20.0
* e9fedac1 jesperpedersen Doxygen fixes
* 14f0b299 jesperpedersen New doxygen versions
* bcd0bc4e jesperpedersen Add missing fflush calls
* 65efecf8 saraanbih [#738] interaction mode for pgmoneta_walinfo using ncurses
* bdaf9b08 Somye [#610] CLI: added pgmoneta_cli.conf
* 2bebc45c Shashank Singh [#603] Exclude WAL size from incremental backup restore_size
* de3ad013 jesperpedersen Fix #include
* 156ee5fe jesperpedersen [#863] Verify: Invalid maybe recorded as valid
* c06cb1c6 jesperpedersen [#862] SHA512: Missing flush
* 04073932 jesperpedersen [#821] Delete workflow abort early because of active repository flag
* 4114a626 jesperpedersen [#851] Add extra lock loop
* eefe73f7 Shashank Singh [#860] fix:Prevent null pointer crash in verify command when files parameter is omitted
* 79ebeed8 jesperpedersen Remove logging from pgmoneta_get_wal_files
* 2b9ef074 jesperpedersen [#839] Switch to full scan if lock fails
* c92bb069 Somye [#858] Fixed walinfo build error
* 904d3961 jesperpedersen Change to _debug
* 1f82f1df jesperpedersen [#851] Look for WAL files with the correct name
* 35a4f8c9 jesperpedersen [#851] Look for WAL files with the correct name
* cf0e8141 jesperpedersen [#851] Look for WAL files with the correct name
* e5810a79 jesperpedersen [#851] Look for WAL files with the correct name
* b7e6fea5 jesperpedersen Fix double free in error path
* 22d28823 jesperpedersen [#839] Redesign repository locking
* f0b87402 jesperpedersen [#839] Redesign repository locking
* 3dc19d12 jesperpedersen [#839] Redesign repository locking
* cb4b697d jesperpedersen Revert "[#839] Redesign repository locking"
* 52482e8c jesperpedersen [#839] Redesign repository locking
* 00f04b95 jesperpedersen [#851] Use pgmoneta_exists as a guard (pt2)
* 7307f360 jesperpedersen [#851] Use pgmoneta_exists as a guard
* 0ac93a7b Shashank Singh [#856] Fix buffer overflow warnings in test_utils.c using pgmoneta_append()
* e9f75d29 jesperpedersen [#839] Redesign repository locking
* 79daa4e9 jesperpedersen [#839] Redesign repository locking
* d1b6e624 saraanbih [#853] Move pgmoneta_describe_walfiles_in_directory to walinfo.c
* e756daea jesperpedersen [#839] Redesign repository locking
* ab706aa5 jesperpedersen [#839] Redesign repository locking
* 3e2aa1c1 jesperpedersen [#839] Redesign repository locking
* 7333e05b jesperpedersen Document clang-format 21+ requirement
* 97ff28bb ashu3103 [#836] Buffer overflow in pgmoneta_get_wal_files
* a2b1a19e jesperpedersen Run w/o --name-only
* e804cf2f jesperpedersen [#846] status: Add active information
* 60e4fc1c sksingh2005 [#744] Grafana: update dashboards and provisioning for Grafana 12
* 81b429d9 Amr-Shams [#830]refactor: S3 configuration to be overwritten by the server config    - Added per-server S3 configuration overrides entirely.    - Added the now-redundant `s3_configuration` struct.
* d892062a Amr-Shams feat(walfile): Support dynamic block size in WAL decoding refactor the wal decoding logic to use replace hard coded 8192-byte constants to the wal file header format [#841]
* 1f91f336 jesperpedersen [#842] MANAGEMENT_ERROR_BACKUP_NOSERVER / MANAGEMENT_ERROR_BACKUP_NOFORK
* d2362863 jesperpedersen clang-format
* 1d85a749 jesperpedersen [#839] Redesign repository locking
* 65ac4177 jesperpedersen Happy 2026 !
* ba42872c jesperpedersen Fix formatting
* 2fe33b0e sksingh2005 [#739] Added unit tests for utils.h
* d5bf34ad jesperpedersen Adjust logging
* 5917e625 jesperpedersen [#838] Log unencrypted management requests
* 8a563a31 jesperpedersen [#837] CLI: Use compression and encryption by default
* 6dbc1a48 jesperpedersen [#834] Comments don't work in pgmoneta.conf
* c5f5d571 Haoran Zhang Restore misformatted code
* 42a115f9 Haoran Zhang Add debug message upon lock acquirement
* fce0bf8d Haoran Zhang Add debug message upon lock acquirement
* 4265a3af Haoran Zhang Add debug message upon lock acquirement
* 7fc105cf TutTrue Replace Uncrustify with ClangFormat for C code formatting
* ef8463ce Amr-Shams [#742]Add support for custom S3 endpoints
* 1b0ff5b1 Shashank Singh [#820] Log test case start points
* 88ec2b90 sksingh2005 [#665] Only load backup once
* 3b36dec7 jesperpedersen [#821] Remove valid check
* 574c8a00 jesperpedersen [#821] Remove is_online check
* 99323b6f jesperpedersen Add additional checks for test_delete
* 2f1acae3 jesperpedersen Add missing \newpage
* 34ebec1b sksingh2005 [#718] Hash Elapsed Time for backup.info
* 04fdf054 saraanbih Use errno codes for config validation in cli.c
* b474dab8 saraanbih [#809] Fix walinfo input validation and buffer overflow
* 2f728855 jesperpedersen Initial AI guidelines
* 7bd2b542 jesperpedersen Update actions
* 0e9e7a19 jesperpedersen Eisvogel 3.3.0
* 250dc23c jesperpedersen Disable Mac
* 10a3b78b jesperpedersen DOCS detection fixes
* 875a4cce jesperpedersen Update build information
* a809d1b8 jesperpedersen Remove Hindi documentation as it isn't maintained
* 2dfeff46 jesperpedersen Use Eisvogel 3.2.1
* bb91d5b6 jchrys [#811]Make `ssh_private_key_file`, `ssh_public_key_file` configurable
* 9e921f5e jesperpedersen [#601] Startup: Wrong collation
* ece685ce jesperpedersen [#601] Startup: Wrong collation
* 65485ee4 jesperpedersen [#752] Change incremental to 14+
* 1121e806 ashu3103 [#752] Create Incr Backup Workflow
* be7da25d jesperpedersen uncrustify
* 09cf7626 saraanbih [#622] Add file existence check for walinfo config file
* f9c49f7a jesperpedersen [#806] Remove CORE_DEBUG flag
* ac42ed40 jchrys [#804]fix `pgmoneta_resolve_path` not resolving trailing env var
* a492ed6b jchrys [#802]handle `pgmoneta_value_create` failure in `pgmoneta_art_insert`
* a391fb82 jchrys [#800] detect Podman before Docker to avoid alias misdetection
* 5b8c7904 jesperpedersen [#796] Improve pgmoneta_log_mem
* 65e28579 jesperpedersen [#796] Improve pgmoneta_log_mem
* 566a8a5f jesperpedersen [#796] Improve pgmoneta_log_mem
* ff4734eb jesperpedersen Uncrustify 0.81 configuration
* daa46f47 jesperpedersen Add newline after semicolon
* b00e9a13 Haoran Zhang uncrustify
* b171a570 jesperpedersen [#795] Compression code review
* 301f2690 ashu3103 [#791] Support for backup start and stop server APIs
* 56bca16f ashu3103 [#792] Memory Leak in pgmoneta_split()
* fe4cf64a Mohab Replace desc of records with <empty> if empty
* 4a81109d ashu3103 [#787] Make wal_file_name a public util API
* 2fbe4c06 Haoran Zhang [#786] Flush WAL segments as soon as possible
* 270dab58 Mohab [#784] Fix formatting across multiple files
* 92987664 Mohab Support .partial files in pgmoneta_get_wal_files
* 62b9d409 jesperpedersen Use SHA256 for source package
* c5134484 Mohab [#768] Added detailed WAL statistics collection
* d372fa2e Haoran Zhang [#780] Allow changing setup.sql every time
* ee99d2a1 ashu3103 [#772] Extend  API to return current timeline ID
* bef009fa ashu3103 uncomment server api testcases
* 2f22fe9c User1995 [#777] Fix RPM Build Issues: Missing Test Directory, Man Pages, Binaries, and RST Formatting Errors
* bc6d615a bassamadnan [#766] Refactor HTTP API
* f836cadf Mohab [#670] Implemented filtering on xid
* acca86a3 Haoran Zhang [#776] Try fixing CI
* 23b4ec32 jesperpedersen Comment test cases
* 9369a032 User1995 [#774] Support UTF8 passwords
* 1d11e443 ashu3103 build fixes
* 31645860 ashu3103 [#758] Fetch metadata of a file from the postgres server
* 2015dcd6 Mohab [#664] Fix walinfo output formatting
* 64552924 jesperpedersen uncrustify
* e5a727d8 jesperpedersen [#742] Add Garage as a S3 environment
* 7715562d ashu3103 [#763] Broken CI | Fix test_wal_summary test case
* c6d45a29 jesperpedersen Exclude .cache and test from source package
* 467ee8f9 jesperpedersen Use name
* 3fd049b4 ashu3103 [#757] Store the information about maximum block number modified in a BRT entry
* 27495fdd ashu3103 [#755] Refactor WAL Summarizer
* 21469baf ashu3103 [#753] Add a utils function to translate string lsn to integer lsn
* 5093418a Mohab [#670] Implement walfilter initial setup + filtering on DELETE
* 0c850345 bassamadnan [#745] Improve manual
* 03300488 Haoran Zhang Revert #749 and document create_slot
* 961bc87d Mohab [#748] Add physical replication slot creation for replication user
* 51dbd6e1 ashu3103 [#746] Memory Leak while converting bytea to binary for a chunk not present in file
* 3217efec ashu3103 [#735] Get endLSN of WAL Summarizer
* c30bb288 Haoran Zhang Mention platform test document
* 9d83c52b Haoran Zhang Update test documentation: Test Resource
* 08af3d72 jesperpedersen Includes for core API
* 3ca3294d jesperpedersen Try and fix -Wsign-compare
* 4bf685af jesperpedersen Try and fix -Wsign-compare
* da350c4b jesperpedersen Try and fix -Wsign-compare
* 4e0140f1 jesperpedersen Remove manual packages from CI
* 59fd0cb7 jesperpedersen Try and fix -Wsign-compare
* cfee09d9 jesperpedersen Add -Wsign-compare
* d2162580 jesperpedersen Disable CI/docs
* fc3b455e jesperpedersen Next is 0.20.0

Download