1. 28 Apr, 2009 7 commits
  2. 27 Apr, 2009 1 commit
  3. 25 Apr, 2009 1 commit
  4. 22 Apr, 2009 5 commits
  5. 21 Apr, 2009 1 commit
    • kenton@google.com's avatar
      Update bundled gtest to latest version (1.3.0) and include it as a · 37ad00d2
      kenton@google.com authored
      nested autoconf package rather than as raw source.  This way we can
      trivially update it again in the future.
      
      Actually, this change doesn't even include gtest in protobuf's SVN.
      Instead, we auto-download it when autogen.sh is invoked.  Note that
      it will be included in release distributions, though.
      
      TODO:
      * Add a configure option to use the system's installed gtest rather
        than the bundled copy.  Apparently the gtest maintainers are working
        on some general-purpose autoconf macros which will do this
        automagically.
      * Update MSVC project files.
      37ad00d2
  6. 18 Apr, 2009 5 commits
  7. 16 Apr, 2009 2 commits
  8. 15 Apr, 2009 1 commit
  9. 05 Mar, 2009 3 commits
  10. 10 Feb, 2009 1 commit
  11. 22 Jan, 2009 1 commit
    • kenton@google.com's avatar
      Push out changes from internal codebase. · 2d6daa72
      kenton@google.com authored
      All Languages
      * Repeated fields of primitive types (types other that string, group, and
        nested messages) may now use the option [packed = true] to get a more
        efficient encoding.  In the new encoding, the entire list is written
        as a single byte blob using the "length-delimited" wire type.  Within
        this blob, the individual values are encoded the same way they would
        be normally except without a tag before each value (thus, they are
        tightly "packed").
      
      C++
      * UnknownFieldSet now supports STL-like iteration.
      * Message interface has method ParseFromBoundedZeroCopyStream() which parses
        a limited number of bytes from an input stream rather than parsing until
        EOF.
      
      Java
      * Fixed bug where Message.mergeFrom(Message) failed to merge extensions.
      * Message interface has new method toBuilder() which is equivalent to
        newBuilderForType().mergeFrom(this).
      * All enums now implement the ProtocolMessageEnum interface.
      * Setting a field to null now throws NullPointerException.
      * Fixed tendency for TextFormat's parsing to overflow the stack when
        parsing large string values.  The underlying problem is with Java's
        regex implementation (which unfortunately uses recursive backtracking
        rather than building an NFA).  Worked around by making use of possesive
        quantifiers.
      
      Python
      * Updated RPC interfaces to allow for blocking operation.  A client may
        now pass None for a callback when making an RPC, in which case the
        call will block until the response is received, and the response
        object will be returned directly to the caller.  This interface change
        cannot be used in practice until RPC implementations are updated to
        implement it.
      2d6daa72
  12. 24 Dec, 2008 1 commit
  13. 05 Dec, 2008 2 commits
  14. 04 Dec, 2008 1 commit
  15. 02 Dec, 2008 3 commits
  16. 01 Dec, 2008 1 commit
  17. 25 Nov, 2008 1 commit
  18. 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
  19. 14 Nov, 2008 1 commit
  20. 07 Nov, 2008 1 commit