4.8.0 (2026-09-15)
Features
- #46: Add support for arrays of user-defined enum types (#697) (bfd25bd)
- #538: Add support for user-defined composite types (#690) (04715a4)
- #724: Add native support for multi-item
geometry[]andgeography[]arrays (#725) (1535593) - Add support for
GEN_RANDOM_UUID()(#679) (1602c2d) - Add support for
geometry_typeandsridcolumn options to PostGIS spatial types (#683) (ffa7581) - Add support for
numeric[],varchar[],time[]andjson[]data types (#678) (168515b) - Add support for the
cubedata type (#680) (c9a981f) - Add support for the
lqueryandltxtquerydata types and theltreematch operators (#681) (2b41e8a) - Add support for the
uliddata type via thepgx_ulidextension (#677) (c0d1456) - Add support for the optional shift interval argument of
UUIDV7(#675) (31da3ba) - Add support non-finite coordinates in geometric value objects (#687) (f16c1e0)
- Expand the support of date related array data types with handling of infinity and B.C. era formats that PostgreSQL itself produces (#722) (5ac0362)
- Improve roundtrip support for NaN values (#734) (3b57f8f)
- Parse every interval format PostgreSQL emits (#716) (62b3677)
- Read and write the non-finite values PostgreSQL stores (#727) (43dd8d3)
- Throw a domain exception for invalid json array input (#689) (32ab6ae)
Bug Fixes
- #58: Read back every JSON value that a
jsonb[]column can hold (#706) (e9b9538) - Collect the ORM layer deptrac was configured to guard (#723) (fc34753)
- Escape DQL string literals reaching emitted SQL (#721) (11d2a83)
- Follow the element type for range infinity spellings (#733) (00bd4df)
- Keep Utils exceptions within their own namespace and enforce it with deptrac (#695) (2ec6cdc)
- Let a variadic function fall back to its next node mapping pattern (#713) (b23c436)
- Pass NULL through variadic functions instead of crashing with a TypeError (#717) (fc7fc7a)
- Preserve item types when reading PostgreSQL string arrays (#708) (2fdfc76)
- Preserve PostgreSQL's full float precision (#686) (fb32dc4)
- Read an empty
hstoreback as an empty map, not null (#704) (87cde8c) - Read SQL NULL element in a
bool[]column asnullinstead oftruein PHP (#714) (1bc3e92) - Require
\zanchors in validation regexes for data types, for which PostgreSQL doesn't support a trailing newline (#682) (2c2156c) - Restore writing a null
jsonb[]item as a SQL NULL element (#712) (9b7e36e) - Stop rejecting array values that carry a nested-array marker (#705) (8b71562)
- Stop rejecting float array values PostgreSQL itself produces (#701) (337b990)
- Stop the variadic function parser hanging on a malformed argument list (#703) (bf579d4)
- Support
EMPTYgeometries inWktSpatialData(#719) (00d0b36) - Throw a database-direction exception when an array item is rejected on write (#702) (4bef195)
- Throw the correct exception family from Geometry and Geography conversions (#720) (cc20f54)
- Throw the correct exception family from network type conversions (#730) (c92feaa)
- Tighten
inet,cidrandltreevalidators (and their array counter-parts) to match PostgreSQL (#715) (0c783ee)