github pgcentralfoundation/pgrx v0.10.0-beta.0

latest releases: v0.12.8, v0.12.7, v0.12.6...
pre-release16 months ago

Welcome to pgrx v0.10.0-beta.0.

This is a big release in that it brings PostgreSQL 16 Beta 2 support along with a few bug fixes.

🎉 This is also our first release under the stewardship of the PgCentral Foundation 🎉

If you'd like to help beta test please install cargo-pgrx with:

# cargo install cargo-pgrx --version 0.10.0-beta.0 --locked`

and then run

cargo pgrx init

to get the pgrx-managed version of Postgres 16beta2 locally installed.

This pgrx release is a beta because of the new Postgres 16beta2 support. There's some new infrastructure in the code for managing Postgres beta releases which will hopefully make it easy down the road when Postgres 17 comes around. So we'd like to make sure that's working on computers that aren't ours in addition to generally making sure the pgrx-specific changes to support 16beta2 are solid.

However, after a couple of pgrx v0.10.0 beta releases, we'll release the final version regardless of the Postgres 16 state. We'll simply continue to include the latest 16 beta/rc and publish point releases as 16 progresses.

When 16 is finally GA, we'll add that to whatever the latest pgrx release happens to be at that time.

Postgres 16 Beta2 Support

pgrx v0.10.0-beta.0 is the first pgrx release to support the new Postgres Beta series. Note that this release is tied to 16beta2, and a new pgrx release will need to be done for any subsequent 16 betas or release candidates. We intend to support these in a timely manner.

Note that pgrx only understands pg16 as the Postgres version feature flag. It is not possible for pgrx or pgrx-based extensions to support multiple betas at the same time.

You'll want to run a cargo pgrx init to get the support, if you want it.

Using pg16beta2 is a simple matter of adding:

pg16 = ["pgrx/pg16", "pgrx-tests/pg16" ]

to the [features] block of your Cargo.toml files and then targeting pg16 instead of any other version.

In general, there aren't a lot of user-facing internal Postgres API changes between 15 and 16, but there are some, so it's possible you'll need some #[cfg(feature = "pg16")] directives.

One breaking change that impacts pgrx across all supported versions is that string GUCs are now represented as GucSetting<Option<&'static CStr>>. Previously they were GucSetting<Option<&'static str>> which is a) strictly incorrect and b) incompatible with pg16.

If you find any issues with 16beta2 support, please file issues here on GitHub.

beta1 support was soon replaced by:

Bug Fixes

CI Changes

This test has been causing our CI some trouble -- we are investigating why

New Features

Misc Changes

New Contributors

Thanks

Thanks to @ChronicallyJD and the @pgcentralfoundation for their stewardship. We're looking forward to a bright future of extending Postgres with Rust!

Full Changelog: v0.9.7...v0.10.0-beta.0

Don't miss a new pgrx release

NewReleases is sending notifications on new releases.