Skip to content

v2.0.0

Latest

Choose a tag to compare

@github-actions github-actions released this 16 Sep 18:27
· 2 commits to main since this release
2af06d8

Postgres v2.0.0

Diff since v1.0.1

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}. Explicit DateTime results truncate to milliseconds. Timestamp parameters with submicrosecond precision raise an error.
  • Numeric results use DataDecimals.DecimalValue{DataDecimals.Int256}. Postgres.Numeric is removed. Values that cannot fit exactly return their original text with a warning; numeric_overflow=:error throws 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:

  • Harden protocol boundaries and adopt shared timestamp and decimal types (#9) (@quinnj)