Update comments for csharp, zero-copy and objc.
This commit is contained in:
parent
5668e2e426
commit
ede9cc4bd5
58
CHANGES.txt
58
CHANGES.txt
@ -12,13 +12,33 @@
|
||||
- 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. TODO(nathanmittler)
|
||||
* 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.
|
||||
@ -29,10 +49,42 @@
|
||||
* TODO(jieluo)
|
||||
|
||||
Objective-C (Beta)
|
||||
* TODO(thomasvl)
|
||||
* 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)
|
||||
* TODO(jonskeet)
|
||||
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)
|
||||
|
Loading…
Reference in New Issue
Block a user