pgBackRest 2.53 commit log

v2.52: PostgreSQL 17 support

commit   : dfc14b193454b3003c10eb2d021699cbd6294004    
  
author   : David Steele <[email protected]>    
date     : Mon, 27 May 2024 11:13:16 +1000    
  
committer: David Steele <[email protected]>    
date     : Mon, 27 May 2024 11:13:16 +1000    

Click here for diff

NOTE TO PACKAGERS: The build system for pgBackRest is now meson. The autoconf/make build will not receive any new features and will be removed after a few releases.  
  
Features:  
  
* Add GCS batch delete support. (Reviewed by Reid Thompson.)  
* S3 SSE-C encryption support. (Reviewed by Tim Jones. Suggested by Tim Jones.)  
* PostgreSQL 17 support. (Reviewed by Stefan Fercot.)  
  
Improvements:  
  
* Allow explicit disabling of optional dependencies in meson builds. (Contributed by Michael Schout. Reviewed by David Steele.)  
* Dynamically find python in meson build. (Contributed by Michael Schout. Reviewed by David Steele.)  
* Tag pgbackrest build target in meson as installable. (Contributed by Bradford Boyle. Reviewed by David Steele.)  
  
Documentation Improvements:  
  
* Update start/stop documentation to reflect actual functionality. (Reviewed by Stefan Fercot.)  

M CONTRIBUTING.md
M README.md
M doc/resource/exe.cache
M doc/resource/git-history.cache
M doc/xml/auto/metric-coverage-report.auto.xml
M doc/xml/release/2024/2.52.xml
M meson.build
M src/build/configure.ac
M src/configure
M src/version.h
M test/code-count/file-type.yaml

New CI container build for PostgreSQL 17 beta1.

commit   : 899b8927888f3930f07f5607902d0493bd3b8f05    
  
author   : David Steele <[email protected]>    
date     : Fri, 24 May 2024 12:24:11 +1000    
  
committer: David Steele <[email protected]>    
date     : Fri, 24 May 2024 12:24:11 +1000    

Click here for diff

Update the catalog version for beta 1 so pgbackrest will not work with any prior development versions.  
  
Also improve the integration/all test so the catalog version does not need to be updated again during the beta period.  

M src/postgres/interface/version.vendor.h
M test/container.yaml
M test/lib/pgBackRestTest/Common/ContainerTest.pm
M test/src/module/integration/allTest.c
M test/src/module/postgres/interfaceTest.c

Explicitly run test servers on ipv4 localhost.

commit   : c401ae8fb852d8cd7d10b7b7f3dcf1c42de8d3ee    
  
author   : David Steele <[email protected]>    
date     : Thu, 23 May 2024 11:03:59 +1000    
  
committer: David Steele <[email protected]>    
date     : Thu, 23 May 2024 11:03:59 +1000    

Click here for diff

If a host defaults to ipv6 then it can confuse the tests and lead to connection failures and inconsistent error messages.  
  
For now just hard-code the servers to run on ipv4 but this is an area for later improvement.  

M test/src/common/harnessServer.c
M test/src/module/command/serverTest.c
M test/src/module/common/ioTlsTest.c
M test/src/module/protocol/protocolTest.c

Exclude documentation code coverage from metrics report.

commit   : 04b043797634f36d3deb26dcf0357be1ff9971db    
  
author   : David Steele <[email protected]>    
date     : Thu, 23 May 2024 10:58:52 +1000    
  
committer: David Steele <[email protected]>    
date     : Thu, 23 May 2024 10:58:52 +1000    

Click here for diff

Coverage of the documentation code is not important enough to report to users. If it were reported it should be in a separate section (along with test code coverage).  

M test/lib/pgBackRestTest/Common/CoverageTest.pm

Fix comment typos and formatting.

commit   : 91156bf7e1dec5dfeec18bf13a112d16e3badfda    
  
author   : David Steele <[email protected]>    
date     : Thu, 23 May 2024 08:19:50 +1000    
  
committer: David Steele <[email protected]>    
date     : Thu, 23 May 2024 08:19:50 +1000    

