Changes

1.51.0 (2026-07-23)

Features

  • bigtable: Add ChainInterceptors and RetryingVRpc for vRPC pipeline (#20185) (c7a832a)
  • bigtable: Add ClientConfigurationManager (#19986) (3a8f927)
  • bigtable: Add debug tag counter (recordDebugTag / assertDebugTag) (#20114) (3c97590)
  • bigtable: Add lazyPool helper for on-demand session pool opening (#20182) (f6ae3fb)
  • bigtable: Add PeakEwma continuous time-decay latency tracker (#20187) (9d124ef)
  • bigtable: Add PoolSizer for server-driven session pool capacity (#20189) (57ebbeb)
  • bigtable: Add session package with SessionClient + SessionTableAPI interfaces (#20180) (4b82fd2)
  • bigtable: Add Session primitives (AttemptOutcome, vRPC ctx, msgtype) (#20116) (e1011e2)
  • bigtable: Add Session state enum (#19981) (0748972)
  • bigtable: Add SessionThrottler / AdaptiveSessionThrottler for OpenSession pacing (#20184) (02e3c6d)
  • bigtable: Add SessionThrottler / AdaptiveSessionThrottler for OpenSession pacing (#20184) (29be83e)
  • bigtable: Add sessionTracer for per-Session lifecycle + vRPC metrics (#20190) (a466345)
  • bigtable: Enable new auth library and JWT for instance admin client (#20013) (21c4a44)
  • bigtable: Modularize channel priming behind a ChannelPrimer interface (#20027) (5214ab7)
  • bigtable: Modularize Direct Access compatibility check (#19987) (a25e93d)
  • o11y: Regenerate clients for LRO tracing (#20107) (779074e)

Bug Fixes

  • bigtable: Default cluster/zone in toOtelMetricAttrs to avoid Monitoring reject (#20178) (14493f4)
  • bigtable: Eliminate stats-handler MD race in internal/metrics tracer (#20158) (c387066)

1.50.0 (2026-06-17)

Features

  • bigtable: Enable JWT (#19957) (af93528)
  • bigtable: Generate Admin API client using selective gapic (#19962) (a37509d)
  • bigtable: Refactor channel_pool_factory as we need to maintain two channel factory one for session and another for unary (#14652) (0c0b6ce)
  • bigtable: Wrap admin client (#14534) (0bea4ba)
  • Update API sources and regenerate (#19950) (c7607be)

1.49.0 (2026-06-10)

Features

  • add opensession descriptors for bigtable (#14647) (8968f4f)
  • add traffic diverter and table shim for bigtable (#14633) (2f3c918)
  • add virtual RPC descriptors (#14648) (5eedda1)
  • enable new auth library and remove async refresh (#19943) (0d3697b)
  • update API sources and regenerate (#14701) (a9b7921)

Bug Fixes

  • disable dynamic channel pool by default and raise default pool size to 10 (#19945) (5ddf8d4)
  • raise default connection-recycler MaxAge to 7 days (#19940) (a7959ef)
  • retry unexpected EOF errors (#13157) (2b4ac42)

1.48.0 (2026-05-26)

Features

  • expose a client option to disable direct access: (#14626) (f22b29f)

1.47.0 (2026-05-01)

1.46.0 (2026-04-09)

1.45.0 (2026-03-31)

1.44.0 (2026-03-30)

1.43.0 (2026-03-16)

Features

  • Add support for creating Instance with tags (#13459) (1bce843)
  • Use direct access when supported. Guarded by enabling… (#13873) (5ea1f5f)
  • add connection factory to abstract connection (#13755) (b08ea15)
  • add handling of longupdown metrics aka gauge (#13871) (519ed9b)
  • add load balancing penalty for channel (#14149) (bb64998)
  • add pacemaker in connpool (#13862) (9af047f)
  • add preemptive connection recycler (#13860) (6b69ee3)
  • cap increase in conn for dynamic chan pool (#14144) (e0701a4)
  • derive conn pool from resolver (#14147) (b903e29)
  • make downscalling less aggressive (#14123) (7ac72cc)
  • make pow of 2 default lb policy (#14131) (b5f7bf2)
  • populate ip protocol for direct access checker and rename a method to be concise (#14011) (9c5e655)
  • support tiered storage (#13793) (39a25b9)
  • switch to rand v2 (#14008) (ee6f425)

Bug Fixes

  • refactor bigtable.go into separate file path per interfaces (#13818) (c8ae2e2)
  • slighly change instruction for direct access (#14119) (7dd4948)

1.42.0 (2026-02-04)

Features

  • add TieredStorageConfig to table admin api (611f239)
  • add client startup time metrics. (#13521) (8f90da3)
  • add dynamic channel support (#2) (#13504) (65a3c4e)
  • add ip protocol for bigtable connection (#13520) (6f86983)
  • add metrics exporter for outstandingrpcs and perconnectionerror count (#13510) (7f1b36a)
  • introduce prime() method and load counting based on unary,streaming and ability to remove connection (#13419) (c6773ce)

Bug Fixes

  • fix a nil pointer deference in remove connections when… (#13535) (9d2ba82)
  • handle client region and client host name based on ote… (#13752) (0429170)

Performance Improvements

  • use passthrough with emulator endpoint (#13739) (dafbca2)

1.41.0 (2025-12-15)

Features

  • Add experimental Bigtable connection pool with custom load balancing strategy. (#12882) (7aa9612)
  • Enable ALTS hard bound token in Bigtable w/ direct access (#13153) (9023934)
  • Enable routing cookie and attempt headers for enhanced retries (#12964) (96cfd47)
  • add PeerInfo proto in Bigtable API (185951b)
  • precompute featureflags in client and reuse (#13297) (3b3253a)

Bug Fixes

  • fix project id sent in otel (#13286) (4865868)
  • screaming uppercase metric status (#13484) (b35ee8f)

Performance Improvements

  • parallelize the exportTimeSeries function (#13004) (bafd691)

1.40.1 (2025-09-26)

Features

  • bigtable: Add an e2e flow for direct access with instructions (#12939) (fdcdde8)

Bug Fixes

1.40.0 (2025-09-22)

Features

  • bigtable: Expose otel native grpc metrics in Bigtable (#12827) (e9d2efd)

1.39.0 (2025-08-28)

Features

  • bigtable/admin: Add tags field to Instance proto (stable branch) (a846564)
  • bigtable/spanner: Allow disable gRPC DirectPath deps (#12469) (2205d27)
  • bigtable: Add client epoch for each call (#12685) (c9eac01)
  • bigtable: Add Idempotency to Cloud Bigtable MutateRowRequest API (98ba6f0)
  • bigtable: Add Idempotency to Cloud Bigtable MutateRowsRequest API (ac4970b)
  • bigtable: Adding support to schema bundles (#12516) (688eb13)
  • bigtable: Create first response latencies instrument (#12706) (6f34867)
  • bigtable: Expose directaccess via a env variable (#12684) (0306910)
  • bigtable: Expose pinger in go client (#12683) (a330457)
  • bigtable: First_response_latencies and connectivity_error_count metrics (#10616) (3054593)
  • bigtable: Publish Proto and Enum types to CBT data API (83f894e)
  • bigtable: Record client_blocking_latencies (#12698) (5f03fb3)
  • bigtable: Support universe domain (#12567) (fc59e39)
  • bigtable: Update ListSchemaBundles to returns only names (#12563) (83ea7c4)

Bug Fixes

  • bigtable: Add ReadRows/SampleRowKeys bindings for materialized views (7616e81)
  • bigtable: Fix NoopMetricsProvider panic (#12709) (8c6da0d)
  • bigtable: Ignore errors while creating monitoring client and disable metrics (#12708) (2346cf1)
  • bigtable: Update routing_parameters.path_template (c574e28)

Performance Improvements

Documentation

  • bigtable: Minor comment update for field idempotency in message .google.bigtable.v2.MutateRowRequest (ac4970b)
  • bigtable: Sync generated comments from the API Protos (ac4970b)

1.38.0 (2025-06-27)

Features

  • bigtable/admin: Add deletion_protection support for LVs (a95a0bf)
  • bigtable/admin: Add SchemaBundles API (116a33a)
  • bigtable: Add application blocking latencies (#11349) (8f145ed)
  • bigtable: Add DeletionProtection support for Logical Views (#11895) (ed488b9)
  • bigtable: Connectivity_error_count client side metric (#12438) (dd45fd7)
  • bigtable: NewServerWithListener (#12408) (59ea0de)
  • bigtable: Use delay from RetryInfo (#11955) (0510711)

Bug Fixes

  • bigtable: Correct the Bigtable monitoring client options (#12410) (bd966bc)
  • bigtable: Fix: upgrade gRPC service registration func (6a871e0)
  • bigtable: Retry RST stream errors (#11477) (df43b4a)

Performance Improvements

  • bigtable: Refactor metric attributes for performance (#12445) (f734ec6)

Documentation

  • bigtable/admin: Improved comment formatting and product naming (116a33a)

1.37.0 (2025-04-15)

Features

  • bigtable: Allow configuring multicluster routing and isolation (#11980) (19e2837)

Bug Fixes

  • bigtable: Correct the retry condition of QueryExpiredViolation (#11984) (44d8b86)
  • bigtable: Update google.golang.org/api to 0.229.0 (3319672)
  • bigtable: Use the same Backoff for idempotent and internal errors (#11985) (8d1d015)

1.36.0 (2025-03-31)

Features

  • bigtable/admin: Add MaterializedViews and LogicalViews APIs (b323f88)
  • bigtable/admin: Add MaterializedViews and LogicalViews APIs (dd0d1d7)
  • bigtable/admin: Publish row_key_schema fields in table proto and relevant admin APIs to setup a table with a row_key_schema (3f23a91)
  • bigtable: Add Bind function to bind query params (#11862) (24c5ae0)
  • bigtable: Add datatypes for GoogleSQL (#11816) (5a9eb10)
  • bigtable: Add Execute method to execute GoogleSQL queries (#11883) (0e53dcd)
  • bigtable: Add MaterializedViewName to ReadRows and SampleRowKeys (b323f88)
  • bigtable: Add methods to read ResultRow (#11924) (8b8ca9e)
  • bigtable: Add PrepareQuery api and update ExecuteQuery to support it (dd0d1d7)
  • bigtable: Add PrepareStatement to run GoogleSQL queries (#11829) (ea00b17)
  • bigtable: Add support for data APIs for Materialized Views (#11796) (f5ae93b)
  • bigtable: Add support for logical views (#11792) (630d751)
  • bigtable: Add support for materialized views for admin client (#11793) (640be05)
  • bigtable: Adding node scaling factor (b680164)
  • bigtable: Disable MV and LV tests (#11827) (42dca03)
  • bigtable: Row key schema support in admin client (#11777) (4158bac)

Bug Fixes

  • bigtable: Allow GC updates on emulated aggregate column family (#11499) (0682bfa)
  • bigtable: Update golang.org/x/net to 0.37.0 (1144978)

Documentation

  • bigtable/admin: Fixed formatting of resource path strings (dd0d1d7)
  • bigtable: Update ExecuteQuery API docs to reflect changes (dd0d1d7)

1.35.0 (2025-01-22)

Features

Bug Fixes

  • bigtable: Allow nil condition in conditional mutation (#11457) (d83bc05)
  • bigtable: Do not retry conditional mutate (#11437) (ce8c9b1)
  • bigtable: Mutate groups even after first error (#11434) (6ffe32b)
  • bigtable: Retry correct mutations (#11388) (ca2c4e3)
  • bigtable: Track number of readrows to set rowsLimit in subsequent requests (#10213) (abb615e)

1.34.0 (2025-01-02)

Features

  • bigtable/admin: Add support for Cloud Bigtable Node Scaling Factor for CBT Clusters (7250d71)
  • bigtable: Add feature flags proto for Direct Access (2c83297)
  • bigtable: Async refresh dry run in parallel with sync refresh (#11066) (169e309)

Bug Fixes

  • bigtable: Correct the ‘method’ label value (#11350) (6aa27dc)
  • bigtable: Resolve discrepancy between server and client qps (#11224) (c500179)
  • bigtable: Update golang.org/x/net to v0.33.0 (e9b0b69)
  • bigtable: Update google.golang.org/api to v0.203.0 (8bb87d5)
  • bigtable: WARNING: On approximately Dec 1, 2024, an update to Protobuf will change service registration function signatures to use an interface instead of a concrete type in generated .pb.go files. This change is expected to affect very few if any users of this client library. For more information, see https://togithub.com/googleapis/google-cloud-go/issues/11020. (8bb87d5)

Documentation

1.33.0 (2024-09-23)

Features

  • bigtable/admin: Add support for Cloud Bigtable Row Affinity in App Profiles (b9dfce5)

Bug Fixes

1.32.0 (2024-09-09)

Features

  • bigtable: Add “TypeUnspecified” to represent an unspecified type (#10820) (8d008de)
  • bigtable: Add client side metrics to feature flag (#10678) (02b2d12)
  • bigtable: Add update value type test. (#10771) (210f022)
  • bigtable: Wrapping errors on Export (#10836) (fc6d6a8)

Bug Fixes

  • bigtable: Bump dependencies (2ddeb15)
  • bigtable: Error logging for client side metrics (#10658) (9a94ff8)

1.31.0 (2024-08-28)

Features

Performance Improvements

1.30.0 (2024-08-26)

Features

  • bigtable: Add MarshalJSON to allow clients to get a stringified version of the protobuf (#10679) (663f399)
  • bigtable: Add nil checks to Equal method (#10758) (f1aad7f)
  • bigtable: Add UpdateFamily to allow updating a family type (#10759) (ec0cbb2)
  • bigtable: Update go version for conformance tests (#10743) (74cf45e)

Bug Fixes

1.29.0 (2024-08-09)

Features

  • bigtable/admin: Add fields and the BackupType proto for Hot Backups (649c075)
  • bigtable: Remove deprecated Bytes from BigEndianBytesEncoding (#10659) (0bb1a6d)

Bug Fixes

  • bigtable: Update google.golang.org/api to v0.191.0 (5b32644)

Documentation

  • bigtable/admin: Clarify comments and fix typos (649c075)

1.28.0 (2024-08-03)

Features

Bug Fixes

  • bigtable/emulator: Sending empty row in SampleRowKeys response (#10611) (928f1a7)
  • bigtable: Move usage to local proto definitions (#10598) (ce31365)

1.27.1 (2024-07-25)

Bug Fixes

  • bigtable: Start generating proto sources (5b4b0f7)

1.27.0 (2024-07-25)

Features

1.26.0 (2024-07-23)

Features

  • bigtable/emulator: Allow listening on Unix Domain Sockets (#9665) (424494c)
  • bigtable: Add column family type to FamilyInfo in TableInfo (#10520) (fd16a17)
  • bigtable: Mark CBT Authorized View admin APIs as unimplemented in the emulator (#10562) (6b32871)

Bug Fixes

1.25.0 (2024-06-20)

Features

  • bigtable: Add string type to supported Bigtable type (#10306) (18fa7e4)

1.24.0 (2024-05-28)

Features

Bug Fixes

  • bigtable/bttest: Error when applying a mutation with an empty row key (#9512) (7231423)
  • bigtable: Reject misspecified Automated Backup Policies when updating a table (#10226) (84e45ce)
  • bigtable: Retry on RST_STREAM error (#9673) (d4da4a5)

1.23.0 (2024-04-29)

Features

  • bigtable/spanner: Remove grpclb (#9186) (480f9a0)
  • bigtable: Allow non-default service account in DirectPath (#9040) (c2df09c)
  • bigtable: Support AuthorizedView in data and admin client (#9515) (8259645)

Bug Fixes

  • bigtable: Accept nil RowSet to read all rows (#9327) (cd36506)
  • bigtable: Add internaloption.WithDefaultEndpointTemplate (3b41408)
  • bigtable: Bump x/net to v0.24.0 (ba31ed5)
  • bigtable: Resolve DeadlineExceeded conformance test failures (#9688) (54d2990)
  • bigtable: Update protobuf dep to v1.33.0 (30b038d)

1.22.0 (2024-03-11)

Features

  • bigtable: Add aggregate support to the bigtable emulator and client (c250928)

Bug Fixes

  • bigtable/bttest: Make table gc release memory (#3930) (7d6ff39)
  • bigtable: Allow micro seconds in filter in Bigtable emulator (#9414) (9fe6061)
  • bigtable: Fix deadline exceeded conformance test (#9220) (092ee0b)

Miscellaneous Chores

1.21.0 (2023-12-04)

Features

  • bigtable: Add support for reverse scans (#8755) (244d135)
  • bigtable: Support copy backup in admin client (#9005) (834c47f)

Bug Fixes

  • bigtable: Bump google.golang.org/api to v0.149.0 (8d2ab9f)
  • bigtable: Return cluster error for Update when populated (#8657) (2105434)
  • bigtable: Update golang.org/x/net to v0.17.0 (174da47)
  • bigtable: Update grpc-go to v1.56.3 (343cea8)
  • bigtable: Update grpc-go to v1.59.0 (81a97b0)

1.20.0 (2023-10-02)

Features

  • bigtable/bttest: Support reverse scans (#8198) (b8f164f)
  • bigtable: Support last_scanned_row in the bigtable client (#8345) (961dd38)
  • bigtable: Support last_scanned_row_key in emulator (#8343) (d53ef45)

Bug Fixes

1.19.0 (2023-07-06)

Features

  • bigtable: Add change stream config to create and update table (#8180) (32897ce)
  • bigtable: Update all direct dependencies (b340d03)
  • bigtable: Update iam and longrunning deps (91a1f78)

Bug Fixes

  • bigtable: REST query UpdateMask bug (df52820)
  • bigtable: Update grpc to v1.55.0 (1147ce0)
  • bigtable: Use fieldmask directly instead of field_mask genproto alias (#8032) (cae6cd6)

1.18.1 (2022-12-02)

Bug Fixes

  • bigtable: downgrade some dependencies (7540152)

1.18.0 (2022-11-10)

Features

1.17.0 (2022-11-03)

Features

Bug Fixes

  • bigtable: CellsPer(Row|Column)LimitFilter should error with arguments <= 0. (#6495) (7724d8f)
  • bigtable: Fix flaky AdminBackUp test (#6917) (45cc61e)

1.16.0 (2022-07-27)

Features

  • bigtable: add PolicyType for GCPolicy and expose public methods for different types of GC policies (#6314) (2971037)
  • bigtable: adds autoscaling target storage per node (#6317) (5eab4c3)

Bug Fixes

1.15.0 (2022-07-07)

Features

  • bigtable: add file for tracking version (17b36ea)
  • bigtable: add GC policy to FamilyInfo. (#6234) (eb0540d)
  • bigtable: loadtest support app profile (#5882) (ec00e5a)
  • bigtable: support PingAndWarm in emulator (#5803) (9b943d5)

Bug Fixes

  • bigtable: use internal.Version that is auto-updated for UA (#5679) (bd2c600), refs #3330

1.14.0 (2022-05-26)

Features

  • bigtable: add file for tracking version (17b36ea)
  • bigtable: loadtest support app profile (#5882) (ec00e5a)
  • bigtable: support PingAndWarm in emulator (#5803) (9b943d5)

Bug Fixes

  • bigtable: use internal.Version that is auto-updated for UA (#5679) (bd2c600), refs #3330

1.13.0 (2022-01-24)

Features

  • bigtable/spanner: add google-c2p dependence to bigtable and spanner (#5090) (5343756)
  • bigtable: add google-c2p dependence (5343756)
  • bigtable: add support for autoscaling (#5232) (a59d1ac)

1.12.0 (2021-11-15)

Features

  • bigtable/cbt: cbt ‘import’ cmd to parse a .csv file and write to CBT (#5072) (5a2ed6b)

1.11.0 (2021-10-29)

Features

Bug Fixes

  • bigtable/bttest: Cells per row offset filters didn't implement truthiness correctly, breaking conditional filters (#4287) (a1a2a77)
  • bigtable/bttest: Emulator too lenient for empty RowMutation (#4359) (35ceae2)
  • bigtable/bttest: emulator too lenient regarding RowFilter and CheckAndMutateRow conditions (#4095) (99537fe)
  • bigtable/bttest: fix ModifyColumnFamilies to purge data (#4096) (2095028)
  • bigtable: emulator crashes in SampleRowKeys (#4455) (691e923)
  • bigtable: fix #4338 by removing obsolete with block (#4353) (1cf34b3)

1.10.1 (2021-06-02)

Bug Fixes

  • bigtable: Guard for nil EncryptionConfig in Clusters, GetCluster (#4113) (a17ff67)

1.10.0 (2021-05-03)

Features

1.9.0 (2021-04-30)

Features

  • bigtable: Customer Managed Encryption (CMEK) (#3899) (e9684ab)

1.8.0 (2021-02-24)

Features

  • bigtable: support partial results in InstanceAdminClient.Clusters() (#2932) (28decb5)

1.7.1 (2021-01-25)

Bug Fixes

1.7.0 (2021-01-19)

Features

v1.6.0

  • Add support partial results in InstanceAdminClient.Instances. In the case of partial availability, available instances will be returned along with an ErrPartiallyUnavailable error.
  • Add support for label filters.
  • Fix max valid timestamp in the emulator to allow reversed timestamp support.

v1.5.0

  • Add support for managed backups.

v1.4.0

  • Add support for instance state and labels to the admin API.
  • Add metadata header to all data requests.
  • Fix bug in timestamp to time conversion.

v1.3.0

  • Clients now use transport/grpc.DialPool rather than Dial.
    • Connection pooling now does not use the deprecated (and soon to be removed) gRPC load balancer API.

v1.2.0

  • Update cbt usage string.

  • Fix typo in cbt tool.

  • Ignore empty lines in cbtrc.

  • Emulator now rejects microseconds precision.

v1.1.0

  • Add support to cbt tool to drop all rows from a table.

  • Adds a method to update an instance with clusters.

  • Adds StorageType to ClusterInfo.

  • Add support for the -auth-token flag to cbt tool.

  • Adds support for Table-level IAM, including some bug fixes.

v1.0.0

This is the first tag to carve out bigtable as its own module. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository.