Skip to content

Releases: go-sqlex/sqlex

v1.5.3 — 5 bug fixes, including 3 long-standing sqlx issues

Choose a tag to compare

@suiriass suiriass released this 26 Jun 23:43
7a96ce3

📦 v1.5.3 — Bug Fix Release

This version brings 5 critical fixes, with 3 issues inherited from jmoiron/sqlx.

✅ Bug Fixes

Area Fix Related
In binding Fixed panic when encountering nil driver.Valuer or nil pointer slices sqlx #952
Named VALUES expansion Fixed fixBound logic that would silently drop rows in batch INSERT/UPDATE sqlx #898, #694, #772
NextResultSet cache Fixed stale cache causing mis-scans on subsequent result sets sqlx #857
Select + sql.RawBytes Reject sql.RawBytes with clear error to prevent silent data corruption sqlx #931

🔧 Refactoring

  • Removed unused reflectx public APIs (FieldMap, FieldByName, FieldsByName)
  • Fixed FieldByIndexesReadOnly to handle nil pointers gracefully

📊 Quality

  • CI passes for Go 1.21 and 1.26
  • Codecov coverage: 80.37%

Thanks to all contributors and users for the feedback! 🙏

v1.5.2: Unified Hook Pipeline & Transaction Lifecycle

Choose a tag to compare

@suiriass suiriass released this 23 Jun 11:43

v1.5.2

  • Hook unification: autoIn → Rebind → Hook is now a unified pipeline. Begin/Commit/Rollback fire Hooks.
  • NewDbNewDB (rename).
  • QueryEvent.OperationType is now OpType enum: OpQuery, OpExec, OpBegin, OpCommit, OpRollback.
  • QueryEvent.RowsAffected and LastInsertID now populated on exec.
  • Tx.CloseWithErr now fires Hooks on both success and failure (was only failure).

sqlex v1.5.1 - Initial Release

Choose a tag to compare

@suiriass suiriass released this 20 Jun 03:04

🚀 What's New
sqlex is a modernized drop-in replacement for jmoiron/sqlx that addresses long-standing pain points while adding new capabilities:

Auto IN expansion — write WHERE id IN (?) with a slice, no more manual sqlx.In + Rebind dance
Pluggable Hooks — intercept SQL execution for logging, metrics, tracing, etc.
Auto placeholder conversion — use ? everywhere, automatically converts to $1, @p1, etc. per database
Generic JSON support — JSONValue[T] maps JSON columns to strong types
Go 1.21+ — uses any, modern error handling, actively maintained