Skip to content

Releases: heiheshang/postgresql-prolog

v0.3.0

Choose a tag to compare

@heiheshang heiheshang released this 29 Jun 04:36

Feature release that adds SCRAM-SHA-256 (SASL) authentication.

Highlights:

  • add SCRAM-SHA-256 (SASL) authentication without channel binding
  • add a pure pg_scram.pl layer (PBKDF2-HMAC-SHA256, client proof, and server-signature verification) validated against the RFC 7677 test vectors
  • parse the SASL mechanism list and carry the full client-first message in pg_protocol.pl
  • drive the SASL exchange and verify the server signature in pg_auth.pl
  • add a scram-sha-256 mode to the local test harness via make test-local-pg-scram
  • preserve the existing public predicate signatures and local test coverage

v0.2.1

Choose a tag to compare

@heiheshang heiheshang released this 29 Jun 01:24

Patch release that moves prepared statements and session message handling closer to explicit per-connection state without changing the public API.

Highlights:

  • move prepared statements into the per-session state container
  • thread session state explicitly through the backend read loop
  • reduce disconnect cleanup to a single session-state teardown path
  • keep async notice/notify routing and COPY side-message handling compatible
  • preserve the existing public predicate signatures and local test coverage

v0.2.0

Choose a tag to compare

@heiheshang heiheshang released this 26 Jun 15:40

Feature release that expands COPY support, adds cancellation and profiling tools, and improves package-level documentation.

Highlights:

  • add pg_cancel/1 and centralize row decoding around the active driver layers
  • add binary COPY FROM STDIN with typed row input via binary(TypeSpecs, Rows)
  • add streaming pg_copy_to/3 for COPY TO STDOUT with callback-delivered chunks
  • add a row-decoding profiling harness and preserve the measured optimizations in the driver
  • add package/module documentation plus a runnable examples/simple.pl example
  • recover cleanly after COPY TO STDOUT callback failures and binary COPY server-side errors
  • add byte-level COPY framing tests plus local PostgreSQL coverage for binary COPY and streaming COPY-out

v0.1.2

Choose a tag to compare

@heiheshang heiheshang released this 25 Jun 15:04

0.1.2

Patch release that tightens protocol handling and improves release confidence.

Highlights

  • fix the UTF-8 startup encoding contract
  • fix simple-query result selection for multi-statement responses
  • fix COPY FROM STDIN recovery after negotiation and server-side failures
  • fix connection cleanup and transaction-state checks after errors
  • refactor pg_protocol.pl to express wire encoding/decoding via DCG-based binary helpers
  • add focused byte-level protocol tests alongside the existing integration suite

Verification

  • make test-local-pg
  • make test-local-pg-md5
  • make release VERSION=v0.1.2

v0.1.1

Choose a tag to compare

@heiheshang heiheshang released this 04 Jun 07:29

Summary

  • add explicit \library(apply)\\ imports in \pg.pl\\ and \pg_prepared.pl\\
  • ensure \maplist/3\\ is available in packaged builds

Artifact

  • \postgresql-prolog-v0.1.1.tar.gz\\

v0.1.0

Choose a tag to compare

@heiheshang heiheshang released this 27 May 13:38

0.1.0

Initial public release of the SWI-Prolog PostgreSQL driver pack.

Highlights

  • connection lifecycle with simple queries
  • prepared statements and parameterized queries
  • cleartext password and md5 authentication
  • LISTEN / NOTIFY support
  • COPY FROM STDIN for text and csv input
  • session-state tracking and recovery after protocol errors
  • local PostgreSQL test harness with both trust and md5 modes