1. 25 Mar, 2015 1 commit
  2. 29 Apr, 2011 1 commit
  3. 02 Feb, 2011 1 commit
  4. 08 Dec, 2010 1 commit
  5. 02 Nov, 2010 1 commit
  6. 28 Sep, 2010 1 commit
  7. 09 Jan, 2010 1 commit
  8. 18 Dec, 2009 2 commits
  9. 13 Aug, 2009 1 commit
  10. 06 Aug, 2009 1 commit
  11. 13 May, 2009 1 commit
  12. 22 Apr, 2009 1 commit
  13. 18 Apr, 2009 1 commit
  14. 05 Dec, 2008 1 commit
  15. 21 Nov, 2008 1 commit
    • kenton@google.com's avatar
      Integrate changes from internal code. · 26bd9eee
      kenton@google.com authored
      protoc
      * Enum values may now have custom options, using syntax similar to field
        options.
      * Fixed bug where .proto files which use custom options but don't actually
        define them (i.e. they import another .proto file defining the options)
        had to explicitly import descriptor.proto.
      * Adjacent string literals in .proto files will now be concatenated, like in
        C.
      
      C++
      * Generated message classes now have a Swap() method which efficiently swaps
        the contents of two objects.
      * All message classes now have a SpaceUsed() method which returns an estimate
        of the number of bytes of allocated memory currently owned by the object.
        This is particularly useful when you are reusing a single message object
        to improve performance but want to make sure it doesn't bloat up too large.
      * New method Message::SerializeAsString() returns a string containing the
        serialized data.  May be more convenient than calling
        SerializeToString(string*).
      * In debug mode, log error messages when string-type fields are found to
        contain bytes that are not valid UTF-8.
      * Fixed bug where a message with multiple extension ranges couldn't parse
        extensions.
      * Fixed bug where MergeFrom(const Message&) didn't do anything if invoked on
        a message that contained no fields (but possibly contained extensions).
      * Fixed ShortDebugString() to not be O(n^2).  Durr.
      * Fixed crash in TextFormat parsing if the first token in the input caused a
        tokenization error.
      
      Java
      * New overload of mergeFrom() which parses a slice of a byte array instead
        of the whole thing.
      * New method ByteString.asReadOnlyByteBuffer() does what it sounds like.
      * Improved performance of isInitialized() when optimizing for code size.
      
      Python
      * Corrected ListFields() signature in Message base class to match what
        subclasses actually implement.
      * Some minor refactoring.
      26bd9eee
  16. 16 Oct, 2008 1 commit
  17. 24 Sep, 2008 1 commit
    • kenton@google.com's avatar
      Integrate changes from internal Google-internal branch. · 24bf56fb
      kenton@google.com authored
        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
      24bf56fb
  18. 19 Sep, 2008 1 commit
  19. 15 Sep, 2008 1 commit
  20. 27 Aug, 2008 1 commit
  21. 18 Aug, 2008 1 commit
  22. 10 Jul, 2008 1 commit