pg_background v2.0.3 — follow-up packaging & validation release
Summary
A small follow-up release on top of the v2.0 line. v2.0.2 fixed cluster-crash conditions on the cancel path; v2.0.3 packages those fixes with a couple non-functional follow-ups (packaging, CI validation, docs/metadata cleanup) and re-runs the extended test matrix to ensure the cancel-path fixes are fully validated across supported PG versions and environments.
Highlights
- Includes the cancel-path cluster-crash fixes released in v2.0.2:
- Removed SIGKILL escalation on cancel — cancellation is cooperative (SIGTERM) only.
- Fixed early-cancel ResourceOwner delete path: pre-start cancel now exits cleanly without calling ResourceOwnerDelete(NULL).
- Packaging and release hygiene:
- Rebuilt artifacts and validated the binary against the CI matrix.
- Minor documentation/metadata cleanups (release notes, control file metadata) to ensure the version badge and release metadata are consistent.
- CI and validation:
- Re-run installcheck across supported PostgreSQL majors (14–18) and the 19 beta job.
- Verified the pre-start-cancel regression test under assert/ASan/UBSan lanes.
Notes for operators
- No SQL or API changes: extension SQL surface remains v2.0. This release is a binary/packaging/validation follow-up; no ALTER EXTENSION steps are required.
Upgrade procedure
- Build and install the new .so:
make clean && make && sudo make install- If you use
shared_preload_librariesfor pg_background, restart PostgreSQL. Otherwise a restart is not required — new workers pick up the new binary on next launch.
Backwards compatibility
- No behavioral changes expected beyond the safety fixes described above.
- The v2 canonical unsuffixed API remains in effect;
_v2aliases remain as deprecated shims during the 2.x lifecycle.
Validation & testing
- The working tree passed:
- installcheck (PostgreSQL 14–19)
- assert-enabled builds (PG 18)
- ASan + UBSan (PG 18)
- relocatable install matrix (PG 19)
- Added/validated the pre-start-cancel regression test (grace=0 cancel immediately after launch) on the assert/sanitizer lanes.
Changelog / compare
- Primary fixes were introduced in v2.0.2:
- Cancel-path cluster-crash fixes: SIGKILL escalation removed; pre-start cancel no longer calls ResourceOwnerDelete(NULL).
- For a detailed diff: v2.0.2...v2.0.3 (create the tag to make this link live)
Credits
Thanks to the CI and QA runs and the contributors who helped reproduce and validate the cancel-path scenarios.