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: v3.16.0
Choose a base ref
...
head repository: protocolbuffers/protobuf
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v3.17.0
Choose a head ref

Commits on Feb 9, 2021

  1. Copy the full SHA
    4f829fb View commit details
  2. Copy the full SHA
    887462a View commit details
  3. Copy the full SHA
    8399bb8 View commit details
  4. Copy the full SHA
    f25ca77 View commit details

Commits on Feb 22, 2021

  1. Copy the full SHA
    393e453 View commit details

Commits on Mar 1, 2021

  1. Copy the full SHA
    2c354c6 View commit details

Commits on Mar 10, 2021

  1. Adding most recent work

    deannagarcia committed Mar 10, 2021
    Copy the full SHA
    be2f000 View commit details

Commits on Mar 15, 2021

  1. Removing target folder

    deannagarcia committed Mar 15, 2021
    Copy the full SHA
    73e0e7a View commit details

Commits on Mar 18, 2021

  1. Adding most recent work

    deannagarcia committed Mar 18, 2021
    Copy the full SHA
    eef2418 View commit details

Commits on Mar 20, 2021

  1. Copy the full SHA
    751d05c View commit details

Commits on Mar 23, 2021

  1. Copy the full SHA
    1949746 View commit details
  2. Copy the full SHA
    87faccd View commit details
  3. Copy the full SHA
    e263c7e View commit details
  4. Copy the full SHA
    6f5c6eb View commit details
  5. Copy the full SHA
    0454655 View commit details
  6. Copy the full SHA
    2c9aca5 View commit details

Commits on Mar 24, 2021

  1. Copy the full SHA
    438d777 View commit details

Commits on Mar 30, 2021

  1. Copy the full SHA
    726241f View commit details
  2. Fixing build

    deannagarcia committed Mar 30, 2021
    Copy the full SHA
    30355ff View commit details

Commits on Mar 31, 2021

  1. cleaning up

    deannagarcia committed Mar 31, 2021
    Copy the full SHA
    b0acba3 View commit details
  2. updating makefile

    deannagarcia committed Mar 31, 2021
    Copy the full SHA
    9aaaf70 View commit details
  3. fixing kokoro tests

    deannagarcia committed Mar 31, 2021
    Copy the full SHA
    74a32c0 View commit details
  4. Copy the full SHA
    a088736 View commit details
  5. Copy the full SHA
    043935b View commit details
  6. Copy the full SHA
    4a82094 View commit details

Commits on Apr 1, 2021

  1. Copy the full SHA
    7b23ae1 View commit details
  2. Copy the full SHA
    610fc63 View commit details
  3. Copy the full SHA
    7c3b28d View commit details

Commits on Apr 2, 2021

  1. Making dependency on java proto instead of copying files and generati…

    …ng kotlin generated code for standard protos
    deannagarcia committed Apr 2, 2021
    Copy the full SHA
    50592a5 View commit details

Commits on Apr 4, 2021

  1. Address review feedback

    lfittl committed Apr 4, 2021
    Copy the full SHA
    07f263c View commit details
  2. Copy the full SHA
    93c703e View commit details

Commits on Apr 5, 2021

  1. Emulated python aarch64 tests (#8392)

    This runs basic python aarch64 tests under qemu emulator, but uses artifacts that can be cross-built by a host compiler.
    jtattermusch authored Apr 5, 2021
    Copy the full SHA
    053966b View commit details

Commits on Apr 6, 2021

  1. addressbook.proto: Enable java_multiple_files option

    And update the java_package value accordingly.
    Enabling java_multiple_files is preferred nowadays.
    Refs CL 348101638 which updates the tutorial accordingly.
    cvrebert authored and acozzette committed Apr 6, 2021
    Copy the full SHA
    9d17549 View commit details
  2. Copy the full SHA
    e844a53 View commit details

Commits on Apr 7, 2021

  1. Copy the full SHA
    3c782fc View commit details
  2. Fixed memory leak of Ruby arena objects.

    In our free() method, we were freeing the memory from the
    upb arena but we were failing to free the memory for the
    Ruby arena object. This was causing every Ruby arena object
    to leak: even though the objects were getting GC'd, the
    underlying memory was not getting released.
    haberman committed Apr 7, 2021
    Copy the full SHA
    67fee91 View commit details
  3. Merge pull request #8461 from haberman/ruby-arena-memory-leak

    Fixed memory leak of Ruby arena objects.
    haberman authored Apr 7, 2021
    Copy the full SHA
    1ed9a8b View commit details
  4. Merge pull request #8327 from alkasm/alkasm/method-desc-copy-to-proto

    [python-runtime] Add MethodDescriptor.CopyToProto()
    fowles authored Apr 7, 2021
    Copy the full SHA
    c214856 View commit details
  5. Updated version to 3.15.8 (#8463)

    * Update protobuf version
    
    * Updated CHANGES.txt and package.xml for 3.15.8
    acozzette authored Apr 7, 2021
    Copy the full SHA
    436bd78 View commit details

Commits on Apr 8, 2021

  1. Fixed version for gradle in java Readme.md

    Looks like this was forgotten by the last time this was edited.
    SR-Lut3t1um authored Apr 8, 2021
    Copy the full SHA
    1db2b66 View commit details
  2. Merge pull request #8467 from SR-Lut3t1um/patch-1

    [documentation] [java] Fixed version for gradle in java Readme.md
    fowles authored Apr 8, 2021
    Copy the full SHA
    049e05f View commit details
  3. Copy the full SHA
    5679811 View commit details
  4. Merge pull request #8470 from acozzette/merge-3-15-x

    Merge 3.15.x into master
    acozzette authored Apr 8, 2021
    Copy the full SHA
    017599b View commit details

Commits on Apr 9, 2021

  1. Copy the full SHA
    ee04809 View commit details

Commits on Apr 12, 2021

  1. Fix source gem compilation (#8471)

    * Select appropriate protoc binary for gem build
    
    This should allow gem installation when
    `bundle config force_ruby_platform true` has been set.
    
    It has the unfortunate side effect of printing the protoc version during
    build, but a quiet cross-platform solution is more complicated.
    
    * Add path to wyhash header for source gem compilation
    jamesgecko authored Apr 12, 2021
    Copy the full SHA
    68cb69e View commit details
  2. Copy the full SHA
    a250d3f View commit details
  3. Copy the full SHA
    1b637aa View commit details
  4. Copy the full SHA
    1c81c89 View commit details

Commits on Apr 13, 2021

  1. Copy the full SHA
    b3d497f View commit details
  2. Copy the full SHA
    64d0b29 View commit details
Showing 408 changed files with 12,860 additions and 30,013 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/codespell.yml
Original file line number Diff line number Diff line change
@@ -12,5 +12,5 @@ jobs:
- uses: codespell-project/actions-codespell@master
with:
check_filenames: true
skip: ./.git,./conformance/third_party,*.snk,*.pb,*.pb.cc,*.pb.h,./src/google/protobuf/testdata,./objectivec/Tests,./python/compatibility_tests/v2.5.0/tests/google/protobuf/internal
ignore_words_list: "alow,alse,ba,cleare,copyable,cloneable,dedup,dur,errorprone,files',fo,fundementals,hel,importd,inout,leapyear,nd,nin,ois,ons,parseable,process',te,testof,ue,unparseable,wasn,wee,gae,keyserver,objext,od,OptIn"
skip: ./.git,./conformance/third_party,*.snk,*.pb,*.pb.cc,*.pb.h,./src/google/protobuf/testdata,./objectivec/Tests,./python/compatibility_tests/v2.5.0/tests/google/protobuf/internal,./github/workflows/codespell.yml
ignore_words_list: "alow,alse,ba,cleare,copyable,cloneable,dedup,dur,errorprone,files',fo,fundementals,hel,importd,inout,leapyear,nd,nin,ois,ons,parseable,process',te,testof,ue,unparseable,wasn,wee,gae,keyserver,objext,od,optin"
5 changes: 1 addition & 4 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -82,10 +82,7 @@ src/**/*.log
src/**/*.trs

# JavaBuild output.
java/core/target
java/lite/target
java/util/target
javanano/target
java/**/target
java/.idea
java/**/*.iml

157 changes: 157 additions & 0 deletions BUILD
Original file line number Diff line number Diff line change
@@ -4,6 +4,7 @@ load("@bazel_skylib//rules:common_settings.bzl", "string_flag")
load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library", "cc_test", "objc_library", native_cc_proto_library = "cc_proto_library")
load("@rules_proto//proto:defs.bzl", "proto_lang_toolchain", "proto_library")
load("@rules_python//python:defs.bzl", "py_library")
load("@rules_java//java:defs.bzl", "java_binary", "java_proto_library", "java_lite_proto_library")
load(":cc_proto_blacklist_test.bzl", "cc_proto_blacklist_test")

licenses(["notice"])
@@ -369,6 +370,7 @@ cc_library(
"src/google/protobuf/compiler/cpp/cpp_message.cc",
"src/google/protobuf/compiler/cpp/cpp_message_field.cc",
"src/google/protobuf/compiler/cpp/cpp_padding_optimizer.cc",
"src/google/protobuf/compiler/cpp/cpp_parse_function_generator.cc",
"src/google/protobuf/compiler/cpp/cpp_primitive_field.cc",
"src/google/protobuf/compiler/cpp/cpp_service.cc",
"src/google/protobuf/compiler/cpp/cpp_string_field.cc",
@@ -401,6 +403,7 @@ cc_library(
"src/google/protobuf/compiler/java/java_generator.cc",
"src/google/protobuf/compiler/java/java_generator_factory.cc",
"src/google/protobuf/compiler/java/java_helpers.cc",
"src/google/protobuf/compiler/java/java_kotlin_generator.cc",
"src/google/protobuf/compiler/java/java_map_field.cc",
"src/google/protobuf/compiler/java/java_map_field_lite.cc",
"src/google/protobuf/compiler/java/java_message.cc",
@@ -457,6 +460,12 @@ cc_binary(
# Tests
################################################################################

filegroup(
name = "testdata",
visibility = ["//:__subpackages__"],
srcs = glob(["src/google/protobuf/testdata/**/*"]),
)

RELATIVE_LITE_TEST_PROTOS = [
# AUTOGEN(lite_test_protos)
"google/protobuf/map_lite_unittest.proto",
@@ -518,6 +527,57 @@ RELATIVE_TEST_PROTOS = [

TEST_PROTOS = ["src/" + s for s in RELATIVE_TEST_PROTOS]

GENERIC_RELATIVE_TEST_PROTOS = [
"google/protobuf/unittest.proto",
"google/protobuf/unittest_arena.proto",
"google/protobuf/unittest_custom_options.proto",
"google/protobuf/unittest_drop_unknown_fields.proto",
"google/protobuf/unittest_embed_optimize_for.proto",
"google/protobuf/unittest_empty.proto",
"google/protobuf/unittest_enormous_descriptor.proto",
"google/protobuf/unittest_import.proto",
"google/protobuf/unittest_import_public.proto",
"google/protobuf/unittest_lazy_dependencies.proto",
"google/protobuf/unittest_lazy_dependencies_custom_option.proto",
"google/protobuf/unittest_lazy_dependencies_enum.proto",
"google/protobuf/unittest_lite_imports_nonlite.proto",
"google/protobuf/unittest_mset.proto",
"google/protobuf/unittest_mset_wire_format.proto",
"google/protobuf/unittest_no_field_presence.proto",
"google/protobuf/unittest_no_generic_services.proto",
"google/protobuf/unittest_optimize_for.proto",
"google/protobuf/unittest_preserve_unknown_enum.proto",
"google/protobuf/unittest_preserve_unknown_enum2.proto",
"google/protobuf/unittest_proto3.proto",
"google/protobuf/unittest_proto3_arena.proto",
"google/protobuf/unittest_proto3_arena_lite.proto",
"google/protobuf/unittest_proto3_lite.proto",
"google/protobuf/unittest_proto3_optional.proto",
"google/protobuf/unittest_well_known_types.proto",
]

GENERIC_TEST_PROTOS = ["src/" + s for s in GENERIC_RELATIVE_TEST_PROTOS]

proto_library(
name = "generic_test_protos",
visibility = ["//:__subpackages__"],
strip_import_prefix = "src",
srcs = LITE_TEST_PROTOS + GENERIC_TEST_PROTOS,
deps = [
"//:any_proto",
"//:api_proto",
"//:descriptor_proto",
"//:duration_proto",
"//:empty_proto",
"//:field_mask_proto",
"//:source_context_proto",
"//:struct_proto",
"//:timestamp_proto",
"//:type_proto",
"//:wrappers_proto",
],
)

cc_proto_library(
name = "cc_test_protos",
srcs = LITE_TEST_PROTOS + TEST_PROTOS,
@@ -684,6 +744,15 @@ internal_gen_well_known_protos_java(
],
)

internal_gen_well_known_protos_java(
name = "gen_well_known_protos_javalite",
deps = [proto + "_proto" for proto in WELL_KNOWN_PROTO_MAP.keys()],
javalite = True,
visibility = [
"//java:__subpackages__",
],
)

alias(
name = "protobuf_java",
actual = "//java/core",
@@ -1110,3 +1179,91 @@ sh_test(
"update_file_lists.sh",
],
)

java_proto_library(
name = "test_messages_proto2_java_proto",
visibility = [
"//java:__subpackages__",
],
deps = [":test_messages_proto2_proto"],
)

java_proto_library(
name = "test_messages_proto3_java_proto",
visibility = [
"//java:__subpackages__",
],
deps = [":test_messages_proto3_proto"],
)

java_proto_library(
name = "conformance_java_proto",
visibility = [
"//java:__subpackages__",
],
deps = [":conformance_proto"],
)

java_lite_proto_library(
name = "test_messages_proto2_java_proto_lite",
visibility = [
"//java:__subpackages__",
],
deps = [":test_messages_proto2_proto"],
)

java_lite_proto_library(
name = "conformance_java_proto_lite",
visibility = [
"//java:__subpackages__",
],
deps = [":conformance_proto"],
)

java_lite_proto_library(
name = "test_messages_proto3_java_proto_lite",
visibility = [
"//java:__subpackages__",
],
deps = [":test_messages_proto3_proto"],
)

java_binary(
name = "conformance_java",
srcs = ["conformance/ConformanceJava.java"],
visibility = [
"//java:__subpackages__",
],
main_class = "ConformanceJava",
deps = [
":conformance_java_proto",
":test_messages_proto2_java_proto",
":test_messages_proto3_java_proto",
"//:protobuf_java",
"//:protobuf_java_util",
],
)

java_binary(
name = "conformance_java_lite",
srcs = ["conformance/ConformanceJavaLite.java"],
visibility = [
"//java:__subpackages__",
],
main_class = "ConformanceJavaLite",
deps = [
":conformance_java_proto_lite",
":test_messages_proto2_java_proto_lite",
":test_messages_proto3_java_proto_lite",
"//:protobuf_javalite",
"//:protobuf_java_util",
],
)

exports_files([
"conformance/conformance_test_runner.sh",
"conformance/failure_list_java.txt",
"conformance/failure_list_java_lite.txt",
"conformance/text_format_failure_list_java.txt",
"conformance/text_format_failure_list_java_lite.txt",
])
57 changes: 56 additions & 1 deletion CHANGES.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,54 @@
Unreleased Changes (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
2021-05-07 version 3.17.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)

Protocol Compiler
* Fix the generated source information for reserved values in Enums.

C++
* Fix -Wunused-parameter in map<string, int> fields (fixes #8494) (#8500)
* Use byteswap.h when building against musl libc (#8503)
* Fix -Wundefined-inline error when using SharedCtor() or SharedDtor() (#8532)
* Fix bug where `Descriptor::DebugString()` printed proto3 synthetic oneofs.
* Provide stable versions of `SortAndUnique()`.
* Make sure to cache proto3 optional message fields when they are cleared.
* Expose UnsafeArena methods to Reflection.
* Use std::string::empty() rather than std::string::size() > 0.

Kotlin
* Restrict extension setter and getter operators to non-nullable T.

Java
* updating GSON and Guava to more recent versions (#8524)
* Reduce the time spent evaluating isExtensionNumber by storing the extension
ranges in a TreeMap for faster queries. This is particularly relevant for
protos which define a large number of extension ranges, for example when
each tag is defined as an extension.
* Fix java bytecode estimation logic for optional fields.
* Optimize Descriptor.isExtensionNumber.

Python
* Add MethodDescriptor.CopyToProto() (#8327)
* Remove unused python_protobuf.{cc,h} (#8513)
* Start publishing python aarch64 manylinux wheels normally (#8530)
* Fix constness issue detected by MSVC standard conforming mode (#8568)
* Make JSON parsing match C++ and Java when multiple fields from the same
oneof are present and all but one is null.

Ruby
* Add support for proto3 json_name in compiler and field definitions (#8356)
* Fixed memory leak of Ruby arena objects. (#8461)
* Fix source gem compilation (#8471)
* Fix various exceptions in Ruby on 64-bit Windows (#8563)
* Fix crash when calculating Message hash values on 64-bit Windows (#8565)

Conformance Tests
* Added a conformance test for the case of multiple fields from the same
oneof.

Other
* Opensourcing kotlin protos (#8272)
* Use a newer version of rules_proto, with the new rule `proto_descriptor_set` (#8469)

3.16.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)

C++
* The ::pb namespace is no longer exposed due to conflicts.
@@ -40,6 +90,11 @@ Unreleased Changes (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
JavaScript
* Make Any.pack() chainable.

2021-04-07 version 3.15.8 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)

Ruby
* Fixed memory leak of Ruby arena objects (#8461)

2021-04-02 version 3.15.7 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)

C++
42 changes: 34 additions & 8 deletions Makefile.am
Original file line number Diff line number Diff line change
@@ -530,6 +530,37 @@ java_EXTRA_DIST=
java/core/src/test/proto/com/google/protobuf/test_check_utf8_size.proto \
java/core/src/test/proto/com/google/protobuf/test_custom_options.proto \
java/core/src/test/proto/com/google/protobuf/wrappers_test.proto \
java/internal/BUILD \
java/internal/testing.bzl \
java/kotlin/generate-sources-build.xml \
java/kotlin/generate-test-sources-build.xml \
java/kotlin/pom.xml \
java/kotlin/src/main/kotlin/com/google/protobuf/DslList.kt \
java/kotlin/src/main/kotlin/com/google/protobuf/DslMap.kt \
java/kotlin/src/main/kotlin/com/google/protobuf/DslProxy.kt \
java/kotlin/src/main/kotlin/com/google/protobuf/ExtendableMessageExtensions.kt \
java/kotlin/src/main/kotlin/com/google/protobuf/ExtendableMessageLiteExtensions.kt\
java/kotlin/src/main/kotlin/com/google/protobuf/ExtensionList.kt \
java/kotlin/src/main/kotlin/com/google/protobuf/OnlyForUseByGeneratedProtoCode.kt\
java/kotlin/src/main/kotlin/com/google/protobuf/ProtoDslMarker.kt \
java/kotlin/src/main/kotlin/com/google/protobuf/UnmodifiableCollections.kt \
java/kotlin/src/test/kotlin/com/google/protobuf/DslListTest.kt \
java/kotlin/src/test/kotlin/com/google/protobuf/DslMapTest.kt \
java/kotlin/src/test/kotlin/com/google/protobuf/ExtendableMessageExtensionsTest.kt\
java/kotlin/src/test/kotlin/com/google/protobuf/ExtensionListTest.kt \
java/kotlin/src/test/kotlin/com/google/protobuf/Proto2Test.kt \
java/kotlin/src/test/kotlin/com/google/protobuf/Proto3Test.kt \
java/kotlin/src/test/proto/com/google/protobuf/evil_names_proto2.proto \
java/kotlin/src/test/proto/com/google/protobuf/evil_names_proto3.proto \
java/kotlin/src/test/proto/com/google/protobuf/example_extensible_message.proto \
java/kotlin/src/test/proto/com/google/protobuf/multiple_files_proto3.proto \
java/kotlin-lite/generate-sources-build.xml \
java/kotlin-lite/generate-test-sources-build.xml \
java/kotlin-lite/lite.awk \
java/kotlin-lite/pom.xml \
java/kotlin-lite/process-lite-sources-build.xml \
java/kotlin-lite/src/test/kotlin/com/google/protobuf/ExtendableMessageLiteExtensionsTest.kt\
java/kotlin-lite/src/test/kotlin/com/google/protobuf/Proto2LiteTest.kt \
java/lite.md \
java/lite/BUILD \
java/lite/generate-sources-build.xml \
@@ -539,6 +570,7 @@ java_EXTRA_DIST=
java/lite/process-lite-sources-build.xml \
java/lite/src/test/java/com/google/protobuf/LiteTest.java \
java/lite/src/test/java/com/google/protobuf/Proto2MessageLiteInfoFactory.java \
java/BUILD \
java/pom.xml \
java/util/BUILD \
java/util/pom.xml \
@@ -792,7 +824,7 @@ php_EXTRA_DIST= \
php/ext/google/protobuf/protobuf.h \
php/ext/google/protobuf/wkt.inc \
php/generate_descriptor_protos.sh \
php/phpunit.xml \
php/generate_test_protos.sh \
php/prepare_c_extension.sh \
php/release.sh \
php/src/GPBMetadata/Google/Protobuf/Any.php \
@@ -921,14 +953,12 @@ php_EXTRA_DIST= \
php/src/Google/Protobuf/Value.php \
php/src/phpdoc.dist.xml \
php/tests/ArrayTest.php \
php/tests/autoload.php \
php/tests/bootstrap_phpunit.php \
php/tests/compatibility_test.sh \
php/tests/compile_extension.sh \
php/tests/DescriptorsTest.php \
php/tests/EncodeDecodeTest.php \
php/tests/force_c_ext.php \
php/tests/gdb_test.sh \
php/tests/generate_protos.sh \
php/tests/GeneratedClassTest.php \
php/tests/GeneratedPhpdocTest.php \
php/tests/GeneratedServiceTest.php \
@@ -955,10 +985,8 @@ php_EXTRA_DIST= \
php/tests/proto/test_service.proto \
php/tests/proto/test_service_namespace.proto \
php/tests/proto/test_wrapper_type_setters.proto \
php/tests/test.sh \
php/tests/test_base.php \
php/tests/test_util.php \
php/tests/undefined_test.php \
php/tests/valgrind.supp \
php/tests/WellKnownTest.php \
php/tests/WrapperTypeSettersTest.php
@@ -1008,7 +1036,6 @@ python_EXTRA_DIST= \
python/google/protobuf/internal/packed_field_test.proto \
python/google/protobuf/internal/proto_builder_test.py \
python/google/protobuf/internal/python_message.py \
python/google/protobuf/internal/python_protobuf.cc \
python/google/protobuf/internal/reflection_test.py \
python/google/protobuf/internal/service_reflection_test.py \
python/google/protobuf/internal/symbol_database_test.py \
@@ -1029,7 +1056,6 @@ python_EXTRA_DIST= \
python/google/protobuf/json_format.py \
python/google/protobuf/message.py \
python/google/protobuf/message_factory.py \
python/google/protobuf/python_protobuf.h \
python/google/protobuf/proto_api.h \
python/google/protobuf/proto_builder.py \
python/google/protobuf/pyext/README \
2 changes: 1 addition & 1 deletion Protobuf-C++.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = 'Protobuf-C++'
s.version = '3.15.7'
s.version = '3.17.0'
s.summary = 'Protocol Buffers v3 runtime library for C++.'
s.homepage = 'https://github.com/google/protobuf'
s.license = '3-Clause BSD License'
Loading