Skip to content

Releases: JuliaDatabases/Postgres.jl

v2.0.0

Choose a tag to compare

@github-actions github-actions released this 16 Sep 18:27
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)

v1.0.1

Choose a tag to compare

@quinnj quinnj released this 10 Aug 08:38

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.

v1.0.0

Choose a tag to compare

@quinnj quinnj released this 10 Aug 08:39
79b8209

First stable release. Pure-Julia PostgreSQL driver: DBInterface-compliant, binary + text protocol, prepared statements, pipelining, COPY, LISTEN/NOTIFY, SCRAM auth, TLS, and static-compilation (juliac --trim) support.