aboutsummaryrefslogtreecommitdiffhomepage
path: root/python
Commit message (Collapse)AuthorAge
* Update version number in trunk to 2.3.1.Gravatar kenton@google.com2010-01-09
|
* Tweak doc comments.Gravatar kenton@google.com2010-01-08
|
* Address comments from various code reviews.Gravatar kenton@google.com2010-01-07
|
* Actually, that last revision can be simpler -- we don't need to parse ↵Gravatar kenton@google.com2009-12-23
| | | | strings at all, as simply entering 1e1000 as a float literal in Python will be evaluated as infinity.
* In Python, avoid relying on float('inf') and float('nan') as these don't ↵Gravatar kenton@google.com2009-12-23
| | | | work on Windows with Python pre-2.6.
* Same as r275 except for Python.Gravatar kenton@google.com2009-12-23
|
* Set version to 2.3.0-pre.Gravatar kenton@google.com2009-12-18
|
* Massive roll-up of changes. See CHANGES.txt.Gravatar kenton@google.com2009-12-18
|
* Set version number to 2.2.1 in trunk.Gravatar kenton@google.com2009-08-13
|
* Update version number to 2.2.0-pre.Gravatar kenton@google.com2009-08-06
|
* Submit recent changes from internal branch, including "lite mode" forGravatar kenton@google.com2009-07-29
| | | | | C++ and Java. See CHANGES.txt for more details.
* Update version number in trunk.Gravatar kenton@google.com2009-05-13
|
* Fix test failure on 64-bit python.Gravatar kenton@google.com2009-05-01
|
* Integrate recent changes from Google-internal code tree. See CHANGES.txtGravatar kenton@google.com2009-04-25
| | | | | for details.
* Handle .exe extension when looking for protoc in setup.py.Gravatar kenton@google.com2009-04-22
|
* setup.py shouldn't fail if protoc path contains whitespace.Gravatar kenton@google.com2009-04-18
|
* Update ez_setup.py to latest version, so it works with Python 2.6.Gravatar kenton@google.com2009-04-18
|
* Improve performance of Python serialization. Patch from Will Pierce.Gravatar kenton@google.com2009-04-18
|
* Generate field number constants. Patch from Michael Poole.Gravatar kenton@google.com2009-04-18
|
* Push out changes from internal codebase.Gravatar kenton@google.com2009-01-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Adding slicing support for repeated scalar fields and get/delete slice for ↵Gravatar pesho.petrov2008-12-24
| | | | composite fields.
* Update trunk version to 2.0.4-SNAPSHOT.Gravatar kenton@google.com2008-12-05
|
* Fix call to superclass.__init__() to work on newer versions of Python.Gravatar kenton@google.com2008-12-02
|
* Integrate changes from internal code.Gravatar kenton@google.com2008-11-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Update version number to 2.0.3-SNAPSHOT.Gravatar kenton@google.com2008-10-16
|
* * Fixed template specialization syntax that MSVC 2005 didn't like. Not sure ifGravatar kenton@google.com2008-10-03
| | | | | | it was valid or not. * Moved UTF-8 coding directive to the right place in reflection_test.py.
* Integrate changes from internal Google-internal branch.Gravatar kenton@google.com2008-09-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Work around absence of hash_map.Gravatar kenton@google.com2008-09-19
| | | | | Also, update version numbers to 2.0.2-SNAPSHOT.
* Add code suggested by Michal Januszewski <michalj@gmail.com> to ensure thatGravatar temporal2008-09-15
| | | | | | | Python tests run correctly even when a previous version of the library is already installed. I was unable to reproduce his problem on my machine but the fix seems harmless enough.
* 2.0.1 release.Gravatar temporal2008-08-27
|
* Add missing module to setup.py.Gravatar temporal2008-08-18
|
* Add missing file.Gravatar temporal2008-08-13
|
* Integrate recent changes from google3.Gravatar temporal2008-08-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | protoc - New flags --encode and --decode can be used to convert between protobuf text format and binary format from the command-line. - New flag --descriptor_set_out can be used to write FileDescriptorProtos for all parsed files directly into a single output file. This is particularly useful if you wish to parse .proto files from programs written in languages other than C++: just run protoc as a background process and have it output a FileDescriptorList, then parse that natively. C++ - Reflection objects are now per-class rather than per-instance. To make this possible, the Reflection interface had to be changed such that all methods take the Message instance as a parameter. This change improves performance significantly in memory-bandwidth-limited use cases, since it makes the message objects smaller. Note that source-incompatible interface changes like this will not be made again after the library leaves beta. Python - MergeFrom(message) and CopyFrom(message) are now implemented. - SerializeToString() raises an exception if the message is missing required fields. - Code organization improvements. - Fixed doc comments for RpcController and RpcChannel, which had somehow been swapped.
* Applied Ulrich Kunitz's patches to slightly optimize Python serialization code.Gravatar temporal2008-07-27
|
* Sync code with Google-internal branch. Changes:Gravatar temporal2008-07-23
| | | | | | | | | | | | | | | | | | | | | | Protoc (parser) - Improved error message when an enum value's name conflicts with another symbol defined in the enum type's scope, e.g. if two enum types declared in the same scope have values with the same name. This is disallowed for compatibility with C++, but this wasn't clear from the error. C++ - Restored the set_foo(const char*) accessor for "bytes" type because some code inside Google depends on it. However, set_foo(const char*, int) is still there (and actually is changed to take const void*). - Fixed TokenizerTest when compiling with -DNDEBUG on Linux. - Other irrelevant tweaks. Java - Fixed UnknownFieldSet's parsing of varints larger than 32 bits. - Fixed TextFormat's parsing of "inf" and "nan". - Fixed TextFormat's parsing of comments. Python - Fixed text_format_test on Windows where floating-point exponents sometimes contain extra zeros.
* misc. stuff:Gravatar temporal2008-07-21
| | | | | | | | | - Improved readmes. - Fixed incorrect definition of kint32min. - Fixed absolute output paths on Windows. - Added info to Java POM that will be required when we upload the package to a Maven repo.
* Fix Python service CallMethod() implementation.Gravatar temporal2008-07-18
| | | | | Patch from Johan Euphrosine <proppy@aminche.com>
* Initial checkin.Gravatar temporal2008-07-10