Commit Graph

248 Commits

Author SHA1 Message Date
Dan O'Reilly
fe7d9379df Fixing some long/int bugs
Signed-off-by: Dan O'Reilly <oreilldf@gmail.com>
2015-08-14 15:26:33 -04:00
Dan O'Reilly
981d6bf2f7 Build protobuf files in as part of tox runs.
Signed-off-by: Dan O'Reilly <oreilldf@gmail.com>
2015-08-13 01:24:05 -04:00
Dan O'Reilly
833c046fb7 Fixing some tests
Signed-off-by: Dan O'Reilly <oreilldf@gmail.com>
2015-08-13 01:17:26 -04:00
Dan O'Reilly
e47cdd5a55 Merge remote-tracking branch 'upstream/master' into py2_py3_straddle
Conflicts:
	python/google/protobuf/descriptor_pool.py
	python/google/protobuf/internal/api_implementation_default_test.py
	python/google/protobuf/internal/cpp_message.py
	python/google/protobuf/internal/descriptor_database_test.py
	python/google/protobuf/internal/descriptor_pool_test.py
	python/google/protobuf/internal/descriptor_python_test.py
	python/google/protobuf/internal/descriptor_test.py
	python/google/protobuf/internal/generator_test.py
	python/google/protobuf/internal/message_factory_python_test.py
	python/google/protobuf/internal/message_factory_test.py
	python/google/protobuf/internal/message_test.py
	python/google/protobuf/internal/proto_builder_test.py
	python/google/protobuf/internal/python_message.py
	python/google/protobuf/internal/reflection_test.py
	python/google/protobuf/internal/service_reflection_test.py
	python/google/protobuf/internal/symbol_database_test.py
	python/google/protobuf/internal/text_encoding_test.py
	python/google/protobuf/internal/text_format_test.py
	python/google/protobuf/internal/unknown_fields_test.py
	python/google/protobuf/internal/wire_format_test.py
	python/google/protobuf/pyext/descriptor_cpp2_test.py
	python/google/protobuf/pyext/message_factory_cpp2_test.py
	python/google/protobuf/pyext/reflection_cpp2_generated_test.py
	python/setup.py
	ruby/lib/google/protobuf/message_exts.rb
2015-08-12 23:57:46 -04:00
Bo Yang
9f563bd0d8 Internal local modifications. 2015-07-09 12:39:52 -07:00
Bo Yang
e107e2d68e Update version number to 3.0.0-alpha-4 2015-05-29 11:00:57 -07:00
Feng Xiao
8e1426800e Replace the check of "../.git"
Checking the existence of ".git" is not the right way to check whether we
are in develop environment because we distribute source tar-balls where
such a ".git" directory does not exist. Replaced it with checking .proto
files.
2015-05-26 00:11:09 -07:00
teboring
9839c0c2c9 Update version number to 3.0.0-alpha-3 2015-05-23 09:20:23 -07:00
Bo Yang
5db217305f down-integrate internal changes 2015-05-21 19:32:02 -07:00
Tamir Duberstein
e4f4d9fe83 Only generate protos in development
Fixes #333.
2015-05-15 17:53:00 -04:00
Tamir Duberstein
5018c433ed Use glob to simplify 2015-05-15 17:41:04 -04:00
Joshua Haberman
cd141089a1 Merge pull request #255 from btabibian/master
adding globals() to exec call for python3 compatibility
2015-05-07 21:45:15 -07:00
Behzad Tabibian
2bf92b3be9 mend 2015-05-07 19:04:56 +02:00
Tamir Duberstein
21a7cf965a Noramlize 'setup.py' to fit conventions:
- Comply with flake8, except for indentation width, which is 2.

- Move human-centric metadata to top of 'setup()' call.

- Add Trove classifiers for supported Python versions.

- Use 'find_packages()' + MANIFEST.in to avoid errors in listing
  modules and packages.

