|
| 1 | +# pgmoneta 0.16.0 |
| 2 | + |
| 3 | +This is a feature release. |
| 4 | + |
| 5 | +* Incremental backup support for PostgreSQL 17+ |
| 6 | +* Advanced filtering for pgmoneta-walinfo |
| 7 | +* Prometheus/HTTPS support |
| 8 | +* Docker / podman images |
| 9 | +* Enhancements and bug fixes |
| 10 | + |
| 11 | +### Changelog |
| 12 | + |
| 13 | +* Allow to use CRC32C hardware implementation on arm64 (@marsam / https://github.com/pgmoneta/pgmoneta/pull/450) |
| 14 | +* File-(file /cremental backup combine (@Jubilee101 / https://github.com/pgmoneta/pgmoneta/pull/535) |
| 15 | +* Remove trailing spaces (@tacerus / https://github.com/pgmoneta/pgmoneta/pull/489) |
| 16 | +* Use GET_ENV macro for environment variable (@Annupamaa / https://github.com/pgmoneta/pgmoneta/pull/506) |
| 17 | +* Use startup packets to set server version (@jchrys / https://github.com/pgmoneta/pgmoneta/pull/509) |
| 18 | +* [#147] Native incremental backup/restore support for PostgreSQL 17 (@Jubilee101 / https://github.com/pgmoneta/pgmoneta/pull/479) |
| 19 | +* [#415] Implemented the translation and filtering (@Mohab96 / https://github.com/pgmoneta/pgmoneta/pull/508) |
| 20 | +* [#419] CI: Delete after Restore (@ashu3103 / https://github.com/pgmoneta/pgmoneta/pull/461) |
| 21 | +* [#434] Get the segment size as an optional argument (@sh-ltanpour https://github.com/pgmoneta/pgmoneta/pull/459) |
| 22 | +* [#436] Allow file based commands to run without a server (@shikharish / https://github.com/pgmoneta/pgmoneta/pull/449) |
| 23 | +* [#446] Fix lz4 decompress logic (@shikharish / https://github.com/pgmoneta/pgmoneta/pull/447) |
| 24 | +* [#460] Proper error checking in master_key() (@shikharish / https://github.com/pgmoneta/pgmoneta/pull/462) |
| 25 | +* [#475] Make config argument optional and set default configuration path (@Mohab96 / https://github.com/pgmoneta/pgmoneta/pull/476) |
| 26 | +* [#481] Clear functionality for core APIs (@Jubilee101 / https://github.com/pgmoneta/pgmoneta/pull/482) |
| 27 | +* [#514] Print line numbers in pgmoneta_backtrace (@silver-ymz / https://github.com/pgmoneta/pgmoneta/pull/521) |
| 28 | +* [#517] Added pgmoneta_linux_version function to extract os kernel Ver… (@Userfrom1995 / https://github.com/pgmoneta/pgmoneta/pull/518) |
| 29 | +* [#524] Incremental backup restore size calculation (@ashu3103 / https://github.com/pgmoneta/pgmoneta/pull/590) |
| 30 | +* [#525] Moved users, servers and admins to common config (@Mohab96 / https://github.com/pgmoneta/pgmoneta/pull/528) |
| 31 | +* [#525] Split configuration into main, common and walinfo (@Mohab96 / https://github.com/pgmoneta/pgmoneta/pull/527) |
| 32 | +* [#533] Feat : Add docker support to pgmoneta (@Arshdeep54 / https://github.com/pgmoneta/pgmoneta/pull/540) |
| 33 | +* [#538] add --sort asc|desc option to list-backup command (@dancingactor / https://github.com/pgmoneta/pgmoneta/pull/554) |
| 34 | +* [#542][#543] Rollup backup during deletion (@Jubilee101 / https://github.com/pgmoneta/pgmoneta/pull/580) |
| 35 | +* [#545] Make systemd optional (@Arshdeep54 / https://github.com/pgmoneta/pgmoneta/pull/546) |
| 36 | +* [#551] Enable workers for incremental backup combine (@Jubilee101 / https://github.com/pgmoneta/pgmoneta/pull/583) |
| 37 | +* [#555] fix: macos compatibility (@botirk38 / https://github.com/pgmoneta/pgmoneta/pull/561) |
| 38 | +* [#557] Workers: Use Deque (@dancingactor / https://github.com/pgmoneta/pgmoneta/pull/565) |
| 39 | +* [#566] Add freeBSD support in CI (@Arshdeep54 / https://github.com/pgmoneta/pgmoneta/pull/572) |
| 40 | +* [#567] encrypt/compress/decrypt/decompress without config (@dancingactor / https://github.com/pgmoneta/pgmoneta/pull/570) |
| 41 | +* [#568] Improve CI Pipeline for pgmoneta (@Userfrom1995 / https://github.com/pgmoneta/pgmoneta/pull/569) |
| 42 | +* [#573] Add version coverage for gcc and clang debug mode (@bassamadnan / https://github.com/pgmoneta/pgmoneta/pull/594) |
| 43 | +* [#575] file logging: support environment variables (@nesangcode / https://github.com/pgmoneta/pgmoneta/pull/576) |
| 44 | +* [#577] fix environment variables support (@nesangcode / https://github.com/pgmoneta/pgmoneta/pull/578) |
| 45 | +* [#581] Allow incremental backup during hotstand (@Jubilee / https://github.com/pgmoneta/pgmoneta/pull/582) |
| 46 | +* [#600] Build: cmake 3.31+ (@Userfrom1995 / https://github.com/pgmoneta/pgmoneta/pull/604) |
| 47 | +* admin: support password through environment (@tacerus / https://github.com/pgmoneta/pgmoneta/pull/488) |
| 48 | +* feat: Enhance relpath error handling and validation (@7amo10 / https://github.com/pgmoneta/pgmoneta/pull/505) |
| 49 | + |
| 50 | +### New Contributors |
| 51 | + |
| 52 | +* @7amo10 |
| 53 | +* @Annupamaa |
| 54 | +* @Arshdeep54 |
| 55 | +* @Mohab96 |
| 56 | +* @Userfrom1995 |
| 57 | +* @bassamadnan |
| 58 | +* @botirk38 |
| 59 | +* @dancingactor |
| 60 | +* @jchrys |
| 61 | +* @marsam |
| 62 | +* @nesangcode |
| 63 | +* @silver-ymz |
| 64 | +* @tacerus |
| 65 | + |
| 66 | +### Commits |
| 67 | + |
| 68 | +* bcfd5aa User1995 [#600] Build: cmake 3.31+ |
| 69 | +* 5153d53 Dancing [#557] Workers: Use Deque |
| 70 | +* d77cd9c jesperpedersen uncrustify |
| 71 | +* 8159b06 jesperpedersen Switch to Eisvogel 3.1.0 |
| 72 | +* 0132cfc jesperpedersen Switch to Eisvogel 3.1.0 |
| 73 | +* 4a0f13b jesperpedersen Switch to Eisvogel 3.1.0 |
| 74 | +* cb050a5 Haoran Zhang Update documents on incremenal backup |
| 75 | +* bf036ce jesperpedersen Move tutorial |
| 76 | +* 8718a1e jesperpedersen Move tutorial |
| 77 | +* fec33f9 Arshdeep54 [#533] Fix Docker builds |
| 78 | +* 5fd7696 Shikhar Soni [#499] Add HTTPS support for prometheus metrics |
| 79 | +* 9137666 ashu3103 [#542] Incremental backup restore size calculation |
| 80 | +* 40b6d20 jesperpedersen [#592] Move archive functions |
| 81 | +* 35dbb07 bassamadnan [#573] Add version coverage for gcc and clang debug mode |
| 82 | +* f6085bf jesperpedersen [#592] Remove pgmoneta from core APIs |
| 83 | +* bf32d7b jesperpedersen [#592] libgen |
| 84 | +* 5576e62 jesperpedersen [#592] Includes |
| 85 | +* 076ad5b jesperpedersen [#592] Refactor functions |
| 86 | +* 6a35d8a Haoran Zhang [#590] Move base/final file name to static |
| 87 | +* 97d5199 Haoran Zhang [#586] Quick fix: save a copy of old manifest during rollup |
| 88 | +* 7a7d01f Haoran Zhang [#551] Enable workers for incremental backup combine |
| 89 | +* 863c8b5 jesperpedersen [#584] Admin fixes |
| 90 | +* 3e5ee4a jesperpedersen [#584] Overflow guards |
| 91 | +* 4fb5e77 jesperpedersen [#584] Memory leak |
| 92 | +* 503ddd8 jesperpedersen [#584] Home directory |
| 93 | +* ab303ca jesperpedersen [#544] Fix locking on error path |
| 94 | +* 2215987 Haoran Zhang [#581] Allow incremental backup during hotstandby |
| 95 | +* f1cc567 Haoran Zhang [#542][#543] Rollup backup during deletion |
| 96 | +* 3211985 nesangcode [#577] fix environment variables support |
| 97 | +* 2718fd2 nesangcode [#575] file logging: support environment variables |
| 98 | +* f64b4f2 Arshdeep54 [#566] Add freeBSD support in CI |
| 99 | +* d82c5e2 jesperpedersen Revert "[#557] Workers: Use Deque" |
| 100 | +* 0a9b3d8 Dancing [#567] encrypt/compress/decrypt/decompress without config |
| 101 | +* bda3faf User1995 [#568] Improve CI Pipeline for pgmoneta |
| 102 | +* f864b6e Mohab [#415] Implemented translation and filtering |
| 103 | +* 4a68c70 Botir Khaltaev [#555] chore: improve CI workflow and code maintainability |
| 104 | +* 7929c3c Dancing [#557] Workers: Use Deque |
| 105 | +* f9b5f95 jesperpedersen FreeBSD fixes |
| 106 | +* 454bb43 Mohab [#537] Optimized CRC32 to use PCLMULQDQ when available |
| 107 | +* cb7268d jesperpedersen uncrustify |
| 108 | +* de9ef92 Mingzhuo Yin [#514] Print line numbers in pgmoneta_backtrace |
| 109 | +* ec344bd dancing [pgmoneta#538] add --sort asc|desc option to list-backup command |
| 110 | +* 1bd64e2 Ahmed Ashour [#505]: Improve relpath validation and error handling |
| 111 | +* b428ba9 jesperpedersen [#544] Redefine locking |
| 112 | +* addef67 Haoran Zhang [#553] open wal shipping and sftp wal file when crossing boundary |
| 113 | +* 0d4058c Haoran Zhang [#553] Skip message header when copying into remain buffer |
| 114 | +* 39b6302 jesperpedersen [#533] Reformat |
| 115 | +* 6203d35 Arshdeep54 [pgmoneta#533] feat:add docker support to pgmoneta |
| 116 | +* c305dd0 Haoran Zhang [#549] Cleanup workspace after incremental backup restore |
| 117 | +* 6fc0048 Mohab [#525] Fixed a bug in `zstd_decompress` |
| 118 | +* 2a994a4 Arshdeep54 [#545] Make systemd optional |
| 119 | +* fc44d5c jesperpedersen [#541] Add pgmoneta_delete_server_workspace |
| 120 | +* 72db5ed Haoran Zhang [#510] File-by-file incremental backup combine |
| 121 | +* 9fee6a0 Haoran Zhang [#539] Relink should not work on directory symlinks |
| 122 | +* 09371c2 jesperpedersen [#534] Free backup |
| 123 | +* 40f2b77 jesperpedersen [#510] Always create missing directories when copy |
| 124 | +* 6ac53ea Mohab [#530] feat/cli-parser |
| 125 | +* 52d40cd ashu3103 [#474] tscli impl |
| 126 | +* 2c95e21 jesperpedersen [#510] API: Process a single file |
| 127 | +* f3c221b jesperpedersen [#510] Add WORKSPACE |
| 128 | +* 95e4196 Ahmed Ashour Enhance WAL file validation and error handling |
| 129 | +* 5523327 jesperpedersen Remove const |
| 130 | +* 376a9f1 Mohab [#525] Moved users, servers and admins to common config |
| 131 | +* 8a0041a Mohab [#525] Splitted configuration into main, common and walinfo |
| 132 | +* 9581e46 jesperpedersen uncrustify |
| 133 | +* a5e7186 Aryan Arora [#520]Refactor time based config options |
| 134 | +* 6b0232c Holo-xy Fix heap buffer overflow |
| 135 | +* 574c442 jesperpedersen [#510] Make a base struct for workers |
| 136 | +* 7c2250f jesperpedersen [#510] Align compression |
| 137 | +* 91c918b jesperpedersen [#510] Remove WORKSPACE |
| 138 | +* 5516fa5 jesperpedersen [#510] Error upon missing identifier/backup |
| 139 | +* 681a5c6 jesperpedersen [#492] Unify workflow error codes |
| 140 | +* 40bcbb0 Haoran Zhang [#492] Refactor incremental restore with simplified workflow |
| 141 | +* d264817 jesperpedersen Add a Release build |
| 142 | +* 7b93b08 jesperpedersen [#517] Fix release build |
| 143 | +* 6377448 Haoran Zhang [#519]Handle unordinary server version parsing |
| 144 | +* 307cb56 unconventional-guy [#517] Added pgmoneta_linux_version function to extract os kernel Version and name. |
| 145 | +* cec2bf9 jesperpedersen [#510] Add NODE_RESTORE_TYPE |
| 146 | +* 8299e3b jesperpedersen [#510] Rename some nodes |
| 147 | +* da56950 jesperpedersen [#512] Reset file descriptor upon error |
| 148 | +* 2422f34 jesperpedersen [#511] Remove pidfile upon coredump_cb |
| 149 | +* 5d77567 jesperpedersen [#510] Incremental: Use WORKSPACE_ROOT |
| 150 | +* f446b88 jchrys [#498] Use startup packets to set server version |
| 151 | +* d8a3079 Annupamaa Use GET_ENV macro for environment variable |
| 152 | +* b63e983 Ahmed Ashour Improve CLI error messages for better usability |
| 153 | +* 4a0da3d jesperpedersen Move definition |
| 154 | +* ed7778c jesperpedersen [#492] Change logging for ART and deque |
| 155 | +* 0fc0ca6 jesperpedersen [#492] Better debug of ART interactions |
| 156 | +* 876de58 Haoran Zhang [#467] Ref types shouldn't make copy since they don't do free |
| 157 | +* 5dec0fd Haoran Zhang [#492] Log value type before insert at DEBUG mode |
| 158 | +* da2e286 jesperpedersen Update email address |
| 159 | +* 7337116 jesperpedersen [#492] Switch from deque to ART, and do common functions |
| 160 | +* c9b515e jesperpedersen [#492] Simplify workflow |
| 161 | +* c00e945 jesperpedersen [#492] Simplify workflow |
| 162 | +* 1d8752f Haoran Zhang [#496] Simplify ART API signatures |
| 163 | +* 729528f Haoran Zhang [#470] Index out of range check should be inclusive |
| 164 | +* e7ff44f Haoran Zhang [#486] ART iterator remove |
| 165 | +* 88f309c Haoran Zhang Text format should still have separating space if values are on the same line |
| 166 | +* 14140ea Georg Pfuetzenreuter Remove trailing whitespaces |
| 167 | +* e6c186c Georg Pfuetzenreuter admin: support password through environment |
| 168 | +* f5008c8 Ashutosh [#438] Allow -s and -l combined filtering in walinfo |
| 169 | +* a95de88 jesperpedersen [#483] CLI: Clear response when an error occurs |
| 170 | +* 0a9bddf Haoran Zhang [#481] Clear functionality for core APIs |
| 171 | +* 01a3408 jesperpedersen [#147] Fix relink directory handling |
| 172 | +* 2ded823 Haoran Zhang [#147] Native incremental backup/restore support for PostgreSQL 17 |
| 173 | +* eb2ad5f jesperpedersen [#472] Move pgmoneta_exists() check up one level |
| 174 | +* 687ee8f jesperpedersen Lower to trace |
| 175 | +* 83ef376 Haoran Zhang [#472] do_link should not complain when file doesn't exist |
| 176 | +* 3c64bd8 jesperpedersen [#477] Backup: Cleanup upon error |
| 177 | +* 071689d jesperpedersen Lower to TRACE |
| 178 | +* a3fd53b jesperpedersen [#472] Check if file exists |
| 179 | +* 6b99303 jesperpedersen [#472] Guard workers |
| 180 | +* d723f85 Mohab [#475] Make config argument optional in walinfo.c |
| 181 | +* 35698eb jesperpedersen [#473] Limit number of workers |
| 182 | +* 3704e84 jesperpedersen [#473] Limit number of workers |
| 183 | +* 8fd02e3 jesperpedersen [#472] Don't start restore unless there is room |
| 184 | +* 246daca jesperpedersen [#147] Add workspace configuration |
| 185 | +* 7f18392 jesperpedersen [#471] Exclude backup_label and backup_manifest from linking |
| 186 | +* b43b256 Haoran Zhang [#470] Return early if depth out of key range in ART delete/search |
| 187 | +* e1fce3e Haoran Zhang [#469] Only link files when they are changed or added |
| 188 | +* 2056b33 jesperpedersen Always remove uncrustify file |
| 189 | +* a88cb4b Ashutosh Sharma [#419] CI: Delete after Restore |
| 190 | +* 2dc2764 Annupamaa Adding support for MacOS build |
| 191 | +* 87d02a6 jesperpedersen uncrustify |
| 192 | +* 1d55367 Haoran Zhang [#467] Ref types should have the same to_string cb |
| 193 | +* ba6580d Haoran Zhang [#468] add iterator_has_next |
| 194 | +* ff194c7 Haoran Zhang [#467] Reference types for existing values |
| 195 | +* d9fef0f jesperpedersen [#466] Reset keep_write, and only count valid responses |
| 196 | +* 36c21eb jesperpedersen [#466] Send DEFAULT_BUFFER_SIZE at max |
| 197 | +* 264f35f jesperpedersen [#465] log_rotation_age parsed incorrectly |
| 198 | +* 222ef61 jesperpedersen [#464] Typo in backup struct |
| 199 | +* c6ad912 Shikhar Soni [#460] Proper error checking in master_key() |
| 200 | +* fb6f199 jesperpedersen NULL after fclose() |
| 201 | +* cc0043f jesperpedersen Cbhange typecase for read_XYZ |
| 202 | +* 788f7b4 jesperpedersen Disable ASAN on aarch64 |
| 203 | +* c57c307 Shikhar Soni [#456] Add -F/--format flag for pgmoneta-admin |
| 204 | +* 949295e sh-soltanpour [#434] Calculate the WAL segment size |
| 205 | +* db9025d jesperpedersen [#457] Missing cleanups for main errors |
| 206 | +* 2f6bf60 jesperpedersen .partial: WARN -> INFO |
| 207 | +* 586d2e3 jesperpedersen Increase sport to 6 |
| 208 | +* 646ad2d Haoran Zhang [#454] Minor API adjustments |
| 209 | +* 693ae78 Haoran Zhang [#455] JSON remove by key |
| 210 | +* 3de34a6 Haoran Zhang [#454] Read/write json from/to disk |
| 211 | +* 82ea904 jesperpedersen Check readlink() |
| 212 | +* 48b960f jesperpedersen [#453] Offline: Compression, encryption and retention |
| 213 | +* 5ca10c1 jesperpedersen uncrustify |
| 214 | +* 9116aaf jesperpedersen [#448] cli: compress -C bz2 causes stack overflow |
| 215 | +* 36aaa8d jesperpedersen Remove trace |
| 216 | +* fa2a214 Shikhar Soni [#436] Allow file based commands to run without a server |
| 217 | +* 2f170a9 Haoran Zhang [#452] Deque peek/poll last |
| 218 | +* afc86fd Mario Rodas [#451] Allow to use CRC32C hardware implementation on arm64 |
| 219 | +* a1dc9f6 Shikhar Soni [#446] Fix lz4 decompress logic |
| 220 | +* 0097399 jesperpedersen Copyright 2024->2025 |
| 221 | +* 04c7adf Haoran Zhang [#443] allow symlinks in recursive decompression and decryption |
| 222 | +* fcb69c1 Shikhar [#423] Add metrics for time and speed of each step of backup workflow |
| 223 | +* 6608f0e jesperpedersen Add bzip2 |
| 224 | +* f311c42 Haoran Zhang [#147] remove_suffix should return a copy when no provided suffix is found |
| 225 | +* 9914681 jesperpedersen [#441] restore: Memory leak |
| 226 | +* 54a07b3 jesperpedersen [#147] Add summarize_wal |
| 227 | +* e27e6e7 jesperpedersen [#440] walinfo: configuration -> config |
| 228 | +* 3491126 jesperpedersen Include latest stable branch in testing |
| 229 | +* 9853747 jesperpedersen [#439] Retain vs explicit delete |
| 230 | +* 1baed55 Haoran Zhang [#147] Fetch block and segment size from server |
| 231 | +* ab234f1 Haoran Zhang [#147] Exclude manifest from compression |
| 232 | +* 3ff083c jesperpedersen Next is 0.16.0 |
| 233 | + |
| 234 | +### Download |
| 235 | + |
| 236 | +* [Source code](https://github.com/pgmoneta/pgmoneta/releases/download/0.16.0/pgmoneta-0.16.0.tar.gz) |
| 237 | +* [Advanced guide](https://github.com/pgmoneta/pgmoneta/releases/download/0.16.0/pgmoneta-advanced.pdf) |
| 238 | +* [User guide](https://github.com/pgmoneta/pgmoneta/releases/download/0.16.0/pgmoneta-user-guide.pdf) |
| 239 | +* [Developer guide](https://github.com/pgmoneta/pgmoneta/releases/download/0.16.0/pgmoneta-dev-guide.pdf) |
| 240 | +* [RPM](https://yum.postgresql.org) for Fedora 41/42, RHEL 9.x and Rocky 9.x |
0 commit comments