Click here for diff

M src/common/type/json.h
M test/src/command/test/test.c
M test/src/module/command/infoTest.c

Update start/stop documentation to reflect actual functionality.

commit   : b6ac11beec920fe978994c0d018c380477199ca8    
  
author   : David Steele <[email protected]>    
date     : Thu, 23 May 2024 08:17:02 +1000    
  
committer: GitHub <[email protected]>    
date     : Thu, 23 May 2024 08:17:02 +1000    

Click here for diff

The exact functionality of start/stop has evolved over time and has become a bit confusing. It may be appropriate to make the behavior more consistent but for now at least document the behavior correctly. The documentation for start/stop was fairly inaccurate.

M doc/xml/release/2024/2.52.xml
M doc/xml/user-guide.xml

Add hrnTzSet() to set timezone in tests.

commit   : 9910a4eddb5a7772a289032dc30d6aeab68536ff    
  
author   : David Steele <[email protected]>    
date     : Mon, 20 May 2024 08:44:37 +1000    
  
committer: David Steele <[email protected]>    
date     : Mon, 20 May 2024 08:44:37 +1000    

Click here for diff

3c8819e1 replaced gmtime/localtime with gmtime_r/localtime_r but did not take into account a subtle difference in how they operate. While gmtime/localtime operate as if tzset() has been called, i.e. they operate on the TZ env variable directly, gmtime_r/localtime_r require tzset() to be called after changing TZ for consistent results.  
  
Rather than call tzset() every time TZ is changed, add hrnTzSet() to encapsulate both operations.  

M test/src/command/test/build.c
M test/src/common/harnessTest.c
M test/src/common/harnessTest.h
M test/src/module/command/backupTest.c
M test/src/module/command/infoTest.c
M test/src/module/command/manifestTest.c
M test/src/module/command/restoreTest.c
M test/src/module/test/testTest.c

Update Fedora test image to Fedora 40.

commit   : 28ad1badd939b4b02c23140bed82b1dc1034bcda    
  
author   : David Steele <[email protected]>    
date     : Sat, 18 May 2024 18:55:53 +1000    
  
committer: David Steele <[email protected]>    
date     : Sat, 18 May 2024 18:55:53 +1000    

Click here for diff

M .github/workflows/test.yml
M test/container.yaml
M test/lib/pgBackRestTest/Common/ContainerTest.pm
M test/lib/pgBackRestTest/Common/VmTest.pm

Replace erroneous THROW_SYS_ERROR_FMT() in storageInfo().

commit   : ffe9a17fcb9b3fe1d7caed64ca142228882d819f    
  
author   : David Steele <[email protected]>    
date     : Sat, 18 May 2024 14:33:40 +1000    
  
committer: David Steele <[email protected]>    
date     : Sat, 18 May 2024 14:33:40 +1000    

Click here for diff

This was copied from storagePosixInfo() in a474ba54 but there is no guarantee that errno will be valid at this point. In most cases errno was zero so no system error message was displayed, but when using the Posix driver it could output "[2] No such file or directory". For other drivers errno was generally not set but could output a random error message in that case that errno was set by some unrelated action.  
  
Use THROW_FMT() instead since errno will not always be set correctly and in any case "[2] No such file or directory" is not very useful information since the main error message already says that.  
  
While this is technically a bug it is so harmless that it doesn't merit mention in the release notes.  
  
This was discovered while testing on Fedora 40 which threw "[38] Function not implemented" -- clearly unrelated to missing paths/files.  

M src/storage/storage.c
M test/src/module/info/manifestTest.c
M test/src/module/storage/posixTest.c

Update GitHub test checkout and codeql action versions.

commit   : 9e477c432154f5929e0ad3afc4aeae01a739f872    
  
author   : David Steele <[email protected]>    
date     : Sat, 18 May 2024 09:59:32 +1000    
  
committer: David Steele <[email protected]>    
date     : Sat, 18 May 2024 09:59:32 +1000    

Click here for diff

checkout@v3, codeql-action/init@v2, and codeql-action/analyze@v3 are now deprecated.  

