Releases: googleapis/google-cloud-cpp-spanner
v1.2.0 Release
v1.1.0 Release
NOTICE: This repo will be merging with the googleapis/google-cloud-cpp monorepo in 60 days, around June 1, 2020. This change should not break any users who are using a released version. We expect this new monorepo organization to be better for our existing and new customers going forward. Please see googleapis/google-cloud-cpp#3612 for more details.
-
Breaking Changes
- NONE
-
Other Changes
- feat: announce move to monorepo (#1455)
- feat: allow for the emulator in ClientIntegrationTest.QueryOptionsWork (#1453)
- docs: add snippets for methods and classes in keys.h (#1451)
- doc: add mention of GOOGLE_CLOUD_CPP_TRACING_OPTIONS env var (#1448)
- test: write integration test for SessionPool (#1442)
- doc: snippets for admin clients with custom policies (#1440)
- testing: improvements for Backup related tests (#1438)
- refactor: use g-c-cpp-common's async retry loop (#1441)
- feat: add overloads to admin connections for specifying policies (#1439)
- feat: change quickstart to use recommended build target (#1436)
v1.0.0 Release (GA)
Breaking Changes
- feat!: add support for QueryOptions (#1351), this is a breaking
change for any developers that used
Connection::SqlParams::placeholder_do_not_use_name_will_change
. - feat!: implement SessionPool session refresh (#1425), this is a
breaking change as the return type for
SessionOptions::keep_alive_interval
changed from
std::chrono::minutes
tostd::chrono::seconds
.
We believe the risk of developers being impacted by these changes
is small, but do apologize if this impacts you.
Other Changes
- feat: add Managed Backup feature (#1358)
- feat: sessions are automatically created and refreshed by
background threads as described in:
https://cloud.google.com/spanner/docs/sessions#best_practices - We made multiple improvements (detailed below) to the documentation and
code samples. - fix: polling policy stops after 'too many' successes (#1427)
- feat: clean up main doxygen page (#1404)
- feat: implement async session creation (#1405)
- fix: avoid deadlocks during shutdown (#1397)
- feat: streaming Value STRING only quotes in aggregates (#1401)
- doc: small improvements to Client samples (#1398)
- doc: link existing example for ExecuteBatchDml (#1395)
- doc: update snippets for all mutation types (#1394)
- fix: Value::op==() correctly handles Date and Timestamp (#1386)
- feat: taught Date how to stream itself (#1385)
- feat: escape non-printable bytes in Value::op<< (#1371)
- docs: add snippets for Commit() with a mutator or mutations (#1374)
- docs: updated snippets and samples for profile and analyze methods (#1364)
- feat: Value streaming respects io manipulators (#1362)
- feat: SqlStatement uses
op<<(Value)
(#1361) - cleanup: make use of the new Client::Commit(Mutations) overload (#1359)
- feat: add ostream operator for Value (#1336)
- feat: refactor and enhance session creation logic (#1343)
- doc: link to the style guide in the common repo (#1348)
- fix: associate each
Session
with aChannel
(#1346) - feat: moved INSTALL.md -> doc/packaging.md (#1341)
- fix: use correct quickstart URL (#1339)
- feat: simplify README.md (#1338)
- doc: add more snippets to documentation (#1331)
- doc: an example of spanner::GetSingularRow (#1327)
v0.9.0 Release
-
Breaking Changes
- There are no API breaking changes in this release.
-
Other Changes
- cleanup: change to common's {Connection,Tracing}Options (#1279) - this is
not an API breaking change, but does change the ABI. - cleanup: use common's PaginationRange (#1278) - this is not an API
breaking change, but does change the ABI. - feat: implement quickstart example (#1318) - shows how to use
google-cloud-cpp-spanner
from a larger project, both with CMake and Bazel. - feat: do not rethrow
RuntimeStatusError
from aCommit()
mutator (#1320) -
allows applications to useStatusOr<T>::value()
inside aCommit()
mutator. - feat: add a
Commit()
helper that takes theMutations
directly (#1319) -
a simpler API to commit a vector ofspanner::Mutation
. - feat: support environment-variable override of default endpoint (#1283)
- feat: make emulator endpoint/credentials changes as late as possible (#1277)
- cleanup: change to common's {Connection,Tracing}Options (#1279) - this is
v0.8.0 Release
-
Breaking Changes
-
Other Changes
- chore: add some async methods to
SpannerStub
(#1270) - feat: environment-variable override of the spanner endpoint (#1269)
- doc: improve instructions for WORKSPACE files (#1254)
- doc: simplify install instructions (#1268)
- refactor: Migrate away from
grpc_utils
namespace (#1266) - doc: small tweaks to Doxygen documentation (#1267)
- feat: use
BackgroundThreads
inSessionPool
(#1259) - chore: upgrade dep to g-c-c-common v0.19 (#1258)
- chore: upgrade to cpp-cmakefiles v0.4.1 (#1253)
- doc: fix INSTALL instructions for Bazel (#1226)
- ci: upgrade protobuf to v3.11.3 (#1247)
- chore: add some async methods to
v0.7.0 Release
-
Breaking Changes
-
Other Changes
- docs: add summary of result classes (#1243)
- feat: const qualify ConnectionOptions::background_threads_factory() (#1240)
- doc: document how to run samples using Bazel (#1228)
- feat: implement query and update timestamp samples (#1223)
- feat: add CommitTimestamp support (#1225)
- doc: add skeletons for *_with_timestamp_column (#1220)
- doc: add spanner_create_user_defined_struct example (#1214)
- style: cleanup use of
noexcept
,explicit
and= default
(#1209) - doc: exclude benchmarks for doxygen docs (#1208)
- docs: specify how Commit(mutator, ...) handles exceptions (#1198)
- feat: use 1 client with multiple channels for the benchmark (#1194)
- fix: remove unnecessary dependency on bigtable (#1195)
- feat: support truncation of strings/bytes fields in protobuf logging (#1192)
- feat: a small script to plot benchmark results (#1189)
- fix: complete test coverage for g:c:spanner::Timestamp (#1190)
- fix: only check for per-thread rusage in the benchmark that requires it (#1186)
- docs: Tighten up some documentation for g:c:spanner::Client::Commit() (#1173)
- feat: remove internal::TimestampFromCounts() (#1183)
v0.6.0 Release - Beta
File Checksums
Extension | SHA256 checksum |
---|---|
.tar.gz | 1dbca07e3f268ffab4461a1d98b16201adda4688866a1929ac71c22c46e4fe74 |
.zip | 4f496ec3970f536269132db5c2ba2ef48ae9877c1cd83a30fa4fd71f30cd7ec2 |
Release Notes
v0.5.0 Release - Beta
File Checksums
Extension | SHA256 checksum |
---|---|
.tar.gz | 06673c29657adeb4346b5c08b44739c2455bbc39a8be39c1ca9457ae5ec5f1cc |
.zip | 0ff7679473b89f005a167b137c7ab3045b4f3ece0ac907e65ad6051a529109d6 |
Release Notes
-
Breaking Changes
-
Other Changes
- fix: avoid deadlock waiting for Session allocation (#1170)
- bug: number of channels was inadvertently limited to 1 (#1169)
- bug: deflake rollback integration test (#1164)
- feat: add optimistic concurrency control loop for IAM (#1162)
- feat: add build to check API breakage (#1155)
- feat: add CMake option to disable -Werror/-WX (#1150)
- feat: commit begins transaction if not already begun (#1143)
- feat: delete bad sessions from pool (#1142)
- feat: handle session-not-found in all connection_impl methods (#1141)
- bug: set "sticky" I/O format flags before forking threads (#1128)
v0.4.0 Release
File Checksums
Extension | SHA256 checksum |
---|---|
.tar.gz | 984715fa32f7ba1f08b66bc8d8886f79dff6ee601fb868716d05267bb051a405 |
.zip | 814bef6f7daadf52b64b0fa082ac5d5fbcce218993ad013b2b2e51d1218828fb |
Release Notes
-
Breaking Changes
-
Other Changes
- feat: add
SessionPoolOptions
with labels toMakeConnection()
(#1109) - fix: tell
clang-format
to leave doxygen@copydoc
directives alone (#1122) - feat: allow users to configure retry policies (#1111)
- feat: optimize passing
Bytes
toValue
(#1104) - feat: change
GetCurrentRow
toGetSingularRow
(#1092) - feat: update the pool options to match the design (#1089)
- feat: support multiple channels in
SessionPool
(#1063) - bug: fix year formatting in
spanner::Date
(#1085) - fix: execute each rerun of an aborted transaction in the same session (#1079)
- feat: add function to get a single row from a range (#1074)
- feat: add some plumbing to enable multiple channels (#1050)
- feat: attempt to speed up hot loop in
NextRow
(#1052) - feat: associate
SpannerStub
with aSession
(#1041) - add and update several examples, benchmarks, and tests.
- feat: add
v0.3.0 Release
File Checksums
Extension | SHA256 checksum |
---|---|
.tar.gz | 07e692b2af88b1243fe37f27a3c08dc6e3dd0c8418a7fcc35153905031d1673f |
.zip | 731720f49098be6e1bb4abf0987262e2f5d882f1dd1f54b8bd9027dd2dd7bce1 |
Release Notes
-
Breaking Changes
- feat!: class templates removed from keys.h (#936)
- feat!: change result return types (#942)
- refactor!: replaced Row<...> with std::tuple<...> (#967)
- feat!: support for select-star queries (#976)
- feat!: replace RunTransaction() with Client::Commit(functor) (#975)
- chore!: renamed QueryResult to RowStream (#978)
- chore!: renamed ExecuteSqlParams to SqlParams (#986)
- cleanup: depend on google-cloud-cpp-common (#940)
-
feat: configurable strategy for background threads (#955)
-
feat: add Profile and Analyze methods (#961)
-
feat: adds efficient move to support to Value:get() (#980)
-
feat: add efficient move support to mutation builder temporaries (#989)
-
bug: only install the required headers (#993)
-
bug: install the headers for mocking (#997)