Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
75 commits
Select commit Hold shift + click to select a range
47c2f16
chore: set up branch
scotthart Feb 5, 2025
9e7501e
update triggers branch
scotthart Feb 5, 2025
108050b
chore(deps): update protobuf to v30 (#14978)
scotthart Feb 6, 2025
8c05f0a
chore(deps): update grpc to v1.70.1 (#14979)
scotthart Feb 6, 2025
24b52d9
chore: additional updates to prepare for v3.0.0 (#14999)
scotthart Mar 5, 2025
2e9928f
chore(ci): update api and abi for v3 (#15041)
scotthart Mar 19, 2025
2ca5e98
chore(bazel): get bazel 8 working (#15042)
scotthart Apr 11, 2025
82e16e4
chore: update abi dumps
scotthart Apr 25, 2025
6a50287
add file deleted during rebase merge
scotthart Apr 25, 2025
31f4e24
Merge branch 'v3_rebase_20250425' into prepare-for-v3.0.0
scotthart Apr 25, 2025
c1f54cb
Merge remote-tracking branch 'upstream' into prepare-for-v3.0.0
scotthart Apr 25, 2025
457707f
chore: set up branch
scotthart Feb 5, 2025
1525b77
update triggers branch
scotthart Feb 5, 2025
cf5f8f1
chore(deps): update protobuf to v30 (#14978)
scotthart Feb 6, 2025
632ccef
chore(deps): update grpc to v1.70.1 (#14979)
scotthart Feb 6, 2025
81828ea
chore: additional updates to prepare for v3.0.0 (#14999)
scotthart Mar 5, 2025
41fd22c
chore(ci): update api and abi for v3 (#15041)
scotthart Mar 19, 2025
2b9e7c4
chore(bazel): get bazel 8 working (#15042)
scotthart Apr 11, 2025
71f3a1b
add file deleted during rebase merge
scotthart Apr 25, 2025
77c8b2a
chore: update protobuf to v31.1 (#15188)
scotthart Jun 4, 2025
ea6040a
impl: convert pb.h files from system to local includes (#15229)
scotthart Jun 27, 2025
ac08c35
chore(storage): Remove `storage::internal::CommonMetadata` and `stora…
shubham-up-47 Jul 7, 2025
2e9d1b6
deprecate(storage): Mark google::cloud::storage::oauth2 as deprecated…
shubham-up-47 Jul 8, 2025
1f80795
chore(v3): post rebase updates (#15257)
scotthart Jul 9, 2025
92999f8
chore: use explicit load for proto and grpc libraries (#15264)
mering Jul 14, 2025
a3d04cd
feat: get googleapis from BCR (#15263)
jinseopkim0 Jul 16, 2025
4729934
chore(deps): update dependency bazel_skylib to v1.8.1 (#15279)
renovate-bot Jul 17, 2025
e53826d
fix: explicitly register macOS toolchain (#15288)
jinseopkim0 Jul 21, 2025
4c829b2
chore(deps): update dependency google_cloud_cpp to v2.39.0 (#15295)
renovate-bot Jul 24, 2025
6e4b05c
chore(deps): update dependency python to 3.13 (#15309)
renovate-bot Jul 24, 2025
3b2bf89
chore(deps): update dependency rules_cc to v0.1.4 (#15278)
renovate-bot Jul 24, 2025
743515c
feat: remove obsolete googleapis.modules.patch (#15292)
jinseopkim0 Jul 24, 2025
229f9c2
feat: enable bzlmod for storage quickstart (#15327)
jinseopkim0 Jul 29, 2025
03f9abd
chore(deps): update gcr.io/kaniko-project/executor docker tag to v1.2…
renovate-bot Jul 30, 2025
f4dd151
ci(v3): reduce GHA CI builds on v3 branch (#15345)
scotthart Jul 30, 2025
a7f295e
feat: remove dev_dependency for googletest module (#15342)
jinseopkim0 Jul 30, 2025
911d67d
feat: update dependencies to use canonical repository names (#15346)
jinseopkim0 Jul 31, 2025
0cc562d
feat: add local bzlmod consumer test (#15339)
jinseopkim0 Jul 31, 2025
f2d6eb9
feat: upgrade to v3.0.0-rc1 (#15351)
jinseopkim0 Jul 31, 2025
7db8b49
Merge remote-tracking branch 'origin/prepare-for-v3.0.0-rc1' into pre…
scotthart Aug 13, 2025
0ecf37d
regenerate abi dump
scotthart Aug 13, 2025
b67a233
restore dataform BUILD.bazel file lost in merge
scotthart Aug 13, 2025
190b2bc
Merge remote-tracking branch 'origin/main' into prepare-for-v3.0.0
scotthart Aug 13, 2025
a147785
fix: re-enable WORKSPACE support (#15362)
diegomarquezp Aug 15, 2025
a4c4e62
Merge remote-tracking branch 'origin' into prepare-for-v3.0.0
scotthart Nov 21, 2025
21d9419
generate and checkers
scotthart Nov 21, 2025
913da4d
update abi-dumps post merge
scotthart Nov 21, 2025
ba899ad
impl(v3): ensure generator has mixin proto descriptors available (#15…
scotthart Dec 1, 2025
f714f9a
chore(v3): update bazel version and deps (#15808)
scotthart Dec 2, 2025
8170800
chore(v3): update opentelemetry version (#15812)
scotthart Dec 8, 2025
daa432f
feat: use crc32c dependency directly from abseil (#15821)
mpeddada1 Dec 11, 2025
e31de94
feat: make nlohmann a required dependency (#15825)
mpeddada1 Dec 12, 2025
42aae3c
feat: make libcurl required and update version in workspace to 7.74.0…
mpeddada1 Dec 15, 2025
76d84d7
feat: mark opentelemetry as required in build files (#15830)
mpeddada1 Dec 15, 2025
97988e0
feat: remove ifdef GOOGLE_CLOUD_CPP_HAVE_OPENTELEMETRY from generator…
mpeddada1 Dec 17, 2025
0e64f57
Merge remote-tracking branch 'origin/main' into prepare-for-v3.0.0
scotthart Dec 17, 2025
569d9fa
update ABI dumps post merge
scotthart Dec 18, 2025
febba47
regenerate maintenance proto gencode includes
scotthart Dec 18, 2025
67720cd
feat: remove ifdef opentelemetry statements in handwritten libs (#15838)
mpeddada1 Dec 18, 2025
929433b
doc(v3): add first draft of migration guide with links to it (#15839)
scotthart Dec 18, 2025
600d394
feat(bigtable): remove deprecated RowReader constructors (#15840)
mpeddada1 Dec 19, 2025
d0db317
impl(bigtable): remove deprecated AsyncRowReader header (#15842)
mpeddada1 Dec 28, 2025
9791f83
chore(compute): update copyright year (#15859)
mpeddada1 Jan 6, 2026
ef3b199
impl(bigtable): remove DataClient and it's usages (#15847)
mpeddada1 Jan 6, 2026
2f27064
impl: remove deprecated retry_traits.h files (#15851)
mpeddada1 Jan 7, 2026
f0b55e0
impl(bigtable): remove deprecated client options (#15843)
mpeddada1 Jan 7, 2026
344198f
ci: skip gcs prod tests creating public buckets (#15855) (#15860)
mpeddada1 Jan 7, 2026
a50bc09
impl(spanner): remove deprecated ClientOptions (#15849)
mpeddada1 Jan 7, 2026
bc8a85b
impl(storage): remove deprecated ClientOptions class (#15848)
mpeddada1 Jan 7, 2026
a83d81f
impl(spanner): remove deprecated MakeTestRow (#15850)
mpeddada1 Jan 8, 2026
5cd5046
impl(spanner): remove deprecated Admin classes (#15862)
mpeddada1 Jan 8, 2026
3702697
impl(bigtable): make endpoint options internal (#15856)
mpeddada1 Jan 9, 2026
04c9b39
impl(storage): clean up remaining client_options code (#15868)
mpeddada1 Jan 9, 2026
01104af
impl(storage): remove deprecated Client constructors (#15869)
mpeddada1 Jan 9, 2026
292263b
Revert "impl(storage): remove deprecated Client constructors (#15869)"
ivanbolwan666-dotcom Jan 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
28 changes: 18 additions & 10 deletions .bazelrc
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,21 @@
# Use host-OS-specific config lines from bazelrc files.
build --enable_platform_specific_config=true

# The project requires C++ >= 14. By default Bazel adds `-std=c++0x` which
# disables C++14 features, even if the compilers defaults to C++ >= 14
build:linux --cxxopt=-std=c++14
build:macos --cxxopt=-std=c++14
# Protobuf and gRPC require (or soon will require) C++14 to compile the "host"
build --features=external_include_paths

build --per_file_copt=grpc+//@-Wno-private-header
build --copt=-Wno-private-header
build --cxxopt=-Wno-private-header
build --host_copt=-Wno-private-header
build --host_cxxopt=-Wno-private-header

# The project requires C++ >= 17.
build:linux --cxxopt=-std=c++17
build:macos --cxxopt=-std=c++17
# Protobuf and gRPC require C++17 to compile the "host"
# targets, such as protoc and the grpc plugin.
build:linux --host_cxxopt=-std=c++14
build:macos --host_cxxopt=-std=c++14
build:linux --host_cxxopt=-std=c++17
build:macos --host_cxxopt=-std=c++17

# Do not create the convenience links. They are inconvenient when the build
# runs inside a docker image or if one builds a quickstart and then builds
Expand All @@ -47,9 +54,6 @@ build --experimental_ui_max_stdouterr_bytes=-1
# in a random order to help expose undesirable interdependencies.
test --test_env=GTEST_SHUFFLE --test_env=GTEST_RANDOM_SEED

# By default, build the library with OpenTelemetry
build --//:enable_opentelemetry

# Don't show warnings when building external dependencies. This still shows
# warnings when using these dependencies (say in headers).
build --output_filter='^//((?!(external):).)*$'
Expand All @@ -70,6 +74,8 @@ build:sanitizer --strip=never
build:sanitizer --copt=-Og
build:sanitizer --copt=-g
build:sanitizer --copt=-fno-omit-frame-pointer
#build:sanitizer --features=external_include_paths


# --config asan: Address Sanitizer
build:asan --config=sanitizer
Expand Down Expand Up @@ -102,6 +108,8 @@ build:ubsan --copt=-DCURL_STRICTER
build:ubsan --linkopt=-fsanitize=undefined
build:ubsan --linkopt=-fsanitize-link-c++-runtime
build:ubsan --action_env=UBSAN_OPTIONS=halt_on_error=1:print_stacktrace=1
#build:ubsan --features=external_include_paths


# --config xsan: Runs misc. sanitizers that aren't covered elsewhere.
build:xsan --config=sanitizer
Expand Down
2 changes: 1 addition & 1 deletion .bazelversion
Original file line number Diff line number Diff line change
@@ -1 +1 @@
7.6.1
8.4.2
1 change: 1 addition & 0 deletions .clang-tidy
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,7 @@ Checks: >
performance-*,
portability-*,
readability-*,
-bugprone-exception-escape,
-google-readability-braces-around-statements,
-google-readability-namespace-comments,
-google-runtime-references,
Expand Down
4 changes: 1 addition & 3 deletions .github/workflows/macos-cmake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ jobs:
- uses: actions/setup-python@v5
id: py311
with:
python-version: '3.11'
python-version: '3.13'
- uses: google-github-actions/setup-gcloud@v2
env:
CLOUDSDK_PYTHON: ${{ steps.py311.outputs.python-path }}
Expand All @@ -84,8 +84,6 @@ jobs:
spanner
)
core2_features=(
pubsub
pubsublite
storage
storage_grpc
)
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/windows-cmake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ jobs:
- uses: actions/setup-python@v5
id: py311
with:
python-version: '3.11'
python-version: '3.13'
- uses: google-github-actions/setup-gcloud@v2
env:
CLOUDSDK_PYTHON: ${{ steps.py311.outputs.python-path }}
Expand Down
5 changes: 0 additions & 5 deletions BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -254,8 +254,3 @@ cc_library(
"//google/cloud:google_cloud_cpp_universe_domain",
],
)

bool_flag(
name = "enable_opentelemetry",
build_setting_default = False,
)
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
# Changelog

**NOTE**: Please refer to the [V3 Migration Guide](/doc/v3-migration-guide.md)
for details on updating existing applications using v1.x.y or v2.x.y.

**NOTE**: [Future Breaking Changes](/doc/deprecated.md) lists anticipated
breaking changes in the upcoming 3.x release. This release is scheduled for
2024-12 or 2025-01.
Expand Down
6 changes: 3 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,16 @@
# limitations under the License.
# ~~~

cmake_minimum_required(VERSION 3.13...3.24)
cmake_minimum_required(VERSION 3.16...3.31)

# Define the project name and where to report bugs.
set(PACKAGE_BUGREPORT "https://github.com/googleapis/google-cloud-cpp/issues")

project(
google-cloud-cpp
VERSION 2.46.0
VERSION 3.0.0
LANGUAGES CXX)
set(PROJECT_VERSION_PRE_RELEASE "rc")
set(PROJECT_VERSION_PRE_RELEASE "rc1")

if (NOT "${PROJECT_VERSION_PRE_RELEASE}" STREQUAL "")
set(PROJECT_VERSION "${PROJECT_VERSION}-${PROJECT_VERSION_PRE_RELEASE}")
Expand Down
57 changes: 24 additions & 33 deletions MODULE.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -16,57 +16,48 @@

module(
name = "google_cloud_cpp",
version = "2.46.0-rc", # Updated by CMake
compatibility_level = 2, # Updated by CMake
version = "3.0.0-rc1", # Updated by CMake
compatibility_level = 3, # Updated by CMake
)

bazel_dep(name = "platforms", version = "1.0.0")
bazel_dep(name = "bazel_skylib", version = "1.8.2")
bazel_dep(name = "rules_cc", version = "0.1.4")
bazel_dep(name = "abseil-cpp", version = "20240722.1", repo_name = "com_google_absl")
bazel_dep(name = "protobuf", version = "29.4", repo_name = "com_google_protobuf")
bazel_dep(name = "boringssl", version = "0.0.0-20230215-5c22014")
bazel_dep(name = "grpc", version = "1.69.0", repo_name = "com_github_grpc_grpc")
bazel_dep(name = "nlohmann_json", version = "3.11.3", repo_name = "com_github_nlohmann_json")
bazel_dep(name = "curl", version = "8.8.0.bcr.3", repo_name = "com_github_curl_curl")
bazel_dep(name = "crc32c", version = "1.1.0", repo_name = "com_github_google_crc32c")
bazel_dep(name = "opentelemetry-cpp", version = "1.19.0", repo_name = "io_opentelemetry_cpp")
bazel_dep(name = "rules_cc", version = "0.2.14")
bazel_dep(name = "abseil-cpp", version = "20250814.1")

# For backwards compatibility with WORKSPACE.
# The name "com_google_protobuf" is internally used by @bazel_tools,
# a native repository we cannot override.
# See https://github.com/googleapis/google-cloud-cpp/issues/15393
bazel_dep(name = "protobuf", version = "33.1", repo_name = "com_google_protobuf")
bazel_dep(name = "boringssl", version = "0.20241024.0")
bazel_dep(name = "nlohmann_json", version = "3.11.3")
bazel_dep(name = "curl", version = "8.8.0.bcr.3")
bazel_dep(name = "crc32c", version = "1.1.0")
bazel_dep(name = "opentelemetry-cpp", version = "1.22.0")
bazel_dep(name = "rules_proto", version = "7.1.0")
bazel_dep(name = "rules_python", version = "1.6.3")
bazel_dep(name = "rules_apple", version = "4.3.2")
bazel_dep(name = "googletest", version = "1.17.0")

bazel_dep(name = "googletest", version = "1.15.2", dev_dependency = True, repo_name = "com_google_googletest")
bazel_dep(name = "google_benchmark", version = "1.9.2", dev_dependency = True, repo_name = "com_google_benchmark")
bazel_dep(name = "google_benchmark", version = "1.9.4", dev_dependency = True, repo_name = "com_google_benchmark")
bazel_dep(name = "yaml-cpp", version = "0.8.0", dev_dependency = True, repo_name = "com_github_jbeder_yaml_cpp")
bazel_dep(name = "pugixml", version = "1.15", dev_dependency = True, repo_name = "com_github_zeux_pugixml")

# Our `curl.BUILD` file uses these.
bazel_dep(name = "zlib", version = "1.3.1.bcr.7")
bazel_dep(name = "c-ares", version = "1.19.1.bcr.1", repo_name = "com_github_cares_cares")
bazel_dep(name = "c-ares", version = "1.34.5.bcr.2", repo_name = "com_github_cares_cares")

# Pin this to fix a break in bazel/deps-cache.py
bazel_dep(name = "protoc-gen-validate", version = "1.2.1.bcr.1", dev_dependency = True, repo_name = "com_envoyproxy_protoc_gen_validate")
bazel_dep(name = "protoc-gen-validate", version = "1.2.1.bcr.2", dev_dependency = True, repo_name = "com_envoyproxy_protoc_gen_validate")

python = use_extension("@rules_python//python/extensions:python.bzl", "python")
python.toolchain(
ignore_root_user_error = True,
python_version = "3.11",
)

bazel_dep(name = "googleapis", version = "0.0.0", repo_name = "com_google_googleapis")
archive_override(
module_name = "googleapis",
integrity = "sha256-p8PXzb1U5D3cfETzVxpx4ATLpRnCBdoui5N0gNYIroY=",
patch_strip = 1,
patches = ["//bazel:googleapis.modules.patch"],
strip_prefix = "googleapis-05f65958eb7f2a8bc59db87ad40487f0fb093097",
urls = [
"https://github.com/googleapis/googleapis/archive/05f65958eb7f2a8bc59db87ad40487f0fb093097.tar.gz",
],
)

switched_rules = use_extension("@com_google_googleapis//:extensions.bzl", "switched_rules")
switched_rules.use_languages(
cc = True,
grpc = True,
)
use_repo(switched_rules, "com_google_googleapis_imports")
bazel_dep(name = "grpc", version = "1.76.0.bcr.1")
bazel_dep(name = "googleapis", version = "0.0.0-20251211-05f65958")
bazel_dep(name = "googleapis-cc", version = "1.0.0")
bazel_dep(name = "googleapis-grpc-cc", version = "1.0.0")
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@
This repository contains idiomatic C++ client libraries for the following
[Google Cloud Platform](https://cloud.google.com/) services.

> Please refer to the [V3 Migration Guide](/doc/v3-migration-guide.md) for
> details on updating existing applications using v1.x.y or v2.x.y.

> Please check the [CHANGELOG] for important announcements and upcoming changes.

## Quickstart
Expand Down
12 changes: 6 additions & 6 deletions bazel/gapic.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -38,23 +38,23 @@ def cc_gapic_library(name, service_dirs = [], googleapis_deps = [], additional_d

native.filegroup(
name = "srcs",
srcs = native.glob(sources_glob),
srcs = native.glob(sources_glob, allow_empty = True),
)

native.filegroup(
name = "hdrs",
srcs = native.glob(include = code_glob, exclude = sources_glob),
srcs = native.glob(include = code_glob, exclude = sources_glob, allow_empty = True),
)

native.filegroup(
name = "public_hdrs",
srcs = native.glob([d + "*.h" for d in service_dirs]),
srcs = native.glob([d + "*.h" for d in service_dirs], allow_empty = True),
visibility = ["//:__pkg__"],
)

native.filegroup(
name = "mocks",
srcs = native.glob([d + "mocks/*.h" for d in service_dirs]),
srcs = native.glob([d + "mocks/*.h" for d in service_dirs], allow_empty = True),
visibility = ["//:__pkg__"],
)

Expand All @@ -72,7 +72,7 @@ def cc_gapic_library(name, service_dirs = [], googleapis_deps = [], additional_d
visibility = ["//:__pkg__"],
deps = [
":google_cloud_cpp_" + name,
"@com_google_googletest//:gtest",
"@googletest//:gtest",
],
)

Expand All @@ -85,4 +85,4 @@ def cc_gapic_library(name, service_dirs = [], googleapis_deps = [], additional_d
"//:universe_domain",
"//google/cloud/testing_util:google_cloud_cpp_testing_private",
],
) for sample in native.glob([d + "samples/*_samples.cc" for d in service_dirs])]
) for sample in native.glob([d + "samples/*_samples.cc" for d in service_dirs], allow_empty = True)]
Loading
Loading