Closes #131 and #161.
2015-05-06 17:02:57 -04:00
Tamir Duberstein
4f5cbe6ead Whitespace 2015-05-06 17:02:57 -04:00
Tamir Duberstein
9d9d0b70de Don't hard-code the python path 2015-05-06 17:02:57 -04:00
Behzad Tabibian
4b4770280d adding globals() to exec call for python3 compatibility 2015-04-28 11:09:05 +02:00
Tamir Duberstein
9f42f5f4a4 [PYTHON] Drop dependency on 'google.apputils'.
Use stdlib's 'unittest' instead.
2015-04-10 19:43:51 -04:00
Tamir Duberstein
dab96f19ee [PYTHON] Remove awkward duplicate tests
We already run all tests with and without `--cpp_implementation`
2015-04-10 19:43:50 -04:00
Tamir Duberstein
d632bc76f1 [PYTHON] README: explain homebrew shenanigans 2015-04-10 15:42:23 -04:00
Tamir Duberstein
a46a2e9422 [PYTHON] Remove unnecessary include_dir 2015-04-10 15:15:53 -04:00
Tamir Duberstein
ef1b747a42 [PYTHON] Clarify API version comment 2015-04-10 09:46:21 -04:00
Josh Haberman
2bd813b1b5 Added Python to Travis build and clarified setup instructions. 2015-04-09 16:41:58 -07:00
Tamir Duberstein
8ede2817a0 Remove useless file that doesn't load
This file was broken in ada6556.
2015-04-08 18:33:04 -04:00
Joshua Haberman
42809ef8fe Merge pull request #196 from Zex/master
Fix raise and except syntax issues for py3
2015-03-31 12:30:17 -07:00
jesse
cd04e9b702 rename python README, and fix markdown in java and python respectively 2015-03-16 15:15:59 -07:00
Jisi Liu
4573e110b8 Fix python versions to comply with pep-0440.
Change-Id: Ifb4958e4f371b36f249faa466473f851697edb5c
2015-03-04 16:45:13 -08:00
Jisi Liu
e4a9ace541 Merge remote-tracking branch 'github/alpha-2-fix'
Change-Id: I4c5186b8451713fda38e60dc3f828da6196c7a5e
2015-03-04 15:37:21 -08:00
Jisi Liu
8e61d323bf Fix python package version to alpha-2.
Change-Id: Iae16dcae833959681a5c8e98764e5d1071e6fdcf
2015-03-04 15:28:35 -08:00
Jisi Liu
ed3c8a11f9 Merge pull request #225 from google/post-alpha2-integrate
Post alpha2 integrate from google internal for C++ and Java
2015-03-03 17:51:05 -08:00
Jisi Liu
40f2df3c16 Bump the version number to 3.0.0-alpha-3-pre
Change-Id: I33479e529b060e4fed532a827a386d3baecc835e
2015-03-02 19:31:31 -08:00
Jisi Liu
885b612f74 Down integrate from Google internal branch for C++ and Java.
- Maps for C++ lite
- C++ Arena optimizations.
- Java Lite runtime code size optimization.

