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
andimpl 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
- Error eagerly when given a pg_config for the wrong PG version by @thomcc in #1335
- Verify that the pgrx active thread is actually the main thread by @thomcc in #1319
- Fix flake by @bbigras in #1345
- Avoid colons in filenames by @passcod in #1346
- (cargo-pgrx init) Use toml serializer to write config.toml by @passcod in #1348
- Fixes nightly "cargo unlocked" tests by @BradyBonnette in #1350
- install --sudo destination path must exist to be canonicalized by @levkk in #1352
- Untar directly in rust by @passcod in #1347
- use
get_array_type
in Array IntoDatum by @workingjubilee in #1353 - Use and pass jobserver instead of limiting cores directly by @passcod in #1338
- Weaken bounds on Array impls by @workingjubilee in #1355
- Remove
IntoDatum::array_type_oid()
by @workingjubilee in #1356 - yeet IntoDatum for u32 by @workingjubilee in #1354
- Satisfy clippy errors on 7 of 8 crates by @workingjubilee in #1358
- (nfc) Unleash clippy --fix on pgrx::datum by @workingjubilee in #1359
- Remove Postgres 11 support by @workingjubilee in #1365
clippy --fix
pgrx libraries by @workingjubilee in #1366- Add
clippy -Awarnings
to CI and fix unsound fn by @workingjubilee in #1357 - Isolate non-dlopen Unix code in cargo-pgrx by @workingjubilee in #1367
- Pedantically use
pg_sys::Datum
(nfc) by @workingjubilee in #1372 - Use one 🦭 per crate by @workingjubilee in #1371
- Fix rustdoc lints by @workingjubilee in #1373
- Remove Amazon Linux 2 tests by @workingjubilee in #1377
- Fix timezone test after daylight savings shift by @thomcc in #1378
- Clean up more bounds in pgrx::datum::array by @workingjubilee in #1380
- Update fcinfo fn toward actual usage by @workingjubilee in #1375
- Autoclippify cargo-pgrx and other build-support crates by @workingjubilee in #1382
- Make
#[derive(PostgresType)]
impl its own FromDatum by @workingjubilee in #1381 - Allow safe u32 -> Oid conversions by @workingjubilee in #1374
- Remove Postgres 11 detritus by @workingjubilee in #1385
- Partially clean up pgrx-sql-entity-graph by @workingjubilee in #1386
- Sniff for libclang-version-correct headers by @workingjubilee in #1325
- Don't run the blender on weekends by @workingjubilee in #1396
- Remove unused cshim headers by @workingjubilee in #1395
- Cleanup pgrx sql entity graph more by @workingjubilee in #1387
- Fix actions badge by @muzimuzhi in #1401
- Add Illumos target for sigsetjmp function. by @LuminousMonkey in #1403
- Add trusted option in the control file by @liuxueyang in #1397
- Begin work on a guide by @workingjubilee in #1402
- Add storage related api by @silver-ymz in #1409
- Remove PgGuardRewriter by @workingjubilee in #1410
- Record ignorable commits by @workingjubilee in #1411
- Clippy a bunch of code again by @workingjubilee in #1412
- Factor out rewriter fn by @workingjubilee in #1413
- Simplify logic in lifetimes.rs by @workingjubilee in #1416
- Allow most low-info clippy warnings by @workingjubilee in #1419
- Make sql-entity-graph clippy-clean by @workingjubilee in #1420
- :fix: avoid segfault on background worker pool exhaustion by @AndreaOddo89 in #1418
- Simplify void return handling by @workingjubilee in #1422
- Remove unused source-mapping code by @workingjubilee in #1424
- Deprecate
Oid::from_u32_unchecked
in 0.11.2 by @workingjubilee in #1426 - Tighten up
Pg_magic_func
code by @workingjubilee in #1423 - Stub out pgrx-internal.md by @workingjubilee in #1427
- Add
MemCx<'mcx>
forList<'mcx, T>
by @workingjubilee in #1342 - feat: add
ForeignDataWrapperRelationId
OID definitions by @burmecia in #1432 - does updating apt fix CI? by @eeeebbbbrrrr in #1438
- Include rule utils header by @daamien in #1431
- expand readme by @Lokathor in #1433
- Address the case when
RUSTFLAGS
environment variable is set but is empty by @eeeebbbbrrrr in #1435 - merge
develop-v0.11.2
by @eeeebbbbrrrr in #1439 - fix issue #1437 by @eeeebbbbrrrr in #1440
- add bindings for libpq by @usamoi in #1436
- Handle RUSTFLAGS better by @eeeebbbbrrrr in #1441
- Allow to build cargo-pgrx either with rustls (default) or native-tls by @jirutka in #1448
- Use native-certs with ureq by @workingjubilee in #1449
- Alpine should not need tar by @workingjubilee in #1450
- Add regproc.h by @workingjubilee in #1453
- use the full
cargo
version string in the version match check. by @Lokathor in #1443 - Adjust StringInfo wrapper impl to match actual definition by @workingjubilee in #1457
- Remove unused attrs on
Pg_magic_func
by @workingjubilee in #1460 - Manually staticize lifetimes in pgrx tests by @workingjubilee in #1461
- Demand lifetimes for
pgrx::composite_type!
by @workingjubilee in #1462 - Use
composite_type!
lifetimes in pgrx-sql-entity-graph by @workingjubilee in #1463 - fix undefined behaviour when loading control file by @usamoi in #1466
- Remove
impl Display for pg_sys::Oid
by @workingjubilee in #1469 - Allow
detail
argument and trailing commas inereport!
by @hoodiecollin in #1472 - Unbox types properly from arrays by @workingjubilee in #1476
- Filter
all
to both config && Cargo .tomls by @workingjubilee in #1487 - Add bindings for
include/multixact.h
by @rebasedming in #1486 - Include varlena functions by @daamien in #1485
- Use bindgen 0.69 by @workingjubilee in #1492
- Document CPU and OS support expectations by @workingjubilee in #1480
- Fixup docs for cargo-pgrx by @workingjubilee in #1491
- Bump shlex 1.3 to reduce escaping concerns by @workingjubilee in #1493
- Remove atty by @workingjubilee in #1494
- Use heapless 0.8 by @workingjubilee in #1495
- Update pgrx to 0.12.0-alpha.0 by @workingjubilee in #1497
- Use workspace dependencies by @workingjubilee in #1498
- Simplify color-eyre initialization by @thomcc in #1501
- Replace dependency on
dirs
withhome
by @the-kenny in #1490 - Remove flaky
serde_serialize_array
todo test by @workingjubilee in #1503 - Add license check by @workingjubilee in #1504
- Add a macro
pg_cast
for constructing PG casts from Rust functions. by @xwkuang5 in #1445 - Document detoasting reqs for RawArray by @workingjubilee in #1512
- Document we compile Postgres with assertions by @workingjubilee in #1513
- Add how-to for installing on macOS by @workingjubilee in #1515
- Fix the pgrx links in the aggregate article. by @rjuju in #1516
- Clean up library with
is_non_null
by @workingjubilee in #1528 - Allow pgrx to be slightly messy by @workingjubilee in #1527
- Simplify errors with thiserror by @nyurik in #1533
- docs: improve quotations by @nyurik in #1537
- Inline - build by @nyurik in #1530
- Inline - tests by @nyurik in #1529
- Bounds-checking debug assertions for array access by @NotGyro in #1514
- lib: inline
format_args!
idents by @nyurik in #1531 - macros: inline
format_args!
idents by @nyurik in #1532 - remove dlopen hack by @usamoi in #1468
- cargo-pgrx: reduce trivial dep usages by @workingjubilee in #1499
- chore: lots of lints and fixes by @nyurik in #1523
- Remove unnecessary nightly hack by @workingjubilee in #1544
- Switch to
ManuallyDropUnion
by @NotGyro in #1547 - Remove unused
#[pgrx(..)]
support by @workingjubilee in #1555 - Make a non-example not a doctest by @workingjubilee in #1556
- Update 2 syn by @workingjubilee in #1557
- spi: Add support for specifying mutating mode to PreparedStatement by @XeniaLu in #1275
- Try to reenable workflows using ubuntu-latest by @workingjubilee in #1563
- Give CI a makeover by @workingjubilee in #1564
- add bindings of subscript function by @usamoi in #1562
- Composite type result by @NotGyro in #1560
- Cleanup List impl by @workingjubilee in #1567
- Rename
ErrorReportable::report()
tounwrap_or_report()
by @NotGyro in #1568 - Add "installation" section to docs by @workingjubilee in #1569
- Accept
#[pg_test(expected = "string")]
by @workingjubilee in #1570 - pfree toasted Arrays on drop by @workingjubilee in #1571
- Move
#[pg_cast]
test from ui to compile-fail by @workingjubilee in #1576 - Suggest
cargo install
on pgrx version mismatch diagnostic by @workingjubilee in #1579 - Give
WithTypeIds
its own module by @workingjubilee in #1575 - Add a comment to doc bindings by @workingjubilee in #1573
- VARHDRSZ
const
s are notfn
by @workingjubilee in #1584 - Lock the install of cargo-deny by @workingjubilee in #1588
- Make
RawArray::from_ptr
a simple cast by @workingjubilee in #1587 - Remove
Interval::is_finite
by @workingjubilee in #1594 - Remove the
pg_sql_graph_magic!()
macro. by @eeeebbbbrrrr in #1591 - Fix unsound
&
and&mut
infcinfo.rs
by @workingjubilee in #1595 - Address pg16 rename of
*_tree_walker
fn by @workingjubilee in #1596 - Release pgrx 0.12.0-alpha.1 by @workingjubilee in #1598
- Remove redundant imports by @workingjubilee in #1607
- mark pgrx_pg_sys bindings inline by @usamoi in #1616
- Break Time on the anvil of proptest by @workingjubilee in #1610
- reserve exact one blank line between two sql entities by @usamoi in #1619
- Fix off-by-one error in fastgetattr docs by @workingjubilee in #1618
- Deprecate
set_varsize
by @workingjubilee in #1617 - Nullable type by @NotGyro in #1602
- Consistently test on latest rustc stable by @workingjubilee in #1620
- Use Ceescape's
sigsetjmp()
wrapper by @NotGyro in #1621 - Clean up even more redundant code by @workingjubilee in #1623
- feat: add more cshim bindings by @rebasedming in #1628
- inline lib reqs for
cargo pgrx init
by @jyn514 in #1630 - feat: add
ExecCopySlotHeapTuple
topg_sys
by @rebasedming in #1635 - Bump whoami and eyre by @workingjubilee in #1638
- Redeclare additional *_walker fn by @daamien in #1629
- Fix cargo pgrx finding cdylibs by @workingjubilee in #1636
- There are 1000 microseconds per millisecond by @workingjubilee in #1639
- only build library in cargo-pgrx commands by @usamoi in #1643
- fix: allow unused_lifetimes for pg_extern. by @my-vegetable-has-exploded in #1655
- Tiny doc fix in build.rs by @nyurik in #1654
- Fix typo in cargo-pgrx README.md by @staticle in #1656
- Add beta ci by @workingjubilee in #1660
- Use
CARGO_TARGET_DIR
if available by @workingjubilee in #1662 - Only suggest
cargo install
with 1 version by @workingjubilee in #1659 - Use supports-colors feature by @theory in #1663
cargo pgrx test --runas
by @eeeebbbbrrrr in #1652- Allow relocatable extensions by @NotGyro in #1653
- Pipe forward spans by formatting idents by @workingjubilee in #1665
- Ad hoc span fixups by @workingjubilee in #1668
- Factor out
finfo_tokens
by @workingjubilee in #1673 - feat: add bindings for WAL-related functions by @rebasedming in #1675
- Run cargo-diet on things by @thomcc in #1677
- Do not default
to_entity_graph_tokens
by @workingjubilee in #1676 - Factor out
extern_c_wrapper
by @workingjubilee in #1678 - Believe in the typechecker in
mod pg_extern
by @workingjubilee in #1679 - Remove Nix code by @workingjubilee in #1682
- Partially clean up
pg_extern/returning.rs
by @workingjubilee in #1681 - Begin callconv.rs by expropriating srf.rs by @workingjubilee in #1688
- Memory management for Datum to String conversion by @sardination in #1684
- Ignore clippy when clippy is wrong by @workingjubilee in #1690
- Do everything more eagerly in
srf_next
by @workingjubilee in #1691 - Break
srf_next
into component fn by @workingjubilee in #1692 - Silence warnings in 1.78 by @workingjubilee in #1693
- Use UnsafeCell for PgLwLock and PgAtomic by @JelteF in #1696
- Remove seq-macro by @workingjubilee in #1699
- Add one-or-none iterator conveniences by @workingjubilee in #1703
- Cargo pgrx upgrade by @NotGyro in #1687
- Abstract over
id_matches
in sql-entity-graph by @workingjubilee in #1705 - Implement
RetAbi
andBoxRet
by @workingjubilee in #1701 - Deprecate
variadic!
support by @workingjubilee in #1713 - Address recent lints by @workingjubilee in #1714
- Consolidate serde in workspace by @workingjubilee in #1715
- fix: usage of
node12 which is deprecated
by @hamirmahal in #1717 - Allow real borrow-checking of
#[pg_extern] fn
lifetimes by @workingjubilee in #1724 - Document what happens with the
./sql
directory by @eeeebbbbrrrr in #1725 - add bindings of fmgroids.h, OIDs of built-in functions by @usamoi in #1726
- document pg_guard to the best of my abilities by @eeeebbbbrrrr in #1729
- FcInfo wrapper by @NotGyro in #1720
- Fix lifetimes for IO functions by @workingjubilee in #1733
- Update UI tests for rust 1.79 by @workingjubilee in #1735
- impl Allocator for MemCx by @NotGyro in #1737
- add user_mapping.h by @rebasedming in #1742
- Make unboxing args sound with
ArgAbi
by @workingjubilee in #1731 - Address
clippy::must_use_candidate
in template by @nyurik in #1740 - Deny lints pre-ArgAbi codegen used to trigger by @workingjubilee in #1744
- Remove
UnwindSafe
bound frompgrx_extern_c_guard
by @workingjubilee in #1732 - Begin synthesizing spans by @workingjubilee in #1746
- C enums as module consts + deprecation by @workingjubilee in #1748
- Update sysinfo to 0.30 by @workingjubilee in #1753
- Fix Fedora Dockerfile by @workingjubilee in #1755
- Prepare pgrx 0.12.0-beta.0 by @workingjubilee in #1754
- pgrx-pg-sys missing build directory in Cargo.toml by @danbluhmhansen in #1756
- Prepare pgrx 0.12.0-beta.1 by @workingjubilee in #1760
- Missing ArgAbi and BoxRet trait implementations for datums by @danbluhmhansen in #1757
- don't swallow panics from spawned threads by @jyn514 in #1763
- Avoid exceeding sun_path by @workingjubilee in #1766
- Prefer
super::Item
overcrate::test::Item
in tests by @workingjubilee in #1767 - Add UnboxDatum impls for Json and JsonB by @workingjubilee in #1770
- Prepare 0.12.0-beta.2 by @workingjubilee in #1771
- Fix doc link for
prop_assert!
by @workingjubilee in #1777 - Upgrade owo-colors to v4.0.0 by @theory in #1778
- Refactor BoxRet to be easier to impl before showing it by @workingjubilee in #1776
- Prepare pgrx 0.12.0-beta.3 by @workingjubilee in #1779
- docs: remove an extra backtick by @SteveLauC in #1780
- Update Cargo.lock by @workingjubilee in #1782
- docs: correct a code snippet by @SteveLauC in #1784
- 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
- Update rustup.sh to install rustup if not present by @workingjubilee in #1789
- Add bindings for 'jit/jit.h' and 'utils/resowner_private.h' header files by @jeltz in #1790
- update deny.toml because cargo-deny changed by @workingjubilee in #1795
- tools: Update version-updater to support workspaces by @workingjubilee in #1794
- Test that pgrx can build after publishing by @workingjubilee in #1796
- pg17beta2 support by @eeeebbbbrrrr in #1792
- Update versions even if no specifier by @workingjubilee in #1803
- Split out pgrx-bindgen crate by @workingjubilee in #1802
- Make bindgen generate CStrs and such by @workingjubilee in #1804
- Prepare pgrx 0.12.0-beta.4 by @workingjubilee in #1805
- Bump beta support to Postgres 17beta3 by @workingjubilee in #1806
- Correct release instructions for current repo tools by @workingjubilee in #1808
- Prepare pgrx 0.12.0-beta.5 by @workingjubilee in #1809
- Demand at least bindgen 0.69.4 by @workingjubilee in #1811
- End the life of CentOS 7 by @workingjubilee in #1812
- Remove cshim items deprecated since 0.11.0 by @workingjubilee in #1813
- Tighten migration sql script filename match by @timwaizenegger in #1817
- add
PageGetItem
andPageGetItemId
by @rebasedming in #1818 - Rework import paths by @workingjubilee in #1820
New Contributors
- @passcod made their first contribution in #1346
- @muzimuzhi made their first contribution in #1401
- @LuminousMonkey made their first contribution in #1403
- @liuxueyang made their first contribution in #1397
- @silver-ymz made their first contribution in #1409
- @AndreaOddo89 made their first contribution in #1418
- @Lokathor made their first contribution in #1433
- @jirutka made their first contribution in #1448
- @hoodiecollin made their first contribution in #1472
- @rebasedming made their first contribution in #1486
- @the-kenny made their first contribution in #1490
- @xwkuang5 made their first contribution in #1445
- @rjuju made their first contribution in #1516
- @nyurik made their first contribution in #1533
- @NotGyro made their first contribution in #1514
- @XeniaLu made their first contribution in #1275
- @jyn514 made their first contribution in #1630
- @my-vegetable-has-exploded made their first contribution in #1655
- @staticle made their first contribution in #1656
- @theory made their first contribution in #1663
- @sardination made their first contribution in #1684
- @hamirmahal made their first contribution in #1717
- @danbluhmhansen made their first contribution in #1756
- @SteveLauC made their first contribution in #1780
- @aykut-bozkurt made their first contribution in #1786
- @jeltz made their first contribution in #1790
- @timwaizenegger made their first contribution in #1817
Full Changelog: v0.11.0...v0.12.0