diff --git a/CMakeLists.txt b/CMakeLists.txt index 6bed862400..ac0d03c3aa 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -79,7 +79,7 @@ if (protobuf_BUILD_SHARED_LIBS) endif () # Version metadata -set(protobuf_VERSION_STRING "4.23.0") +set(protobuf_VERSION_STRING "4.24.0") set(protobuf_DESCRIPTION "Protocol Buffers") set(protobuf_CONTACT "protobuf@googlegroups.com") diff --git a/Protobuf-C++.podspec b/Protobuf-C++.podspec index 22abbb6e9c..f472aa5f1b 100644 --- a/Protobuf-C++.podspec +++ b/Protobuf-C++.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'Protobuf-C++' - s.version = '4.23.0' + s.version = '4.24.0' s.summary = 'Protocol Buffers v3 runtime library for C++.' s.homepage = 'https://github.com/google/protobuf' s.license = 'BSD-3-Clause' diff --git a/Protobuf.podspec b/Protobuf.podspec index acb38911d3..539394e629 100644 --- a/Protobuf.podspec +++ b/Protobuf.podspec @@ -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 = '3.23.0' + s.version = '3.24.0' s.summary = 'Protocol Buffers v.3 runtime library for Objective-C.' s.homepage = 'https://github.com/protocolbuffers/protobuf' s.license = 'BSD-3-Clause' diff --git a/csharp/Google.Protobuf.Tools.nuspec b/csharp/Google.Protobuf.Tools.nuspec index 5dc2349bc7..2a0cf99af8 100644 --- a/csharp/Google.Protobuf.Tools.nuspec +++ b/csharp/Google.Protobuf.Tools.nuspec @@ -5,7 +5,7 @@ Google Protocol Buffers tools Tools for Protocol Buffers - Google's data interchange format. See project site for more info. - 3.23.0 + 3.24.0 Google Inc. protobuf-packages https://github.com/protocolbuffers/protobuf/blob/main/LICENSE diff --git a/csharp/src/Google.Protobuf/Google.Protobuf.csproj b/csharp/src/Google.Protobuf/Google.Protobuf.csproj index 032ccf784c..dede331228 100644 --- a/csharp/src/Google.Protobuf/Google.Protobuf.csproj +++ b/csharp/src/Google.Protobuf/Google.Protobuf.csproj @@ -5,7 +5,7 @@ C# runtime library for Protocol Buffers - Google's data interchange format. Copyright 2015, Google Inc. Google Protocol Buffers - 3.23.0 + 3.24.0 10.0 Google Inc. netstandard1.1;netstandard2.0;net45;net50 diff --git a/java/README.md b/java/README.md index 45205730a5..fb80b05f27 100644 --- a/java/README.md +++ b/java/README.md @@ -23,7 +23,7 @@ If you are using Maven, use the following: com.google.protobuf protobuf-java - 3.23.0 + 3.24.0 ``` @@ -37,14 +37,14 @@ protobuf-java-util package: com.google.protobuf protobuf-java-util - 3.23.0 + 3.24.0 ``` ### Gradle If you are using Gradle, add the following to your `build.gradle` file's -dependencies: `implementation 'com.google.protobuf:protobuf-java:3.23.0'` Again, +dependencies: `implementation 'com.google.protobuf:protobuf-java:3.24.0'` Again, be sure to check that the version number matches (or is newer than) the version number of protoc that you are using. diff --git a/java/bom/pom.xml b/java/bom/pom.xml index 3606fb4913..372dcdfda0 100644 --- a/java/bom/pom.xml +++ b/java/bom/pom.xml @@ -4,7 +4,7 @@ com.google.protobuf protobuf-bom - 3.23.0 + 3.24.0 pom Protocol Buffers [BOM] diff --git a/java/core/pom.xml b/java/core/pom.xml index 43903ddad2..84d674094e 100644 --- a/java/core/pom.xml +++ b/java/core/pom.xml @@ -4,7 +4,7 @@ com.google.protobuf protobuf-parent - 3.23.0 + 3.24.0 protobuf-java diff --git a/java/kotlin-lite/pom.xml b/java/kotlin-lite/pom.xml index 4db8886091..254eb8281b 100644 --- a/java/kotlin-lite/pom.xml +++ b/java/kotlin-lite/pom.xml @@ -4,7 +4,7 @@ com.google.protobuf protobuf-parent - 3.23.0 + 3.24.0 protobuf-kotlin-lite diff --git a/java/kotlin/pom.xml b/java/kotlin/pom.xml index f24abca759..354e65494c 100644 --- a/java/kotlin/pom.xml +++ b/java/kotlin/pom.xml @@ -4,7 +4,7 @@ com.google.protobuf protobuf-parent - 3.23.0 + 3.24.0 protobuf-kotlin diff --git a/java/lite.md b/java/lite.md index 22563fe90d..d8201e0468 100644 --- a/java/lite.md +++ b/java/lite.md @@ -29,7 +29,7 @@ protobuf Java Lite runtime. If you are using Maven, include the following: com.google.protobuf protobuf-javalite - 3.23.0 + 3.24.0 ``` diff --git a/java/lite/pom.xml b/java/lite/pom.xml index ede4b4daa1..3b4ff82583 100644 --- a/java/lite/pom.xml +++ b/java/lite/pom.xml @@ -4,7 +4,7 @@ com.google.protobuf protobuf-parent - 3.23.0 + 3.24.0 protobuf-javalite diff --git a/java/pom.xml b/java/pom.xml index fec490faf2..1deeca92a8 100644 --- a/java/pom.xml +++ b/java/pom.xml @@ -4,7 +4,7 @@ com.google.protobuf protobuf-parent - 3.23.0 + 3.24.0 pom Protocol Buffers [Parent] diff --git a/java/protoc/pom.xml b/java/protoc/pom.xml index 8e6212efc5..eec6f636e7 100644 --- a/java/protoc/pom.xml +++ b/java/protoc/pom.xml @@ -8,7 +8,7 @@ com.google.protobuf protoc - 3.23.0 + 3.24.0 pom Protobuf Compiler diff --git a/java/util/pom.xml b/java/util/pom.xml index e2a9597dc5..f5c6380899 100644 --- a/java/util/pom.xml +++ b/java/util/pom.xml @@ -4,7 +4,7 @@ com.google.protobuf protobuf-parent - 3.23.0 + 3.24.0 protobuf-java-util diff --git a/php/ext/google/protobuf/protobuf.h b/php/ext/google/protobuf/protobuf.h index 0879cf135c..626c40a6e3 100644 --- a/php/ext/google/protobuf/protobuf.h +++ b/php/ext/google/protobuf/protobuf.h @@ -49,7 +49,7 @@ upb_DefPool *get_global_symtab(); #if PHP_VERSION_ID < 70400 #define PROTO_RETURN_VAL void #else -#define PROTO_RETURN_VAL zval* +#define PROTO_RETURN_VAL zval * #endif // Since php 8.0, the Object Handlers API was changed to receive zend_object* @@ -58,18 +58,34 @@ upb_DefPool *get_global_symtab(); #if PHP_VERSION_ID < 80000 #define PROTO_VAL zval #define PROTO_STR zval -#define PROTO_VAL_P(obj) (void*)Z_OBJ_P(obj) +#define PROTO_VAL_P(obj) (void *)Z_OBJ_P(obj) #define PROTO_STRVAL_P(obj) Z_STRVAL_P(obj) #define PROTO_STRLEN_P(obj) Z_STRLEN_P(obj) -#define ZVAL_OBJ_COPY(z, o) do { ZVAL_OBJ(z, o); GC_ADDREF(o); } while (0) +#define ZVAL_OBJ_COPY(z, o) \ + do { \ + ZVAL_OBJ(z, o); \ + GC_ADDREF(o); \ + } while (0) #define RETVAL_OBJ_COPY(r) ZVAL_OBJ_COPY(return_value, r) -#define RETURN_OBJ_COPY(r) do { RETVAL_OBJ_COPY(r); return; } while (0) -#define RETURN_COPY(zv) do { ZVAL_COPY(return_value, zv); return; } while (0) -#define RETURN_COPY_VALUE(zv) do { ZVAL_COPY_VALUE(return_value, zv); return; } while (0) +#define RETURN_OBJ_COPY(r) \ + do { \ + RETVAL_OBJ_COPY(r); \ + return; \ + } while (0) +#define RETURN_COPY(zv) \ + do { \ + ZVAL_COPY(return_value, zv); \ + return; \ + } while (0) +#define RETURN_COPY_VALUE(zv) \ + do { \ + ZVAL_COPY_VALUE(return_value, zv); \ + return; \ + } while (0) #else #define PROTO_VAL zend_object #define PROTO_STR zend_string -#define PROTO_VAL_P(obj) (void*)(obj) +#define PROTO_VAL_P(obj) (void *)(obj) #define PROTO_STRVAL_P(obj) ZSTR_VAL(obj) #define PROTO_STRLEN_P(obj) ZSTR_LEN(obj) #endif @@ -82,17 +98,24 @@ upb_DefPool *get_global_symtab(); // PHP 7.2.0. #if PHP_VERSION_ID < 70200 #define zend_ce_countable spl_ce_Countable -#define ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(name, return_reference, required_num_args, class_name, allow_null) \ - ZEND_BEGIN_ARG_INFO_EX(name, return_reference, required_num_args, allow_null) +#define ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX( \ + name, return_reference, required_num_args, class_name, allow_null) \ + ZEND_BEGIN_ARG_INFO_EX(name, return_reference, required_num_args, allow_null) #endif -// polyfill for ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX, which changes between 7.1 and 7.2 +// polyfill for ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX, which changes +// between 7.1 and 7.2 #if PHP_VERSION_ID < 70200 -#define PROTOBUF_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(name, return_reference, required_num_args, type, allow_null) \ - ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(name, return_reference, required_num_args, type, /*class_name*/ 0, allow_null) +#define PROTOBUF_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX( \ + name, return_reference, required_num_args, type, allow_null) \ + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(name, return_reference, \ + required_num_args, type, \ + /*class_name*/ 0, allow_null) #else -#define PROTOBUF_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(name, return_reference, required_num_args, type, allow_null) \ - ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(name, return_reference, required_num_args, type, allow_null) +#define PROTOBUF_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX( \ + name, return_reference, required_num_args, type, allow_null) \ + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(name, return_reference, \ + required_num_args, type, allow_null) #endif // In PHP 8.1, mismatched tentative return types emit a deprecation notice. @@ -100,8 +123,9 @@ upb_DefPool *get_global_symtab(); // // When compiling for earlier php versions, the return type is dropped. #if PHP_VERSION_ID < 80100 -#define ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(name, return_reference, required_num_args, type, allow_null) \ - ZEND_BEGIN_ARG_INFO_EX(name, return_reference, required_num_args, allow_null) +#define ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX( \ + name, return_reference, required_num_args, type, allow_null) \ + ZEND_BEGIN_ARG_INFO_EX(name, return_reference, required_num_args, allow_null) #endif #ifndef IS_VOID @@ -124,10 +148,10 @@ ZEND_BEGIN_ARG_INFO(arginfo_void, 0) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_setter, 0, 0, 1) - ZEND_ARG_INFO(0, value) +ZEND_ARG_INFO(0, value) ZEND_END_ARG_INFO() -#define PHP_PROTOBUF_VERSION "3.23.0" +#define PHP_PROTOBUF_VERSION "3.24.0" // ptr -> PHP object cache. This is a weak map that caches lazily-created // wrapper objects around upb types: @@ -155,8 +179,8 @@ void NameMap_AddMessage(const upb_MessageDef *m); void NameMap_AddEnum(const upb_EnumDef *m); const upb_MessageDef *NameMap_GetMessage(zend_class_entry *ce); const upb_EnumDef *NameMap_GetEnum(zend_class_entry *ce); -void NameMap_EnterConstructor(zend_class_entry* ce); -void NameMap_ExitConstructor(zend_class_entry* ce); +void NameMap_EnterConstructor(zend_class_entry *ce); +void NameMap_ExitConstructor(zend_class_entry *ce); // Add this descriptor object to the global list of descriptors that will be // kept alive for the duration of the request but destroyed when the request diff --git a/protobuf_version.bzl b/protobuf_version.bzl index 9ee991feba..e428407720 100644 --- a/protobuf_version.bzl +++ b/protobuf_version.bzl @@ -1,6 +1,6 @@ """ Contains version numbers to be used in other bzl files """ -PROTOC_VERSION = "23.0" -PROTOBUF_JAVA_VERSION = "3.23.0" -PROTOBUF_PYTHON_VERSION = "4.23.0" -PROTOBUF_PHP_VERSION = "3.23.0" -PROTOBUF_RUBY_VERSION = "3.23.0" +PROTOC_VERSION = "24.0" +PROTOBUF_JAVA_VERSION = "3.24.0" +PROTOBUF_PYTHON_VERSION = "4.24.0" +PROTOBUF_PHP_VERSION = "3.24.0" +PROTOBUF_RUBY_VERSION = "3.24.0" diff --git a/python/google/protobuf/__init__.py b/python/google/protobuf/__init__.py index 98a760614c..b5f9fd7467 100755 --- a/python/google/protobuf/__init__.py +++ b/python/google/protobuf/__init__.py @@ -30,4 +30,4 @@ # Copyright 2007 Google Inc. All Rights Reserved. -__version__ = '4.23.0' +__version__ = '4.24.0' diff --git a/ruby/google-protobuf.gemspec b/ruby/google-protobuf.gemspec index 296cdb2cbc..8a292af288 100644 --- a/ruby/google-protobuf.gemspec +++ b/ruby/google-protobuf.gemspec @@ -1,6 +1,6 @@ Gem::Specification.new do |s| s.name = "google-protobuf" - s.version = "3.23.0" + s.version = "3.24.0" git_tag = "v#{s.version.to_s.sub('.rc.', '-rc')}" # Converts X.Y.Z.rc.N to vX.Y.Z-rcN, used for the git tag s.licenses = ["BSD-3-Clause"] s.summary = "Protocol Buffers" @@ -31,7 +31,7 @@ Gem::Specification.new do |s| ] s.add_development_dependency "rake-compiler-dock", "= 1.2.1" end - s.required_ruby_version = '>= 2.5' + s.required_ruby_version = '>= 2.7' s.add_development_dependency "rake", "~> 13" s.add_development_dependency "ffi", "~>1" s.add_development_dependency "ffi-compiler", "~>1" diff --git a/ruby/pom.xml b/ruby/pom.xml index 52ae7149b8..2242464e23 100644 --- a/ruby/pom.xml +++ b/ruby/pom.xml @@ -9,7 +9,7 @@ com.google.protobuf.jruby protobuf-jruby - 3.23.0 + 3.24.0 Protocol Buffer JRuby native extension Protocol Buffers are a way of encoding structured data in an efficient yet @@ -76,7 +76,7 @@ com.google.protobuf protobuf-java-util - 3.23.0 + 3.24.0 org.jruby diff --git a/src/google/protobuf/compiler/plugin.pb.h b/src/google/protobuf/compiler/plugin.pb.h index 7b5f984d86..e7631bf2b2 100644 --- a/src/google/protobuf/compiler/plugin.pb.h +++ b/src/google/protobuf/compiler/plugin.pb.h @@ -9,13 +9,13 @@ #include #include "google/protobuf/port_def.inc" -#if PROTOBUF_VERSION < 4023000 +#if PROTOBUF_VERSION < 4024000 #error "This file was generated by a newer version of protoc which is" #error "incompatible with your Protocol Buffer headers. Please update" #error "your headers." #endif // PROTOBUF_VERSION -#if 4023000 < PROTOBUF_MIN_PROTOC_VERSION +#if 4024000 < PROTOBUF_MIN_PROTOC_VERSION #error "This file was generated by an older version of protoc which is" #error "incompatible with your Protocol Buffer headers. Please" #error "regenerate this file with a newer version of protoc." diff --git a/src/google/protobuf/cpp_features.pb.h b/src/google/protobuf/cpp_features.pb.h index 045a4b541a..0f92660fa2 100644 --- a/src/google/protobuf/cpp_features.pb.h +++ b/src/google/protobuf/cpp_features.pb.h @@ -9,13 +9,13 @@ #include #include "google/protobuf/port_def.inc" -#if PROTOBUF_VERSION < 4023000 +#if PROTOBUF_VERSION < 4024000 #error "This file was generated by a newer version of protoc which is" #error "incompatible with your Protocol Buffer headers. Please update" #error "your headers." #endif // PROTOBUF_VERSION -#if 4023000 < PROTOBUF_MIN_PROTOC_VERSION +#if 4024000 < PROTOBUF_MIN_PROTOC_VERSION #error "This file was generated by an older version of protoc which is" #error "incompatible with your Protocol Buffer headers. Please" #error "regenerate this file with a newer version of protoc." diff --git a/src/google/protobuf/descriptor.pb.h b/src/google/protobuf/descriptor.pb.h index f9016cf104..287c345cee 100644 --- a/src/google/protobuf/descriptor.pb.h +++ b/src/google/protobuf/descriptor.pb.h @@ -9,13 +9,13 @@ #include #include "google/protobuf/port_def.inc" -#if PROTOBUF_VERSION < 4023000 +#if PROTOBUF_VERSION < 4024000 #error "This file was generated by a newer version of protoc which is" #error "incompatible with your Protocol Buffer headers. Please update" #error "your headers." #endif // PROTOBUF_VERSION -#if 4023000 < PROTOBUF_MIN_PROTOC_VERSION +#if 4024000 < PROTOBUF_MIN_PROTOC_VERSION #error "This file was generated by an older version of protoc which is" #error "incompatible with your Protocol Buffer headers. Please" #error "regenerate this file with a newer version of protoc." diff --git a/src/google/protobuf/port_def.inc b/src/google/protobuf/port_def.inc index be117423b6..155997f16b 100644 --- a/src/google/protobuf/port_def.inc +++ b/src/google/protobuf/port_def.inc @@ -251,17 +251,17 @@ static_assert(PROTOBUF_ABSL_MIN(20230125, 3), #ifdef PROTOBUF_VERSION #error PROTOBUF_VERSION was previously defined #endif -#define PROTOBUF_VERSION 4023000 +#define PROTOBUF_VERSION 4024000 #ifdef PROTOBUF_MIN_HEADER_VERSION_FOR_PROTOC #error PROTOBUF_MIN_HEADER_VERSION_FOR_PROTOC was previously defined #endif -#define PROTOBUF_MIN_HEADER_VERSION_FOR_PROTOC 4023000 +#define PROTOBUF_MIN_HEADER_VERSION_FOR_PROTOC 4024000 #ifdef PROTOBUF_MIN_PROTOC_VERSION #error PROTOBUF_MIN_PROTOC_VERSION was previously defined #endif -#define PROTOBUF_MIN_PROTOC_VERSION 4023000 +#define PROTOBUF_MIN_PROTOC_VERSION 4024000 #ifdef PROTOBUF_VERSION_SUFFIX #error PROTOBUF_VERSION_SUFFIX was previously defined @@ -442,7 +442,7 @@ static_assert(PROTOBUF_ABSL_MIN(20230125, 3), // The minimum library version which works with the current version of the // headers. -#define GOOGLE_PROTOBUF_MIN_LIBRARY_VERSION 4023000 +#define GOOGLE_PROTOBUF_MIN_LIBRARY_VERSION 4024000 #ifdef PROTOBUF_RTTI #error PROTOBUF_RTTI was previously defined diff --git a/src/google/protobuf/stubs/common.h b/src/google/protobuf/stubs/common.h index 61ea63543a..d603269b75 100644 --- a/src/google/protobuf/stubs/common.h +++ b/src/google/protobuf/stubs/common.h @@ -49,7 +49,9 @@ #include // for TARGET_OS_IPHONE #endif -#if defined(__ANDROID__) || defined(GOOGLE_PROTOBUF_OS_ANDROID) || (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) || defined(GOOGLE_PROTOBUF_OS_IPHONE) +#if defined(__ANDROID__) || defined(GOOGLE_PROTOBUF_OS_ANDROID) || \ + (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) || \ + defined(GOOGLE_PROTOBUF_OS_IPHONE) #include #endif @@ -66,7 +68,7 @@ namespace internal { // The current version, represented as a single integer to make comparison // easier: major * 10^6 + minor * 10^3 + micro -#define GOOGLE_PROTOBUF_VERSION 4023000 +#define GOOGLE_PROTOBUF_VERSION 4024000 // A suffix string for alpha, beta or rc releases. Empty for stable releases. #define GOOGLE_PROTOBUF_VERSION_SUFFIX "" @@ -74,15 +76,15 @@ namespace internal { // The minimum header version which works with the current version of // the library. This constant should only be used by protoc's C++ code // generator. -static const int kMinHeaderVersionForLibrary = 4023000; +static const int kMinHeaderVersionForLibrary = 4024000; // The minimum protoc version which works with the current version of the // headers. -#define GOOGLE_PROTOBUF_MIN_PROTOC_VERSION 4023000 +#define GOOGLE_PROTOBUF_MIN_PROTOC_VERSION 4024000 // The minimum header version which works with the current version of // protoc. This constant should only be used in VerifyVersion(). -static const int kMinHeaderVersionForProtoc = 4023000; +static const int kMinHeaderVersionForProtoc = 4024000; // Verifies that the headers and libraries are compatible. Use the macro // below to call this. @@ -103,11 +105,9 @@ ProtocVersionString(int version); // NOLINT(runtime/string) // to use the protobuf library) to verify that the version you link against // matches the headers you compiled against. If a version mismatch is // detected, the process will abort. -#define GOOGLE_PROTOBUF_VERIFY_VERSION \ - ::google::protobuf::internal::VerifyVersion( \ - GOOGLE_PROTOBUF_VERSION, GOOGLE_PROTOBUF_MIN_LIBRARY_VERSION, \ - __FILE__) - +#define GOOGLE_PROTOBUF_VERIFY_VERSION \ + ::google::protobuf::internal::VerifyVersion( \ + GOOGLE_PROTOBUF_VERSION, GOOGLE_PROTOBUF_MIN_LIBRARY_VERSION, __FILE__) // This lives in message_lite.h now, but we leave this here for any users that // #include common.h and not message_lite.h.