Skip to content

Commit 090df7d

Browse files
rafi-kamalnlhien
authored andcommitted
Merge 3.11.0-rc1 changes to master (protocolbuffers#6917)
* Update CHANGES.txt with 3.11.0-RC1 release notes (protocolbuffers#6909) * Revert "Make shared libraries be able to link to MSVC static runtime libraries, so that VC runtime is not required." (protocolbuffers#6914) * Marked update_compatibility_version.py as executable (protocolbuffers#6916)
1 parent ff10f09 commit 090df7d

File tree

3 files changed

+68
-14
lines changed

3 files changed

+68
-14
lines changed

CHANGES.txt

+52
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,55 @@
1+
2019-11-19 version 3.11.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
2+
3+
C++
4+
* Make serialization method naming consistent
5+
* Make proto runtime + generated code free of deprecation warnings
6+
* Moved ShutdownProtobufLibrary() to message_lite.h. For backward compatibility a declaration is still available in stubs/common.h, but users should prefer message_lite.h
7+
* Removed non-namespace macro EXPECT_OK()
8+
* Removed mathlimits.h from stubs in favor of using std::numeric_limits from C++11
9+
* Fixed bug in parser when ending on a group tag
10+
* Add a helper function to UnknownFieldSet to deal with the changing return value of message::unknown_fields()
11+
* Fix incorrect use of string_view iterators
12+
* Support direct pickling of nested messages
13+
* Skip extension tag validation for MessageSet if unknown dependencies are allowed
14+
* Updated deprecation macros to annotate deprecated code (#6612)
15+
* Remove conversion warning in MapEntryFuncs::ByteSizeLong (#6766)
16+
17+
Java
18+
* Remove the usage of MethodHandle, so that Android users prior to API version 26 can use protobuf-java
19+
* Publish ProGuard config for javalite
20+
* Fix for StrictMode disk read violation in ExtensionRegistryLite
21+
* Include part of the ByteString's content in its toString().
22+
* Include unknown fields when merging proto3 messages in Java lite builders
23+
24+
Python
25+
* Add float_precision option in json format printer
26+
* Optionally print bytes fields as messages in unknown fields, if possible
27+
* FieldPath: fix testing IsSet on root path ''
28+
* Experimental code gen (fast import protobuf module) which only work with cpp generated code linked in
29+
30+
JavaScript
31+
* Remove guard for Symbol iterator for jspb.Map
32+
33+
PHP
34+
* Avoid too much overhead in layout_init (#6716)
35+
* Lazily Create Singular Wrapper Message (#6833)
36+
37+
Ruby
38+
* Ruby lazy wrappers optimization (#6797)
39+
40+
C#
41+
* (RepeatedField): Capacity property to resize the internal array (#6530)
42+
* Experimental proto2 support is now officially available (#4642, #5183, #5350, #5936)
43+
* Getting started doc: https://github.com/protocolbuffers/protobuf/blob/master/docs/csharp/proto2.md
44+
* Add length checks to ExtensionCollection (#6759)
45+
* Optimize parsing of some primitive and wrapper types (#6843)
46+
* Use 3 parameter Encoding.GetString for default string values (#6828)
47+
* Change _Extensions property to normal body rather than expression (#6856)
48+
49+
Objective C
50+
* Fixed unaligned reads for 32bit arm with newer Xcode versions (#6678)
51+
52+
153
2019-09-03 version 3.10.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
254

355
C++

cmake/CMakeLists.txt

+16-14
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ else (BUILD_SHARED_LIBS)
4040
endif (BUILD_SHARED_LIBS)
4141
option(protobuf_BUILD_SHARED_LIBS "Build Shared Libraries" ${protobuf_BUILD_SHARED_LIBS_DEFAULT})
4242
include(CMakeDependentOption)
43+
cmake_dependent_option(protobuf_MSVC_STATIC_RUNTIME "Link static runtime libraries" ON
44+
"NOT protobuf_BUILD_SHARED_LIBS" OFF)
4345
set(protobuf_WITH_ZLIB_DEFAULT ON)
4446
option(protobuf_WITH_ZLIB "Build with zlib support" ${protobuf_WITH_ZLIB_DEFAULT})
4547
set(protobuf_DEBUG_POSTFIX "d"
@@ -153,22 +155,22 @@ if (protobuf_BUILD_SHARED_LIBS)
153155
set(protobuf_SHARED_OR_STATIC "SHARED")
154156
else (protobuf_BUILD_SHARED_LIBS)
155157
set(protobuf_SHARED_OR_STATIC "STATIC")
158+
# In case we are building static libraries, link also the runtime library statically
159+
# so that MSVCR*.DLL is not required at runtime.
160+
# https://msdn.microsoft.com/en-us/library/2kzt1wy3.aspx
161+
# This is achieved by replacing msvc option /MD with /MT and /MDd with /MTd
162+
# http://www.cmake.org/Wiki/CMake_FAQ#How_can_I_build_my_MSVC_application_with_a_static_runtime.3F
163+
if (MSVC AND protobuf_MSVC_STATIC_RUNTIME)
164+
foreach(flag_var
165+
CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE
166+
CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO)
167+
if(${flag_var} MATCHES "/MD")
168+
string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")
169+
endif(${flag_var} MATCHES "/MD")
170+
endforeach(flag_var)
171+
endif (MSVC AND protobuf_MSVC_STATIC_RUNTIME)
156172
endif (protobuf_BUILD_SHARED_LIBS)
157173

158-
# In case we are linking the runtime library statically so that MSVCR*.DLL is not required at runtime.
159-
# https://msdn.microsoft.com/en-us/library/2kzt1wy3.aspx
160-
# This is achieved by replacing msvc option /MD with /MT and /MDd with /MTd
161-
# http://www.cmake.org/Wiki/CMake_FAQ#How_can_I_build_my_MSVC_application_with_a_static_runtime.3F
162-
if (MSVC AND protobuf_MSVC_STATIC_RUNTIME)
163-
foreach(flag_var
164-
CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE
165-
CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO)
166-
if(${flag_var} MATCHES "/MD")
167-
string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")
168-
endif(${flag_var} MATCHES "/MD")
169-
endforeach(flag_var)
170-
endif (MSVC AND protobuf_MSVC_STATIC_RUNTIME)
171-
172174
if (MSVC)
173175
# Build with multiple processes
174176
add_definitions(/MP)

update_compatibility_version.py

100644100755
File mode changed.

0 commit comments

Comments
 (0)