1.25.0 (2026-04-14)
- spannerdriver: Populate QueryStats in ResultSetStats (#778) (7e8b1fe)
- Update all dependencies (#765) (2016a5c)
- Update dependency com.google.errorprone:error_prone_annotations to v2.49.0 (#791) (e2a80fa)
- Update dependency io.grpc:grpc-bom to v1.80.0 (#767) (8d1d635)
- Update dependency io.netty:netty-transport-native-epoll to v4.2.12.final (#775) (f81fc98)
- Update module github.com/testcontainers/testcontainers-go to v0.42.0 (#768) (338cf58)
- Update protobuf monorepo (#774) (faab4ee)
1.24.1 (2026-03-06)
- Update all dependencies (#750) (107c133)
- Update dependency com.google.errorprone:error_prone_annotations to v2.48.0 (#757) (fe99422)
- Update dependency io.netty:netty-transport-native-epoll to v4.2.10.final (#702) (a078428)
- Update protobuf monorepo (#755) (666615c)
1.24.0 (2026-02-13)
- Introduce asynchronous DDL execution modes (#729) (13253b4)
- Support partitioned queries through SQL statements (#714) (db0a239)
- Translate named parameters for PostgreSQL (#749) (32c334d), refs #738 #601 #730
- Update all dependencies (#741) (3dd5a9c)
- Update all dependencies (#748) (12785b2)
- Update dependency io.grpc:grpc-bom to v1.79.0 (#745) (258759f)
- Update protobuf monorepo (#743) (a28cf8a)
1.23.0 (2026-01-26)
- Add dialect connection property (#710) (2e92beb)
- Add driver support for experimental host (#724) (36908a2)
- Add option to decode NUMERIC to string (#717) (a2fdf7b)
- Send string params as untyped values to Spanner (#720) (4de7250)
- Support Prepare for client-side statements (#726) (3a2917f)
- Correctly decode specific PG JSONB and NUMERIC types (#725) (032afab)
- DecodeToNativeArrays in ConnectorConfig was ignored (#734) (97a84c7), refs #731
- Only close the connector once the usage count reaches zero (#718) (60cc893)
- Update all dependencies (#703) (8960e64)
- Update protobuf monorepo (#721) (a79356f)
- Update protobuf monorepo (#723) (3f48e14)
1.22.0 (2025-12-15)
- Add Split function to parser (#634) (302e860)
- Add support for multi-sql using next_result_set (#676) (8d068d1)
- Add support for statement-scoped connection state (#599) (5a158c3)
- Add TimestampBound option to ExecOptions (#522) (fc78709)
- Support CREATE DATABASE with extra statements (#629) (e09de0b)
- Support multi-statement SQL strings in QueryContext (#638) (019442f)
- Support statement_timeout and transaction_timeout property (#578) (b542646)
- Backslash at end of string was misinterpreted (#651) (fc2fdd5)
- Close iterator on error (#644) (c0023ee)
- Dollar-quote tags may not contain whitespaces (#606) (db609ec)
- Support e-strings for PostgreSQL (#607) (d050b1c)
- Update all dependencies (#588) (2e97f4c)
- Update all dependencies (#639) (2311ffb)
- Update all dependencies (#646) (b9dfc57)
- Update all dependencies (#692) (af69259)
- Update dependency io.grpc:grpc-bom to v1.77.0 (#640) (a7cab7e)
- Update dependency io.netty:netty-transport-native-epoll to v4.2.8.final (#694) (4ab3748)
- Update module github.com/testcontainers/testcontainers-go to v0.40.0 (#602) (822b5a4)
- Update protobuf monorepo (#633) (21cbfa9)
- Update protobuf monorepo (#671) (d8fba2d)
- Update spannerlib-python documentation (#685) (30e6339)
- Update spannerlmockserver documentation (#684) (22aa6eb)
1.21.0 (2025-10-29)
1.20.0 (2025-10-28)
- Parse SET TRANSACTION statements (#549) (6a396d3)
- Support transaction options in BEGIN statements (#550) (49e945e)
- Return batch update counts also when retries are disabled (#566) (6f8c1e2)
- Update all dependencies (#551) (7457422)
- Update all dependencies (#556) (e99a48f)
- Update dependency io.grpc:grpc-bom to v1.76.0 (#561) (fdd991b)
- Update dependency io.netty:netty-transport-native-epoll to v4.2.7.final (#559) (5b79883)
- Update protobuf monorepo (#562) (32cd9f0)
1.19.0 (2025-10-07)
- Add authority param support to DSN (#546) (002d386)
- ruby: Add Ruby FFI wrapper for spannerlib (#545) (bb87d96)
- Update all dependencies (#542) (fba2986)
- Update dependency net.java.dev.jna:jna to v5.18.1 (#544) (98f2429)
- Update module github.com/googleapis/go-sql-spanner to v1.18.1 (#540) (1eca441)
1.18.1 (2025-09-23)
- Do not return update count for queries (#524) (4403e52)
- Update all dependencies (#536) (13bda8d)
- Update dependency net.java.dev.jna:jna to v5.18.0 (#538) (61cc7e8)
- Update module github.com/googleapis/go-sql-spanner to v1.18.0 (#528) (f5100ce)
- Update module github.com/testcontainers/testcontainers-go to v0.39.0 (#535) (c3a8109)
1.18.0 (2025-09-12)
- Allow DDL statements with QueryContext (#515) (aa00055)
- Support BEGIN, COMMIT and ROLLBACK statements (#520) (e88c303)
- Support read_lock_mode for r/w transactions (#505) (a552d5e)
- Use a single multiplexed session for all operations (#500) (8463a6c)
- Update all dependencies (#492) (6dba3cf)
- Update all dependencies (#510) (31d67ce)
- Update all dependencies (#519) (3aae705)
1.17.0 (2025-08-18)
1.16.3 (2025-08-06)
1.16.2 (2025-08-05)
1.16.1 (2025-07-29)
- Update all dependencies (#473) (bf518fb)
- Update module github.com/testcontainers/testcontainers-go to v0.38.0 (#474) (b895055)
1.16.0 (2025-07-03)
- Add BeginTransactionOption to configure how to begin a transaction (21ed1e3)
- Add RunDmlBatch function with typed return value (#471) (12ead7c)
- Return metadata and stats for client-side statements (#470) (19238ce)
- Update all dependencies (#464) (574d6fe)
- Use client opts to auto configure emulator instead of environment variable (#468) (a518727)
- Inline BeginTransaction with first statement (21ed1e3)
1.15.0 (2025-06-27)
- Add DirectExecuteQuery option (#455) (e2620e6)
- Add ExecuteBatchDml func with batch result (#454) (73c3fb0), refs #377
- Add option to return metadata and stats (#456) (e001cd1)
- Include mutations from original attempt in retry (#463) (e285310)
- Update all dependencies (#446) (3083c93)
- Update all dependencies (#457) (62ca7b4)
- Update module github.com/hashicorp/golang-lru to v2 (#447) (d30d6d1)
- Update module github.com/hashicorp/golang-lru to v2 (#452) (546cdaa)
- Update module github.com/hashicorp/golang-lru to v2 (#458) (1b192c8)
- Wrap AlreadyExists error for instance creation when autoConfigEmulator=true (#450) (3aa5ca2)
1.14.0 (2025-06-05)
- Return explicit error message when using DDL statements with QueryContext (#438) (a214d86)
- Update all dependencies (#419) (70fcee5)
- Update all dependencies (#430) (420902e)
- Update module cloud.google.com/go/spanner to v1.82.0 (#423) (57881f7)
- Update module github.com/hashicorp/golang-lru to v2 (#444) (98e3097)
1.13.2 (2025-05-14)
1.13.1 (2025-04-28)
1.13.0 (2025-03-28)
- Support default isolation level for connection (#404) (219fe6e)
- Support isolation level REPEATABLE READ (#403) (95ef5f3)
1.12.0 (2025-03-18)
- Add AutoConfigEmulator option (#395) (4193437), refs #384
- Partitioned DML as ExecOption (#393) (ac2f7f2), refs #378
- Use retry delay for aborted read/write transactions (#398) (b357353)
1.11.2 (2025-03-06)
1.11.1 (2025-02-14)
1.11.0 (2025-02-10)
- DML auto-batching (#366) (73db4a3)
- Option for decode to native array (#369) (05952e0)
- Partitioned queries (#351) (86d1922)
- Support LastInsertId in transactions (#372) (eb9a4ef), refs #346
- Support LastInsertId outside explicit transactions (#362) (8d38601), refs #346
1.10.1 (2025-01-30)
1.10.0 (2025-01-27)
- Add CreateConnector with support for custom config (#336) (dc5df2f)
- Add DecodeOption for returning protobuf values (#341) (1b71476), refs #284
- Add structured logger (#345) (5f7b8db)
- Begin read/write transaction with options (#355) (66495ab)
- Read-only transaction with options (#352) (9dea151)
- Return PROTO columns as bytes and integers (#342) (bdd56df), refs #333
- Support GRAPH and pipe syntax (#334) (738daa8)
- Support max_commit_delay (#347) (a040588)
- Support transaction and statement tags (#338) (6fc41dd)
- Add connect sample (#360) (89931c2)
- Add DirectedRead sample (#349) (0f62ec5)
- Add sample for query parameters (#359) (f534d01)
1.9.0 (2024-11-22)
- .github: Add staticcheck (#326) (9d4f987)
- Add isolation level option for disabling internal retries (#327) (118a177)
- Add option for disabling native metrics (#323) (3c45d27), refs #310
1.8.0 (2024-11-14)
- Add connection property for enableEndToEndTracing (#307) (c39f57f)
- Add method for getting batched statements (#318) (03d4818)
- Add transaction runner for better transaction retries (#315) (3731176)
- Expose underlying *spanner.Client (#313) (29e69c7)
- Autoremove container in examples (#314) (51a9a54)
- Return error when value conversion is missing (#311) (a0bc939), refs #309
1.7.4 (2024-10-16)
1.7.3 (2024-10-08)
1.7.2 (2024-09-30)
- Do not panic when nil is passed in as a query parameter to a pointer of type that implements driver.Valuer via a value receiver (#296) (816847b)
1.7.1 (2024-08-29)
- Driver.Valuer method was being ignored (#289) (78fb05d), refs #281
- Reconnect after all idle connections close (#290) (b0cdd9d)
1.7.0 (2024-08-23)
1.6.0 (2024-07-14)
1.5.0 (2024-07-01)
- Add -race to testing (#263) (3af784b)
- Add fuzzing for statement parser (#250) (2e74813)
- Add int support (#260) (ec15462), refs #257
- examples/data-types: Add float32 (#261) (4d6d1ef)
- []*int and []*uint (#267) (d24b55a)
- examples: Make compilable and add a test runner for the samples (#256) (b9c0b4d)
- Prevent potential panic in RemoveStatementHint (#253) (7d7155b), refs #251
1.4.0 (2024-05-30)
- deps: Update google.golang.org/genproto/googleapis/rpc digest to 5315273 (#239) (a39bb8f)
- deps: Update module cloud.google.com/go to v0.113.0 (#232) (c2dd030)
- deps: Update module cloud.google.com/go/longrunning to v0.5.7 (#228) (cf3cafc)
- deps: Update module github.com/googleapis/go-sql-spanner to v1.3.1 (#226) (6ffc02d)
- deps: Update module google.golang.org/api to v0.180.0 (#227) (926f621)
- deps: Update module google.golang.org/genproto to v0.0.0-20240509183442-62759503f434 (#229) (42744bc)
- deps: Update module google.golang.org/genproto/googleapis/rpc to v0.0.0-20240509183442-62759503f434 (#230) (778aa45)
- deps: Update module google.golang.org/protobuf to v1.34.1 (#233) (72c5b71)
- Support reusing named parameters (#240) (c7140a2)
1.3.1 (2024-04-19)
- deps: Update google.golang.org/genproto/googleapis/rpc digest to 6e1732d (#210) (adeee59)
- deps: Update google.golang.org/genproto/googleapis/rpc digest to 8c6c420 (#215) (7085e4c)
- deps: Update module cloud.google.com/go to v0.112.2 (#217) (cc65283)
- deps: Update module cloud.google.com/go/longrunning to v0.5.6 (#211) (8c8a7d8)
- deps: Update module cloud.google.com/go/spanner to v1.60.0 (#216) (b22e7a6)
- deps: Update module github.com/googleapis/go-sql-spanner to v1.3.0 (#212) (8066ff1)
- deps: Update module google.golang.org/api to v0.174.0 (#218) (2ef46fc)
- deps: Update module google.golang.org/grpc to v1.63.2 (#221) (69840c4)
1.3.0 (2024-03-14)
- deps: Update google.golang.org/genproto/googleapis/rpc digest to c811ad7 (#194) (e58c5b6)
- deps: Update module cloud.google.com/go/spanner to v1.59.0 (#196) (e03a9b1)
- deps: Update module github.com/googleapis/go-sql-spanner to v1.2.1 (#197) (6c94089)
- deps: Update module google.golang.org/grpc to v1.62.1 (#195) (606e7dc)
1.2.1 (2024-02-05)
1.2.0 (2024-02-05)
- deps: Update google.golang.org/genproto digest to 1f4bbc5 (#164) (13ae178)
- deps: Update google.golang.org/genproto/googleapis/rpc digest to 1f4bbc5 (#165) (d1b6ab4)
- deps: Update module cloud.google.com/go/longrunning to v0.5.5 (#169) (7bea3f5)
- deps: Update module cloud.google.com/go/spanner to v1.56.0 (#178) (c6f7169)
- deps: Update module github.com/google/uuid to v1.6.0 (#181) (add2822)
- deps: Update module github.com/googleapis/go-sql-spanner to v1.1.1 (#162) (aa9c4a0)
- deps: Update module google.golang.org/api to v0.161.0 (#182) (bd33213)
1.1.1 (2023-09-29)
1.1.0 (2023-07-05)
- Add missing spanner config properties (#152) (c6bda23)
- driver: Replace
value.ValuewithValue()return (#139) (6f2b96e)
1.0.1 (2023-03-06)
1.0.0 (2022-09-15)
- Add ARRAY support (#19) (6b1556a)
- Add client side statement parser (#38) (969bf52)
- Add support for JSON data type (#39) (ef52036)
- Add support for stale reads (#44) (2e3a264)
- Add support of positional parameter in the queries (#110) (a71a457)
- Allow host in dsn and use statement based transactions (#10) (0528e13)
- Create standalone samples that run against emulator (#30) (22b127e)
- Support getting the commit timestamp of a transaction or statement (#52) (802e7be)
- Support mutations (#43) (2d698b7)
- Add ddl support and change tests to run ddl from driver (259f98b)
- Added ddl support to driver, changed tests to call driver rather than api directly (a9c4c8a)
- Allow users to specify custom credentials (#57) (1715929)
- Always set a value for dest in Next (#34) (7b8190c)
- Check named value parameter types (#35) (f260dd2)
- deps: Update all modules (#108) (2d13f6d)
- deps: Update google.golang.org/genproto commit hash (#78) (c9ed2ac)
- deps: Update google.golang.org/genproto commit hash to 1739428 (#81) (3f6ba94)
- deps: Update module cloud.google.com/go to v0.100.2 (#71) (cac55f0)
- deps: Update module cloud.google.com/go to v0.102.1 (#103) (23d315e)
- deps: Update module cloud.google.com/go/spanner to v1.29.0 (#74) (9a676ba)
- deps: Update module github.com/google/go-cmp to v0.5.7 (#80) (cae3a7a)
- deps: Update module github.com/google/uuid to v1.3.0 (#75) (2072930)
- deps: Update module google.golang.org/api to v0.68.0 (#76) (8af9417)
- deps: Update module google.golang.org/grpc to v1.44.0 (#82) (7b20269)
- Do not parse hints as parameters (#45) (56243a5)
- Pass userAgent in client config (#118) (2c97068)
- Race condition when opening multiple connections in parallel as first action (#59) (0971f81)
- Refuse DDL during transactions (#41) (4e7fa97), refs #31
- Standardize returned errors (#32) (e780348), refs #14
- Use correct type for decoding bytes (49d08fc)
- Add comments to all samples to document what they do and how to use them (#46) (17a434f)
- Add DDL batch sample (#48) (82a23e4)
- Add documentation about contributing (fd70120)
- Add sample for all data types (#51) (5a0129b)
- Add sample for DML batches (#49) (bac4a4c)
- Add sample for PDML (#53) (9bd832b)
- Add sample for read-only transaction (#47) (306c4ea)
- Cleanup and extend readme (#60) (2d64f82)
- Remove disclaimer from README (#93) (12780e5)