3.40.0 (2023-08-04)
- Enable leader aware routing by default. This update contains performance optimisations that will reduce the latency of read/write transactions that originate from a region other than the default leader region. (e8dbfe7)
3.39.0 (2023-08-02)
3.38.0 (2023-07-21)
3.37.0 (2023-07-21)
- Enable leader aware routing by default. This update contains performance optimisations that will reduce the latency of read/write transactions that originate from a region other than the default leader region. (402b101)
3.36.0 (2023-06-06)
- Add DdlStatementActionInfo and add actions to UpdateDatabaseDdlMetadata (#948) (1ca6874)
- Testing for fgac-pg (#902) (ad1f527)
3.35.1 (2023-05-25)
3.35.0 (2023-05-16)
3.34.0 (2023-05-16)
3.33.0 (2023-04-27)
3.32.0 (2023-04-25)
3.31.0 (2023-04-12)
3.30.0 (2023-03-28)
3.29.0 (2023-03-23)
3.28.0 (2023-02-28)
3.27.1 (2023-01-30)
- Add context manager return types (830f325)
- Change fgac database role tags (#888) (ae92f0d)
- Fix for database name in batch create request (#883) (5e50beb)
- Add documentation for enums (830f325)
3.27.0 (2023-01-10)
- Add support for python 3.11 (#879) (4b8c2cf)
- Add typing to proto.Message based class attributes (4683d10)
- Add dict typing for client_options (4683d10)
- deps: Require google-api-core >=1.34.0, >=2.11.0 (4683d10)
- Drop packaging dependency (4683d10)
- Drop usage of pkg_resources (4683d10)
- Fix timeout default values (4683d10)
- samples: Snippetgen handling of repeated enum field (4683d10)
- samples: Snippetgen should call await on the operation coroutine before calling result (4683d10)
3.26.0 (2022-12-15)
3.25.0 (2022-12-13)
3.24.0 (2022-11-30)
- Add snippets for Spanner DML with returning clause (#811) (62e55b5)
- Add support and tests for DML returning clauses (#805) (81505cd)
3.23.0 (2022-11-07)
- Adding support and samples for jsonb (#851) (268924d)
- Support request priorities (#834) (ef2159c)
- Support requiest options in !autocommit mode (#838) (ab768e4)
- Update result_set.proto to return undeclared parameters in ExecuteSql API (#841) (0aa4cad)
- Update transaction.proto to include different lock modes (#845) (c191296)
3.22.1 (2022-10-04)
- samples: add samples for CMMR phase 2 (4282340)
3.22.0 (2022-09-26)
- Adding reason, domain, metadata & error_details fields in Custom Exceptions for additional info (#804) (2a74060)
3.21.0 (2022-09-16)
3.20.0 (2022-08-30)
3.19.0 (2022-08-17)
3.18.0 (2022-08-12)
- deps: allow protobuf < 5.0.0 (eee5f31)
- deps: require proto-plus >= 1.22.0 (eee5f31)
- target new spanner db admin service config (8c73cb3)
3.17.0 (2022-07-19)
- add audience parameter (60db146)
- add Session creator role (60db146)
- Adding two new fields for Instance create_time and update_time (60db146)
- clarify transaction semantics (60db146)
3.16.0 (2022-07-11)
- @421 (#769) (58640a1)
- add pause for the staleness test (#762) (bb7f1db)
- require python 3.7+ (#768) (f2c273d)
3.15.1 (2022-06-17)
3.15.0 (2022-06-17)
3.14.1 (2022-06-08)
3.14.0 (2022-04-20)
- add support for Cross region backup proto changes (#691) (8ac62cb)
- add support for spanner copy backup feature (#600) (97faf6c)
- AuditConfig for IAM v1 (7642eba)
- add NOT_FOUND error check in exit method of SessionCheckout. (#718) (265e207)
- deps: require google-api-core>=1.31.5, >=2.3.2 (#685) (7a46a27)
- deps: require grpc-google-iam-v1 >=0.12.4 (7642eba)
- deps: require proto-plus>=1.15.0 (7a46a27)
3.13.0 (2022-02-04)
- add support for row_count in cursor. (#675) (d431339)
- resolve DuplicateCredentialArgs error when using credentials_file (#676) (39ff137)
3.12.1 (2022-01-06)
3.12.0 (2021-11-25)
- add context manager support in client (5ae4be8)
- add context manager support in client (#637) (5ae4be8)
- add support for python 3.10 (#626) (17ca61b), closes #623
- db_api: add an ability to set ReadOnly/ReadWrite connection mode (#475) (cd3b950)
- db_api: make rowcount property NotImplemented (#603) (b5a567f)
- db_api: raise exception with message for executemany() (#595) (95908f6)
- db_api: support JSON data type (#627) (d760c2c)
- db_api: support stale reads (#584) (8ca868c)
- db_api: emit warning instead of an exception for
rowcount
property (#628) (62ff9ae) - deps: drop packaging dependency (5ae4be8)
- deps: require google-api-core >= 1.28.0 (5ae4be8)
- improper types in pagers generation (5ae4be8)
- list oneofs in docstring (5ae4be8)
3.11.1 (2021-10-04)
- add support for json data type (#593) (bc5ddc3)
- remove database_version_time param from test_instance_list_backups (#609) (db63aee)
3.11.0 (2021-09-29)
3.10.0 (2021-09-17)
- 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)
3.8.0 (2021-08-15)
3.7.0 (2021-07-29)
- add always_use_jwt_access (#381) (0f1a5de)
- add configurable leader placement support (#399) (7f1b120)
- add sample for low cost instances (#392) (3f4f93f)
- 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)
- disable always_use_jwt_access (#395) (c37bf21)
- enable self signed jwt for grpc (#427) (2487800)
- support merging for NUMERIC values (#434) (06b4215), closes #433
3.6.0 (2021-06-23)
- add RPC priority support (#324) (51533b8)
- add support for low-cost instances (#313) (44aa7cc)
- spanner: add processing_units to Instance resource (#364) (113505c)
- update query stats samples (#373) (c1ee8c2)
- db_api: use sqlparse to split DDL statements (#372) (ed9e124)
- db_api: classify batched DDL statements (#360) (b8b24e1)
- deps: add packaging requirement (#368) (89c126c)
3.5.0 (2021-06-11)
- add decimal validation for numeric precision and scale supported by Spanner (#340) (aa36c5e)
- add progress field to UpdateDatabaseDdlMetadata (#361) (1c03dcc)
- add query statistics package support (#129) (6598dea)
- 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)
- add samples for CMEK support (#275) (f8d9bd3)
- added support for numeric field for python decimal value (#316) (070a171)
- dbapi: remove string conversion for numeric fields (#317) (772aa3c)
- correctly set resume token when restarting streams (#314) (0fcfc23)
- support INSERT from SELECT clause with args (#306) (0dcda5e)
3.3.0 (2021-03-25)
- add encryption_info to Database (#284) (2fd0352)
- add support for CMEK (#105) (e990ff7)
- 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)
- avoid consuming pending null values when merging (#286) (c6cba9f)
- db_api: allow file path for credentials (#221) (1de0284)
- db_api: ensure DDL statements are being executed (#290) (baa02ee)
- db_api: revert Mutations API usage (#285) (e5d4901)
3.2.0 (2021-03-02)
- add
Database.list_tables
method (#219) (28bde8c) - add sample for commit stats (#241) (1343656)
- add samples for PITR (#222) (da146b7)
3.1.0 (2021-02-23)
- add support for Point In Time Recovery (PITR) (#148) (a082e5d)
- add support to log commit stats (#205) (434967e)
- connection attribute of connection class and include related unit tests (#228) (4afea77)
- db_api: add dummy lastrowid attribute (#227) (0375914)
- fix execute insert for homogeneous statement (#233) (36b12a7)
- use datetime timezone info when generating timestamp strings (#236) (539f145)
3.0.0 (2021-01-15)
- convert operations pbs into Operation objects when listing operations (#186)
- add support for instance labels (#193) (ed462b5)
- add support for ssl credentials; add throttled field to UpdateDatabaseDdlMetadata (#161) (2faf01b)
- adding missing docstrings for functions & classes (#188) (9788cf8)
- autocommit sample (#172) (4ef793c)
- convert operations pbs into Operation objects when listing operations (#186) (ed7152a)
- Convert PBs in system test cleanup (#199) (ede4343)
- 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)
- remove client side gRPC receive limits (#192) (90effc4)
- Rename to fix "Mismatched region tag" check (#201) (c000ec4)
- homogenize region tags (#194) (1501022)
- homogenize region tags pt 2 (#202) (87789c9)
- update CHANGELOG breaking change comment (#180) (c7b3b9e)
2.1.0 (2020-11-24)
- 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)
2.0.0 (2020-11-11)
- list_instances, list_databases, list_instance_configs, and list_backups will now return protos rather than the handwritten wrapper (#147)
1.19.1 (2020-10-13)
- 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)
1.18.0 (2020-08-25)
- add client_options to base class (#132) (6851bb8)
- add OpenTelemetry tracing to spanner calls (#107) (4069c37)
- 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
- typo fix (#109) (63b4324)
1.17.1 (2020-06-24)
- remove client-usage sections that no longer apply (#95) (16a812f)
- update batch-usage reflect the correct usage (#93) (6ec64d8)
- update documentation for database-usage (#96) (44e398c)
- update documentation for snapshot usage (#94) (613d9c8)
1.17.0 (2020-05-26)
1.16.0 (2020-05-05)
- add keepalive changes to synth.py (#55) (805bbb7)
- pass gRPC config options to gRPC channel creation (#26) (6c9a1ba)
1.15.1 (2020-04-08)
- add keepalive to gRPC channel (#49) (dfbc656)
- 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)
- Add emulator support (#14) (b315593)
- Export transaction._rolled_back as transaction.rolled_back (#16) (974ee92)
- Add support for backups (#35) (39288e7)
- Implement query options versioning support (#30) (5147921)
1.14.0 (2020-01-31)
- 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)
- Be permssive about merging an empty struct (#10079) (cfae63d)
- Fix imports for doc samples (#10283) (55a21d9)
11-11-2019 15:59 PST
Fix TransactionPingingPool to stop thowing ''NoneType' object is not callable' error. (#9609) Return sessions from pool in LIFO order. (#9454)
- Add Python 2 sunset banner to documentation. (#9036)
- Update description of the
timeout_secs
parameter. (#9381)
- Harden
test_transaction_batch_update*
systests against partial success + abort. (#9579)
10-23-2019 19:09 PDT
- Add
batch_create_session
calls to session pools. (#9488)
- Add
client_options
to client constructor. (#9151)
- 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)
10-15-2019 06:55 PDT
- 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)
- Add
batch_create_sessions
method to generated client (via synth). (#9087)
- Pin 'google-cloud-core >= 1.0.3, < 2.0.0dev'. (#9445)
- 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)
07-24-2019 17:32 PDT
- 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)
- 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)
- Bump minimum version for google-api-core to 1.14.0. (#8709)
- Update pin for 'grpc-google-iam-v1' to 0.12.3+. (#8647)
- Link to googleapis.dev documentation in READMEs. (#8705)
- Add compatibility check badges to READMEs. (#8288)
- 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)
05-16-2019 12:54 PDT
- Add routing header to method metadata (via synth). (#7750)
- Remove classifier for Python 3.4 for end-of-life. (#7535)
- Add
client_info
support to client. (#7878)
- Pin
google-cloud-core >= 1.0.0, < 2.0dev
. (#7993)
- Expand API reference for snapshot / transaction. (#7618)
- Add nox session
docs
, remove retries for DEADLINE_EXCEEDED (via synth). (#7781) - Added matching END tags to Spanner Tests (#7529)
03-05-2019 12:57 PST
- Add Batch DML support. (#7485)
- 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)
- 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.
12-14-2018 15:18 PST
- Announce Python 2 deprecation (#6910)
- Normalize documentation for 'page_size' / 'max_results' / 'page_token' (#6842)
- Include grpc config in manifest (#6928)
12-10-2018 13:10 PST
- 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)
- Update dependency to google-cloud-core (#6835)
- 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)
11-09-2018 14:49 PST
- Fix client_info bug, update docstrings. (#6420)
- Update README service links in quickstart guides. (#6322)
- Normalize use of support level badges (#6159)
- Fix typo in spanner usage documentation (#6209)
- 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)
10-08-2018 08:25 PDT
- Add support for DML/PDML. (#6151)
- Add 'synth.py' and regen GAPIC code. (#6040)
- 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)
- Remove extra
grpc_gcp
system tests. (#6049)
- Add
grpcio-gcp
dependency for Cloud Spanner (#5904)
- 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)
- 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)
- Add support for Python 3.7 (#5288)
- Add support for Spanner struct params. (#5463)
- Modify system tests to use prerelease versions of grpcio (#5304)
- Added
spanner_v1.COMMIT_TIMESTAMP
. (#5102)
- Added batch query support (#4938)
- Removed custom timestamp class in favor of the one in google-api-core. (#4980)
- Update minimum version for google-api-core to 1.1.0 (#5030)
- Update package metadata release status to 'Stable' (#5031)
- 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)
- 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)
to_pb
has now been made private (_to_pb
) inKeySet
andKeyRange
(#4740)
- Database update_ddl missing param in documentation (#4749)
- 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)
Keyset
can now infer defaults tostart_closed
orend_closed
when only one argument is specified. (#4735)
- Brought Spanner README more in line with others. (#4306, #4317)
- 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)
- Bugfix: Clear
session._transaction
before calling_delay_until_retry
(#4185) - Bugfix: Be permissive about merging an empty list. (#4170, fixes #4164)
- Added link to "Python Development Environment Setup Guide" in project README (#4187, h/t to @michaelawyu)
- 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)