Skip to content

Releases: pgcentralfoundation/pgrx

v0.12.8

02 Nov 17:34
dd4155c
Compare
Choose a tag to compare

This is pgrx v0.12.8. It fixes a potential deadlock during the cargo-pgrx "install" process if any of the extension schema files include the @GIT_HASH@ variable. How bizarre!

As always, to upgrade please run cargo install cargo-pgrx --version v0.12.8 --locked.

What's Changed

Full Changelog

v0.12.7...v0.12.8

v0.12.7

27 Oct 17:51
5a4ff45
Compare
Choose a tag to compare

Welcome to pgrx v0.12.7. This is a minor release which adds a few more Postgres headers, fixes a possible crashing bug, adds some more smarts to #[pg_cast], and adds a new GucFlags variant.

To upgrade, please execute cargo install cargo-pgrx --version 0.12.7 --locked. Then you can run cargo pgrx upgrade against your extension crates.

The plan is that this will be the last release in the v0.12.x series.

What's Changed

More Headers

New Features

Less Build Drama

Safety

  • fix: crash from drop impls that panic via leak_and_drop_on_delete() by @eeeebbbbrrrr in #1929

New Contributors

Full Changelog:
v0.12.6...v0.12.7

v0.12.6

14 Oct 17:41
123b2b0
Compare
Choose a tag to compare

Welcome to pgrx v0.12.6. This release fixes a number of bugs, cleans up various parts of the code, adds more Postgres #include headers, and other little things.

To upgrade, first install cargo-pgrx with cargo install cargo-pgrx --version 0.12.6 --locked. Then you can run cargo pgrx upgrade in your extension's crate to update its dependencies.

What's Changed

New Contributors

Full Changelog: v0.12.5...v0.12.6

v0.12.5

26 Sep 20:05
2801296
Compare
Choose a tag to compare

Welcome to pgrx v0.12.5. This is a big minor release because it brings support for Postgres v17.0, released on Sept 26th, 2024. Much thanks to the Postgres folks for all their hard work! We'd have to do this for MySQL otherwise!

To upgrade to pgrx v0.12.5, do cargo install cargo-pgrx --version 0.12.5 --locked. Once installed you can run cargo pgrx upgrade in the root of all your extension crates to update their dependencies.

New Features

pgrx now supports Postgres v17.0! You'll want to run another cargo pgrx init to get the latest release of all Postgres versions, including 17.

diffs between schema versions should be a lot prettier now as cargo pgrx schema should be repeatable from run-to-run and otherwise output in a predictable order.

Regular and cross-compiles should be more reliable now thanks to using cc to compile the tiny bit of C code pgrx includes.

Made with love to those who don't like allocations!

Bug Fixes

  • Fixed conversion of i64 and f64 to datums on 32-bit machines by @YohDeadfall in #1859

More Postgres Headers

Docs & Examples

Code Cleanup

New Contributors

Full Changelog: v0.12.4...v0.12.5

v0.12.4

11 Sep 16:14
b810e98
Compare
Choose a tag to compare

Welcome to pgrx v0.12.4.

First, and most importantly, it fixes a segfault when converting a NULL pg_sys::Datum into a Rust String. It seems you'd need to go out of your way to cause the segfault, but nonetheless, it shouldn't happen. A NULL Datum should convert to Option::None in all situations.

Secondly, @aykut-bozkurt has properly defined microseconds, which is critical for proper Time conversions.

From there, @usamoi enhanced our bindings generation such that we now auto-generate wrappers for any of Postgres' static inline functions in the included headers. This is great as it eliminates our need to manually write these wrappers and it automatically exposes a lot more.

And thanks to @YohDeadfall AnyArray is now iterable!

As always, please upgrade using cargo install cargo-pgrx --version 0.12.4 --locked. Then you can use cargo pgrx upgrade to update the dependencies in your extension crates.

What's Changed

Full Changelog: v0.12.3...v0.12.4

v0.12.3

09 Sep 13:17
46c9abe
Compare
Choose a tag to compare

Welcome to pgrx v0.12.3. This point release upgrades to use the new Postgres 17rc1.

As usual, please cargo install cargo-pgrx --version 0.12.3 --locked. Then you can run cargo pgrx upgrade in your extension crate's root to update its dependencies.

What's Changed

Full Changelog: v0.12.2...v0.12.3

v0.12.2

06 Sep 13:54
5a1151e
Compare
Choose a tag to compare

Welcome to pgrx v0.12.2. This is a minor release that fixes a few bugs, improves compilation times with cargo pgrx run/install/test, and adds a few more Postgres headers.

As usual, please cargo install cargo-pgrx --version 0.12.2 --locked. Then you can run cargo pgrx upgrade in your extension crate's root to update its dependencies.

What's Changed

New Contributors

Thanks to these folks for their first-time contributions -- it's greatly appreciated!

Full Changelog: v0.12.1...v0.12.2

v0.12.1

21 Aug 23:11
d40aa4d
Compare
Choose a tag to compare

You may be more interested in the release notes for 0.12.0.

What's Changed

Full Changelog: v0.12.0...v0.12.1

v0.12.0

20 Aug 19:49
2de7a4e
Compare
Choose a tag to compare

Cutting the 0.12.0 release as-is!

You may need to:

  • rearrange some imports
  • sed some types to use pg_sys::EnumName::Type (only the typedef, not the constants)
  • bump heapless to 0.8
  • impl ArgAbi and impl BoxRet for custom types

Code which updates to this version of pgrx is actually sound for the Postgres function ABI, so sorry about the breakages!

What's Changed

Read more

v0.12.0-beta.5

14 Aug 17:43
a6d4755
Compare
Choose a tag to compare

pgrx 0.12.0-beta.5 will likely be the final1 beta release and we will be releasing 0.12.0 based on this code with almost no variation if no unpleasant surprises are discovered.

Misc Changes

  • Some doc fixes from @SteveLauC, thank you!
  • A number of FFI headers:
    • add bindings of syslogger.h by @usamoi in #1783
    • Add bindings for 'tcop/pquery.h' and 'commands/copy.h' header files by @aykut-bozkurt in #1786
    • Include pg_seclabel catalog by @daamien in #1787
    • Add bindings for 'jit/jit.h' and 'utils/resowner_private.h' header files by @jeltz in #1790

Postgres 17 beta3 support

Thanks to @eeeebbbbrrrr in #1790 we now have support for Postgres 17's beta3 release. This will be updated to whatever's actually current before we release 0.12.0 proper.

New bindgen settings

For this release, I extensively reworked our CI to make new releases easier and faster, by validating that the build problems that occurred for the pgrx 0.12.0-beta.0 release never happen again. This involved splitting out our bindgen-running code into its own crate, which you will see in your dependency tree, though you should never have a reason to explicitly depend on it. Now we test that the pgrx workspace always can be packaged in CI, and we verify that code on publishing.

As part of this I also did some additional tuning on our bindgen settings in #1804 so that it now generates &CStr for appropriate constants (same content as the &[u8] you may have used before).

New Contributors

Full Changelog: v0.12.0-beta.3...v0.12.0-beta.5

  1. The astute may notice something about these release notes when compared with the previous: https://github.com/pgcentralfoundation/pgrx/releases/tag/v0.12.0-beta.4