M .github/workflows/test.yml

Remove ASSERT() in sckClientOpen() to silence Coverity complaint.

commit   : db4eefae1a9e999cc6636740e061413b7a09bc37    
  
author   : David Steele <[email protected]>    
date     : Fri, 10 May 2024 10:01:16 +0930    
  
committer: David Steele <[email protected]>    
date     : Fri, 10 May 2024 10:01:16 +0930    

Click here for diff

Coverity complains that this comparison might have a side effect because the variable is volatile. It's hard to see what that might be but since the assertion is not all that important, just remove it. During testing this sort of error will generally be caught by valgrind.  

M src/common/io/socket/client.c

Silence invalid Coverity complaint in jsonReadPush().

commit   : d32eb5bb542f80657cfcc86df7663339297bb431    
  
author   : David Steele <[email protected]>    
date     : Fri, 10 May 2024 09:45:01 +0930    
  
committer: David Steele <[email protected]>    
date     : Fri, 10 May 2024 09:45:01 +0930    

Click here for diff

Coverity complains that the output from THROW_FMT will be unpredictable since the order of operations in the call is not deterministic, but it fails to understand that subsequent calls to jsonReadTypeNextIgnoreComma() are noops until the value has been processed.  
  
Silence Coverity by assigning the actual type to a local variable so jsonReadTypeNextIgnoreComma() is only called once.  
  
Also fix an adjacent comment typo.  

M src/common/type/json.c

Update storage (except remote) module to recent coding standards.

commit   : bb8988b551757a8932fd99027e436e53609ad7c9    
  
author   : David Steele <[email protected]>    
date     : Sat, 27 Apr 2024 19:14:01 +1000    
  
committer: David Steele <[email protected]>    
date     : Sat, 27 Apr 2024 19:14:01 +1000    

Click here for diff

Add const as appropriate and avoid initializing variables if the variable will definitely be set later on.  
  
The storage/remote module will be updated with the protocol module once a major waiting refactor has been committed.  

M src/storage/azure/read.c
M src/storage/azure/storage.c
M src/storage/azure/write.c
M src/storage/cifs/storage.c
M src/storage/gcs/read.c
M src/storage/gcs/storage.c
M src/storage/gcs/write.c
M src/storage/helper.c
M src/storage/list.c
M src/storage/list.h
M src/storage/posix/read.c
M src/storage/posix/storage.c
M src/storage/posix/write.c
M src/storage/s3/read.c
M src/storage/s3/storage.c
M src/storage/s3/write.c
M src/storage/sftp/read.c
M src/storage/sftp/storage.c
M src/storage/storage.c

Add GCS batch delete support.

commit   : 76bcb740b66f64804dbbf5a2a6be6407f9cec376    
  
author   : David Steele <[email protected]>    
date     : Sat, 27 Apr 2024 15:42:10 +1000    
  
committer: GitHub <[email protected]>    
date     : Sat, 27 Apr 2024 15:42:10 +1000    

Click here for diff

The GCS driver sent a single file delete request for each file while deleting a path. Depending on latency this could lead to rather long delete times, especially noticeable during expiration.
  

  
Improve GCS delete to use batches, which require multipart HTTP, so also add multipart HTTP infrastructure.

M doc/xml/release/2024/2.52.xml
M src/common/io/http/request.c
M src/common/io/http/request.h
M src/common/io/http/response.c
M src/common/io/http/response.h
M src/common/type/buffer.c
M src/common/type/buffer.h
M src/storage/gcs/storage.c
M src/storage/gcs/storage.intern.h
M test/define.yaml
M test/src/module/common/ioHttpTest.c
M test/src/module/common/typeBufferTest.c
M test/src/module/storage/gcsTest.c

Dynamically find python in meson build.

commit   : e00e33b52856a63e82552ccc12df235d1a7f6f17    
  
author   : Michael Schout <[email protected]>    
date     : Thu, 25 Apr 2024 04:32:07 -0500    
  
committer: GitHub <[email protected]>    
date     : Thu, 25 Apr 2024 04:32:07 -0500    

