Releases: JuliaDatabases/Postgres.jl
Releases · JuliaDatabases/Postgres.jl
Release list
v2.0.0
Postgres v2.0.0
Postgres.jl 2.0 preserves PostgreSQL values more precisely and uses shared Julia timestamp and decimal types.
Breaking changes
- Default timestamp results use
Durations.Timestamp{Dates.Microsecond}. ExplicitDateTimeresults truncate to milliseconds. Timestamp parameters with submicrosecond precision raise an error. - Numeric results use
DataDecimals.DecimalValue{DataDecimals.Int256}.Postgres.Numericis removed. Values that cannot fit exactly return their original text with a warning;numeric_overflow=:errorthrows instead. This includes numeric arrays, range bounds, NaN, and infinities. Explicit decimal targets require exact conversion. - Multi-bit values cannot decode as
Bool; select them as text instead.
Fixes and compatibility
- Preserve binary array escapes, quoted composite fields, empty text, and trailing NULLs.
- Retain microseconds in time, interval, and timestamp results.
- Bind timestamps with an explicit UTC marker to preserve instants in non-UTC sessions.
- Require Reseau 1.4.4 for correct client-certificate authority matching.
- Support Parsers 2 and 3 and Julia 1.10+.
- Add seeded fuzzing and database round trips, with PostgreSQL 14–18 coverage.
See the manual and support policy for current behavior and limits.
Merged pull requests:
v1.0.1
Patch release with the 1.0 hardening fix from #7: @transaction early-return is now rewritten into a tagged, expansion-local marker, so composing nested transactions with early returns commits/rolls back only the intended level instead of silently rolling back all levels.