New features

 * PGXSExtension module — a single config-driven module for testing
   out-of-tree PGXS extensions, keyed by a |pgxs_extensions| hash in the
   config (one entry per extension). New test extensions no longer need
   their own bespoke |.pm| file. The existing BlackholeFDW,
   FileTextArrayFDW
   and RedisFDW modules remain for now so existing configs keep working.
 * New branches-to-build tags |UNRELEASED| and |HEAD_PLUS_UNRELEASED|,
   covering branches between the time the tree is forked and a release is
   tagged.
 * CheckIndent can now run on any branch that loads it, not just HEAD.
 * |locales| entries can now be a hashref naming both the locale and the
   encoding, e.g. |{ locale => 'C', encoding => 'UTF8' }|. Encodings are
   compared canonically.
 * Build result submission is retried (up to 5 times, 60 seconds apart)
   when
   the server answers with HTTP 503 "Backend Fetch Failed".
 * The client version number is now included in the user agent string.


   PatchStack improvements

 * Apply the patch series with the patches repository's own
   |import-series.pl| driver when present, so the farm tests exactly what a
   release wrap produces. Otherwise apply with |git apply| rather than
   |git quiltimport|, at full context.
 * Decide whether a rebuild is needed from the net result of applying the
   series, so a branch is rebuilt when a patch it shares from another
   branch's directory (e.g. |../master/foo.patch|) changes.
 * Resolve symlinked and shared patches via git plumbing.
 * New |PGBuild::PatchSeries| module for shared series reading, and a new
   |check_patch_stack.pl| script to check a patch stack.
 * Write a |patch_stack.log| for distinct display on the server.
 * Optional diagnostic snapshot of repository git state (|diagnose => 1|).
 * Clear stale |git am| state left behind by a failed or killed run, which
   previously caused every later run to fail on the first patch.
 * Don't send the previous run's stage logs when reporting a checkout
   failure.
 * Handle a series file with no entries.
 * Automatic git maintenance is forced off under |git_use_workdirs|,
   and the
   sample config now recommends turning |git_use_workdirs| off for
   PatchStack animals.


   Log collection

 * Don't attach server and node logs to passing make/MSVC stages (only TAP
   |regress_log_*| files), matching the meson behaviour. On valgrind
   animals, logs reporting valgrind errors are still kept, and installcheck
   server logs are now checked for valgrind errors.
 * Don't resend the failure log when it is already in a stage log. (This
   needs a server that understands |failed_stage_log|.)


   Cross-version upgrade

 * Pin the dump session time zone to UTC, so comparisons don't fail
   spuriously when saved data directories come from a machine in a
   different time zone.
 * Stop the server before bailing out on error.


   Bug fixes

 * Fix |use_vpath|/|using_meson| handling for MSVC animals that prefer
   meson
   but fall back to the legacy MSVC build on branches without
   |meson.build|.
 * In PGXS TAP test directories, run only the TAP tests (from release 12,
   |make check| also ran the REGRESS and ISOLATION suites, which are run
   elsewhere).
 * Fixes for Windows with TAP and Unix sockets, and a backslash issue.
 * Remove a robocopy flag (|/sec|) that upset Windows 11.
 * Remove an unwanted system call in |Dist.pm|.


   Housekeeping

 * Make LF the canonical line ending for text files.
 * perlcritic and perltidy cleanups.

The release is available at <https://github.com/PGBuildFarm/client-code/releases> or <https://buildfarm.postgresql.org/downloads/latest-client.tgz>


--
Andrew Dunstan
EDB:https://www.enterprisedb.com

Reply via email to