Click here for diff

This is better than requiring a python3 binary to be on the path because some installations might have, e.g. python3.9.
  

  
Also add the python3-distutils package to Debian builds to make this work.

M .github/workflows/test.yml
M CONTRIBUTING.md
M doc/xml/contributing.xml
M doc/xml/release/2024/2.52.xml
M doc/xml/user-guide.xml
M meson.build
M test/ci.pl
M test/container.yaml
M test/lib/pgBackRestTest/Common/ContainerTest.pm

Update meson minimum version to 0.47.

commit   : 55e996912aa57d39ea21f5dc905b7acabe93b0f8    
  
author   : David Steele <[email protected]>    
date     : Thu, 25 Apr 2024 18:35:48 +1000    
  
committer: David Steele <[email protected]>    
date     : Thu, 25 Apr 2024 18:35:48 +1000    

Click here for diff

This allows enabling the check option for run_command, which automatically fails when the command fails.  

M meson.build

Update Fedora test image to Fedora 38.

commit   : 4ea4e3f3809af24d8a1ff5be15ca7c713f8f40e1    
  
author   : Reid Thompson <[email protected]>    
date     : Tue, 23 Apr 2024 08:34:32 -0400    
  
committer: GitHub <[email protected]>    
date     : Tue, 23 Apr 2024 08:34:32 -0400    

Click here for diff

This should have been done in 434938e3 but somehow it didn't happen.
  

  
Fedora 38 requires 2048 bit keys so update the VM builds to use them. Update the documentation to use 2048 bit keys. This is not technically required by this commit but it makes sense to do it now.
  

  
Also update the key location for the yum.p.o repository.
  

  
Lastly, shuffle test PostgreSQL versions since PostgreSQL 11 is not longer available in the yum.p.o repository.

M doc/xml/release/2024/2.52.xml
M doc/xml/user-guide.xml
M test/certificate/ssh/id_rsa
M test/certificate/ssh/id_rsa.pub
M test/container.yaml
M test/lib/pgBackRestTest/Common/ContainerTest.pm
M test/lib/pgBackRestTest/Common/VmTest.pm

Update info module to recent coding standards.

commit   : b40c2616c2a8870b592d8c106a0980a94055aba0    
  
author   : David Steele <[email protected]>    
date     : Sun, 21 Apr 2024 13:16:53 +1000    
  
committer: David Steele <[email protected]>    
date     : Sun, 21 Apr 2024 13:16:53 +1000    

Click here for diff

Add const as appropriate and avoid initializing variables if the variable will definitely be set later on.  

M src/info/info.c
M src/info/infoArchive.c
M src/info/infoBackup.c
M src/info/infoPg.c
M src/info/manifest.c

Update db/postgres modules to recent coding standards.

commit   : c6fcc81db66c4b8f820c4ecf60f7067028dc6e79    
  
author   : David Steele <[email protected]>    
date     : Sun, 21 Apr 2024 13:01:40 +1000    
  
committer: David Steele <[email protected]>    
date     : Sun, 21 Apr 2024 13:01:40 +1000    

Click here for diff

Add const as appropriate and avoid initializing variables if the variable will definitely be set later on or is immediately returned.  

M src/db/db.c
M src/db/helper.c
M src/db/protocol.c
M src/postgres/client.c
M src/postgres/interface.c

Update config module to recent coding standards.

commit   : 19411f39d2737542aa28436b3ab661912a5c3965    
  
author   : David Steele <[email protected]>    
date     : Sun, 21 Apr 2024 12:06:39 +1000    
  
committer: David Steele <[email protected]>    
date     : Sun, 21 Apr 2024 12:06:39 +1000    

Click here for diff

Add const as appropriate and avoid initializing variables if the variable will definitely be set later on or is immediately returned.  

M src/config/common.c
M src/config/config.c
M src/config/exec.c
M src/config/load.c
M src/config/parse.c
M src/config/protocol.c

Update common module to recent coding standards.

commit   : 0e36e1a2fc79d8b425de30f54cc804efb30e3ab1    
  
