Skip to content

v0.19.4

Choose a tag to compare

@eeeebbbbrrrr eeeebbbbrrrr released this 12 Nov 18:05
8d7fc23

Welcome to pgrx v0.19.4! This is a security release for the CVE-2026-6460 fix that Postgres shipped today. It is also the last release in the v0.19.x series.

As always, please install cargo-pgrx with cargo install cargo-pgrx --version 0.19.4 --locked.

Run cargo pgrx init

After installing, run a plain cargo pgrx init, with no arguments. It downloads and builds every patched Postgres release: 14.25, 15.20, 16.16, 17.12, 18.7, and 19rc2.

Moving On

The v0.19.x branch will stay around, but we don't plan any more 0.19 releases. Please move to pgrx v0.20.0, which is coming next as a full release with no further betas.

CVE-2026-6460

The patched Postgres releases record a version in each composite datum. Postgres checks that version before reading an attribute, so it raises an ERROR instead of misreading a row formed under an incompatible definition of its type. pgrx reads composite attributes with its own code, which skipped that check until now. PgHeapTuple and the htup functions now perform it.

To get the fix, rebuild your extension with pgrx 0.19.4 against a patched Postgres. The check is compiled in only when the Postgres headers you build against include the fix. An extension built against the fixed headers will not load on an earlier minor release.

Postgres 19rc2

cargo pgrx init --pg19=download now downloads 19rc2 instead of 19beta4. The bindings for all supported versions have been regenerated against the new minor releases.

Full Changelog: v0.19.3...v0.19.4