Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: protocolbuffers/protobuf
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v30.0-rc2
Choose a base ref
...
head repository: protocolbuffers/protobuf
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v30.0
Choose a head ref
  • 8 commits
  • 66 files changed
  • 7 contributors

Commits on Feb 26, 2025

  1. Updating version.json and repo version numbers to: 30.0-dev

    protobuf-team-bot committed Feb 26, 2025
    Copy the full SHA
    8b78ab9 View commit details
  2. Backport: Remove if_constexpr usage for future Abseil compatibility (#…

    …20488)
    
    * Use `if constexpr` instead of `absl::utility_internal::IfConstexprElseIfConstexprElse`
    
    PiperOrigin-RevId: 728737911
    
    * Remove `absl::if_constexpr` from list of used Abseil targets
    
    This is a follow-up on 0ea5ccd, moving to C++'s
    `if constexpr`.
    
    PiperOrigin-RevId: 729136260
    
    * Remove references to unused if_constexpr.
    
    This is deleted in an upcoming Abseil release.
    
    PiperOrigin-RevId: 731356947
    
    ---------
    
    Co-authored-by: Derek Mauro <dmauro@google.com>
    Co-authored-by: Christian Blichmann <cblichmann@google.com>
    3 people authored Feb 26, 2025
    Copy the full SHA
    450ee76 View commit details

Commits on Feb 27, 2025

  1. Merge pull request #20499 from protocolbuffers/30.x-202502270140

    Merge release commits to 30.x
    googleberg authored Feb 27, 2025
    Copy the full SHA
    9d9ad22 View commit details
  2. Add notices.h with information about our dependencies' licenses and a…

    …dd --notices flag to protoc to print the contents of that file.
    
    PiperOrigin-RevId: 730923037
    deannagarcia committed Feb 27, 2025
    Copy the full SHA
    a7df327 View commit details
  3. Fixing staleness tests

    deannagarcia committed Feb 27, 2025
    Copy the full SHA
    6abaf77 View commit details
  4. Cherry-pick notices change for 30.x

    Cherry-pick notices change for 30.x
    deannagarcia authored Feb 27, 2025
    Copy the full SHA
    6059cb7 View commit details

