diff options
author | kenton@google.com <kenton@google.com@630680e5-0e50-0410-840e-4b1c322b438d> | 2008-09-24 20:31:01 +0000 |
---|---|---|
committer | kenton@google.com <kenton@google.com@630680e5-0e50-0410-840e-4b1c322b438d> | 2008-09-24 20:31:01 +0000 |
commit | 24bf56fb3a2fab42d355b15de11782c3144b9e80 (patch) | |
tree | cf9cfeb512a4aa1b01ba85506e9f0a68f8817f12 /CHANGES.txt | |
parent | 3121a56ab46ecc7cd9cb135693ebe221b051029e (diff) | |
download | protobuf-24bf56fb3a2fab42d355b15de11782c3144b9e80.tar.gz protobuf-24bf56fb3a2fab42d355b15de11782c3144b9e80.tar.bz2 protobuf-24bf56fb3a2fab42d355b15de11782c3144b9e80.zip |
Integrate changes from internal Google-internal branch.
General
* License changed from Apache 2.0 to New BSD.
* It is now possible to define custom "options", which are basically
annotations which may be placed on definitions in a .proto file.
For example, you might define a field option called "foo" like so:
import "google/protobuf/descriptor.proto"
extend google.protobuf.FieldOptions {
optional string foo = 12345;
}
Then you annotate a field using the "foo" option:
message MyMessage {
optional int32 some_field = 1 [(foo) = "bar"]
}
The value of this option is then visible via the message's
Descriptor:
const FieldDescriptor* field =
MyMessage::descriptor()->FindFieldByName("some_field");
assert(field->options().GetExtension(foo) == "bar");
This feature has been implemented and tested in C++ and Java.
Other languages may or may not need to do extra work to support
custom options, depending on how they construct descriptors.
C++
* Fixed some GCC warnings that only occur when using -pedantic.
* Improved static initialization code, making ordering more
predictable among other things.
* TextFormat will no longer accept messages which contain multiple
instances of a singular field. Previously, the latter instance
would overwrite the former.
* Now works on systems that don't have hash_map.
Python
* Strings now use the "unicode" type rather than the "str" type.
String fields may still be assigned ASCII "str" values; they will
automatically be converted.
* Adding a property to an object representing a repeated field now
raises an exception. For example:
# No longer works (and never should have).
message.some_repeated_field.foo = 1
Diffstat (limited to 'CHANGES.txt')
-rw-r--r-- | CHANGES.txt | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/CHANGES.txt b/CHANGES.txt index a89b8ee1..ed7ed33b 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,3 +1,48 @@ +2008-09-24 version 2.0.2: +
+ General + * License changed from Apache 2.0 to New BSD. + * It is now possible to define custom "options", which are basically + annotations which may be placed on definitions in a .proto file. + For example, you might define a field option called "foo" like so: + import "google/protobuf/descriptor.proto" + extend google.protobuf.FieldOptions { + optional string foo = 12345; + } + Then you annotate a field using the "foo" option: + message MyMessage { + optional int32 some_field = 1 [(foo) = "bar"] + } + The value of this option is then visible via the message's + Descriptor: + const FieldDescriptor* field = + MyMessage::descriptor()->FindFieldByName("some_field"); + assert(field->options().GetExtension(foo) == "bar"); + This feature has been implemented and tested in C++ and Java. + Other languages may or may not need to do extra work to support + custom options, depending on how they construct descriptors. + + C++ + * Fixed some GCC warnings that only occur when using -pedantic. + * Improved static initialization code, making ordering more + predictable among other things. + * TextFormat will no longer accept messages which contain multiple + instances of a singular field. Previously, the latter instance + would overwrite the former.
+ * Now works on systems that don't have hash_map. + + Java
+ * Print @Override annotation in generated code where appropriate.
+
+ Python + * Strings now use the "unicode" type rather than the "str" type. + String fields may still be assigned ASCII "str" values; they will + automatically be converted. + * Adding a property to an object representing a repeated field now + raises an exception. For example: + # No longer works (and never should have). + message.some_repeated_field.foo = 1 +
2008-08-15 version 2.0.1: protoc
|