Skip to content

Releases: pgcentralfoundation/pgrx

v0.3.3

17 Feb 19:40
51f6046
Compare
Choose a tag to compare

Upgrading

Please make sure to run cargo install cargo-pgx and update all the pgx extension Cargo.toml's pgx* versions to 0.3.3.

What's Changed

  • Resolved the use of a deprecated item in Clap. (#444)
  • Fix: The @FUNCTION_NAME@ string fragments inside #[pg_extern(sql = "...@FUNCTION_NAME@...")] (from #410) would not get replaced by the generated wrapper name, as they used to in pgxsql doc comments. (#443)

v0.3.2

16 Feb 17:09
30b7a87
Compare
Choose a tag to compare

Upgrading

Please make sure to run cargo install cargo-pgx and update all the pgx extension Cargo.toml's pgx* versions to 0.3.2.

What's Changed

  • Fix: Resolved an issue in #[pg_extern(..)] functions with attributes that also returned tuples. A change in #410 caused incorrect macro expansion. (#440)

v0.3.1

11 Feb 19:59
ed9f061
Compare
Choose a tag to compare

Upgrading

Please make sure to run cargo install cargo-pgx and update all the pgx extension Cargo.toml's pgx* versions to 0.3.1.

What's Changed

  • Fix: We correctly use the right fcinfo ident if it's renamed in a #[pg_extern]. (#433)
  • We repaired some Cargo.toml metadata. (#434)

v0.3.0

09 Feb 21:58
cda8838
Compare
Choose a tag to compare

Upgrading

Please make sure to run cargo install cargo-pgx and update all the pgx extension Cargo.toml's pgx*versions to 0.3.0.

We do not expect users to require additional actions on upgrade, but we recommend any usage of the pgxsql be converted to use the new sql = "some string" available on the macros. We expect pgxsql support to be removed in the future, before 1.0.0.

Features

  • Aggregates are now supported. Explore the Rustdocs of pgx::Aggregate and pgx::pg_aggregate, or the aggregate example to learn more. (#230, #406, #418, #428)
  • cargo pgx has a new coat of paint as Clap was upgraded to 3.0. (#368)
  • cargo pgx will now do some validation that it is being run on a crate which uses a compatible pgx version. (#389)
  • cargo pgx and the sql-generator have more observability and improved error handling. Try exploring --verbose! (#372)
  • cargo pgx related commands now treat the pgversion as optional if some pgversion is part of the extension's default features. (#402)
  • You can now have extensions which are #[no_std]. While pgx still uses std, this can be a partial measure to limiting what an extension (or, for example plrust) might be able to do on a system. (#385)
  • pgx::Internal has an expanded API like get_or_insert_default(). (#419)
  • Most pgx related attribute macros now support sql = false, sql = "string", or sql = some::func::path to configure how they generate SQL. (#410, #422)
  • Nix users will find lib.buildPgxExtension in the flake.nix. (#358, #360, #361)

Other changes

  • PgBox acquired new() and new_in_context() functions. (#421)
  • The pg_sys::TimestampTz type alias now has an SQL mapping. (#400)
  • pgx::memcxt::PgMemoryContexts related closures now take a FnOnce, this makes them considerably more flexible as they can capture their environment. (#390)
  • pgx-pg-sys should hopefully be able to build on Docs.rs! (#386)
  • default!() macros can now handle negative values. (63f5e6e)
  • The new cargo pgx schema --skip-build flag uses existing artifacts. (#255)
  • @CARGO_VERSION@ in the .control file is now supported in the SQL generation. (#409)
  • Fixed some help text in cargo pgx init. (https://github.com/zombodb/pgx/pull/415)\
  • For users who already have PGUSER set, it was previously possible to encounter some issues during cargo pgx use. (#380)
  • For x86_64-unknown-linux-musl and aarch64-unknown-linux-musl users, schema generation is now supported. (#362, #365)
  • For Nix users, debug and doCheck are now supported. (#349, #401)
  • For Mac Nix users, glibc was broken, it's no longer include it on Mac. (#335)
  • For Mac ARM users, cargo pgx will now handle removing libraries when needed due to code-signing. (#333, #420)
  • For CentOS 7 or other older-distro users, some problems were noted with GCC 4. (#387)
  • General dependency updates and lint fixing. (#339, #364, #405, #414)

Thanks!

Thanks to @JamesGuthrie (from @timescale), @bitwalker (from @timescale), @robins , and @volks73 for their contributions!

v0.2.6

08 Dec 23:39
Compare
Choose a tag to compare

This is pgx v0.2.6. It fixes issue #320 along with some Nix support fixes as well (PR #305).

Please make sure to run cargo install cargo-pgx and to update your crate dependency versions.

v0.2.5

19 Nov 20:23
Compare
Choose a tag to compare

pgx v0.2.5 fixes an issue where Spi::get_one_with_args() would cause Postgres to segfault if one of the query arguments is NULL (None). It also improves our Nix support.

Thanks

Thanks to @bbigras for finding the SPI issue and also for the Nix support improvements!

What's Changed

New Contributors

Full Changelog: v0.2.4...v0.2.5

v0.2.4

12 Nov 20:11
Compare
Choose a tag to compare

This is pgx v0.2.4. It resolves (as best as possible) a compilation performance regression (#287) by only compiling the sql-generator binary when it's required. It also adds a few more Postgres headers for additional bindings around time/date and non-UTF8 encodings (PR #289).

Please make sure to run cargo install cargo-pgx along with updating your extension's Cargo.toml dependencies to point to this version.

v0.2.3

09 Nov 21:47
Compare
Choose a tag to compare

This is pgx v0.2.3. It is a minor bugfix release that fixes an issue with doing "special token" replacements in the generated (and copied) .sql files.

v0.2.2

09 Nov 16:31
Compare
Choose a tag to compare

This is pgx v0.2.2. It fixes an issue where #[pg_extern] functions that return a (rust) tuple would forget their attribute values.

v0.2.1

08 Nov 20:08
Compare
Choose a tag to compare

This is pgx v0.2.1. It's a bugfix release related to schema generation issues.

Fixed

New