Commits on Mar 4, 2025

  1. Split maven dependencies into dev vs local (#20549) (#20558)

    Closes #20549
    
    COPYBARA_INTEGRATE_REVIEW=#20549 from protocolbuffers:maven-split a8b30b4
    PiperOrigin-RevId: 733361548
    mkruskal-google authored Mar 4, 2025
    Copy the full SHA
    a5c906a View commit details
  2. Updating version.json and repo version numbers to: 30.0

    protobuf-team-bot committed Mar 4, 2025
    Copy the full SHA
    d295af5 View commit details
Showing with 1,833 additions and 1,296 deletions.
  1. +11 −0 .github/workflows/test_bazel.yml
  2. +1 −1 CMakeLists.txt
  3. +40 −18 MODULE.bazel
  4. +1 −1 Protobuf.podspec
  5. +27 −3 WORKSPACE
  6. +0 −1 cmake/abseil-cpp.cmake
  7. +7 −6 cmake/dependencies.cmake
  8. +1 −0 cmake/installed_include_golden.txt
  9. +1 −1 csharp/Google.Protobuf.Tools.nuspec
  10. +1 −1 csharp/src/Google.Protobuf/Google.Protobuf.csproj
  11. +3 −2 examples/AddPerson.java
  12. +8 −2 examples/BUILD.bazel
  13. +17 −1 examples/WORKSPACE
  14. +1 −1 java/bom/pom.xml
  15. +1 −1 java/core/src/main/java/com/google/protobuf/RuntimeVersion.java
  16. +1 −1 java/kotlin/pom.xml
  17. +1 −1 java/pom.xml
  18. +1 −1 java/protoc/pom.xml
  19. +5 −5 java/util/BUILD.bazel
  20. +1,364 −0 maven_dev_install.json
  21. +7 −1,146 maven_install.json
  22. +1 −1 php/ext/google/protobuf/protobuf.h
  23. +0 −8 protobuf_deps.bzl
  24. +6 −6 protobuf_version.bzl
  25. +1 −1 python/google/protobuf/__init__.py
  26. +1 −1 python/google/protobuf/runtime_version.py
  27. +1 −1 ruby/google-protobuf.gemspec
  28. +2 −2 ruby/pom.xml
  29. +2 −0 src/file_lists.cmake
  30. +0 −2 src/google/protobuf/BUILD.bazel
  31. +1 −1 src/google/protobuf/any.pb.cc
  32. +1 −1 src/google/protobuf/any.pb.h
  33. +1 −1 src/google/protobuf/api.pb.cc
  34. +1 −1 src/google/protobuf/api.pb.h
  35. +25 −36 src/google/protobuf/arena.h
  36. +1 −0 src/google/protobuf/compiler/BUILD.bazel
  37. +7 −0 src/google/protobuf/compiler/command_line_interface.cc
  38. +1 −1 src/google/protobuf/compiler/java/java_features.pb.cc
  39. +1 −1 src/google/protobuf/compiler/java/java_features.pb.h
  40. +242 −0 src/google/protobuf/compiler/notices.h
  41. +1 −1 src/google/protobuf/compiler/plugin.pb.cc
  42. +1 −1 src/google/protobuf/compiler/plugin.pb.h
  43. +4 −4 src/google/protobuf/compiler/versions.h
  44. +1 −1 src/google/protobuf/cpp_features.pb.cc
  45. +1 −1 src/google/protobuf/cpp_features.pb.h
  46. +1 −1 src/google/protobuf/descriptor.pb.cc
  47. +1 −1 src/google/protobuf/descriptor.pb.h
  48. +1 −1 src/google/protobuf/duration.pb.cc
  49. +1 −1 src/google/protobuf/duration.pb.h
  50. +1 −1 src/google/protobuf/empty.pb.cc
  51. +1 −1 src/google/protobuf/empty.pb.h
  52. +1 −1 src/google/protobuf/field_mask.pb.cc
  53. +1 −1 src/google/protobuf/field_mask.pb.h
  54. +1 −1 src/google/protobuf/runtime_version.h
  55. +1 −1 src/google/protobuf/source_context.pb.cc
  56. +1 −1 src/google/protobuf/source_context.pb.h
  57. +1 −1 src/google/protobuf/struct.pb.cc
  58. +1 −1 src/google/protobuf/struct.pb.h
  59. +1 −1 src/google/protobuf/stubs/common.h
  60. +1 −1 src/google/protobuf/timestamp.pb.cc
  61. +1 −1 src/google/protobuf/timestamp.pb.h
  62. +1 −1 src/google/protobuf/type.pb.cc
  63. +1 −1 src/google/protobuf/type.pb.h
  64. +1 −1 src/google/protobuf/wrappers.pb.cc
  65. +1 −1 src/google/protobuf/wrappers.pb.h
  66. +11 −11 version.json
11 changes: 11 additions & 0 deletions .github/workflows/test_bazel.yml
Original file line number Diff line number Diff line change
@@ -39,6 +39,17 @@ jobs:
with:
ref: ${{ inputs.safe-checkout }}

# rules_jvm_external doesn't support Java 8, which is the default version
# on some github runners. When this is selected, it results in some
# opaque errors about coursier (see
# https://github.com/bazel-contrib/rules_jvm_external/issues/1337).
- name: Pin to Java 11
uses: actions/setup-java@3a4f6e1af504cf6a31855fa899c6aa5355ba6c12 # v4.7.0
if: ${{ !matrix.continuous-only || inputs.continuous-run }}
with:
distribution: 'temurin'
java-version: '11'

- name: Windows startup flags
if: ${{ runner.os == 'Windows' && (!matrix.continuous-only || inputs.continuous-run) }}
working-directory: examples
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -86,7 +86,7 @@ if (protobuf_BUILD_SHARED_LIBS)
endif ()

# Version metadata
set(protobuf_VERSION_STRING "6.30.0-rc-2")
set(protobuf_VERSION_STRING "6.30.0")
set(protobuf_DESCRIPTION "Protocol Buffers")
set(protobuf_CONTACT "protobuf@googlegroups.com")

58 changes: 40 additions & 18 deletions MODULE.bazel
Original file line number Diff line number Diff line change
@@ -3,7 +3,7 @@

module(
name = "protobuf",
version = "30.0-rc2", # Automatically updated on release
version = "30.0", # Automatically updated on release
compatibility_level = 1,
repo_name = "com_google_protobuf",
)
@@ -12,26 +12,36 @@ module(
# Bzlmod follows MVS:
# https://bazel.build/versions/6.0.0/build/bzlmod#version-resolution
# Thus the highest version in their module graph is resolved.
bazel_dep(name = "abseil-cpp", version = "20250127.0")
bazel_dep(name = "bazel_skylib", version = "1.7.1")
bazel_dep(name = "jsoncpp", version = "1.9.6")

# These dependencies must be declared before the other rules dependencies.
bazel_dep(name = "rules_apple", version = "3.13.0", repo_name = "build_bazel_rules_apple")
bazel_dep(name = "apple_support", version = "1.15.1", repo_name = "build_bazel_apple_support")

#ifndef PROTO2_OPENSOURCE
# LINT.IfChange
#endif // PROTO2_OPENSOURCE
# protoc dependencies
bazel_dep(name = "abseil-cpp", version = "20250127.0")
bazel_dep(name = "rules_cc", version = "0.0.17")
bazel_dep(name = "zlib", version = "1.3.1.bcr.5")
#ifndef PROTO2_OPENSOURCE
# LINT.ThenChange(//depot/google3/third_party/protobuf/compiler/notices.h)
#endif // PROTO2_OPENSOURCE

# other dependencies
bazel_dep(name = "bazel_features", version = "1.23.0", repo_name = "proto_bazel_features")
bazel_dep(name = "bazel_skylib", version = "1.7.1")
bazel_dep(name = "jsoncpp", version = "1.9.6")
bazel_dep(name = "rules_fuzzing", version = "0.5.2")
bazel_dep(name = "rules_java", version = "8.6.1")
bazel_dep(name = "rules_jvm_external", version = "6.3")
bazel_dep(name = "rules_kotlin", version = "1.9.6")
bazel_dep(name = "rules_license", version = "1.0.0")
bazel_dep(name = "rules_pkg", version = "1.0.1")
bazel_dep(name = "rules_python", version = "1.0.0")
bazel_dep(name = "rules_rust", version = "0.51.0")
bazel_dep(name = "rules_shell", version = "0.2.0")
bazel_dep(name = "platforms", version = "0.0.10")
bazel_dep(name = "zlib", version = "1.3.1.bcr.5")
bazel_dep(name = "bazel_features", version = "1.23.0", repo_name = "proto_bazel_features")
bazel_dep(
name = "rules_shell",
version = "0.2.0",
)

# Proto toolchains
register_toolchains("//bazel/private/toolchains:all")
@@ -70,16 +80,11 @@ pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip", dev_depen

use_repo(pip, "protobuf_pip_deps")

maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven", dev_dependency = True)
maven.install(
protobuf_maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven", dev_dependency = True)
protobuf_maven.install(
name = "protobuf_maven",
artifacts = [
"com.google.caliper:caliper:1.0-beta-3",
"com.google.code.findbugs:jsr305:3.0.2",
"com.google.code.gson:gson:2.8.9",
"com.google.errorprone:error_prone_annotations:2.5.1",
"com.google.j2objc:j2objc-annotations:2.8",
"com.google.guava:guava:32.0.1-jre",
"com.google.guava:guava-testlib:32.0.1-jre",
"com.google.testparameterinjector:test-parameter-injector:1.18",
"com.google.truth:truth:1.1.2",
@@ -93,7 +98,24 @@ maven.install(
"https://repo.maven.apache.org/maven2",
],
)
use_repo(maven, "protobuf_maven")
use_repo(protobuf_maven, "protobuf_maven")

maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven")
maven.install(
name = "maven",
artifacts = [
"com.google.code.findbugs:jsr305:3.0.2",
"com.google.code.gson:gson:2.8.9",
"com.google.errorprone:error_prone_annotations:2.5.1",
"com.google.j2objc:j2objc-annotations:2.8",
"com.google.guava:guava:32.0.1-jre",
],
repositories = [
"https://repo1.maven.org/maven2",
"https://repo.maven.apache.org/maven2",
],
)
use_repo(maven, "maven")

# Development dependencies
bazel_dep(name = "googletest", version = "1.14.0", dev_dependency = True)
2 changes: 1 addition & 1 deletion Protobuf.podspec
Original file line number Diff line number Diff line change
@@ -5,7 +5,7 @@
# dependent projects use the :git notation to refer to the library.
Pod::Spec.new do |s|
s.name = 'Protobuf'
s.version = '4.30.0-rc2'
s.version = '4.30.0'
s.summary = 'Protocol Buffers v.3 runtime library for Objective-C.'
s.homepage = 'https://github.com/protocolbuffers/protobuf'
s.license = 'BSD-3-Clause'
30 changes: 27 additions & 3 deletions WORKSPACE
Original file line number Diff line number Diff line change
@@ -65,7 +65,7 @@ rules_jvm_external_setup()
load("@rules_jvm_external//:defs.bzl", "maven_install")

maven_install(
name = "protobuf_maven",
name = "maven",
artifacts = PROTOBUF_MAVEN_ARTIFACTS,
# For updating instructions, see:
# https://github.com/bazelbuild/rules_jvm_external#updating-maven_installjson
@@ -76,10 +76,34 @@ maven_install(
],
)

load("@protobuf_maven//:defs.bzl", "pinned_maven_install")

load("@maven//:defs.bzl", "pinned_maven_install")
pinned_maven_install()

maven_install(
name = "protobuf_maven",
artifacts = [
"com.google.caliper:caliper:1.0-beta-3",
"com.google.guava:guava-testlib:32.0.1-jre",
"com.google.testparameterinjector:test-parameter-injector:1.18",
"com.google.truth:truth:1.1.2",
"junit:junit:4.13.2",
"org.mockito:mockito-core:4.3.1",
"biz.aQute.bnd:biz.aQute.bndlib:6.4.0",
"info.picocli:picocli:4.6.3",
],
# For updating instructions, see:
# https://github.com/bazelbuild/rules_jvm_external#updating-maven_installjson
maven_install_json = "//:maven_dev_install.json",
repositories = [
"https://repo1.maven.org/maven2",
"https://repo.maven.apache.org/maven2",
],
)

load("@protobuf_maven//:defs.bzl", pinned_protobuf_maven_install = "pinned_maven_install")
pinned_protobuf_maven_install()


# For `cc_proto_blacklist_test` and `build_test`.
load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace")

1 change: 0 additions & 1 deletion cmake/abseil-cpp.cmake
Original file line number Diff line number Diff line change
@@ -72,7 +72,6 @@ else()
absl::flat_hash_set
absl::function_ref
absl::hash
absl::if_constexpr
absl::layout
absl::log_initialize
absl::log_globals
13 changes: 7 additions & 6 deletions cmake/dependencies.cmake
Original file line number Diff line number Diff line change
@@ -10,23 +10,24 @@ if(${CMAKE_VERSION} VERSION_GREATER 3.16 OR ${CMAKE_VERSION} VERSION_EQUAL 3.16)
include_guard()
endif()

set(abseil-cpp-version "20250127.0")
set(bazel_skylib-version "1.7.1")
set(jsoncpp-version "1.9.6")
set(rules_apple-version "3.13.0")
set(apple_support-version "1.15.1")
set(abseil-cpp-version "20250127.0")
set(rules_cc-version "0.0.17")
set(zlib-version "1.3.1.bcr.5")
set(bazel_features-version "1.23.0")
set(bazel_skylib-version "1.7.1")
set(jsoncpp-version "1.9.6")
set(rules_fuzzing-version "0.5.2")
set(rules_java-version "8.6.1")
set(rules_jvm_external-version "6.3")
set(rules_kotlin-version "1.9.6")
set(rules_license-version "1.0.0")
set(rules_pkg-version "1.0.1")
set(rules_python-version "1.0.0")
set(platforms-version "0.0.10")
set(zlib-version "1.3.1.bcr.5")
set(bazel_features-version "1.23.0")
set(rules_rust-version "0.51.0")
set(rules_shell-version "0.2.0")
set(platforms-version "0.0.10")
set(googletest-version "1.14.0")
set(rules_buf-version "0.3.0")
set(rules_testing-version "0.6.0")
1 change: 1 addition & 0 deletions cmake/installed_include_golden.txt
Original file line number Diff line number Diff line change
@@ -25,6 +25,7 @@ google/protobuf/compiler/java/java_features.pb.h
google/protobuf/compiler/java/name_resolver.h
google/protobuf/compiler/java/names.h
google/protobuf/compiler/java/options.h
google/protobuf/compiler/notices.h
google/protobuf/compiler/objectivec/line_consumer.h
google/protobuf/compiler/objectivec/names.h
google/protobuf/compiler/objectivec/nsobject_methods.h
2 changes: 1 addition & 1 deletion csharp/Google.Protobuf.Tools.nuspec
Original file line number Diff line number Diff line change
@@ -5,7 +5,7 @@
<title>Google Protocol Buffers tools</title>
<summary>Tools for Protocol Buffers - Google's data interchange format.</summary>
<description>See project site for more info.</description>
<version>3.30.0-rc2</version>
<version>3.30.0</version>
<authors>Google Inc.</authors>
<owners>protobuf-packages</owners>
<licenseUrl>https://github.com/protocolbuffers/protobuf/blob/main/LICENSE</licenseUrl>
2 changes: 1 addition & 1 deletion csharp/src/Google.Protobuf/Google.Protobuf.csproj
Original file line number Diff line number Diff line change
@@ -5,7 +5,7 @@
<Description>C# runtime library for Protocol Buffers - Google's data interchange format.</Description>
<Copyright>Copyright 2015, Google Inc.</Copyright>
<AssemblyTitle>Google Protocol Buffers</AssemblyTitle>
<VersionPrefix>3.30.0-rc2</VersionPrefix>
<VersionPrefix>3.30.0</VersionPrefix>
<LangVersion>10.0</LangVersion>
<Authors>Google Inc.</Authors>
<TargetFrameworks>netstandard1.1;netstandard2.0;net45;net50</TargetFrameworks>
5 changes: 3 additions & 2 deletions examples/AddPerson.java
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
// See README.md for information and build instructions.

import com.example.tutorial.protos.AddressBook;
import com.example.tutorial.protos.Person;
import com.google.protobuf.util.Timestamps;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;

class AddPerson {
@@ -51,6 +51,7 @@ static Person PromptForAddress(BufferedReader stdin,
}

person.addPhones(phoneNumber);
person.setLastUpdated(Timestamps.now());
}

return person.build();
10 changes: 8 additions & 2 deletions examples/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -74,7 +74,10 @@ java_binary(
name = "add_person_java",
srcs = ["AddPerson.java"],
main_class = "AddPerson",
deps = [":addressbook_java_proto"],
deps = [
":addressbook_java_proto",
"@com_google_protobuf//java/util",
],
)

java_binary(
@@ -112,7 +115,10 @@ java_binary(
name = "add_person_java_lite",
srcs = ["AddPerson.java"],
main_class = "AddPerson",
deps = [":addressbook_java_lite_proto"],
deps = [
":addressbook_java_lite_proto",
"@com_google_protobuf//java/util",
],
)

java_binary(
18 changes: 17 additions & 1 deletion examples/WORKSPACE
Original file line number Diff line number Diff line change
@@ -38,7 +38,7 @@ http_archive(
],
)

load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps")
load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps", "PROTOBUF_MAVEN_ARTIFACTS")

protobuf_deps()

@@ -59,3 +59,19 @@ load("@rules_cc//cc:repositories.bzl", "rules_cc_dependencies", "rules_cc_toolch
rules_cc_dependencies()

rules_cc_toolchains()

load("@rules_jvm_external//:repositories.bzl", "rules_jvm_external_deps")
rules_jvm_external_deps()

load("@rules_jvm_external//:setup.bzl", "rules_jvm_external_setup")
rules_jvm_external_setup()

load("@rules_jvm_external//:defs.bzl", "maven_install")
maven_install(
name = "maven",
artifacts = PROTOBUF_MAVEN_ARTIFACTS,
repositories = [
"https://repo1.maven.org/maven2",
"https://repo.maven.apache.org/maven2",
],
)
2 changes: 1 addition & 1 deletion java/bom/pom.xml
Original file line number Diff line number Diff line change
@@ -4,7 +4,7 @@

<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-bom</artifactId>
<version>4.30.0-RC2</version>
<version>4.30.0</version>
<packaging>pom</packaging>

<name>Protocol Buffers [BOM]</name>
Original file line number Diff line number Diff line change
@@ -29,7 +29,7 @@ public enum RuntimeDomain {
public static final int OSS_MAJOR = 4;
public static final int OSS_MINOR = 30;
public static final int OSS_PATCH = 0;
public static final String OSS_SUFFIX = "-rc2";
public static final String OSS_SUFFIX = "";

public static final RuntimeDomain DOMAIN = OSS_DOMAIN;
public static final int MAJOR = OSS_MAJOR;
2 changes: 1 addition & 1 deletion java/kotlin/pom.xml
Original file line number Diff line number Diff line change
@@ -4,7 +4,7 @@
<parent>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-parent</artifactId>
<version>4.30.0-RC2</version>
<version>4.30.0</version>
</parent>

<artifactId>protobuf-kotlin</artifactId>
2 changes: 1 addition & 1 deletion java/pom.xml
Original file line number Diff line number Diff line change
@@ -4,7 +4,7 @@

<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-parent</artifactId>
<version>4.30.0-RC2</version>
<version>4.30.0</version>
<packaging>pom</packaging>

<name>Protocol Buffers [Parent]</name>
2 changes: 1 addition & 1 deletion java/protoc/pom.xml
Original file line number Diff line number Diff line change
@@ -8,7 +8,7 @@
</parent>
<groupId>com.google.protobuf</groupId>
<artifactId>protoc</artifactId>
<version>4.30.0-RC2</version>
<version>4.30.0</version>
<packaging>pom</packaging>
<name>Protobuf Compiler</name>
<description>
10 changes: 5 additions & 5 deletions java/util/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -14,11 +14,11 @@ java_library(
visibility = ["//visibility:public"],
deps = [
"//java/core",
"@protobuf_maven//:com_google_code_findbugs_jsr305",
"@protobuf_maven//:com_google_code_gson_gson",
"@protobuf_maven//:com_google_errorprone_error_prone_annotations",
"@protobuf_maven//:com_google_guava_guava",
"@protobuf_maven//:com_google_j2objc_j2objc_annotations",
"@maven//:com_google_code_findbugs_jsr305",
"@maven//:com_google_code_gson_gson",
"@maven//:com_google_errorprone_error_prone_annotations",
"@maven//:com_google_guava_guava",
"@maven//:com_google_j2objc_j2objc_annotations",
],
)

Loading