author   : David Steele <[email protected]>    
date     : Sun, 21 Apr 2024 12:01:01 +1000    
  
committer: David Steele <[email protected]>    
date     : Sun, 21 Apr 2024 12:01:01 +1000    

Click here for diff

Add const as appropriate and avoid initializing variables if the variable will definitely be set later on or is immediately returned.  

M src/common/compress/bz2/common.c
M src/common/compress/bz2/compress.c
M src/common/compress/bz2/decompress.c
M src/common/compress/gz/common.c
M src/common/compress/gz/compress.c
M src/common/compress/gz/decompress.c
M src/common/compress/helper.c
M src/common/compress/lz4/common.c
M src/common/compress/lz4/compress.c
M src/common/compress/lz4/decompress.c
M src/common/compress/zst/common.c
M src/common/compress/zst/compress.c
M src/common/compress/zst/decompress.c
M src/common/crypto/cipherBlock.c
M src/common/crypto/common.c
M src/common/crypto/hash.c
M src/common/encode.c
M src/common/error/error.c
M src/common/exec.c
M src/common/fork.c
M src/common/ini.c
M src/common/io/bufferRead.c
M src/common/io/bufferWrite.c
M src/common/io/fd.c
M src/common/io/fdRead.c
M src/common/io/fdWrite.c
M src/common/io/filter/buffer.c
M src/common/io/filter/filter.c
M src/common/io/filter/group.c
M src/common/io/filter/sink.c
M src/common/io/filter/size.c
M src/common/io/http/client.c
M src/common/io/http/common.c
M src/common/io/http/header.c
M src/common/io/http/query.c
M src/common/io/http/request.c
M src/common/io/http/response.c
M src/common/io/http/session.c
M src/common/io/http/url.c
M src/common/io/io.c
M src/common/io/read.c
M src/common/io/socket/address.c
M src/common/io/socket/common.c
M src/common/io/tls/client.c
M src/common/io/tls/common.c
M src/common/io/tls/session.c
M src/common/io/write.c
M src/common/lock.c
M src/common/log.c
M src/common/memContext.c
M src/common/regExp.c
M src/common/stackTrace.c
M src/common/stat.c
M src/common/time.c
M src/common/type/buffer.c
M src/common/type/convert.c
M src/common/type/json.c
M src/common/type/keyValue.c
M src/common/type/list.c
M src/common/type/object.c
M src/common/type/pack.c
M src/common/type/string.c
M src/common/type/stringList.c
M src/common/type/variant.c
M src/common/type/xml.c
M src/common/user.c

Move packager note about meson to new version.

commit   : 987e6e31f479874fbb4ff93b6fd45b8178b5e4fa    
  
author   : David Steele <[email protected]>    
date     : Sun, 21 Apr 2024 09:42:11 +1000    
  
committer: David Steele <[email protected]>    
date     : Sun, 21 Apr 2024 09:42:11 +1000    

Click here for diff

Since there were some issues found with the meson install (7877983a, 7b95fd3b) it makes sense for any packagers who have not made the migration to hold off until the next release.  
  
Move the note to the next release where hopefully all issues have been addressed.  

M doc/xml/release/2024/2.51.xml
M doc/xml/release/2024/2.52.xml

Update command module to recent coding standards.

commit   : 9546b9c5d0e4da7bd952b01cc3374c26e9f90ea0    
  
author   : David Steele <[email protected]>    
date     : Sat, 20 Apr 2024 14:19:27 +1000    
  
committer: David Steele <[email protected]>    
date     : Sat, 20 Apr 2024 14:19:27 +1000    

Click here for diff

Add const as appropriate and avoid initializing variables if the variable will definitely be set later on or is immediately returned.  

