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
71dd9c4a
Commit
71dd9c4a
authored
May 11, 2016
by
Jisi Liu
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #1515 from pherl/changelog-beta3
Initial draft for changelog.
parents
19472bf5
ede9cc4b
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
104 additions
and
0 deletions
+104
-0
CHANGES.txt
CHANGES.txt
+104
-0
No files found.
CHANGES.txt
View file @
71dd9c4a
2016-05-10 version 3.0.0-beta-3 (C++/Java/Python/Ruby/Nano/Objective-C/C#/JavaScript)
General
* Supported Proto3 lite-runtime in C++/Java for mobile platforms.
* Any type now supports APIs to specify prefixes other than
type.googleapis.com
C++ (Beta)
* Improved hash maps. TODO(gpike)
* Arenas
- Several inlined methods in Arena were moved to out-of-line to improve
build performance and code size.
- Added SpaceAllocatedAndUsed() to report both space used and allocated
- Added convenient class UnsafeArenaAllocatedRepeatedPtrFieldBackInserter
* Any
- Allow custom type URL prefixes in Any packing.
- TextFormat now expand the Any type rather than printing bytes.
* Performance optimizations and various bug fixes.
Java (Beta)
* Introduced an ExperimentalApi annotation. Annotated APIs are experimental
and are subject to change in a backward incompatible way in future releases.
* Introduced zero-copy serialization as an ExperimentalApi
- Introduction of the `ByteOutput` interface. This is similar to
`OutputStream` but provides semantics for lazy writing (i.e. no
immediate copy required) of fields that are considered to be immutable.
- `ByteString` now supports writing to a `ByteOutput`, which will directly
expose the internals of the `ByteString` (i.e. `byte[]` or `ByteBuffer`)
to the `ByteOutput` without copying.
- `CodedOutputStream` now supports writing to a `ByteOutput`. `ByteString`
instances that are too large to fit in the internal buffer will be
(lazily) written to the `ByteOutput` directly.
- This allows applications using large `ByteString` fields to avoid
duplication of these fields entirely. Such an application can supply a
`ByteOutput` that chains together the chunks received from
`CodedOutputStream` before forwarding them onto the IO system.
* Other related changes to `CodedOutputStream`
- Additional use of `sun.misc.Unsafe` where possible to perform fast
access to `byte[]` and `ByteBuffer` values and avoiding unnecessary
range checking.
- `ByteBuffer`-backed `CodedOutputStream` now writes directly to the
`ByteBuffer` rather than to an intermediate array.
* Improved the performance for lite-runtime. TODO(dweis)
* Various bug fixes and small feature enhancement.
- Fixed stack overflow when in hashCode() for infinite recursive oneofs.
- Fixed the lazy field parsing in lite to merge rather than overwrite.
- TextFormat now supports reporting line/column numbers on errors.
Python (Beta)
* TODO(jieluo)
Objective-C (Beta)
* Proto comments now come over as HeaderDoc comments in the generated sources
so Xcode can pick them up and display them.
* The library headers have been updated to use HeaderDoc comments so Xcode can
pick them up and display them.
* The per message and per field overhead in both generated code and runtime
object sizes was reduced.
* Generated code now include deprecated annotations when the proto file
included them.
C# (Beta)
In general: some changes are breaking, which require regenerating messages.
Most user-written code will not be impacted *except* for the renaming of enum
values.
* Allow custom type URL prefixes in `Any` packing, and ignore them when
unpacking
* `protoc` is now in a separate NuGet package (Google.Protobuf.Tools)
* New option: `internal_access` to generate internal classes
* Enum values are now PascalCased, and if there's a prefix which matches the
name of the enum, that is removed (so an enum `COLOR` with a value
`COLOR_BLUE` would generate a value of just `Blue`). An option
(`legacy_enum_values`) is temporarily available to disable this, but the
option will be removed for GA.
* `json_name` option is now honored
* If group tags are encountered when parsing, they are validated more
thoroughly (although we don't support actual groups)
* NuGet dependencies are better specified
* Breaking: `Preconditions` is renamed to `ProtoPreconditions`
* Breaking: `GeneratedCodeInfo` is renamed to `GeneratedClrTypeInfo`
* `JsonFormatter` now allows writing to a `TextWriter`
* New interface, `ICustomDiagnosticMessage` to allow more compact
representations from `ToString`
* `CodedInputStream` and `CodedOutputStream` now implement `IDisposable`,
which simply disposes of the streams they were constructed with
* Map fields no longer support null values (in line with other languages)
* Improvements in JSON formatting and parsing
Javascript (Alpha)
* TODO(haberman)
C++/Java Lite (Alpha)
A new "lite" generator parameter was introduced in the protoc for C++ and
Java for Proto3 syntax messages. Example usage:
./protoc --cpp_out=lite:$OUTPUT_PATH foo.proto
The protoc will treat the current input and all the transitive dependencies
as LITE. The same generator parameter must be used to generate the
dependencies.
In Proto3 syntax files, "optimized_for=LITE_RUNTIME" is no longer supported.
2015-12-30 version 3.0.0-beta-2 (C++/Java/Python/Ruby/Nano/Objective-C/C#/JavaScript)
2015-12-30 version 3.0.0-beta-2 (C++/Java/Python/Ruby/Nano/Objective-C/C#/JavaScript)
General
General
* Introduced a new language implementation: JavaScript.
* Introduced a new language implementation: JavaScript.
...
...
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