Skip to content

v0.3.0 — Option[T] rename, driver.Valuer fix

Latest

Choose a tag to compare

@kolkov kolkov released this 05 Jul 06:13
4cb5c91

Breaking Changes

  • Value[T] renamed to Option[T] — fixes driver.Valuer shadow bug where all concrete types failed to implement driver.Valuer due to Go selector rules
  • Field.ToValue() renamed to Field.ToOption()

New

  • FieldFromOption[T]() — lossless conversion from Option[T] to Field[T] for PATCH workflows
  • Compile-time interface checks — verifies driver.Valuer, sql.Scanner, json.Marshaler on all 16 concrete types

Fixed

  • All concrete types now correctly implement driver.Valuer via method promotion
  • pgx v5 INSERT/Exec works without explicit forwarding methods
  • doc.go corrected: driver.Valuer claim is now accurate

Migration from v0.2.0

opt.Value[T]        →  opt.Option[T]
.Value field access  →  .Option
.ToValue()          →  .ToOption()

Concrete types (opt.String, opt.Int, etc.) and constructors (New, From, FromPtr, OrNull) are unchanged.