- 3.57.0 (latest)
- 3.56.0
- 3.55.0
- 3.54.0
- 3.53.0
- 3.52.0
- 3.51.0
- 3.50.1
- 3.46.0
- 3.45.0
- 3.44.0
- 3.43.0
- 3.42.0
- 3.41.0
- 3.40.1
- 3.39.0
- 3.38.0
- 3.37.0
- 3.36.0
- 3.35.1
- 3.34.0
- 3.33.0
- 3.32.0
- 3.31.0
- 3.30.0
- 3.29.0
- 3.28.0
- 3.27.1
- 3.26.0
- 3.25.0
- 3.24.0
- 3.23.0
- 3.22.2
- 3.21.0
- 3.20.0
- 3.19.0
- 3.18.0
- 3.17.0
- 3.16.0
- 3.15.1
- 3.14.1
- 3.13.0
- 3.12.1
- 3.11.1
- 3.10.0
- 3.9.0
- 3.8.0
- 3.7.0
- 3.6.0
- 3.5.0
- 3.4.0
- 3.3.0
- 3.2.0
- 3.1.0
- 3.0.0
- 2.1.1
- 2.0.0
- 1.19.3
- 1.18.0
- 1.17.1
- 1.16.0
- 1.15.1
- 1.14.0
- 1.13.0
- 1.12.0
- 1.11.0
- 1.10.0
Changelog
3.10.0 (2021-09-17)
Features
Bug Fixes
-
db_api:move connection validation into a separate method ( #543 ) ( 237ae41 )
-
handle google.api_core.exceptions.OutOfRange exception and throw InegrityError as expected by dbapi standards ( #571 ) ( dffcf13 )
3.9.0 (2021-08-26)
Features
3.8.0 (2021-08-15)
Features
Bug Fixes
3.7.0 (2021-07-29)
Features
Bug Fixes
-
avoid bad version of
opentelemetry-instrumentation
( #429 ) ( 1620c12 ) -
deps:pin ‘google-{api,cloud}-core’ to allow 2.x versions ( #415 ) ( b0455d0 )
-
disable always_use_jwt_access ( c37bf21 )
-
support merging for NUMERIC values ( #434 ) ( 06b4215 ), closes #433
Documentation
3.6.0 (2021-06-23)
Features
Bug Fixes
Documentation
3.5.0 (2021-06-11)
Features
-
add decimal validation for numeric precision and scale supported by Spanner ( #340 ) ( aa36c5e )
-
add progress field to UpdateDatabaseDdlMetadata ( #361 ) ( 1c03dcc )
Bug Fixes
-
an Aborted exception isn’t properly retried ( #345 ) ( e69e6ab )
-
correctly classify select statements that begin with brackets ( #351 ) ( d526acc )
-
update to support the open-telemetry status code spec change ( #358 ) ( 0f894f1 )
3.4.0 (2021-04-29)
Features
-
added support for numeric field for python decimal value ( #316 ) ( 070a171 )
-
dbapi:remove string conversion for numeric fields ( #317 ) ( 772aa3c )
Bug Fixes
-
correctly set resume token when restarting streams ( #314 ) ( 0fcfc23 )
-
support INSERT from SELECT clause with args ( #306 ) ( 0dcda5e )
Performance Improvements
3.3.0 (2021-03-25)
Features
-
add support for custom timeout and retry parameters in execute_update method in transactions ( #251 ) ( 8abaebd )
-
added retry and timeout params to partition read in database and snapshot class ( #278 ) ( 1a7c9d2 )
-
db_api:support executing several DDLs separated by semicolon ( #277 ) ( 801ddc8 )
Bug Fixes
-
avoid consuming pending null values when merging ( #286 ) ( c6cba9f )
-
db_api:ensure DDL statements are being executed ( #290 ) ( baa02ee )
Documentation
3.2.0 (2021-03-02)
Features
Bug Fixes
3.1.0 (2021-02-23)
Features
Bug Fixes
-
connection attribute of connection class and include related unit tests ( #228 ) ( 4afea77 )
-
fix execute insert for homogeneous statement ( #233 ) ( 36b12a7 )
-
use datetime timezone info when generating timestamp strings ( #236 ) ( 539f145 )
Performance Improvements
3.0.0 (2021-01-15)
⚠ BREAKING CHANGES
- convert operations pbs into Operation objects when listing operations (#186)
Features
-
add support for ssl credentials; add throttled field to UpdateDatabaseDdlMetadata ( #161 ) ( 2faf01b )
-
adding missing docstrings for functions & classes ( #188 ) ( 9788cf8 )
Bug Fixes
-
convert operations pbs into Operation objects when listing operations ( #186 ) ( ed7152a )
-
dbapi:autocommit enabling fails if no transactions begun ( #177 ) ( e981adb )
-
dbapi:executemany() hiding all the results except the last ( #181 ) ( 020dc17 )
-
dbapi:Spanner protobuf changes causes KeyError’s ( #206 ) ( f1e21ed )
-
Rename to fix “Mismatched region tag” check ( #201 ) ( c000ec4 )
Documentation
2.1.0 (2020-11-24)
Features
-
dbapi:add aborted transactions retry support ( #168 ) ( d59d502 ), closes #34 googleapis/python-spanner-django#544
-
remove adding a dummy WHERE clause into UPDATE and DELETE statements ( #169 ) ( 7f4d478 )
Bug Fixes
Reverts
- Revert “test: unskip list_backup_operations sample test (#170)” (#174) ( 6053f4a ), closes #170 #174
2.0.0 (2020-11-11)
⚠ BREAKING CHANGES
- list_instances, list_databases, list_instance_configs, and list_backups will now return protos rather than the handwritten wrapper (#147)
Features
1.19.1 (2020-10-13)
Bug Fixes
Documentation
-
update samples dep to ‘google-cloud-spanner==1.19.0’ ( #137 ) ( 0fba41a )
-
update samples from python-docs-samples ( #146 ) ( 7549383 )
1.19.0 (2020-09-08)
Features
Bug Fixes
1.18.0 (2020-08-25)
Features
Bug Fixes
Documentation
-
add install reference for cloud trace exporter (opentelemetry) ( #127 ) ( 23fcd4c )
-
add instructions for using a Cloud Spanner emulator ( #136 ) ( 808837b )
-
add samples from spanner/cloud-client ( #117 ) ( 8910771 ), closes #804 #815 #818 #887 #914 #922 #928 #962 #992 #1004 #1035 #1055 #1063 #1093 #1107 #1121 #1158 #1138 #1186 #1192 #1207 #1254 #1316 #1354 #1376 #1377 #1402 #1406 #1425 #1441 #1464 #1519 #1548 #1633 #1742 #1836 #1846 #1872 #1980 #2068 #2153 #2224 #2198 #2251 #2295 #2356 #2392 #2439 #2535 #2005 #2721 #3093 #3101 #2806 #3377
1.17.1 (2020-06-24)
Documentation
-
remove client-usage sections that no longer apply ( #95 ) ( 16a812f )
-
update batch-usage reflect the correct usage ( #93 ) ( 6ec64d8 )
1.17.0 (2020-05-26)
Features
Bug Fixes
1.16.0 (2020-05-05)
Features
Bug Fixes
1.15.1 (2020-04-08)
Bug Fixes
-
increment seqno before execute calls to prevent InvalidArgument … ( #19 ) ( adeacee )
-
Pin Sphnix version to last working release ( #51 ) ( 430ca32 )
1.15.0 (2020-03-17)
Features
-
Export transaction._rolled_back as transaction.rolled_back ( #16 ) ( 974ee92 )
-
Implement query options versioning support ( #30 ) ( 5147921 )
Bug Fixes
1.14.0 (2020-01-31)
Features
-
Add deprecation warnings; add field_mask to get_instance; add endpoint_uris to Instance proto; update timeouts; make mutations optional for commits (via synth) ( 62edbe1 )
-
Add resource based routing implementation ( #10183 ) ( e072d5d )
-
Un-deprecate resource name helper functions, add 3.8 tests (via synth) ( #10062 ) ( dbb79b0 )
Bug Fixes
1.13.0
11-11-2019 15:59 PST
Implementation Changes
Fix TransactionPingingPool to stop thowing ‘’NoneType’ object is not callable’ error. ( #9609 ) Return sessions from pool in LIFO order. ( #9454 )
Documentation
-
Add Python 2 sunset banner to documentation. ( #9036 )
-
Update description of the
timeout_secs
parameter. ( #9381 )
Internal / Testing Changes
- Harden
test_transaction_batch_update\*
systests against partial success + abort. ( #9579 )
1.12.0
10-23-2019 19:09 PDT
Implementation Changes
- Add
batch_create_session
calls to session pools. ( #9488 )
New Features
- Add
client_options
to client constructor. ( #9151 )
Internal / Testing Changes
-
Harden ‘test_reload_instance’ systest against eventual consistency failures. ( #9394 )
-
Harden ‘test_transaction_batch_update_w_syntax_error’ systest. ( #9395 )
-
Propagate errors from ‘Transaction.batch_update’ in systest. ( #9393 )
1.11.0
10-15-2019 06:55 PDT
Implementation Changes
-
Adjust gRPC timeouts (via synth). ( #9330 )
-
Make
session_count
optional forSpannerClient.batch_create_sessions
(via synth). ( #9280 ) -
Remove send / receive message size limit, update docstrings (via synth). ( #8968 )
New Features
- Add
batch_create_sessions
method to generated client (via synth). ( #9087 )
Dependencies
- Pin ‘google-cloud-core >= 1.0.3, < 2.0.0dev’. ( #9445 )
Documentation
-
Remove references to old authentication credentials in docs. ( #9456 )
-
Fix intersphinx reference to requests. ( #9294 )
-
Fix
run_in_transaction
return value docs. ( #9264 ) -
Remove CI for gh-pages, use googleapis.dev for
api_core
refs. ( #9085 ) -
Remove compatability badges from READMEs. ( #9035 )
-
Add DML insert and update examples to README. ( #8698 )
-
Update intersphinx mapping for requests. ( #8805 )
1.10.0
07-24-2019 17:32 PDT
Implementation Changes
-
Add backoff for
run_in_transaction
when backend does not provide ‘RetryInfo’ in response. ( #8461 ) -
Adjust gRPC timeouts (via synth). ( #8445 )
-
Allow kwargs to be passed to create_channel (via synth). ( #8403 )
New Features
-
Add ‘options_’ argument to clients’ ‘get_iam_policy’; pin black version (via synth). ( #8659 )
-
Add ‘client_options’ support, update list method docstrings (via synth). ( #8522 )
Dependencies
-
Bump minimum version for google-api-core to 1.14.0. ( #8709 )
-
Update pin for ‘grpc-google-iam-v1’ to 0.12.3+. ( #8647 )
Documentation
-
Link to googleapis.dev documentation in READMEs. ( #8705 )
-
Add compatibility check badges to READMEs. ( #8288 )
Internal / Testing Changes
-
Fixes #8545 by removing typing information for kwargs to not conflict with type checkers ( #8546 )
-
Add docs job to publish to googleapis.dev. ( #8464 )
-
Declare encoding as utf-8 in pb2 files (via synth). ( #8363 )
-
Add disclaimer to auto-generated template files (via synth). ( #8327 )
-
Suppress checking ‘cov-fail-under’ in nox default session (via synth). ( #8251 )
-
Blacken noxfile.py, setup.py (via synth). ( #8131 )
-
Harden synth replacement against template adding whitespace. ( #8103 )
1.9.0
05-16-2019 12:54 PDT
Implementation Changes
-
Add routing header to method metadata (via synth). ( #7750 )
-
Remove classifier for Python 3.4 for end-of-life. ( #7535 )
New Features
- Add
client_info
support to client. ( #7878 )
Dependencies
- Pin
google-cloud-core >= 1.0.0, < 2.0dev
. ( #7993 )
Documentation
- Expand API reference for snapshot / transaction. ( #7618 )
Internal / Testing Changes
-
Add nox session
docs
, remove retries for DEADLINE_EXCEEDED (via synth). ( #7781 ) -
Added matching END tags to Spanner Tests ( #7529 )
1.8.0
03-05-2019 12:57 PST
Implementation Changes
New Features
- Add Batch DML support. ( #7485 )
Documentation
-
Copy lintified proto files, update docstrings (via synth). ( #7453 )
-
Fix Batch object creation instructions. ( #7341 )
-
Updated client library documentation URLs. ( #7307 )
-
Fix README to install spanner instead of datastore. ( #7301 )
Internal / Testing Changes
-
Add clarifying comment to blacken nox target. ( #7403 )
-
Ensure that GRPC config file is included in MANIFEST.in after templating. ( #7046 )
-
Add protos as an artifact to library. ( #7205 )
-
Update copyright headers.
1.7.1
12-14-2018 15:18 PST
Documentation
-
Announce Python 2 deprecation ( #6910 )
-
Normalize documentation for ‘page_size’ / ‘max_results’ / ‘page_token’ ( #6842 )
Internal / Testing Changes
- Include grpc config in manifest ( #6928 )
1.7.0
12-10-2018 13:10 PST
Implementation Changes
-
Add PingingPool and TransactionPingingPool to toplevel module ( #6886 )
-
Add
operation_id
parameter toDatabase.update_ddl
. ( #6825 ) -
Pick up changes to GAPIC method configuration ( #6615 )
-
Add timeout + retry settings to Sessions/Snapshots ( #6536 )
-
Pick up fixes to GAPIC generator. ( #6576 )
Dependencies
- Update dependency to google-cloud-core ( #6835 )
Internal / Testing Changes
-
Add baseline for synth.metadata
-
Blacken. ( #6846 )
-
Update noxfile.
-
Blacken all gen’d libs ( #6792 )
-
Omit local deps ( #6701 )
-
Run black at end of synth.py ( #6698 )
-
Run Black on Generated libraries ( #6666 )
-
Add templates for flake8, coveragerc, noxfile, and black. ( #6642 )
-
Add tags to DML system tests ( #6580 )
1.6.1
11-09-2018 14:49 PST
Implementation Changes
- Fix client_info bug, update docstrings. ( #6420 )
Documentation
-
Update README service links in quickstart guides. ( #6322 )
-
Normalize use of support level badges ( #6159 )
-
Fix typo in spanner usage documentation ( #6209 )
Internal / Testing Changes
-
Rationalize ‘all_types’ round-trip systest ( #6379 )
-
Bump minimum ‘api_core’ version for all GAPIC libs to 1.4.1. ( #6391 )
-
Add systest for returning empty array struct ( #4449 )
-
Add systests not needing tables ( #6308 )
-
Use new Nox ( #6175 )
1.6.0
10-08-2018 08:25 PDT
New Features
- Add support for DML/PDML. ( #6151 )
Implementation Changes
- Add ‘synth.py’ and regen GAPIC code. ( #6040 )
Documentation
-
Remove invalid examples of
database.transaction()
. ( #6032 ) -
Redirect renamed
usage.html
/client.html
->index.html
. ( #5996 ) -
Fix leakage of sections into sidebar menu. ( #5986 )
-
Prepare documentation for repo split. ( #5938 )
Internal / Testing Changes
- Remove extra
grpc_gcp
system tests. ( #6049 )
1.5.0
New Features
-
Add support for session / pool labels ( #5734 )
-
Add support for gRPC connection management ( #5553 )
Dependencies
- Add
grpcio-gcp
dependency for Cloud Spanner ( #5904 )
Internal / Testing Changes
-
Don’t hardcode endpoint URL in grpc_gcp unit tests. ( #5893 )
-
Run
grpc_gcp
unit tests only with Python 2.7 / 3.6. ( #5871 ) -
Nox: use inplace installs ( #5865 )
-
Benchmarks: print() is a function in Python 3 ( #5862 )
-
Retry
test_transaction_read_and_insert_then_rollback
when aborted. ( #5737 ) -
Skip the flaky
test_update_database_ddl
systest. ( #5704 )
1.4.0
Implementation Changes
-
Ensure that initial resume token is bytes, not text. (#5450)
-
Prevent process_read_batch from mutating params (#5416)
-
Avoid overwriting ‘ module’ of messages from shared modules. (#5364)
New Features
-
Add support for Python 3.7 (#5288)
-
Add support for Spanner struct params. (#5463)
Internal / Testing Changes
- Modify system tests to use prerelease versions of grpcio (#5304)
1.3.0
Interface additions
- Added
spanner_v1.COMMIT_TIMESTAMP
. (#5102)
1.2.0
New features
- Added batch query support (#4938)
Implementation changes
- Removed custom timestamp class in favor of the one in google-api-core. (#4980)
Dependencies
- Update minimum version for google-api-core to 1.1.0 (#5030)
Documentation
- Update package metadata release status to ‘Stable’ (#5031)
1.1.0
Dependencies
- The minimum version for
google-api-core
has been updated to version 1.0.0. This may cause some incompatibility with older google-cloud libraries, you will need to update those libraries if you have a dependency conflict. (#4944, #4946)
Testing and internal changes
-
Fix load_keys() in YCSB-like benchmark for cloud spanner. (#4919)
-
Install local dependencies when running lint (#4936)
-
Re-enable lint for tests, remove usage of pylint (#4921)
-
Normalize all setup.py files (#4909)
-
Fix system test util to populate streaming (#4888)
-
Retry conflict errors in system test (#4850)
1.0.0
Breaking Changes
-
to_pb
has now been made private (_to_pb
) inKeySet
andKeyRange
(#4740)
Documentation Changes
- Database update_ddl missing param in documentation (#4749)
0.30.0
Breaking Changes
-
The underlying autogenerated client library was re-generated to pick up new features and resolve bugs, this may change the exceptions raised from various methods. (#4695)
-
Made
StreamedResultSet
’srow
,consume_all
, andconsume_next
members private (#4492)
Implementation Changes
-
Keyset
can now infer defaults tostart_closed
orend_closed
when only one argument is specified. (#4735)
Documentation
- Brought Spanner README more in line with others. (#4306, #4317)
Testing
-
Added several new system tests and fixed minor issues with existing tests. (
4631, #4569, #4573, #4572, #4416, #4411, #4407, #4386, #4419, #4489,
4678, #4620, #4418, #4403, #4397, #4383, #4371, #4372, #4374, #4370, #4285,
4321)
-
Excluded generated code from linting. (#4375)
-
Added a
nox -s default
session for all packages. (#4324)
0.29.0
Implementation Changes
-
Bugfix: Clear
session._transaction
before calling_delay_until_retry
(#4185) -
Bugfix: Be permissive about merging an empty list. (#4170, fixes #4164)
Documentation
- Added link to “Python Development Environment Setup Guide” in project README (#4187, h/t to @michaelawyu)
Dependencies
-
Upgrading to
google-cloud-core >= 0.28.0
and adding dependency ongoogle-api-core
(#4221, #4280) -
Deferring to
google-api-core
forgrpcio
andgoogleapis-common-protos
dependencies (#4096, #4098)