OLD | NEW |
| 1 2012-09-19 version 2.5.0: |
| 2 |
| 3 General |
| 4 * New notion "import public" that allows a proto file to forward the content |
| 5 it imports to its importers. For example, |
| 6 // foo.proto |
| 7 import public "bar.proto"; |
| 8 import "baz.proto"; |
| 9 |
| 10 // qux.proto |
| 11 import "foo.proto"; |
| 12 // Stuff defined in bar.proto may be used in this file, but stuff from |
| 13 // baz.proto may NOT be used without importing it explicitly. |
| 14 This is useful for moving proto files. To move a proto file, just leave |
| 15 a single "import public" in the old proto file. |
| 16 * New enum option "allow_alias" that specifies whether different symbols can |
| 17 be assigned the same numeric value. Default value is "true". Setting it to |
| 18 false causes the compiler to reject enum definitions where multiple symbols |
| 19 have the same numeric value. |
| 20 |
| 21 C++ |
| 22 * New generated method set_allocated_foo(Type* foo) for message and string |
| 23 fields. This method allows you to set the field to a pre-allocated object |
| 24 and the containing message takes the ownership of that object. |
| 25 * Added SetAllocatedExtension() and ReleaseExtension() to extensions API. |
| 26 * Custom options are now formatted correctly when descriptors are printed in |
| 27 text format. |
| 28 * Various speed optimizations. |
| 29 |
| 30 Java |
| 31 * Comments in proto files are now collected and put into generated code as |
| 32 comments for corresponding classes and data members. |
| 33 * Added Parser to parse directly into messages without a Builder. For |
| 34 example, |
| 35 Foo foo = Foo.getParser().ParseFrom(input); |
| 36 Using Parser is ~25% faster than using Builder to parse messages. |
| 37 * Added getters/setters to access the underlying ByteString of a string field |
| 38 directly. |
| 39 * ByteString now supports more operations: substring(), prepend(), and |
| 40 append(). The implementation of ByteString uses a binary tree structure |
| 41 to support these operations efficiently. |
| 42 * New method findInitializationErrors() that lists all missing required |
| 43 fields. |
| 44 * Various code size and speed optimizations. |
| 45 |
| 46 Python |
| 47 * Added support for dynamic message creation. DescriptorDatabase, |
| 48 DescriptorPool, and MessageFactory work like their C++ couterparts to |
| 49 simplify Descriptor construction from *DescriptorProtos, and MessageFactory |
| 50 provides a message instance from a Descriptor. |
| 51 * Added pickle support for protobuf messages. |
| 52 * Unknown fields are now preserved after parsing. |
| 53 * Fixed bug where custom options were not correctly populated. Custom |
| 54 options can be accessed now. |
| 55 * Added EnumTypeWrapper that provides better accessibility to enum types. |
| 56 * Added ParseMessage(descriptor, bytes) to generate a new Message instance |
| 57 from a descriptor and a byte string. |
| 58 |
1 2011-05-01 version 2.4.1: | 59 2011-05-01 version 2.4.1: |
2 | 60 |
3 C++ | 61 C++ |
4 * Fixed the frendship problem for old compilers to make the library now gcc 3 | 62 * Fixed the frendship problem for old compilers to make the library now gcc 3 |
5 compatible again. | 63 compatible again. |
6 * Fixed vcprojects/extract_includes.bat to extract compiler/plugin.h. | 64 * Fixed vcprojects/extract_includes.bat to extract compiler/plugin.h. |
7 | 65 |
8 Java | 66 Java |
9 * Removed usages of JDK 1.6 only features to make the library now JDK 1.5 | 67 * Removed usages of JDK 1.6 only features to make the library now JDK 1.5 |
10 compatible again. | 68 compatible again. |
(...skipping 450 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
461 contain extra zeros. | 519 contain extra zeros. |
462 * Fix Python service CallMethod() implementation. | 520 * Fix Python service CallMethod() implementation. |
463 | 521 |
464 Other | 522 Other |
465 * Improved readmes. | 523 * Improved readmes. |
466 * VIM syntax highlighting improvements. | 524 * VIM syntax highlighting improvements. |
467 | 525 |
468 2008-07-07 version 2.0.0: | 526 2008-07-07 version 2.0.0: |
469 | 527 |
470 * First public release. | 528 * First public release. |
OLD | NEW |