M src/command/archive/common.c
M src/command/archive/find.c
M src/command/archive/get/file.c
M src/command/archive/get/get.c
M src/command/archive/get/protocol.c
M src/command/archive/push/file.c
M src/command/archive/push/protocol.c
M src/command/archive/push/push.c
M src/command/backup/backup.c
M src/command/check/check.c
M src/command/check/common.c
M src/command/check/report.c
M src/command/command.c
M src/command/control/common.c
M src/command/control/start.c
M src/command/control/stop.c
M src/command/exit.c
M src/command/expire/expire.c
M src/command/help/help.c
M src/command/info/info.c
M src/command/local/local.c
M src/command/repo/get.c
M src/command/repo/ls.c
M src/command/repo/put.c
M src/command/repo/rm.c
M src/command/restore/blockDelta.c
M src/command/restore/file.c
M src/command/restore/protocol.c
M src/command/restore/restore.c
M src/command/server/ping.c
M src/command/server/server.c
M src/command/stanza/common.c
M src/command/stanza/create.c
M src/command/stanza/upgrade.c
M src/command/verify/file.c
M src/command/verify/verify.c

PostgreSQL 17 Support.

commit   : fb22f04555fecfa143354372ec3543ab186c131d    
  
author   : David Steele <[email protected]>    
date     : Thu, 18 Apr 2024 10:56:24 +1000    
  
committer: GitHub <[email protected]>    
date     : Thu, 18 Apr 2024 10:56:24 +1000    

Click here for diff

Add catalog version and WAL magic for PostgreSQL 17.

M doc/xml/release/2024/2.52.xml
M src/build/postgres/postgres.yaml
M src/postgres/interface/version.vendor.h
M src/postgres/version.auto.h
M test/container.yaml
M test/lib/pgBackRestTest/Common/ContainerTest.pm
M test/lib/pgBackRestTest/Common/DbVersion.pm
M test/lib/pgBackRestTest/Common/VmTest.pm
M test/src/common/harnessPostgres.c
M test/src/common/harnessPostgres.h
A test/src/common/harnessPostgres/harness170.c
M test/src/module/integration/allTest.c
M test/src/module/postgres/interfaceTest.c

Update contributor name.

commit   : c8cf8e1f2bfbed2932cfbef4a7a58e3a13e16a46    
  
author   : David Steele <[email protected]>    
date     : Wed, 17 Apr 2024 19:02:28 +1000    
  
committer: David Steele <[email protected]>    
date     : Wed, 17 Apr 2024 19:02:28 +1000    

Click here for diff

M doc/xml/release/2024/2.52.xml
M doc/xml/release/contributor.xml

S3 SSE-C encryption support.

commit   : 57731b6cd261c732041aacc094429ab02ca13418    
  
author   : udf2457 <[email protected]>    
date     : Wed, 17 Apr 2024 02:58:13 +0100    
  
committer: GitHub <[email protected]>    
date     : Wed, 17 Apr 2024 02:58:13 +0100    

Click here for diff

This feature (enabled with --repo-s3-sse-customer-key) provides an encryption key to encrypt the data after it has been transmitted to the server.
  

  
While not as secure as encrypting data before transmission (--repo-cipher-type), this may be useful in certain configurations.

M doc/xml/release/2024/2.52.xml
M doc/xml/release/contributor.xml
M src/build/config/config.yaml
M src/build/help/help.xml
M src/config/config.auto.h
M src/config/parse.auto.c.inc
M src/storage/s3/helper.c
M src/storage/s3/read.c
M src/storage/s3/storage.c
M src/storage/s3/storage.h
M src/storage/s3/storage.intern.h
M src/storage/s3/write.c
M test/src/common/harnessHost.c
M test/src/module/command/helpTest.c
M test/src/module/storage/s3Test.c

Improve unit testing of valid page sizes in pg_control.

commit   : 06d3cb767c171be872262093b4547a62f1b16ee7    
  
author   : David Steele <[email protected]>    
date     : Wed, 17 Apr 2024 11:43:41 +1000    
  
committer: David Steele <[email protected]>    
date     : Wed, 17 Apr 2024 11:43:41 +1000    

Click here for diff

Spread the tests over more versions of PostgreSQL and improve/fix comments.  

M test/src/module/postgres/interfaceTest.c

Allow explicit disabling of optional dependencies in meson builds.

commit   : 7b95fd3bd29346e7325aa161bfee45efd71e22eb    
  
