Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
P
protobuf
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
protobuf
Commits
8908cf16
Commit
8908cf16
authored
May 26, 2015
by
Bo Yang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add 3.0.0-alpha-3 release to CHANGES.txt
parent
850fe8bf
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
99 additions
and
0 deletions
+99
-0
CHANGES.txt
CHANGES.txt
+99
-0
No files found.
CHANGES.txt
View file @
8908cf16
2015-05-25 version 3.0.0-alpha-3 (Objective-C/C#):
General
* Introduced two new language implementations (Objective-C, C#) to proto3.
* Disallowed "optional" keyword in proto3 syntax.
* Removed groups fields in proto3 syntax.
* Changed repeated primitive fields to use packed serialization by default in
proto3 (implemented for C++, Java, Python in this release). The user can
still disable packed serialization by setting packed to false for now.
* Added well-known type protos (any.proto, empty.proto, timestamp.proto,
duration.proto, etc.). Users can import and use these protos just like
regular proto files. Addtional runtime support will be added for them in
future releases (in the form of utility helper functions, or having them
replaced by language specific types in generated code).
* Added a "reserved" keyword in both proto2 and proto3 syntax. User can use
this keyword to declare reserved field numbers and names to prevent them
from being reused by other fields in the same message.
To reserve field numbers, add a reserved declaration in your message:
message TestMessage {
reserved 2, 15, 9 to 11, 3;
}
This reserves field numbers 2, 3, 9, 10, 11 and 15. If a user uses any of
these as field numbers, the protocol buffer compiler will report an error.
Field names can also be reserved:
message TestMessage {
reserved "foo", "bar";
}
* Various bug fixes since 3.0.0-alpha-2
Objective-C
Objective-C includes a code generator and a native objective-c runtime
library. By adding “--objc_out” to protoc, the code generator will generate
a header(*.pbobjc.h) and an implementation file(*.pbobjc.m) for each proto
file.
In this first release, the generated interface provides: enums, messages,
field support(single, repeated, map, oneof), proto2 and proto3 syntax
support, parsing and serialization. It’s compatible with ARC and non-ARC
usage. Besides, user can also access it via the swift bridging header.
See objectivec/README.md for details.
C#
* C# protobufs are based on project
https://github.com/jskeet/protobuf-csharp-port. The original project was
frozen and all the new development will happen here.
* Codegen plugin for C# was completely rewritten to C++ and is now an
intergral part of protoc.
* Some refactorings and cleanup has been applied to the C# runtime library.
* Only proto2 is supported in C# at the moment, proto3 support is in
progress and will likely bring significant breaking changes to the API.
See csharp/README.md for details.
C++
* Added runtime support for Any type. To use Any in your proto file, first
import the definition of Any:
// foo.proto
import "google/protobuf/any.proto";
message Foo {
google.protobuf.Any any_field = 1;
}
message Bar {
int32 value = 1;
}
Then in C++ you can access the Any field using PackFrom()/UnpackTo()
methods:
Foo foo;
Bar bar = ...;
foo.mutable_any_field()->PackFrom(bar);
...
if (foo.any_field().IsType<Bar>()) {
foo.any_field().UnpackTo(&bar);
...
}
* In text format, entries of a map field will be sorted by key.
Java
* Continued optimizations on the lite runtime to improve performance for
Android.
Python
* Added map support.
- maps now have a dict-like interface (msg.map_field[key] = value)
- existing code that modifies maps via the repeated field interface
will need to be updated.
Ruby
* Improvements to RepeatedField's emulation of the Ruby Array API.
* Various speedups and internal cleanups.
2015-02-26 version 3.0.0-alpha-2 (Python/Ruby/JavaNano):
General
* Introduced three new language implementations (Ruby, JavaNano, and
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment