Merge pull request #756 from TeBoring/beta-1
Add distribution for objc
diff --git a/CHANGES.txt b/CHANGES.txt
index 846d735..ca3078c 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,3 +1,109 @@
+2015-08-26 version 3.0.0-beta-1 (C++/Java/Python/Ruby/Nano/Objective-C/C#)
+ About Beta
+ * This is the first beta release of protobuf v3.0.0. Not all languages
+ have reached beta stage. Languages not marked as beta are still in
+ alpha (i.e., be prepared for API breaking changes).
+
+ General
+ * Proto3 JSON is supported in several languages (fully supported in C++
+ and Java, partially supported in Ruby/C#). The JSON spec is defined in
+ the proto3 language guide:
+
+ https://developers.google.com/protocol-buffers/docs/proto3#json
+
+ We will publish a more detailed spec to define the exact behavior of
+ proto3-conformant JSON serializers and parsers. Until then, do not rely
+ on specific behaviors of the implementation if it’s not documented in
+ the above spec. More specifically, the behavior is not yet finalized for
+ the following:
+ - Parsing invalid JSON input (e.g., input with trailing commas).
+ - Non-camelCase names in JSON input.
+ - The same field appears multiple times in JSON input.
+ - JSON arrays contain “null” values.
+ - The message has unknown fields.
+
+ * Proto3 now enforces strict UTF-8 checking. Parsing will fail if a string
+ field contains non UTF-8 data.
+
+ C++ (Beta)
+ * Introduced new utility functions/classes in the google/protobuf/util
+ directory:
+ - MessageDifferencer: compare two proto messages and report their
+ differences.
+ - JsonUtil: support converting protobuf binary format to/from JSON.
+ - TimeUtil: utility functions to work with well-known types Timestamp
+ and Duration.
+ - FieldMaskUtil: utility functions to work with FieldMask.
+
+ * Performance optimization of arena construction and destruction.
+ * Bug fixes for arena and maps support.
+ * Changed to use cmake for Windows Visual Studio builds.
+ * Added Bazel support.
+
+ Java (Beta)
+ * Introduced a new util package that will be distributed as a separate
+ artifact in maven. It contains:
+ - JsonFormat: convert proto messages to/from JSON.
+ - TimeUtil: utility functions to work with Timestamp and Duration.
+ - FieldMaskUtil: utility functions to work with FieldMask.
+
+ * The static PARSER in each generated message is deprecated, and it will
+ be removed in a future release. A static parser() getter is generated
+ for each message type instead.
+ * Performance optimizations for String fields serialization.
+ * Performance optimizations for Lite runtime on Android:
+ - Reduced allocations
+ - Reduced method overhead after ProGuarding
+ - Reduced code size after ProGuarding
+
+ Python (Alpha)
+ * Removed legacy Python 2.5 support.
+ * Moved to a single Python 2.x/3.x-compatible codebase, instead of using 2to3.
+ * Fixed build/tests on Python 2.6, 2.7, 3.3, and 3.4.
+ - Pure-Python works on all four.
+ - Python/C++ implementation works on all but 3.4, due to changes in the
+ Python/C++ API in 3.4.
+ * Some preliminary work has been done to allow for multiple DescriptorPools
+ with Python/C++.
+
+ Ruby (Alpha)
+ * Many bugfixes:
+ - fixed parsing/serialization of bytes, sint, sfixed types
+ - other parser bugfixes
+ - fixed memory leak affecting Ruby 2.2
+
+ JavaNano (Alpha)
+ * JavaNano generated code now will be put in a nano package by default to
+ avoid conflicts with Java generated code.
+
+ Objective-C (Alpha)
+ * Added non-null markup to ObjC library. Requires SDK 8.4+ to build.
+ * Many bugfixes:
+ - Removed the class/enum filter.
+ - Renamed some internal types to avoid conflicts with the well-known types
+ protos.
+ - Added missing support for parsing repeated primitive fields in packed or
+ unpacked forms.
+ - Added *Count for repeated and map<> fields to avoid auto-create when
+ checking for them being set.
+
+ C# (Alpha)
+ * Namespace changed to Google.Protobuf (and NuGet package will be named
+ correspondingly).
+ * Target platforms now .NET 4.5 and selected portable subsets only.
+ * Removed lite runtime.
+ * Reimplementation to use mutable message types.
+ * Null references used to represent "no value" for message type fields.
+ * Proto3 semantics supported; proto2 files are prohibited for C# codegen.
+ Most proto3 features supported:
+ - JSON formatting (a.k.a. serialization to JSON), including well-known
+ types (except for Any).
+ - Wrapper types mapped to nullable value types (or string/ByteString
+ allowing nullability). JSON parsing is not supported yet.
+ - maps
+ - oneof
+ - enum unknown value preservation
+
2015-05-25 version 3.0.0-alpha-3 (Objective-C/C#):
General
* Introduced two new language implementations (Objective-C, C#) to proto3.
diff --git a/Makefile.am b/Makefile.am
index 30fc612..a291f7a 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -41,6 +41,7 @@
pkgconfig_DATA = protobuf.pc protobuf-lite.pc
csharp_EXTRA_DIST= \
+ csharp/.gitignore \
csharp/CHANGES.txt \
csharp/README.md \
csharp/build_packages.bat \
@@ -57,6 +58,11 @@
csharp/src/AddressBook/Properties/AssemblyInfo.cs \
csharp/src/AddressBook/SampleUsage.cs \
csharp/src/AddressBook/app.config \
+ csharp/src/Google.Protobuf.Conformance/App.config \
+ csharp/src/Google.Protobuf.Conformance/Conformance.cs \
+ csharp/src/Google.Protobuf.Conformance/Google.Protobuf.Conformance.csproj \
+ csharp/src/Google.Protobuf.Conformance/Program.cs \
+ csharp/src/Google.Protobuf.Conformance/Properties/AssemblyInfo.cs \
csharp/src/Google.Protobuf.JsonDump/Google.Protobuf.JsonDump.csproj \
csharp/src/Google.Protobuf.JsonDump/Program.cs \
csharp/src/Google.Protobuf.JsonDump/Properties/AssemblyInfo.cs \
@@ -67,6 +73,8 @@
csharp/src/Google.Protobuf.Test/CodedOutputStreamTest.cs \
csharp/src/Google.Protobuf.Test/Collections/MapFieldTest.cs \
csharp/src/Google.Protobuf.Test/Collections/RepeatedFieldTest.cs \
+ csharp/src/Google.Protobuf.Test/Compatibility/PropertyInfoExtensionsTest.cs \
+ csharp/src/Google.Protobuf.Test/Compatibility/TypeExtensionsTest.cs \
csharp/src/Google.Protobuf.Test/DeprecatedMemberTest.cs \
csharp/src/Google.Protobuf.Test/EqualityTester.cs \
csharp/src/Google.Protobuf.Test/FieldCodecTest.cs \
@@ -77,6 +85,7 @@
csharp/src/Google.Protobuf.Test/Properties/AppManifest.xml \
csharp/src/Google.Protobuf.Test/Properties/AssemblyInfo.cs \
csharp/src/Google.Protobuf.Test/Reflection/DescriptorsTest.cs \
+ csharp/src/Google.Protobuf.Test/Reflection/FieldAccessTest.cs \
csharp/src/Google.Protobuf.Test/SampleEnum.cs \
csharp/src/Google.Protobuf.Test/SampleMessages.cs \
csharp/src/Google.Protobuf.Test/TestCornerCases.cs \
@@ -86,6 +95,8 @@
csharp/src/Google.Protobuf.Test/TestProtos/UnittestIssues.cs \
csharp/src/Google.Protobuf.Test/TestProtos/UnittestProto3.cs \
csharp/src/Google.Protobuf.Test/TestProtos/UnittestWellKnownTypes.cs \
+ csharp/src/Google.Protobuf.Test/WellKnownTypes/DurationTest.cs \
+ csharp/src/Google.Protobuf.Test/WellKnownTypes/TimestampTest.cs \
csharp/src/Google.Protobuf.Test/WellKnownTypes/WrappersTest.cs \
csharp/src/Google.Protobuf.Test/packages.config \
csharp/src/Google.Protobuf.sln \
@@ -97,10 +108,13 @@
csharp/src/Google.Protobuf/Collections/MapField.cs \
csharp/src/Google.Protobuf/Collections/ReadOnlyDictionary.cs \
csharp/src/Google.Protobuf/Collections/RepeatedField.cs \
+ csharp/src/Google.Protobuf/Compatibility/PropertyInfoExtensions.cs \
+ csharp/src/Google.Protobuf/Compatibility/TypeExtensions.cs \
csharp/src/Google.Protobuf/FieldCodec.cs \
csharp/src/Google.Protobuf/FrameworkPortability.cs \
csharp/src/Google.Protobuf/Google.Protobuf.csproj \
csharp/src/Google.Protobuf/Google.Protobuf.nuspec \
+ csharp/src/Google.Protobuf/IDeepCloneable.cs \
csharp/src/Google.Protobuf/IMessage.cs \
csharp/src/Google.Protobuf/InvalidProtocolBufferException.cs \
csharp/src/Google.Protobuf/JsonFormatter.cs \
@@ -137,11 +151,14 @@
csharp/src/Google.Protobuf/WellKnownTypes/Any.cs \
csharp/src/Google.Protobuf/WellKnownTypes/Api.cs \
csharp/src/Google.Protobuf/WellKnownTypes/Duration.cs \
+ csharp/src/Google.Protobuf/WellKnownTypes/DurationPartial.cs \
csharp/src/Google.Protobuf/WellKnownTypes/Empty.cs \
csharp/src/Google.Protobuf/WellKnownTypes/FieldMask.cs \
csharp/src/Google.Protobuf/WellKnownTypes/SourceContext.cs \
csharp/src/Google.Protobuf/WellKnownTypes/Struct.cs \
+ csharp/src/Google.Protobuf/WellKnownTypes/TimeExtensions.cs \
csharp/src/Google.Protobuf/WellKnownTypes/Timestamp.cs \
+ csharp/src/Google.Protobuf/WellKnownTypes/TimestampPartial.cs \
csharp/src/Google.Protobuf/WellKnownTypes/Type.cs \
csharp/src/Google.Protobuf/WellKnownTypes/Wrappers.cs \
csharp/src/Google.Protobuf/WireFormat.cs \
@@ -154,8 +171,8 @@
java/src/main/java/com/google/protobuf/AbstractProtobufList.java \
java/src/main/java/com/google/protobuf/BlockingRpcChannel.java \
java/src/main/java/com/google/protobuf/BlockingService.java \
- java/src/main/java/com/google/protobuf/BoundedByteString.java \
java/src/main/java/com/google/protobuf/BooleanArrayList.java \
+ java/src/main/java/com/google/protobuf/BoundedByteString.java \
java/src/main/java/com/google/protobuf/ByteString.java \
java/src/main/java/com/google/protobuf/CodedInputStream.java \
java/src/main/java/com/google/protobuf/CodedOutputStream.java \
@@ -170,8 +187,8 @@
java/src/main/java/com/google/protobuf/FloatArrayList.java \
java/src/main/java/com/google/protobuf/GeneratedMessage.java \
java/src/main/java/com/google/protobuf/GeneratedMessageLite.java \
- java/src/main/java/com/google/protobuf/Internal.java \
java/src/main/java/com/google/protobuf/IntArrayList.java \
+ java/src/main/java/com/google/protobuf/Internal.java \
java/src/main/java/com/google/protobuf/InvalidProtocolBufferException.java \
java/src/main/java/com/google/protobuf/LazyField.java \
java/src/main/java/com/google/protobuf/LazyFieldLite.java \
@@ -199,8 +216,8 @@
java/src/main/java/com/google/protobuf/RpcChannel.java \
java/src/main/java/com/google/protobuf/RpcController.java \
java/src/main/java/com/google/protobuf/RpcUtil.java \
- java/src/main/java/com/google/protobuf/ServiceException.java \
java/src/main/java/com/google/protobuf/Service.java \
+ java/src/main/java/com/google/protobuf/ServiceException.java \
java/src/main/java/com/google/protobuf/SingleFieldBuilder.java \
java/src/main/java/com/google/protobuf/SmallSortedMap.java \
java/src/main/java/com/google/protobuf/TextFormat.java \
@@ -209,11 +226,11 @@
java/src/main/java/com/google/protobuf/UnknownFieldSetLite.java \
java/src/main/java/com/google/protobuf/UnmodifiableLazyStringList.java \
java/src/main/java/com/google/protobuf/Utf8.java \
- java/src/test/java/com/google/protobuf/WellKnownTypesTest.java \
java/src/main/java/com/google/protobuf/WireFormat.java \
java/src/test/java/com/google/protobuf/AbstractMessageTest.java \
- java/src/test/java/com/google/protobuf/BoundedByteStringTest.java \
+ java/src/test/java/com/google/protobuf/AnyTest.java \
java/src/test/java/com/google/protobuf/BooleanArrayListTest.java \
+ java/src/test/java/com/google/protobuf/BoundedByteStringTest.java \
java/src/test/java/com/google/protobuf/ByteStringTest.java \
java/src/test/java/com/google/protobuf/CheckUtf8Test.java \
java/src/test/java/com/google/protobuf/CodedInputStreamTest.java \
@@ -235,8 +252,8 @@
java/src/test/java/com/google/protobuf/LazyStringArrayListTest.java \
java/src/test/java/com/google/protobuf/LazyStringEndToEndTest.java \
java/src/test/java/com/google/protobuf/LiteEqualsAndHashTest.java \
- java/src/test/java/com/google/protobuf/LiteralByteStringTest.java \
java/src/test/java/com/google/protobuf/LiteTest.java \
+ java/src/test/java/com/google/protobuf/LiteralByteStringTest.java \
java/src/test/java/com/google/protobuf/LongArrayListTest.java \
java/src/test/java/com/google/protobuf/MapForProto2LiteTest.java \
java/src/test/java/com/google/protobuf/MapForProto2Test.java \
@@ -258,7 +275,9 @@
java/src/test/java/com/google/protobuf/UnknownFieldSetLiteTest.java \
java/src/test/java/com/google/protobuf/UnknownFieldSetTest.java \
java/src/test/java/com/google/protobuf/UnmodifiableLazyStringListTest.java \
+ java/src/test/java/com/google/protobuf/WellKnownTypesTest.java \
java/src/test/java/com/google/protobuf/WireFormatTest.java \
+ java/src/test/java/com/google/protobuf/any_test.proto \
java/src/test/java/com/google/protobuf/field_presence_test.proto \
java/src/test/java/com/google/protobuf/lazy_fields_lite.proto \
java/src/test/java/com/google/protobuf/lite_equals_and_hash.proto \
@@ -268,18 +287,28 @@
java/src/test/java/com/google/protobuf/map_test.proto \
java/src/test/java/com/google/protobuf/multiple_files_test.proto \
java/src/test/java/com/google/protobuf/nested_builders_test.proto \
- java/src/test/java/com/google/protobuf/nested_extension_lite.proto \
java/src/test/java/com/google/protobuf/nested_extension.proto \
- java/src/test/java/com/google/protobuf/non_nested_extension_lite.proto \
+ java/src/test/java/com/google/protobuf/nested_extension_lite.proto \
java/src/test/java/com/google/protobuf/non_nested_extension.proto \
+ java/src/test/java/com/google/protobuf/non_nested_extension_lite.proto \
+ java/src/test/java/com/google/protobuf/outer_class_name_test.proto \
java/src/test/java/com/google/protobuf/outer_class_name_test2.proto \
java/src/test/java/com/google/protobuf/outer_class_name_test3.proto \
- java/src/test/java/com/google/protobuf/outer_class_name_test.proto \
java/src/test/java/com/google/protobuf/test_bad_identifiers.proto \
java/src/test/java/com/google/protobuf/test_check_utf8.proto \
java/src/test/java/com/google/protobuf/test_check_utf8_size.proto \
java/src/test/java/com/google/protobuf/test_custom_options.proto \
java/src/test/java/com/google/protobuf/test_extra_interfaces.proto \
+ java/util/pom.xml \
+ java/util/src/main/java/com/google/protobuf/util/FieldMaskTree.java \
+ java/util/src/main/java/com/google/protobuf/util/FieldMaskUtil.java \
+ java/util/src/main/java/com/google/protobuf/util/JsonFormat.java \
+ java/util/src/main/java/com/google/protobuf/util/TimeUtil.java \
+ java/util/src/test/java/com/google/protobuf/util/FieldMaskTreeTest.java \
+ java/util/src/test/java/com/google/protobuf/util/FieldMaskUtilTest.java \
+ java/util/src/test/java/com/google/protobuf/util/JsonFormatTest.java \
+ java/util/src/test/java/com/google/protobuf/util/TimeUtilTest.java \
+ java/util/src/test/java/com/google/protobuf/util/json_test.proto \
java/pom.xml \
java/README.md
@@ -452,6 +481,7 @@
objectivec/Tests/text_format_map_unittest_data.txt \
objectivec/Tests/text_format_unittest_data.txt \
objectivec/Tests/unittest_cycle.proto \
+ objectivec/Tests/unittest_objc_startup.proto \
objectivec/Tests/unittest_objc.proto \
objectivec/Tests/unittest_objc_startup.proto \
objectivec/Tests/unittest_runtime_proto2.proto \
@@ -478,11 +508,13 @@
python/google/protobuf/internal/generator_test.py \
python/google/protobuf/internal/message_factory_test.py \
python/google/protobuf/internal/message_listener.py \
+ python/google/protobuf/internal/message_set_extensions.proto \
python/google/protobuf/internal/message_test.py \
python/google/protobuf/internal/missing_enum_values.proto \
- python/google/protobuf/internal/more_extensions.proto \
python/google/protobuf/internal/more_extensions_dynamic.proto \
+ python/google/protobuf/internal/more_extensions.proto \
python/google/protobuf/internal/more_messages.proto \
+ python/google/protobuf/internal/packed_field_test.proto \
python/google/protobuf/internal/_parameterized.py \
python/google/protobuf/internal/proto_builder_test.py \
python/google/protobuf/internal/python_message.py \
@@ -540,9 +572,10 @@
python/google/protobuf/text_format.py \
python/google/protobuf/__init__.py \
python/google/__init__.py \
- python/setup.py \
python/mox.py \
+ python/setup.py \
python/stubout.py \
+ python/tox.ini \
python/README.md
ruby_EXTRA_DIST= \
@@ -604,6 +637,9 @@
CONTRIBUTORS.txt \
CHANGES.txt \
update_file_lists.sh \
+ BUILD \
+ gmock.BUILD \
+ WORKSPACE \
cmake/CMakeLists.txt \
cmake/README.md \
cmake/extract_includes.bat.in \