------------------------------------------------------------------- Wed Dec 4 13:47:03 UTC 2019 - Bruno Friedmann - update to 2.19 : C Migrations and Bug Fixes + Bug Fixes: - Fix remote timeout in delta restore. When performing a delta restore on a largely unchanged cluster the remote could timeout if no files were fetched from the repository within protocol-timeout. Add keep-alives to prevent remote timeout. - Fix handling of repeated HTTP headers. When HTTP headers are repeated they should be considered equivalent to a single comma-separated header rather than generating an error, which was the prior behavior. + Improvements: - JSON output from the info command is no longer pretty-printed. Monitoring systems can more easily ingest the JSON without linefeeds. External tools such as jq can be used to pretty-print if desired. - The check command is implemented entirely in C. + Documentation Improvements: - Document how to contribute to pgBackRest. - Document maximum version for auto-stop option. + Test Suite Improvements: - Fix container test path being used when --vm=none. - Fix mismatched timezone in expect test. - Don't autogenerate embedded libc code by default. - Cleanup spec (license and pkgconfig) ------------------------------------------------------------------- Sun Oct 6 14:09:55 UTC 2019 - Bruno Friedmann - Update to 2.18 version PostgreSQL 12 Support + Features: - PostgreSQL 12 support. - Add info command set option for detailed text output. - Add standby restore type. This automatically adds standby_mode=on to recovery.conf for PostgreSQL < 12 and creates standby.signal for PostgreSQL ≥ 12, creating a common interface between PostgreSQL versions. + Improvements: - The restore command is implemented entirely in C. + Documentation Improvements: - Document the relationship between db-timeout and protocol-timeout. - Add documentation clarifications regarding standby repositories. - Add FAQ for time-based Point-in-Time Recovery. - Update to 2.17 version C Migrations and Bug Fixes + Bug fixes: - Improve slow manifest build for very large quantities of tables/segments. - Fix exclusions for special files. + Improvements: - The stanza-create/update/delete commands are implemented entirely in C. - The start/stop commands are implemented entirely in C. - Create log directories/files with 0750/0640 mode. + Documentation Bug Fixes: - Fix yum.p.o package being installed when custom package specified. + Documentation Improvements: - Build pgBackRest as an unprivileged user. ------------------------------------------------------------------- Sat Aug 24 16:31:39 UTC 2019 - Bruno Friedmann - Update to 2.16 release C Migrations and Bug Fixes + Bug Fixes: - Retry S3 RequestTimeTooSkewed errors instead of immediately terminating. - Fix incorrect handling of transfer-encoding response to HEAD request. - Fix scoping violations exposed by optimizations in gcc 9. + Features: - Add repo-s3-port option for setting a non-standard S3 service port. + Improvements: - The local command for backup is implemented entirely in C. - The check command is implemented partly in C. - Packaging adding new libpq-fe dependency - Added patch libpq-fe.h_localisation.patch ------------------------------------------------------------------- Thu Jul 11 12:09:42 UTC 2019 - Bruno Friedmann - Update to 2.15.1 release + Bug Fixes: Fix archive retention expiring too aggressively. + Improvements: The expire command is implemented entirely in C. The local command for restore is implemented entirely in C. Remove hard-coded PostgreSQL user so $PGUSER works. Honor configure --prefix option. Rename repo-s3-verify-ssl option to repo-s3-verify-tls. The new name is preferred because pgBackRest does not support any SSL protocol versions (they are all considered to be insecure). The old name will continue to be accepted. - Packaging: + export %optflag as CFLAG + fix make install with new supported prefix ------------------------------------------------------------------- Thu Jun 6 05:59:01 UTC 2019 - Bruno Friedmann - Emergency rollback, 2.14 segv ------------------------------------------------------------------- Wed Jun 5 15:24:17 UTC 2019 - Bruno Friedmann - Update to 2.14 release + Bug Fixes: Fix segfault when process-max > 8 for archive-push/archive-get. + Improvements: Bypass database checks when stanza-delete issued with force. Add configure script for improved multi-platform support. + Documentation Features: Add user guides for CentOS/RHEL 6/7. - 2.13 release + Bug Fixes: Fix zero-length reads causing problems for IO filters that did not expect them. Fix reliability of error reporting from local/remote processes. Fix Posix/CIFS error messages reporting the wrong filename on write/sync/close. - 2.12 release + IMPORTANT NOTE: The new TLS/SSL implementation forbids dots in S3 bucket names per RFC-2818. This security fix is required for compliant hostname verification. + Bug Fixes: Fix issues when a path option is / terminated. Fix issues when log-level-file=off is set for the archive-get command. Fix C code to recognize host:port option format like Perl does. Fix issues with remote/local command logging options. + Improvements: The archive-push command is implemented entirely in C. Increase process-max limit to 999. Improve error message when an S3 bucket name contains dots. + Documentation Improvements: Clarify that S3-compatible object stores are supported. - Packaging: add autoconf upstream is now using configure. ------------------------------------------------------------------- Mon Mar 11 09:10:56 UTC 2019 - Bruno Friedmann - Update to 2.11 release + C Implementation of Archive Get + Bug Fixes: - Fix possible truncated WAL segments when an error occurs mid-write. - Fix info command missing WAL min/max when stanza specified. - Fix non-compliant JSON for options passed from C to Perl. + Improvements: - The archive-get command is implemented entirely in C. - Enable socket keep-alive on older Perl versions. - Error when parameters are passed to a command that does not accept parameters. - Add hints when unable to find a WAL segment in the archive. - Improve error when hostname cannot be found in a certificate. - Add additional options to backup.manifest for debugging purposes. + Documentation Improvements: - Update default documentation version to PostgreSQL 10. - Packaging: + Remove merge upstream patch (2cd204f.patch) + Fix install destination to %{_bindir} ------------------------------------------------------------------- Wed Feb 20 08:15:24 UTC 2019 - Bruno Friedmann - Include upstream patch 2cd204f.patch to fix issue#677 ------------------------------------------------------------------- Sun Feb 17 10:02:49 UTC 2019 - Bruno Friedmann - Update to 2.10 version bug fixes + Add unimplemented S3 driver method required for archive-get. + Fix check for improperly configured pg-path. - Packaging: + Fix trailing space in changes (jengelh) + Use a factual description (jengelh) ------------------------------------------------------------------- Fri Feb 8 20:02:00 UTC 2019 - Bruno Friedmann - Update to 2.09 version bug fixes and improvements + Fix issue with multiple async status files causing a hard error. + info command is implemented entirely in C. + Simplify info command text message when no stanzas are present by replacing the repository path with "the repository". + Add _DARWIN_C_SOURCE flag to Makefile for MacOS builds. + Update address lookup in C TLS client to use modern methods. + Include Posix-compliant header for strcasecmp() and fd_set. - Packaging: remove comments/remark fixed and merged issue #659 ------------------------------------------------------------------- Sat Jan 26 10:00:00 UTC 2019 - Bruno Friedmann - Update to 2.08 version : bug fixes and improvement See more information https://pgbackrest.org/release.html - Add libxml2-devel as buildrequires - Add a comment about gethostbyname() upstream issue #659 - Update spec (date and order) ------------------------------------------------------------------- Sat Dec 1 08:58:07 UTC 2018 - Bruno Friedmann - Re-add all needed Perl (upstream issue #629): not all the code is ported to C ------------------------------------------------------------------- Tue Nov 20 13:36:49 UTC 2018 - Bruno Friedmann - Update to 2.07 version : bug fixes and improvement See more information https://pgbackrest.org/release.html ------------------------------------------------------------------- Sat Oct 27 20:12:17 UTC 2018 - Bruno Friedmann - Bug fix and improvement 2.06 version See more information https://pgbackrest.org/release.html - Packaging : Remove Requires perl, it not more used ------------------------------------------------------------------- Wed Oct 3 08:07:18 UTC 2018 - Bruno Friedmann - Bug fix and improvement 2.05 version See more information https://pgbackrest.org/release.html ------------------------------------------------------------------- Sat Jul 14 16:25:46 UTC 2018 - bruno@ioda-net.ch - Fix packaging : Avoid segv backtrace + Don't package and distribute perl or LibC They are already in final binary. Ref https://github.com/pgbackrest/pgbackrest/issues/558 + As a result : tests are no more usable, (only vagrant runs) use a simple call of the binary (pgbackrest version) to exclude futur backtrace + Clean spec: licence and remove macro for file ------------------------------------------------------------------- Wed Jul 11 07:49:49 UTC 2018 - bruno@ioda-net.ch - Critical bug fix release 2.04 (Backup Resume) + IMPORTANT NOTE: This release fixes a critical bug in the backup resume feature. All resumed backups prior to this release should be considered inconsistent. See more information https://pgbackrest.org/release.html + Bug Fixes: - Fix critical bug in resume that resulted in inconsistent backups. A regression in v0.82 removed the timestamp comparison when deciding which files from the aborted backup to keep on resume. - Fix error in selective restore when only one user database exists in the cluster. - Fix non-compliant ISO-8601 timestamp format in S3 authorization headers. AWS and some gateways were tolerant of space rather than zero-padded hours while others were not. + Features: - PostgreSQL 11 Beta 2 support. + Improvements: - Improve the HTTP client to set content-length to 0 when not specified by the server. S3 (and gateways) always set content-length or transfer-encoding but HTTP 1.1 does not require it and proxies (e.g. HAProxy) may not include either. - Set search_path = 'pg_catalog' on PostgreSQL connections + Documentation Improvements: - Create a new section to describe building pgBackRest and build on a separate host. - Add sample S3 policy to restrict bucket privileges. - Packaging : + Explicitly requires all perl deps + Define make_build for 42.3 compilation ------------------------------------------------------------------- Mon May 28 08:21:30 UTC 2018 - bruno@ioda-net.ch - Urgent fix : add perl as BuildRequires and Requires to force presence of libperl.so : Otherwise pgbackrest binary can't find it - Spec : use %make_build macros ------------------------------------------------------------------- Wed May 23 09:55:27 UTC 2018 - bruno@ioda-net.ch - Update release 2.03 version + Bug Fixes: - Fix potential buffer overrun in error message handling. - Fix archive write lock being taken for the synchronous archive-get command. + Improvements: - Embed exported C functions and Perl modules directly into the pgBackRest executable. - Use time_t instead of __time_t for better portability. - Print total runtime in milliseconds at command end. ------------------------------------------------------------------- Thu May 10 10:12:23 UTC 2018 - bruno@ioda-net.ch - Update to bugfix & improvement 2.02 version Parallel Asynchronous Archive Get and Configuration Includes Released May 6, 2018 + Bug Fixes: - Fix directory syncs running recursively when only the specified directory should be synced. - Fix archive-copy throwing "path not found" error for incr/diff backups. - Fix failure in manifest build when two or more files in PGDATA are linked to the same directory. - Fix delta restore failing when a linked file is missing. - Fix rendering of key/value and list options in help. + Features: - Add asynchronous, parallel archive-get. This feature maintains a queue of WAL segments to help reduce latency when PostgreSQL requests a WAL segment with restore_command. - Add support for additional pgBackRest configuration files in the directory specified by the --config-include-path option. Add --config-path option for overriding the default base path of the --config and --config-include-path option. - Add repo-s3-token option to allow temporary credentials tokens to be configured. pgBackRest currently has no way to request new credentials so the entire command (e.g. backup, restore) must complete before the credentials expire. + Improvements: - Update the archive-push-queue-max, manifest-save-threshold, and buffer-size options to accept values in KB, MB, GB, TB, PB where the multiplier is a power of 1024. - Make backup/restore path sync more efficient. Scanning the entire directory can be very expensive if there are a lot of small tables. The backup manifest contains the path list so use it to perform syncs instead of scanning the backup/restore path - Show command parameters as well as command options in initial info log message. - Rename archive-queue-max option to archive-push-queue-max to avoid confusion with the new archive-get-queue-max option. The old option name will continue to be accepted. + Documentation Bug Fixes: - Update docs with 32-bit support and caveats. 32-bit support was added in v1.26. + Documentation Improvements: - Add monitoring examples using PostgreSQL and jq. - Add example of command section usage to archiving configuration. - Remove documentation info --output=json as experimental. - Update out-of-date description for the spool-path option. + Test Suite Features: - Use lcov for C unit test coverage reporting. Switch from Devel::Cover because it would not report on branch coverage for reports converted from gcov. Incomplete branch coverage for a module now generates an error. Coverage of unit tests is not displayed in the report unless they are incomplete for either statement or branch coverage. - Changes of previous 2.01 version from March 6th 2018 + Bug Fixes: - Fix --target-action and --recovery-option options being reported as invalid when restoring with --type=immediate. - Immediately error when a secure option (e.g. repo1-s3-key) is passed on the command line. Since pgBackRest would not pass secure options on to sub-processes an obscure error was thrown. The new error is much clearer and provides hints about how to fix the problem. Update command documentation to omit secure options that cannot be specified on the command-line. - Fix issue passing --no-config to embedded Perl. - Fix issue where specifying log-level-stderr > warn would cause a local/remote process to error on exit due to output found on stderr when none was expected. The max value for a local/remote process is now error. - Fix manifest test in the check command when tablespaces are present. + Improvements: - Error when multiple arguments are set in the config file for an option that does not accept multiple arguments. - Remove extraneous sudo commands from src/Makefile. + Documentation Improvements: - Show index in examples for indexed options, i.e. repo-*, pg-*. - Simplify table of contents on command page by only listing commands. - Remove references to the C library being optional. + Test Suite Features: - Add CentOS/RHEL package builds. - Use clang for static code analysis. Nothing found initially except for some functions that should have been marked __noreturn__. ------------------------------------------------------------------- Fri Mar 9 15:16:24 UTC 2018 - bruno@ioda-net.ch - Packaging : + modernize spec with spec-cleaner -m + remove pgbackrest-release-1.00_datadir.patch pgbackrest is now written in C + Build C binary and lib C + Adjust new parameter name in pgbackrest-conf.patch - Update to new 2.0 version + Features: The archive-push command is now partially coded in C which allows the PostgreSQL archive_command to run significantly faster when processing status messages from the asynchronous archive process. (Reviewed by Cynthia Shang.) + Improvements: - Improve check command to verify that the backup manifest can be built. (Contributed by Cynthia Shang.) - Improve performance of HTTPS client. Buffering now takes the pending bytes on the socket into account (when present) rather than relying entirely on select(). In some instances the final bytes would not be flushed until the connection was closed. - Improve S3 delete performance. The constant S3_BATCH_MAX had been replaced with a hard-coded value of 2, probably during testing. - Allow any non-command-line option to be reset to default on the command-line. This allows options in pgbackrest.conf to be reset to default which reduces the need to write new config files for specific needs. - The C library is now required. This eliminates conditional loading and eases development of new library features. - The pgbackrest executable is now a C binary instead of Perl. This allows certain time-critical commands (like async archive-push) to run more quickly. - Rename db-* options to pg-* and backup-* options to repo-* to improve consistency. repo-* options are now indexed although currently only one is allowed. ** This imply you need to revisit your pgbackrest.conf ** - Packaging : + Use make install (now fixed upstream) for bin ------------------------------------------------------------------- Sun Feb 4 17:14:16 UTC 2018 - bruno@ioda-net.ch - Upgrade to 1.28 bugfix version + Bug Fixes: - Fixed inability to restore a single database contained in a tablespace using --db-include. (Fixed by Cynthia Shang.) - Ensure latest db-id is selected on when matching archive.info to backup.info. This provides correct matching in the event there are system-id and db-version duplicates (e.g. after reverting a pg_upgrade). (Fixed by Cynthia Shang. Reported by Adam K. Sumner.) - Fixed overly chatty error message when reporting an invalid command. (Reported by Jason O'Donnell.) + Features: Add stanza-delete command to cleanup unused stanzas. (Contributed by Cynthia Shang. Suggested by Magnus Hagander.) + Improvements: Improve stanza-create command so that it does not error when the stanza already exists. (Contributed by Cynthia Shang.) ------------------------------------------------------------------- Thu Feb 1 13:20:00 UTC 2018 - bruno@ioda-net.ch - Packaging : + Fix wrong requirement of previous version, now use correct %perl_requires, add openssl-devel for crytpo on libc + Add pgbackrest-conf.patch : a minimal working configuration file + Build pgbackrest-libc allowing crypto and checksum + Added %check section + Rework install and file section (copy of pgdg packaging and use of correct %perl macros + Disable build on i586 pgBackRest need perl with 64bit integer support. see upstream issue https://github.com/pgbackrest/pgbackrest/issues/478 + use %_localstatedir/lib as %_sharedstatedir is broken on Leap 42.x and some SLE12 ------------------------------------------------------------------- Fri Jan 26 15:19:05 UTC 2018 - joop.boonen@opensuse.org - update to 1.27 https://github.com/pgbackrest/pgbackrest/releases/tag/release%2F1.27 https://github.com/pgbackrest/pgbackrest/releases/tag/release%2F1.26 https://github.com/pgbackrest/pgbackrest/releases/tag/release%2F1.25 https://github.com/pgbackrest/pgbackrest/releases/tag/release%2F1.24 https://github.com/pgbackrest/pgbackrest/releases/tag/release%2F1.23 https://github.com/pgbackrest/pgbackrest/releases/tag/release%2F1.22 https://github.com/pgbackrest/pgbackrest/releases/tag/release%2F1.21 - Added missing requirement ------------------------------------------------------------------- Thu Aug 3 17:42:43 UTC 2017 - mrueckert@suse.de - update to 1.20 https://github.com/pgbackrest/pgbackrest/releases/tag/release%2F1.20 https://github.com/pgbackrest/pgbackrest/releases/tag/release%2F1.19 https://github.com/pgbackrest/pgbackrest/releases/tag/release%2F1.18 ------------------------------------------------------------------- Tue Mar 21 11:04:04 UTC 2017 - bruno@ioda-net.ch - update to 1.17 https://github.com/pgbackrest/pgbackrest/releases/tag/release%2F1.17 https://github.com/pgbackrest/pgbackrest/releases/tag/release%2F1.16 https://github.com/pgbackrest/pgbackrest/releases/tag/release%2F1.15 https://github.com/pgbackrest/pgbackrest/releases/tag/release%2F1.14 ------------------------------------------------------------------- Fri Feb 10 00:39:58 UTC 2017 - mrueckert@suse.de - update to 1.13 https://github.com/pgbackrest/pgbackrest/releases/tag/release%2F1.13 https://github.com/pgbackrest/pgbackrest/releases/tag/release%2F1.12 https://github.com/pgbackrest/pgbackrest/releases/tag/release%2F1.11 ------------------------------------------------------------------- Thu Nov 10 11:09:58 UTC 2016 - mrueckert@suse.de - update to 1.10 https://github.com/pgbackrest/pgbackrest/releases/tag/release%2F1.10 https://github.com/pgbackrest/pgbackrest/releases/tag/release%2F1.09 https://github.com/pgbackrest/pgbackrest/releases/tag/release%2F1.08 https://github.com/pgbackrest/pgbackrest/releases/tag/release%2F1.07 https://github.com/pgbackrest/pgbackrest/releases/tag/release%2F1.06 https://github.com/pgbackrest/pgbackrest/releases/tag/release%2F1.05 https://github.com/pgbackrest/pgbackrest/releases/tag/release%2F1.04 https://github.com/pgbackrest/pgbackrest/releases/tag/release%2F1.03 https://github.com/pgbackrest/pgbackrest/releases/tag/release%2F1.02 https://github.com/pgbackrest/pgbackrest/releases/tag/release%2F1.01 ------------------------------------------------------------------- Wed May 4 02:46:09 UTC 2016 - mrueckert@suse.de - added pgbackrest-release-1.00_datadir.patch: perl libraries installed in the normal search path we dont need this anymore. ------------------------------------------------------------------- Wed May 4 02:26:45 UTC 2016 - mrueckert@suse.de - update to 1.00