Change-Id: I7537a4357c1cb385d23f9e8aa7ffdfeefe079f13
2015-02-28 17:06:49 -08:00
Josh Haberman
0b70a43736 Fixes for Python/C++ implementation in open-source:
* Rosy hack doesn't apply (that test should be removed
    for the open-source release).

  * Added our own copy of parameterized.py (the open-source
    version of Google Apputils doesn't contain it).

  * The C++ Descriptor object didn't implement extension_ranges.

  * Had to implement a hack around returning EncodeError, to
    work around the module-loading behavior of the test runner.
2015-02-25 20:17:32 -08:00
Jisi Liu
ada6556785 Down integrate from Google internal.
Change-Id: I34d301133eea9c6f3a822c47d1f91e136fd33145
2015-02-25 16:39:11 -08:00
Jisi Liu
7d8564f220 Update version number to 3.0.0-alpha-2
Change-Id: Icecb25db34ae5e6d5142a2d75ca7216ba018abb2
2015-02-21 13:55:43 -08:00
zex
a4f634ce74 fix raise syntax issues for py3,
fix except syntax issue for py3
2015-02-06 13:51:49 +08:00
Feng Xiao
ae11803d77 Delete unused files. 2015-01-27 11:17:18 -08:00
Tres Seaver
daeaa6a28b Declare explicit support for Python 3.3 and 3.4. 2015-01-13 16:00:33 -05:00
Tres Seaver
11de419773 Merge branch 'python-update_setup' into straddle_py2_py3 2015-01-13 15:59:09 -05:00
Tres Seaver
c0f673d0dc Merge branch 'update-ez_setup' into straddle_py2_py3 2015-01-13 15:58:47 -05:00
Tres Seaver
f1eae1a168 Test under tox: Python 2.6, 2.7, 3.3, 3.4. 2015-01-13 15:58:31 -05:00
Tres Seaver
a2abc947c0 Straddle Python 2.6, 2.7, 3.3, 3.4. 2015-01-13 15:47:55 -05:00
Tres Seaver
3d5460dd90 Don't check in derived objects. 2015-01-13 15:44:01 -05:00
Tres Seaver
71edc31f23 Compatibility with Python2.6 unittest. 2015-01-13 15:38:10 -05:00
Tres Seaver
47ee4d37c1 Use 'io.BytesIO' rather than 'cStringIO.StringIO'. 2015-01-13 15:04:41 -05:00
Tres Seaver
d25e6686d9 Typo. 2015-01-13 15:04:00 -05:00
Tres Seaver
70dcdeb62c Merge branch 'prep_for_py2_py3_straddle' into straddle_py2_py3
Conflicts:
	python/setup.py
2015-01-13 14:58:38 -05:00
Tres Seaver
fec1b8e444 Overlooked dependency. 2015-01-13 14:57:18 -05:00
Tres Seaver
9821016cfa Merge branch 'drop-apputils-dependency' into straddle_py2_py3
Conflicts:
	python/google/protobuf/internal/message_factory_test.py
	python/google/protobuf/internal/reflection_test.py
	python/google/protobuf/internal/text_format_test.py
2015-01-13 14:56:00 -05:00
Tres Seaver
7ee25830c6 Drop dependency on 'google.apputils'.
Use stdlib's 'unittest' instead.
2015-01-13 14:47:32 -05:00
Tres Seaver
f336d4b7a5 Prepare for Python2-Python3 straddle.
- Remove PY25 cruft.

- Selectively apply cleanups from 'python-modernize':

  - New exception syntax.
  - Use 'six' to handle module renames.
  - Use 'six' to handle text / binary stuff.

This PR covers most of the work from #66 which falls inside `python`
(rather than the Python code generation stuff in 'src').
2015-01-13 14:22:05 -05:00
Tres Seaver
7c7f06c50e Update to new canonical 'ez_setup.py'.
Downloaded from https://bootstrap.pypa.io/ez_setup.py.
2015-01-13 14:15:39 -05:00
Tres Seaver
e17f78bbbf Noramlize 'setup.py' to fit conventions:
- Move human-centric metadata to top of 'setup()' call.

- Add Trove classifiers for supported Python versions.

- Use 'find_packages()' + MANIFEST.in to avoid errors in listing modules
  and packages.
2015-01-13 14:09:54 -05:00
Feng Xiao
644a6a1da7 Merge pull request #143 from Ivoz/patch-1
Update python version / setuptools instructions
2014-12-22 09:52:00 -08:00
Feng Xiao
b60a6df9ae Merge pull request #46 from adalq/version
Add __version__
2014-12-20 17:46:35 -08:00
Matt Iversen
4186d4c9c9 Update python version / setuptools instructions
Reflect the change that protobuf should now only be supporting 2.6+ (I'd guess note python 3.x+ when its supported in implementation)

Refer to the Python Packaging User Guide for installing setuptools (and pip) instead of out of date telecommunity guide.
2014-12-17 20:11:08 +11:00
Adal Chiriliuc
4f0170d465 Updated __version__ 2014-12-14 20:42:46 +02:00
Feng Xiao
cb0ba5f04c Update version number to v3.0.0-pre 2014-12-10 21:05:46 -08:00
Feng Xiao
81a630c66e Update version number to v3.0.0-alpha-1 2014-12-03 11:52:21 -08:00
Feng Xiao
d1ec493a12 Fix Python C++ implementation build issues:
1. Haven't included the include path for "config.h".
  2. Use of C++11 auto keyword.
2014-11-25 15:21:08 -08:00
Feng Xiao
99aa0f9e8f Down-integrate from internal code base. 2014-11-20 16:18:53 -08:00
Feng Xiao
f157a5651c Down-integrate from internal code base (C++ maps support). 2014-11-14 11:50:31 -08:00
Feng Xiao
643d09ac7d Merge branch 'typofixes-vlajos-20141108' of https://github.com/vlajos/protobuf into typo
Conflicts:
	src/google/protobuf/compiler/java/java_file.cc
2014-11-11 11:01:32 -08:00
Feng Xiao
6ef984af4b Down-integrate from internal code base. 2014-11-10 17:34:54 -08:00
Veres Lajos
c76807211a typo fixes - https://github.com/vlajos/misspell_fixer 2014-11-08 22:59:34 +00:00
Feng Xiao
ad7f41bd57 Merge pull request #50 from dlitz/compat-py3k
setup.py fixes for Python 3
2014-11-08 02:25:53 -05:00
Feng Xiao
df5481c6b3 Update version number to 2.6.2-pre. 2014-10-21 16:47:33 -07:00
Feng Xiao
bba83652e1 Update version number to 2.6.1. 2014-10-20 17:06:06 -07:00
Dwayne Litzenberger
b460610b69 Omit google-apputils dependency under Python 3
Temporary change until a py3k-compatible google-apputils is released.
2014-10-14 13:50:52 -07:00
Dwayne Litzenberger
0fd260eae7 Use 2to3 when building under Python 3. 2014-10-14 13:47:11 -07:00
Adal Chiriliuc
374b95146e Add __version__
Added __version__ attr to package so that scripts that check local
packages to see if newer versions are available can work.

Almost all Python packages have a version attr, and the vast majority of
them name it "__version__"
2014-10-10 22:00:39 +03:00
Adal Chiriliuc
6f7aa2f678 Revert "Add __version__"
This reverts commit 5337cf564f.
2014-10-10 21:59:22 +03:00
Adal Chiriliuc
5337cf564f Add __version__
Added __version__ attr to package so that scripts that check local
packages to see if newer versions are available can work.

Almost all Python packages have a version attr, and the vast majority of
them name it "__version__"
2014-10-10 21:58:43 +03:00
Feng Xiao
d9d1da95c6 Update version number to 2.6.1rc1 2014-10-08 18:44:37 -07:00
Feng Xiao
0971bb0d57 Down-integrate from internal branch. 2014-10-07 17:44:48 -07:00
Feng Xiao
eb223ed4f7 Merge pull request #3 from dhirschfeld/pyext-fix
Explicitly specify pyext/cpp_message.py in py_modules list
2014-10-02 15:55:32 -07:00
Feng Xiao
e428862450 Replace links to code.google.com/protobuf with developers.google.com/protocol-buffers 2014-10-01 16:26:23 -07:00
David Hirschfeld
ef6eff20bd Explicitly specify pyext/cpp_message.py in py_modules list 2014-08-27 09:25:26 +01:00
jieluo@google.com
a21bf2e646 merge 2.6.0 to trunk 2014-08-25 23:26:40 +00:00
jieluo@google.com
1eba9d9c74 merge tags/2.6.0 into trunk 2014-08-25 20:17:53 +00:00
jieluo@google.com
e61b513b1f make dist complains the file name is too long and refuse to put it to tar. Change the file to a shorter name 2014-08-14 21:51:48 +00:00
jieluo@google.com
24095cc7e5 Add deleted tests back for reflection_cpp2_test.py by addtional exception catch 2014-08-14 18:04:22 +00:00
jieluo@google.com
5dd5f0d09a change python README.txt 2014-08-13 23:26:54 +00:00
jieluo@google.com
b70e586603 put python cpp tests into pyext/ 2014-08-13 21:05:19 +00:00
jieluo@google.com
7580a8929f add shared_pr.h 2014-08-12 21:28:31 +00:00
jieluo@google.com
bde4a3254a down integrate python opensource to svn 2014-08-12 21:10:30 +00:00
jieluo@google.com
4de8f55113 down integrate to svn 2014-07-18 00:47:59 +00:00
xiaofeng@google.com
2c9392f8dd Update version number in trunk 2013-02-28 06:12:28 +00:00
xiaofeng@google.com
a36f1b43e7 Exclude a failing test in MingW build. 2013-02-26 17:49:03 +00:00
xiaofeng@google.com
7f372559cc Down-integrate from internal branch 2013-02-25 10:39:39 +00:00
xiaofeng@google.com
a655b98171 Fix issue 438: add missing 'enum_type_wrapper' to setup.py 2012-12-08 18:44:32 +00:00
liujisi@google.com
e34f1f63b6 Find the protoc from environ first for python. 2012-12-05 01:25:12 +00:00
xiaofeng@google.com
eaaef0b39b Fix issues: 342, 424, 428, 430, 436 2012-12-04 00:59:40 +00:00
liujisi@google.com
ef9acc464d Update version to 2.5.0-pre 2012-11-30 22:38:00 +00:00
xiaofeng@google.com
b55a20fa2c Down-integrate from internal branch 2012-09-22 02:40:50 +00:00
liujisi@google.com
9ced30caf9 Down-integration form opensource depot 2012-08-01 06:22:19 +00:00
liujisi@google.com
e8e6eed0be Fixed a memory leak in python CPP implementation. 2011-06-07 03:38:28 +00:00
liujisi@google.com
5c24564811 Update mainline version to 2.4.2-pre. 2011-05-03 07:06:03 +00:00
liujisi@google.com
03aaa0417f Python CPP implementation now requires c++ libprotobuf installed before running
setup.py to fix RPATH problem.
2011-04-29 02:12:48 +00:00
liujisi@google.com
01cba4b16e Update mainline version to 2.4.1-pre. 2011-02-02 16:45:06 +00:00
liujisi@google.com
42e67e081a update ez_setup.py to fix the python2.6 problem. 2011-01-21 05:46:41 +00:00
liujisi@google.com
5c20ca1fcc Escape C++ Trigraphs. 2010-12-21 05:33:13 +00:00
liujisi@google.com
6f2c3b8734 Boost version number to 2.4.0-pre, add more test cases for text_format.py about unicode field. 2010-12-09 08:59:21 +00:00
liujisi@google.com
9b7f6c544a Fix issues: 223 224 242. 2010-12-08 03:45:27 +00:00
liujisi@google.com
1fd96c43a0 Add new files for vcprojs, fix issues: 165, 211, 228, 240 2010-12-07 06:23:55 +00:00
liujisi@google.com
2726e7a6eb Fix issues: 166 167 172 175 181 188 192 194 195. 2010-12-03 09:12:33 +00:00
liujisi@google.com
33165fe0d5 Submit recent changes from internal branch. See CHANGES.txt for more details. 2010-11-02 13:14:58 +00:00
kenton@google.com
80aa23df6c Fix Issue 218: Check for protoc executable in vsprojects directory. 2010-09-28 21:58:36 +00:00
kenton@google.com
27028bcb97 Fix issue 208. 2010-07-27 21:19:59 +00:00
kenton@google.com
0c293def6c Fix issue 207 2010-07-27 20:45:09 +00:00
kenton@google.com
ea75323710 Update version number in trunk to 2.3.1. 2010-01-09 01:02:25 +00:00
kenton@google.com
7b7a80eae4 Tweak doc comments. 2010-01-08 03:56:03 +00:00
kenton@google.com
535301894e Address comments from various code reviews. 2010-01-07 02:08:03 +00:00
kenton@google.com
46ed74e8d4 Actually, that last revision can be simpler -- we don't need to parse strings at all, as simply entering 1e1000 as a float literal in Python will be evaluated as infinity. 2009-12-23 02:08:05 +00:00
kenton@google.com
d0047c43d9 In Python, avoid relying on float('inf') and float('nan') as these don't work on Windows with Python pre-2.6. 2009-12-23 02:01:01 +00:00
kenton@google.com
eef5f8396d Same as r275 except for Python. 2009-12-23 01:32:45 +00:00
kenton@google.com
afd32abb75 Set version to 2.3.0-pre. 2009-12-18 02:51:26 +00:00
kenton@google.com
fccb146e3f Massive roll-up of changes. See CHANGES.txt. 2009-12-18 02:11:36 +00:00
kenton@google.com
8169c7fcde Set version number to 2.2.1 in trunk. 2009-08-13 22:41:37 +00:00
kenton@google.com
445f1023e1 Update version number to 2.2.0-pre. 2009-08-06 23:01:43 +00:00
kenton@google.com
80b1d62bfc Submit recent changes from internal branch, including "lite mode" for
C++ and Java.  See CHANGES.txt for more details.
2009-07-29 01:13:20 +00:00
kenton@google.com
1fb3d394e5 Update version number in trunk. 2009-05-13 23:20:03 +00:00
kenton@google.com
3d694ad2d8 Fix test failure on 64-bit python. 2009-05-01 23:33:31 +00:00
kenton@google.com
d37d46dfbc Integrate recent changes from Google-internal code tree. See CHANGES.txt
for details.
2009-04-25 02:53:47 +00:00
kenton@google.com
4152d554c4 Handle .exe extension when looking for protoc in setup.py. 2009-04-22 03:20:21 +00:00
kenton@google.com
a6de64aef3 setup.py shouldn't fail if protoc path contains whitespace. 2009-04-18 02:28:15 +00:00
kenton@google.com
9af2f4c50b Update ez_setup.py to latest version, so it works with Python 2.6. 2009-04-18 02:16:43 +00:00
kenton@google.com
a8e8ccf29c Improve performance of Python serialization. Patch from Will Pierce. 2009-04-18 02:01:27 +00:00
kenton@google.com
cfa2d8aa87 Generate field number constants. Patch from Michael Poole. 2009-04-18 00:02:12 +00:00
kenton@google.com
2d6daa72ab Push out changes from internal codebase.
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.
2009-01-22 01:27:00 +00:00
pesho.petrov
87e64e1cee Adding slicing support for repeated scalar fields and get/delete slice for composite fields. 2008-12-24 01:07:22 +00:00
kenton@google.com
d41578239c Update trunk version to 2.0.4-SNAPSHOT. 2008-12-05 22:04:06 +00:00
kenton@google.com
eb241fadf2 Fix call to superclass.__init__() to work on newer versions of Python. 2008-12-02 02:33:13 +00:00
kenton@google.com
26bd9eee6e Integrate changes from internal code.
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.
2008-11-21 00:06:27 +00:00
kenton@google.com
7b29a2695c Update version number to 2.0.3-SNAPSHOT. 2008-10-16 22:56:18 +00:00
kenton@google.com
a41a9dd532 * Fixed template specialization syntax that MSVC 2005 didn't like. Not sure if
it was valid or not.
* Moved UTF-8 coding directive to the right place in reflection_test.py.
2008-10-03 17:27:48 +00:00
kenton@google.com
24bf56fb3a 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
2008-09-24 20:31:01 +00:00
kenton@google.com
4410396f11 Work around absence of hash_map.
Also, update version numbers to 2.0.2-SNAPSHOT.
2008-09-19 16:53:32 +00:00
temporal
bf86b546c3 Add code suggested by Michal Januszewski <michalj@gmail.com> to ensure that
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.
2008-09-15 17:58:05 +00:00
temporal
742e40975a 2.0.1 release. 2008-08-27 19:25:48 +00:00
temporal
ea9d0d85fb Add missing module to setup.py. 2008-08-18 22:38:20 +00:00
temporal
4e88f89ed5 Add missing file. 2008-08-13 16:40:30 +00:00
temporal
779f61c6a3 Integrate recent changes from google3.
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.
2008-08-13 03:15:00 +00:00
temporal
24856db0e9 Applied Ulrich Kunitz's patches to slightly optimize Python serialization code. 2008-07-27 18:38:54 +00:00
temporal
f206351d14 Sync code with Google-internal branch. Changes:
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.
2008-07-23 01:19:07 +00:00
temporal
cc930432c2 misc. stuff:
- 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.
2008-07-21 20:28:30 +00:00
temporal
e8564291e2 Fix Python service CallMethod() implementation.
Patch from Johan Euphrosine <proppy@aminche.com>
2008-07-18 16:35:38 +00:00
temporal
40ee551715 Initial checkin. 2008-07-10 02:12:20 +00:00