v0.3.0
No API change. What this release carries is a decision, the seam that
makes it buildable, and the test coverage that was holding it up.
ADR-0040 decides that the engine will depend on pgx and that
database/sql stops being the contract — a break to Executor that lands
before 1.0 or not at all. Nothing of it is built yet. Read
docs/compatibility.md#the-driver before pinning: the interface every
terminal call takes is going to change, and this is the release that
says so in advance rather than the one that does it.
The enabling refactor is here: the scanners read an internal rowSource
interface instead of *sql.Rows, which is correct under either answer and
turns the eventual migration into an adapter rather than a rewrite of
scan and mutate.
pgtype values — pgtype.Date, pgtype.Timestamptz, pgtype.UUID — are now
covered in both directions including NULLs, with compile-time assertions
that fail the build if a pgx release ever drops sql.Scanner or
driver.Valuer. That path is load-bearing for adopting sqlb over existing
sqlc structs and was previously tested only with sql.NullTime.
The go directive drops from 1.25.7 to 1.25.0. It was patch-pinned by
go mod init rather than by any requirement, and pinning it forced every
consumer onto that exact toolchain.
Also: a documentation pass that closed the open ends across the ADRs and
the six review reports, and a nested rest module that was built and
reverted within the day — huma stays the default HTTP path, in the same
module. ADR-0007 records why.