A note on the "allow_alias" option: we plan to flip the default value to "false" in a future release. Projects using enum aliases should set this option to "true" in their proto files, otherwise they might be broken by future protobuf releases.
On Wednesday, February 27, 2013 12:02:19 AM UTC-8, Feng Xiao wrote: > > The final release of Protobuf 2.5.0 is now available: > http://code.google.com/p/protobuf/downloads/list > > Documentation will be updated soon. > > CHANGES > ======== > 2013-02-27 version 2.5.0: > > General > * New notion "import public" that allows a proto file to forward the > content > it imports to its importers. For example, > // foo.proto > import public "bar.proto"; > import "baz.proto"; > > // qux.proto > import "foo.proto"; > // Stuff defined in bar.proto may be used in this file, but stuff > from > // baz.proto may NOT be used without importing it explicitly. > This is useful for moving proto files. To move a proto file, just leave > a single "import public" in the old proto file. > * New enum option "allow_alias" that specifies whether different symbols > can > be assigned the same numeric value. Default value is "true". Setting > it to > false causes the compiler to reject enum definitions where multiple > symbols > have the same numeric value. > > C++ > * New generated method set_allocated_foo(Type* foo) for message and > string > fields. This method allows you to set the field to a pre-allocated > object > and the containing message takes the ownership of that object. > * Added SetAllocatedExtension() and ReleaseExtension() to extensions API. > * Custom options are now formatted correctly when descriptors are > printed in > text format. > * Various speed optimizations. > > Java > * Comments in proto files are now collected and put into generated code > as > comments for corresponding classes and data members. > * Added Parser to parse directly into messages without a Builder. For > example, > Foo foo = Foo.getParser().ParseFrom(input); > Using Parser is ~25% faster than using Builder to parse messages. > * Added getters/setters to access the underlying ByteString of a string > field > directly. > * ByteString now supports more operations: substring(), prepend(), and > append(). The implementation of ByteString uses a binary tree structure > to support these operations efficiently. > * New method findInitializationErrors() that lists all missing required > fields. > * Various code size and speed optimizations. > > Python > * Added support for dynamic message creation. DescriptorDatabase, > DescriptorPool, and MessageFactory work like their C++ couterparts to > simplify Descriptor construction from *DescriptorProtos, and > MessageFactory > provides a message instance from a Descriptor. > * Added pickle support for protobuf messages. > * Unknown fields are now preserved after parsing. > * Fixed bug where custom options were not correctly populated. Custom > options can be accessed now. > * Added EnumTypeWrapper that provides better accessibility to enum types. > * Added ParseMessage(descriptor, bytes) to generate a new Message > instance > from a descriptor and a byte string. > -- You received this message because you are subscribed to the Google Groups "Protocol Buffers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/protobuf?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
