What's Changed
- Add Serialize and Deserialize support by @otoolep in #1089
- Replace namedValue with driver.NamedValue to avoid copying exec/query args by @charlievieth in #1128
- Add go 1.20 to workflow matrix, remove 1.17 by @connyay in #1136
- Add build tags to support both x86 and ARM compilation on macOS by @Spaider in #1069
- Fix virtual table example. by @andrzh in #1149
- Update README.md by @parthokr in #1163
- Update amalgamation code by @mattn in #1166
- Update amalgamation code by @mattn in #1197
- Fix docker job by @itizir in #1201
- Fix musl build (#1164) by @leso-kn in #1177
- update go version to 1.19 by @mattn in #1208
- Update amalgamation code to 3.45.0 by @mattn in #1207
- Update amalgamation code to 3.45.1 by @mattn in #1211
- close channel by @mattn in #1213
- fix: some typos by @pomadev in #1222
- Add support for libsqlite3 on z/OS by @dustin-ward in #1239
- Update amalgamation code to 3.46.1 by @mattn in #1273
- close statement when missing query arguments by @mattn in #1281
- Upgrade upload-artifact action by @jonstacks in #1300
- Remove suggestion that CGO isn't always needed by @samjewell in #1290
- remove superfluous use of runtime.SetFinalizer on SQLiteRows by @charlievieth in #1301
- Fix sqlite3_opt_unlock_notify with USE_LIBSQLITE3 by @q66 in #1262
- Fix memory leak in callbackRetText function by @hionay in #1259
- docs: clarify GCP section by @justinsb in #1305
- Add ability to set an int64 file control by @jonstacks in #1298
- Update amalgamation code to 3.49.1 by @mattn in #1335
- Update amalgamation code to 3.50.3 by @mattn in #1343
- Drop userauth implementation by @mattn in #1344
- fix syntax error by @eraytufan in #1346
- update amalgamation code by @mattn in #1347
- use quote include instead of angled include for sqlite3-binding.h by @nautaa in #1362
- Upgrade SQLite to version 3051001 by @mattn in #1366
- Feat: add percentile extension option by @dsonck92 in #1364
- Upgrade SQLite to version 3051002 by @mattn in #1370
- Use unsafe slice by @mattn in #1373
- Call sqlite3_clear_bindings() after sqlite3_reset() in bind() by @mattn in #1374
- Upgrade SQLite to version 3051003 by @mattn in #1375
- Ensure Close always removes runtime finalizer to prevent memory leak by @mattn in #1376
- Fix json example by @Jaculabilis in #1313
- Add missing virtual table constraint op constants by @theimpostor in #1379
- Eliminate unnecessary bounds checks in hot paths by @mattn in #1381
- [codex] optimize sqlite bind fast path by @mattn in #1382
- [codex] batch row column fetches in Next by @mattn in #1383
- Raise minimum Go version to 1.21 by @mattn in #1384
- Reduce sqlite bind overhead by @mattn in #1385
- reduce CGO call overhead for exec and bind paths by @mattn in #1386
- [codex] add opt-in statement cache by @mattn in #1387
- Fix panic when querying input with no SQL (only comments/whitespace) by @mattn in #1392
- evict least-recently-used stmt when cache is full by @mattn in #1388
- Upgrade SQLite to version 3053000 by @mattn in #1394
- add sqlite_dbstat tag for the DBSTAT virtual table by @calmh in #1338
- avoid out of bounds write in unlock_notify_wait on 64 bit platforms by @calmh in #1399
- modernise reflect.SliceHeader to unsafe.Slice by @calmh in #1400
- guard oversized string length in ResultText by @dxbjavid in #1402
- bind via sqlite3_bind_text64/blob64 to avoid 32-bit length truncation by @dxbjavid in #1403
- Upgrade SQLite to version 3053002 by @mattn in #1404
- guard oversized blob length in callbackRetBlob by @dxbjavid in #1405
- preserve embedded NUL bytes in custom function text values by @dxbjavid in #1406
- Follow documented call order for sqlite3_value_blob in callbackArgString by @mattn in #1407
- Use atomic.Value for handle table and add concurrent lookup benchmark by @mattn in #1412
- cache column metadata for prepared and cached statements by @mattn in #1413
- free leaked schema string in GetFilename by @dxbjavid in #1408
- Fix race in SQLiteStmt.Close by holding conn lock across cache check by @mattn in #1416
- Add CodeRabbit as a sponsor by @mattn in #1417
- Return error from vtable cursor open instead of ignoring it by @mattn in #1419
- Check sqlite3_malloc64 result in Deserialize by @mattn in #1420
- Fix panic when registered functions return named types by @mattn in #1421
- Return error instead of silently ignoring unsupported bind types by @mattn in #1422
- Add CodeRabbit configuration by @mattn in #1418
- Close database on all error paths in Open by @mattn in #1423
- Check preupdate value fetch result to avoid NULL dereference by @mattn in #1424
- Use C.int in exported callbacks to match C declarations by @mattn in #1425
- Fix leak of extension load error message by @mattn in #1426
- Upgrade SQLite to version 3053003 by @mattn in #1427
New Contributors
- @charlievieth made their first contribution in #1128
- @connyay made their first contribution in #1136
- @Spaider made their first contribution in #1069
- @andrzh made their first contribution in #1149
- @parthokr made their first contribution in #1163
- @leso-kn made their first contribution in #1177
- @pomadev made their first contribution in #1222
- @dustin-ward made their first contribution in #1239
- @jonstacks made their first contribution in #1300
- @samjewell made their first contribution in #1290
- @q66 made their first contribution in #1262
- @hionay made their first contribution in #1259
- @justinsb made their first contribution in #1305
- @eraytufan made their first contribution in #1346
- @nautaa made their first contribution in #1362
- @dsonck92 made their first contribution in #1364
- @Jaculabilis made their first contribution in #1313
- @theimpostor made their first contribution in #1379
- @calmh made their first contribution in #1338
- @dxbjavid made their first contribution in #1402
Full Changelog: v1.14.16...v1.14.48