author   : Michael Schout <[email protected]>    
date     : Tue, 9 Apr 2024 17:23:17 -0600    
  
committer: GitHub <[email protected]>    
date     : Tue, 9 Apr 2024 17:23:17 -0600    

Click here for diff

On some platforms, e.g. FreeBSD, there is a requirement to allow the user to disable support for features even when the required library is present.
  

  
Introduce tri-state options for the optional features: auto mimics the current behavior and is the default, enable requires libraries for the feature to be present, and disable disables the feature without checking the libraries.

M doc/xml/release/2024/2.52.xml
M meson.build
M meson_options.txt

Fix comment typo.

commit   : dab52739cd36d2486b902b6b32d84532a834671b    
  
author   : David Steele <[email protected]>    
date     : Thu, 4 Apr 2024 18:21:26 +1100    
  
committer: David Steele <[email protected]>    
date     : Thu, 4 Apr 2024 18:21:26 +1100    

Click here for diff

M src/build/error/error.yaml

Remove test data files made obsolete by d41b21c8.

commit   : fec1b215e37d644c3ae7a54bf197beb853e3f1db    
  
author   : David Steele <[email protected]>    
date     : Sat, 30 Mar 2024 10:43:05 +1100    
  
committer: David Steele <[email protected]>    
date     : Sat, 30 Mar 2024 10:43:05 +1100    

Click here for diff

These should have been removed when the mock integration tests were removed.  
  
Ideally we would also remove filecopy.table.bin but it serves to provide realistic page data for performance testing.  

D test/data/filecopy.archive1.bin
D test/data/filecopy.archive2.bin
D test/data/page.bin

Allow strIdToLog() to output "null" values.

commit   : 9f5a97139fa222cf0b448bf76f0821e399849cd9    
  
author   : David Steele <[email protected]>    
date     : Fri, 29 Mar 2024 12:21:06 +1100    
  
committer: David Steele <[email protected]>    
date     : Fri, 29 Mar 2024 12:21:06 +1100    

Click here for diff

A valid StringId can never be zero so it more or less serves as a NULL value. In most cases zero will not be valid, but it is better to catch this condition with an assert rather than an error in logging.  

M src/common/type/stringId.c
M test/src/module/common/typeStringTest.c

Remove extra space before colons in meson.build files.

commit   : 014e24889ce082c7cdaf3d128c796e1e00dcd3ff    
  
author   : David Steele <[email protected]>    
date     : Wed, 27 Mar 2024 09:53:49 +1100    
  
committer: David Steele <[email protected]>    
date     : Wed, 27 Mar 2024 09:53:49 +1100    

Click here for diff

The spacing was not consistent so use the style that best matches our general coding standards.  

M doc/src/config/meson.build
M meson.build
M src/command/help/meson.build
M src/meson.build
M src/postgres/meson.build
M test/src/config/meson.build

Tag pgbackrest build target in meson as installable.

commit   : 7877983acb3b1a27e900f7e7aea89cb7b29a817d    
  
author   : Bradford Boyle <[email protected]>    
date     : Tue, 26 Mar 2024 15:29:37 -0700    
  
committer: GitHub <[email protected]>    
date     : Tue, 26 Mar 2024 15:29:37 -0700    

Click here for diff

By default meson does not install anything. Targets can be installed by tagging them as installable in the build definition.

M doc/xml/release/2024/2.52.xml
M doc/xml/release/contributor.xml
M src/meson.build

Begin v2.52 development.

commit   : 924aa5e8b127272bd3eff360a7e5737ef825a51f    
  
author   : David Steele <[email protected]>    
date     : Mon, 25 Mar 2024 11:22:53 +1300    
  
committer: David Steele <[email protected]>    
date     : Mon, 25 Mar 2024 11:22:53 +1300    

Click here for diff

M doc/RELEASE.md
M doc/resource/git-history.cache
M doc/xml/release.xml
A doc/xml/release/2024/2.52.xml
M meson.build
M src/build/configure.ac
M src/configure
M src/version.h
M test/code-count/file-type.yaml