Commit Graph

546 Commits

Author SHA1 Message Date
Paul Yang
c7b3392201
Update version to 3.7.0 (#5749)
* Update version to 3.7.0

* Update version number for java bom
2019-02-19 15:54:45 -08:00
Adam Cozzette
776b3a8b11 Fixed infinite recursion problem with Java GeneratedMessageV3 (#5657)
GeneratedMessageV3#setUnknownFieldsProto3 was trying to delegate to
setUnknownFields but was inadvertently resulting in infinite recursion.
This commit makes setUnknownFields and setUnknownFieldsProto3 delegate
to a common private method to fix the problem and avoid confusion.
2019-02-01 11:27:19 -08:00
Adam Cozzette
1ee15baefc Updated version to 3.7.0rc2 2019-01-30 21:08:04 -08:00
Adam Cozzette
650915742d Updated pom.xml files
The Nexus repository now seems to require SCM and developer information
to be present in the POM file.
2019-01-30 13:25:58 -08:00
Adam Cozzette
0e3f1f4ad7 Fixed Javadoc errors 2019-01-30 13:25:58 -08:00
Hao Nguyen
bc5154e27f Update guava version 2019-01-24 13:46:19 -08:00
Hao Nguyen
329adbed0d Update gauva version to 26 2019-01-24 13:40:43 -08:00
Hao Nguyen
7187cfd275 Update version number in java/bom/pom.xml 2019-01-24 11:20:14 -08:00
Hao Nguyen
d5be2baa46 Update version to 3.7.0 2019-01-24 10:23:02 -08:00
Yilun Chong
0adb74c2d3 Down-integrate internal changes to github. (#5555)
* Down-integrate internal changes to github.

* fix python conformance test

* fix csharp conformance test

* add back java map_lite_test.proto's optimize for option

* fix php conformance test
2019-01-08 15:06:30 -08:00
Bo Yang
f8fc10df1c Revert change to map_lite_test.proto 2018-12-20 15:59:06 -08:00
Bo Yang
624a40a387 Down-integrate internal changes to github. 2018-12-20 14:21:20 -08:00
Paul Yang
cecba296b8
Down-integrate internal changes (#5467)
* Down-integrate internal changes

* Update generated code for php, objc and csharp.

* Add missing dependency in conformance_php
2018-12-14 16:05:03 -08:00
Hao Nguyen
4b02f652e0 Make sure to add a new line at the end of XML files 2018-12-14 15:10:11 -08:00
Hao Nguyen
9349e23827 Replace update_version shell script with a python script, which is much better at handling XML rewrite. Update the PHP version too. As part of rewrite, some XML file format will change a little, but the semantics is still the same so it should be okay. 2018-12-14 15:05:48 -08:00
Hao Nguyen
6cb87bd157 Use docker for csharp, java_compatibility, and python_compatibility. Remove prepare_build_linux_rc that is no longer needed. 2018-12-13 15:20:25 -08:00
Adam Cozzette
46a48e49aa
Merge pull request #5332 from acozzette/integrate
Integrated internal changes from Google
2018-11-12 13:55:00 -08:00
Elliotte Rusty Harold
398a47b90b java: add BOM (#5117) 2018-11-12 11:31:42 -08:00
Adam Cozzette
c81b4202d1 Fixed Java tests 2018-11-09 11:40:27 -08:00
Adam Cozzette
dbc644fcf0 Updated guava-testlib version in pom.xml 2018-11-09 11:40:27 -08:00
Adam Cozzette
0894e07536 Integrated internal changes from Google 2018-11-09 11:28:22 -08:00
Adrián Nieto Rodríguez
31d6b4e30e Fix Javadoc typo (#5280) 2018-10-22 14:05:32 -07:00
Elliotte Harold
feea49b5b5 remove obsolete parent 2018-10-02 07:11:47 -04:00
Feng Xiao
3bf0245fd2
Merge pull request #5122 from elharo/guava20
update to Guava 20
2018-09-10 13:46:38 -07:00
Joshua Haberman
f9d8138376
Merge pull request #5109 from haberman/integrate
Down-integrate from google3.
2018-09-07 16:15:38 -07:00
Josh Haberman
4049a24f2b Reverted changes to map_lite_test.proto. 2018-09-07 09:43:14 -07:00
Elliotte Rusty Harold
bb3bff0cd4 update to Guava 20 2018-09-07 08:33:14 -04:00
Kyle Krueger
21ebeed20a
Update README.md with gradle instructions for java 2018-09-06 09:43:26 +02:00
Josh Haberman
d61aede89c Down-integrate from google3. 2018-09-04 10:58:54 -07:00
Elliotte Harold
259331566b update version 2018-08-27 21:54:07 -04:00
Feng Xiao
afe98de32a Replace repo links. 2018-08-22 11:55:30 -07:00
Feng Xiao
acd5b05e9f Fix failing tests.
1. Fix C++ tests.
  * Add missing files to Makefile.am and fix distcheck in tests.sh
  * Remove BUILT_SOURCES from conformance/Makefile.am.
  * Add some missing override keyword.
  * Add a type cast to int64 because our StrCat() in stubs can't handle size_t.
2. Fix Java tests.
  * Add missing test dependency on guava in pom.xml.
  * Include newly referenced test data in test resources.
  * Manually fix map_lite_test.proto which is overwritten because it's mapped
    from map_test.proto in google3.
  * Add back "optimize_for = LITE_RUNTIME" which is still needed to keep the
    opensource test passing as it's still running lite tests.
  * Add a type cast in newBuilder() because without it the code doesn't compile
    with openjdk javac 1.8 (the compiler can't figure if it's the right type
    due to complex generic typing).
3. Fix Python tests.
  * Remove/replace references to <hash_map>.
  * Suppress more warnings in setup.py.
  * Replace incorrect header inclusion for google/protobuf/proto_api.h.
  * Add strings::EndsWith to google/protobuf/stubs/strutil.h because it's
    referenced in the updated python C extension code.
  * Replace proto2 with google::protobuf. The proto2 name is leaked to
    opensource because we removed the subsitition rule for proto2 namespace
    but only fixed C++ source code and forgot to update python C extension code.
2018-08-09 21:21:01 -07:00
Feng Xiao
a8465b738e Merge master branch. 2018-08-08 17:14:42 -07:00
Feng Xiao
6bbe197e9c Down-integrate from google3. 2018-08-08 17:00:41 -07:00
Aleksej Kazmin
5ddc6874e4
Fix typo in FieldMaskTree.java warning 2018-08-07 17:46:34 +03:00
Adam Cozzette
94d55e5292 Merge branch '3.6.x' into merge-3-6-x 2018-08-01 13:44:55 -07:00
vijay-bhatt
0f56f27ffc Ignore unknown enum received in json when ignoreUnknownFields flag is set (#4825)
* Ignore unknown enum received in json when ignoreUnknownFields flag is set.
2018-07-30 13:36:46 -07:00
Adam Cozzette
9e1286b949 Updated version numbers to 3.6.1 2018-07-27 13:30:28 -07:00
Jonathan Haber
964201af37 Store the class object itself (#4927)
* Store the class object itself

* Add test for backwards compatibility

* Rename and add test

* Add comments
2018-07-23 13:45:22 -07:00
Adam Cozzette
82d3d7d250 Merge branch '3.6.x' into merge-3-6-x 2018-06-25 13:22:10 -07:00
Feng Xiao
4fda0f783b
Merge pull request #2811 from Dunemaster/master
Java: Mark sun.misc dependency as optional
2018-06-11 15:36:05 -07:00
Jisi Liu
45eb28b588 Update version number to 3.6.0 2018-05-14 16:06:22 -07:00
Anuraag Agrawal
92ac1ed6a5 Remove unsafe no-copy String allocation since it's not useful in recent Java versions. 2018-05-11 14:27:31 +09:00
Feng Xiao
7d55040eeb Cleanup + documentation for Java Lite runtime. 2018-04-12 17:58:55 -07:00
Paul Yang
c931743461
Merge branch (#4466)
* Fix setup.py for windows build.

* Bump version number to 3.5.2

* Cat the test-suite.log on errors for presubits
2018-04-02 15:55:28 -07:00
Adam Cozzette
ec57f511c1 Added map_lite_test.proto to fix LiteTest 2018-03-20 14:44:30 -07:00
Adam Cozzette
0400cca323 Integrated internal changes from Google 2018-03-13 16:37:29 -07:00
David Ostrovsky
019ceea4b3 Drop java 6 support
Fixes #4220.
2018-01-25 06:54:38 +01:00
kenji yoshida
1c3b20b122
fix typo in FieldMaskTree.java comment 2018-01-22 00:09:36 +09:00
Jisi Liu
383a4941d5 Merge remote-tracking branch 'origin/3.5.x' into master 2018-01-03 09:28:40 -08:00
Jisi Liu
050fc9a437 Update version number to 3.5.1 2017-12-19 11:00:33 -08:00
Jisi Liu
22e1cfd84a Add deprecation annotation for oneof case. 2017-12-13 14:09:50 -08:00
Adam Cozzette
0ba8eea655 Merge branch 'master' into down-integrate 2017-12-01 10:05:19 -08:00
Adam Cozzette
92a7e778e7 Integrated internal changes from Google 2017-12-01 10:05:10 -08:00
Adam Cozzette
a27da09339 Merge branch '3.5.x' into 3.5.x-merge 2017-11-30 13:34:51 -08:00
Anuraag Agrawal
3e944aec9e Add a UTF-8 decoder that uses Unsafe to directly decode a byte buffer. 2017-11-29 15:44:58 +09:00
Jisi Liu
97dd175a91 Update version number to 3.5.0 2017-11-02 14:16:22 -07:00
Jisi Liu
a08b03d4c0 Add missing files 2017-10-26 13:48:53 -07:00
Jisi Liu
cdc0d9536a Merge remote-tracking branch 'origin/3.4.x' into master 2017-10-25 14:43:07 -07:00
Jisi Liu
ca6187d5e7 Merge pull request #3578 from pherl/filedeprecation
Add @Deprecated annotation support for proto file.
2017-10-18 15:33:31 -07:00
Jisi Liu
1a7a7fca80 Merge from google internal 2017-10-18 12:22:18 -07:00
Jisi Liu
de15e73d58 Merge remote-tracking branch 'origin/3.4.x' into master 2017-10-11 14:44:03 -07:00
Jisi Liu
dba647a6b2 Bump version for minor release 2017-09-14 11:12:55 -07:00
Adam Cozzette
13fd045dbb Integrated internal changes from Google 2017-09-14 10:03:57 -07:00
Jisi Liu
f9b81690f5 Add TODO 2017-08-31 11:24:05 -07:00
Jisi Liu
baae7ea12b Add @Deprecated annotation support for proto file. 2017-08-31 10:49:58 -07:00
Jisi Liu
139775ccc0 Merge remote-tracking branch 'origin/3.4.x' into mergemaster 2017-08-18 16:25:35 -07:00
alanbur
a68a8004b5 PROTBUF-3394 Potential SIGBUS with UnsafeUtil.getLong 2017-08-08 11:56:36 +01:00
Jisi Liu
9b8f6589f2 Remove dependency on guava 20 2017-07-25 13:46:17 -07:00
Jisi Liu
759245a49a Merge from master 2017-07-25 11:52:33 -07:00
Jisi Liu
7bb39bef1a Update version number for 3.4.0 2017-07-24 16:03:49 -07:00
Jisi Liu
09354db143 Merge from Google internal for 3.4 release 2017-07-18 15:38:30 -07:00
Bo Yang
6ec0b7e4d1 Merge 3.3.x into master 2017-07-18 11:06:16 -07:00
Bo Yang
e7bcfc4241 Update version number to 3.3.2 2017-06-21 10:20:34 -07:00
Feng Xiao
129a6e2aca Revert guava depedency to version 19. 2017-05-12 15:29:08 -07:00
Feng Xiao
58538ea919 Update version number to 3.3.1 2017-05-08 16:02:08 -07:00
Adam Cozzette
9053033a50 Merge remote-tracking branch 'remotes/google/3.3.x' into merge-3.3-to-master 2017-04-27 14:55:53 -07:00
Anuraag Agrawal
bf483dfb99 Allow unknown values for Map put*Value methods just like every other enum mutation method. 2017-04-07 14:50:52 +09:00
Adam Cozzette
efec757104 Merge pull request #2937 from anuraaga/dev_rag2
Fix duplicate fields test and Any test. The repeated version is passing because nu…
2017-04-06 16:27:54 -07:00
Anuraag Agrawal
09328db1ff Fix test for unexpected type url when parsing Any. Currently, the test fails since TestAllTypes doesn't have field '@type', which is the same test as testUnknownFields. 2017-04-05 17:44:26 +09:00
Anuraag Agrawal
662f97841e Fix duplicate fields test. The repeated version is passing because null values in a repeated field are rejected and not testing what it wanted to. Also adds a oneof version that verifies the case of oneof fields of different names (currently only same name check seems to be tested).
Also fix spelling of a test.
2017-04-04 17:27:53 +09:00
Anuraag Agrawal
58373fa160 Fix error message for int64 parse error. 2017-04-03 17:35:42 +09:00
Feng Xiao
c2b3b3e04e Update Java version number and dependency. 2017-03-30 18:25:11 -07:00
Feng Xiao
84f6954ca9 Fix Java build. 2017-03-29 16:03:53 -07:00
Feng Xiao
d36c0c538a Down-integrate from google3. 2017-03-29 14:33:05 -07:00
Feng Xiao
db3ef48ede Merge pull request #2860 from prehistoric-penguin/master
Remove duplicated copyright statement
2017-03-20 10:49:48 -07:00
prehistoric-penguin
33cc25f36c Remove duplicated copyright statement 2017-03-16 11:23:07 +08:00
Josh Haberman
496cd481fa Changed scope of Java deps to "test".
This is per: https://github.com/google/protobuf/issues/2019
2017-03-15 18:27:05 -07:00
Jisi Liu
ddfc86b1f7 Merge pull request #2835 from pherl/javaep
Suppress the last unchecked warning.
2017-03-13 10:56:20 -07:00
Jisi Liu
f4f31e73f2 Suppress the last unchecked warning.
Likely to be java language issue. Varargs are considered arrays, thus
using generic with varargs will cause unchecked warning about generic
array creation.
2017-03-10 15:33:17 -08:00
Jisi Liu
f54fb9d729 Merge pull request #2832 from pherl/javaep
Fix java code according to error prone.
2017-03-10 15:19:04 -08:00
Feng Xiao
e11cd3ee6e Merge pull request #2818 from xfxyjwf/i1470
Don't expose gson exceptions in JsonFormat.
2017-03-10 15:08:51 -08:00
Feng Xiao
81f4fe5aab Merge pull request #2827 from xfxyjwf/i1251
Update comments for setSizeLimit.
2017-03-10 15:02:52 -08:00
Jisi Liu
81fe52fbd4 Fix java code according to error prone. 2017-03-10 14:53:15 -08:00
Feng Xiao
03c8c8be6d Update comments for setSizeLimit. 2017-03-09 17:24:42 -08:00
Jisi Liu
a1bb147e96 Merge pull request #2825 from pherl/javawarning
Cherry-pick changes from javalite branch to also fix Java warnings in the master branch
2017-03-09 17:13:55 -08:00
Jisi Liu
009e491bd7 Fix GeneratedMessageV3 warnings. 2017-03-09 16:56:18 -08:00
Jisi Liu
7c7534413a Fix lint warnings in the javalite branch. 2017-03-09 16:26:55 -08:00
Feng Xiao
075475f834 Don't expose gson exceptions in JsonFormat. 2017-03-09 14:42:45 -08:00
Vasiliy Kudryavtsev
eea7201297 Mark sun.misc dependency as optional 2017-03-09 15:50:58 +03:00
Feng Xiao
4ae8656b6d Make JsonFormat locale independent. 2017-03-08 16:56:43 -08:00
Feng Xiao
fa1788026c Merge pull request #2602 from GreatFruitOmsk/issue-2428
Method Builder#clone() has been changed to bypass Java 1.6 compiler issue.
2017-03-08 15:28:34 -08:00
Sebastian Schuberth
902af0816e Prefer the term "3-Clause BSD License" over "New BSD License"
The first is the newer name, which is also more telling.
2017-02-28 09:58:24 +01:00
Sebastian Schuberth
6395a1cbd9 Fix links to the New BSD License in meta-data
The "New BSD License" is the "3-Clause BSD License", but the links were
pointing to the "2-Clause BSD License".
2017-02-28 09:54:21 +01:00
Paul Yang
7f3e237071 Merge 3.2.x branch into master (#2648)
* Down-integrate internal changes to github.

* Update conformance test failure list.

* Explicitly import used class in nano test to avoid random test fail.

* Update _GNUC_VER to use the correct implementation of atomic operation
on Mac.

* maps_test.js: check whether Symbol is defined before using it (#2524)

Symbol is not yet available on older versions of Node.js and so this
test fails with them. This change just directly checks whether Symbol is
available before we try to use it.

* Added well_known_types_embed.cc to CLEANFILES so that it gets cleaned up

* Updated Makefile.am to fix out-of-tree builds

* Added Bazel genrule for generating well_known_types_embed.cc

In pull request #2517 I made this change for the CMake and autotools
builds but forgot to do it for the Bazel build.

* Update _GNUC_VER to use the correct implementation of atomic operation on Mac.

* Add new js file in extra dist.

* Bump version number to 3.2.0

* Fixed issue with autoloading - Invalid paths (#2538)

* PHP fix int64 decoding (#2516)

* fix int64 decoding

* fix int64 decoding + tests

* Fix int64 decoding on 32-bit machines.

* Fix warning in compiler/js/embed.cc

embed.cc: In function ‘std::string CEscape(const string&)’:
embed.cc:51:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for (int i = 0; i < str.size(); ++i) {
                                ^

* Fix include in auto-generated well_known_types_embed.cc

Restore include style fix (e3da722) that has been trampled by
auto-generation of well_known_types_embed.cc

* Fixed cross compilations with the Autotools build

Pull request #2517 caused cross compilations to start failing, because
the js_embed binary was being built to run on the target platform
instead of on the build machine. This change updates the Autotools build
to use the AX_PROG_CXX_FOR_BUILD macro to find a suitable compiler for
the build machine and always use that when building js_embed.

* Minor fix for autocreated object repeated fields and maps.

- If setting/clearing a repeated field/map that was objects, check the class
  before checking the autocreator.
- Just to be paranoid, don’t mutate within copy/mutableCopy for the autocreated
  classes to ensure there is less chance of issues if someone does something
  really crazy threading wise.
- Some more tests for the internal AutocreatedArray/AutocreatedDictionary
  classes to ensure things are working as expected.
- Add Xcode 8.2 to the full_mac_build.sh supported list.

* Fix generation of extending nested messages in JavaScript (#2439)

* Fix generation of extending nested messages in JavaScript

* Added missing test8.proto to build

* Fix generated code when there is no namespace but there is enum definition.

* Decoding unknown field should succeed.

* Add embed.cc in src/Makefile.am to fix dist check.

* Fixed "make distcheck" for the Autotools build

To make the test pass I needed to fix out-of-tree builds and update
EXTRA_DIST and CLEANFILES.

* Remove redundent embed.cc from src/Makefile.am

* Update version number to 3.2.0-rc.1 (#2578)

* Change protoc-artifacts version to 3.2.0-rc.1

* Update version number to 3.2.0rc2

* Update change logs for 3.2.0 release.

* Update php README

* Update upb, fixes some bugs (including a hash table problem). (#2611)

* Update upb, fixes some bugs (including a hash table problem).

* Ruby: added a test for the previous hash table corruption.

Verified that this triggers the bug in the currently released
version.

* Ruby: bugfix for SEGV.

* Ruby: removed old code for dup'ing defs.

* Reverting deployment target to 7.0 (#2618)

The Protobuf library doesn’t require the 7.1 deployment target so
reverting it back to 7.0

* Fix typo that breaks builds on big-endian (#2632)

* Bump version number to 3.2.0
2017-01-31 09:17:32 -08:00
goorov
24908e1b32 Update AbstractMessage.java
Apply review's comments.
2017-01-13 10:33:42 +03:00
goorov
fac90c66c3 Update AbstractMessage.java
Method Builder#clone() has been changed to bypass Java 1.6 compiler issue.
2017-01-12 09:35:19 +03:00
Feng Xiao
34a1b6e6b8 Merge pull request #2394 from cwelton/formatting
oneOf fix for JsonFormat includingDefaultValueFields
2016-12-08 11:17:10 -08:00
Caleb Welton
1a56251a35 oneOf fix for JsonFormat includingDefaultValueFields 2016-12-05 18:01:20 -08:00
Michael Stack
7550bcd89f Change CodedInputStream#DEFAULT_SIZE_LIMIT from 64MB to
Integer.MAX_SIZE (0x7FFFFFF) #2228

M java/core/src/main/java/com/google/protobuf/CodedInputStream.java
 Set DEFAULT_SIZE_LIMIT to Integer.MAX_SIZE (Was 64MB). This is how it was
 in pre-2.7.0 pb. Changed size check to an overflow-conscious test (as it
 is later in tryRefillBuffer (making sizeLimit a long was to disruptive).

M java/core/src/test/java/com/google/protobuf/CodedInputStreamTest.java
 Add two tests that echo tests recently added over in c++ to test parse
 of message sizes that are approach and are beyond the size limit.
2016-12-01 20:18:31 -08:00
Adam Cozzette
5d63097fc2 Merge branch 'master' into down-integrate-with-msvc-fix 2016-11-17 17:04:30 -08:00
Adam Cozzette
5a76e633ea Integrated internal changes from Google 2016-11-17 16:59:59 -08:00
Time
ed08341234 #2356 : fix ExceptionInInitializerError on IBM J9 2016-11-11 16:47:41 +08:00
Christopher Tubbs
eb7f3a3ad1 Use latest maven-compiler-plugin (2.6.0)
* Uses build-helper-maven-plugin to add generated sources to the classpath
* Fixes an issue building with newer versions of the maven-compiler-plugin
  (See https://issues.apache.org/jira/browse/MCOMPILER-240)
2016-11-04 02:11:55 -04:00
nmittler
c0f95c6f94 Hacking ByteBufferWriter to work with GAE
Fixes #2269
2016-10-20 11:25:11 -07:00
Bo Yang
f9f3c35eb3 Update version number. 2016-10-10 11:44:21 -07:00
Feng Xiao
f933d10fbe Update version number.
[skip ci]

Change-Id: I1ba6f6372a08b5796570851336e1a548602f60da
2016-10-10 11:44:21 -07:00
Feng Xiao
04d72c2997 Fix java compatibilty tests.
Change-Id: I3ff47358e66965cab34736eed2a477ae29f02f61
2016-10-10 11:43:48 -07:00
Bo Yang
fe1aaad7fe Fix bugs for internal integration. 2016-10-10 11:39:55 -07:00
Bo Yang
15f4db6cb1 Bump version number to 3.1.0-alpha-1. 2016-10-10 11:24:31 -07:00
Bo Yang
cc8ca5b6a5 Integrate internal changes 2016-10-10 11:23:36 -07:00
Bo Yang
b28ab73d22 Fix gson dependency.
gson 2.3 has internal bug that it doesn't work with some versions of maven.
2016-09-21 22:51:36 +00:00
Patrick Strawderman
9ac84f8f3f Fix erroneous comment regarding String.substring
Since Java 7, Strings produced with String.substring do not share byte arrays.
2016-09-16 14:54:58 -07:00
Jisi Liu
58860c021f Merge remote-tracking branch 'origin/3.0.x' into merge 2016-09-14 09:37:48 -07:00
Dave Protasowski
1fc416be21 Allow the JsonFormat.Parser to ignore unknown fields
The default behaviour of throwing an exception remains
2016-09-08 15:08:30 -04:00
Jisi Liu
6e11540b32 Bump version number to 3.0.2 2016-09-02 11:57:49 -07:00
Feng Xiao
52e491b3bb Use 64-bit protoc binaries in compatibility tests.
Turns out travis doesn't have the library dependencies to run a 32-bit
binary.

Change-Id: I5fadbcade2eb71c1e9ce21d90fa9459797df0e81
2016-08-31 11:36:37 -07:00
Feng Xiao
30647cae9f Use 64-bit protoc binaries in compatibility tests.
Turns out travis doesn't have the library dependencies to run a 32-bit
binary.

Change-Id: I5fadbcade2eb71c1e9ce21d90fa9459797df0e81
2016-08-01 13:49:15 -07:00
Jisi Liu
fb7a7c5f1f Bump version number for GA 2016-07-25 12:07:56 -07:00
Feng Xiao
36adb40064 Update compatibility tests as well.
Change-Id: I991396ac6e51e32f3ab1daa501d625f34c3ecb04
2016-07-19 14:57:14 -07:00
Feng Xiao
2e30301837 Versioning Java GeneratedMessage.
Change-Id: Ib2bb5042deaabdf452d5be2ad1ce40d739ad8d1b
2016-07-19 14:32:51 -07:00
Feng Xiao
fa52702408 Include javadoc/source in Java release packages.
Also fixed javadoc errors.

[ci skip]
2016-07-18 15:59:09 -07:00
Feng Xiao
82b43d1f41 Remove Java deterministic API.
Change-Id: I43f7e04a53d1445dfa86db310bdb18ceb446398c
2016-07-18 10:36:04 -07:00
Feng Xiao
1bce70dddb Fix compatiblity issues.
Currently some public API methods are defined in GenreatedMessage.java
and they have a generric return type:
  class GeneratedMessage {
    class Builder<BuilderType extends Builder<BuilderType>> {
      public BuilderType setField(...);
      public BuilderType setExtension(...);
    }
  }
With these definitions, the compiled byte code of a callsite will have
a direct reference to GeneratedMessage. For example:
  fooBuilder.setField(...);
becomes:
  ##: invokevirtual // Method Builder.setField:(...)LGeneratedMessage.Builder
  ##: checkcast     // class Builder

This will prevent us from updating generated classes to subclass a
different versioned GeneratedMessageV3 class in the future (we can't do
it in a binary compatible way).

This change addresses the problem by overriding these methods directly
in the generated class:
  class Foo {
    class Builder extends GeneratedMessage.Builder<Builder> {
      public Builder setField(...) {
        return super.setField(...);
      }
    }
  }
After this, fooBuilder.setField(...) will be compiled to:
  ##: invokevirtual // Method Builder.setField:(...)LFoo.Builder

The callsites will no longer reference GeneratedMessage directly and we
can change Foo to subclass GeneratedMessageV3 without breaking binary
compatiblity.

The downside of this change is:
  1. It increases generated code size (though it saves some instructions
     on the callsites).
  2. We can never stop generating these overrides because doing that
     will break binary compatibility.

Change-Id: I879afbbc1325a66324a51565e017143489b06e97
2016-07-14 15:33:45 -07:00
Feng Xiao
4e0d05138a Merge pull request #1781 from xfxyjwf/update_version
Update version number to 3.0.0-beta-4
2016-07-14 12:59:14 -07:00
Feng Xiao
047a3b4852 Exclude Java lite module from parent pom.xml 2016-07-13 18:09:10 -07:00
Feng Xiao
932f94e16e Update version number to 3.0.0-beta-4 2016-07-13 16:08:47 -07:00
Feng Xiao
9086d96439 Integrate from internal code base. 2016-07-13 13:48:40 -07:00
Otto Kekäläinen
3808d091f8 Fix spelling in strings and comments 2016-07-03 15:26:04 +03:00
chezRong
454dbf16fc added minified JSON formatting functionality with test 2016-07-01 10:08:16 +01:00
Adam Cozzette
d64a2d9941 Integrated internal changes from Google
This includes all internal changes from around May 20 to now.
2016-06-29 15:38:03 -07:00
Feng Xiao
a31d14b7d0 Describe platform requirements for the compatibility tests. 2016-05-20 15:15:15 -07:00
Feng Xiao
4f630a6857 Add compatiblity tests against v2.5.0 2016-05-17 15:13:59 -07:00
Jisi Liu
c8be6ee00c Merge pull request #1542 from google/beta-3
Merge Beta 3 release branch into master
2016-05-16 13:46:16 -07:00
Feng Xiao
09732c96ac Add compatibility notice for Java. 2016-05-11 16:22:30 -07:00
Jisi Liu
5dea2017db Update version numbers for other languages 2016-05-10 15:43:39 -07:00
Jisi Liu
dbed8a0154 Update version numbers for beta3 2016-05-10 14:49:42 -07:00
Jisi Liu
ce6bec74fd Remove accidentally restored deleted files. 2016-05-06 15:57:06 -07:00
Jisi Liu
12fdeb9b41 Merge branch 'master' of github.com:google/protobuf 2016-04-28 14:43:08 -07:00
Jisi Liu
cf14183bcd Down integrate from Google internal. 2016-04-28 14:34:59 -07:00
Jakub Kukul
db93833bc6 Added serialVersionUID to ExtendableMessage. 2016-04-22 16:04:27 +02:00
Jisi Liu
0de06f54bc Merge branch 'master' of github.com:google/protobuf 2016-03-30 11:43:44 -07:00
Jisi Liu
3b3c8abb96 Integrate google internal changes. 2016-03-30 11:39:59 -07:00
Pradeep Gollakota
4d98369f6d Allow custom URLs for Any in JsonFormat
- Using custom URL for types in Any will no longer throw an
InvalidProtocolBufferException in JsonFormat
- Fixes #1128
2016-03-18 23:06:14 -07:00
Dongjoon Hyun
7a9040fe7f Remove redundant the in comments. 2016-02-03 15:27:27 -08:00
Jisi Liu
defa25b38b Restore the license for Internal.java 2016-01-29 14:04:15 -08:00
Jisi Liu
1b8bab3a78 Uncomment the test, which was commented out during integration 2016-01-29 14:01:01 -08:00
Jisi Liu
5221dcbe47 Integrate from google internal.
Java files are moved to un-do the hack in the prevous commit, which
moved the java files to the original position for integration.
2016-01-29 13:51:05 -08:00
Jisi Liu
cb3f428810 Undo the Java module change for integration.
Moving the files to their original location, so that opensource changes
can be picked during the internal merge. Those files will be moved into
the correct location after merging with internal code.

Note: do NOT merge this into master without the other internal
down-integration commit.
2016-01-28 13:59:14 -08:00
Joshua Humphries
248557e73a move test file (was in wrong place after rebasing on java module refactor) 2016-01-15 21:51:20 -05:00
Joshua Humphries
f3c75580e4 throw IOException instead of InvalidProtocolBufferException when appropriate 2016-01-15 21:51:19 -05:00
nmittler
49efe9d7db Restructuring protobuf to multiple modules
protobuf/java will become a parent pom that will contain two modules:

core - contains all of the code for the protobuf-java artifact
util - contains all of the code for the protobuf-java-util artifact

Also cleaned up various Maven warnings.
2016-01-13 08:15:15 -08:00
Feng Xiao
7d075a44c1 Update version number and fix javadoc errors. 2016-01-06 15:47:41 -08:00
Feng Xiao
af81dcfc2c Fix Java travis tests. 2015-12-21 03:25:59 -08:00
Feng Xiao
a0cecfd31a Make conformance tests build for C++ and Java.
Change-Id: Ibb3fe6f919cc7ca0df91da5e1697ba33d259e433
2015-12-16 13:38:10 -08:00
Feng Xiao
13e1279d86 Remove internal options from proto files.
Change-Id: I3daf32cb93dfe0fca38f8b48615ccfc307f748e9
2015-12-14 15:54:26 -08:00
Feng Xiao
e841bac4fc Down-integrate from internal code base. 2015-12-11 17:10:28 -08:00
Dave Hughes
62c4efa1d6 Fix typo in LazyField javadoc
"equals".equals("euqals") == false
2015-11-24 22:39:23 -08:00
Joshua Humphries
37b262bfb4 include plugin.proto and generated code in protobuf-java 2015-11-05 15:56:23 -05:00
Jisi Liu
479a90b4dd Revert unwanted changes. 2015-10-06 13:54:35 -07:00
Jisi Liu
46e8ff63cb Down-integrate from google internal. 2015-10-05 11:59:43 -07:00
Feng Xiao
245224902a Fix javadoc errors. 2015-08-27 14:02:25 -07:00
Feng Xiao
ffe9215140 Update version number.
Protoc, C++ runtime and Java runtime are updated to v3.0.0-beta-1, other
languages are updated to v3.0.0-alpha-4.
2015-08-26 15:11:43 -07:00
Feng Xiao
f4ef8fe3b8 Delete incorrectly placed test file. 2015-08-25 14:49:09 -07:00
Feng Xiao
fbb3ef28c9 Merge Java util package to github. 2015-08-25 14:32:09 -07:00
Feng Xiao
839b180dba Cherry-pick Java utf8 change. 2015-08-24 11:25:15 -07:00
Feng Xiao
b17ec3ca11 Down-integrate from internal code base. 2015-08-23 17:50:38 -07:00
Feng Xiao
eee38b0c01 Down-integrate from google3. 2015-08-22 18:25:48 -07:00
Jisi Liu
b0f661181d Down-integrate from internal branch.
Change-Id: Ieb7a2c2fbf35bc2a8fa65b915a5ecb68c83863e4
2015-08-21 11:18:45 -07:00
Bo Yang
252daef02b Add distributionManagement explicitly to prevent maven from using
default configuration. In default configuration, maven needs webdav for
deployment, which cannot be found in central repository.
2015-05-29 16:32:04 -07:00
Bo Yang
e107e2d68e Update version number to 3.0.0-alpha-4 2015-05-29 11:00:57 -07:00
teboring
9839c0c2c9 Update version number to 3.0.0-alpha-3 2015-05-23 09:20:23 -07:00
Paul Yang
d94e65afda Merge pull request #413 from TeBoring/master
down-integrate internal changes
2015-05-21 20:11:26 -07:00
Bo Yang
5db217305f down-integrate internal changes 2015-05-21 19:32:02 -07:00
Feng Xiao
1aacb4fbbf Include well-known types in Java runtime.
Change-Id: I816fe2fac7fccbcd96dd8510c7c9b5e7996aeadc
2015-05-21 17:28:05 -07:00
Tamir Duberstein
654bd3171f Clean up imports 2015-04-02 15:13:15 -07:00
Tamir Duberstein
badef1fc19 Move UTF_8 to Internal 2015-04-02 15:06:32 -07:00
Tamir Duberstein
2820e86aab Skip 3-byte test in CI 2015-04-02 15:06:02 -07:00
Tamir Duberstein
210de285d7 DRY: Use Charset statics to eliminate exceptions 2015-04-02 15:06:00 -07:00
Viktor Szathmáry
e84893f676 perf: String#getBytes(Charset) vs getBytes(String) 2015-04-02 14:48:43 -07:00
Tamir Duberstein
7139d1eff7 Whitespace 2015-04-02 14:48:43 -07:00
jesse
cd04e9b702 rename python README, and fix markdown in java and python respectively 2015-03-16 15:15:59 -07:00
Jesse Frankley
bf05592652 Rename README.txt to README.md 2015-03-16 14:41:57 -07: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
c6170a96e3 Merge "Add a release profile for Java mvn project, which includes source file, javadoc packaging and signing." 2015-03-04 01:49:21 +01:00
Jisi Liu
b386c73c43 Add a release profile for Java mvn project, which includes source file,
javadoc packaging and signing.

Change-Id: I70632f01274b70e6f48dae5f4be15f123eb19a46
2015-03-03 16:27:10 -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
Jisi Liu
0e5fc48e58 Merge pull request #216 from cnauroth/Parser-JavaDoc
Correct JavaDoc return value documentation for Parser#parseDelimitedFrom...
2015-02-26 10:03:55 -08:00
Jisi Liu
e70329c6c0 Propogate onChange() event when getFooBuilder() is on an oneof message
field.

Change-Id: Idb5b53da5accd24038a895aba49b684eeee95814
2015-02-23 17:24:36 -08:00
Jisi Liu
20042b72da Fix Java maps reflection to call onChange to populate changes to parent
builders.

Change-Id: Ibf6ae3c0fe6bc31f74b8018c81a5af461b1c24ea
2015-02-23 16:25:52 -08:00
cnauroth
85081986ba Correct JavaDoc return value documentation for Parser#parseDelimitedFrom. 2015-02-23 10:00:03 -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
Feng Xiao
cb0ba5f04c Update version number to v3.0.0-pre 2014-12-10 21:05:46 -08:00
Feng Xiao
9104da3261 Down-integrate from internal code base. 2014-12-09 11:57:52 -08:00
Feng Xiao
6a949cda37 Remove usage of features not supported in Java 1.6. 2014-12-03 18:23:49 -08:00
Feng Xiao
81a630c66e Update version number to v3.0.0-alpha-1 2014-12-03 11:52:21 -08:00
Feng Xiao
77931993f4 Explicitly list all Java lite runtime tests (and exclude those depending
TestUtil which transitively depend on the full runtime).
2014-12-02 18:00:26 -08:00
Feng Xiao
7f2a9fb1af Merge pull request #102 from fizbin/bytestring_serializable
Make ByteStrings serializable with java serialization.
2014-11-27 18:49:11 -08:00
Daniel Martin
a32a1a761b Add tests for other ByteString subclasses 2014-11-27 07:11:03 -05:00
Feng Xiao
90f2f50233 Make Java TextFormat.printToUnicodeString() escape newlines.
Fix issue #77
2014-11-25 17:09:07 -08:00
Feng Xiao
418ece3bd1 Fix javadoc warnings. 2014-11-25 16:15:02 -08:00
Daniel Martin
5ff8dc8e00 Make ByteStrings serializable with java serialization. 2014-11-25 13:00:03 -05: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
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
Feng Xiao
d9d1da95c6 Update version number to 2.6.1rc1 2014-10-08 18:44:37 -07:00
Feng Xiao
56aa52d986 Merge pull request #38 from xfxyjwf/fix17
Fix a bug that causes DynamicMessage.setField() to not work for repeated enum fields.
2014-10-03 11:24:42 -07:00
Feng Xiao
725326f1ee Update verification methods' names. 2014-10-02 17:46:39 -07:00
Feng Xiao
f5691a617e Fix descriptor validation logic for packed enum fields. 2014-10-01 18:26:48 -07:00
Feng Xiao
345d49a51e Fix a bug that causes DynamicMessage.setField() to not work for repeated
enum fields.
2014-10-01 17:31:28 -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
Jisi Liu
ec0c9e4a03 Bump version for maven-bundle-plugin 2014-09-04 10:38:40 -07:00
jieluo@google.com
1eba9d9c74 merge tags/2.6.0 into trunk 2014-08-25 20:17:53 +00:00
jieluo@google.com
db9f7dd1ac 1, Remove unkown field support in jave TextFormat
2, Verifies the EnumValueDscriptor for DynamicMessage.Builder#setField
2014-07-25 23:07:02 +00:00
jieluo@google.com
76b8a769ab add LazyFieldLite.java 2014-07-19 00:43:46 +00:00
jieluo@google.com
01283faa47 add printUnicode methods in TextFormat 2014-07-18 17:44:42 +00:00
jieluo@google.com
4de8f55113 down integrate to svn 2014-07-18 00:47:59 +00:00
xiaofeng@google.com
c9f69500b7 Update OSGi meta data. 2013-03-08 00:37:10 +00:00
xiaofeng@google.com
2c9392f8dd Update version number in trunk 2013-02-28 06:12:28 +00:00
liujisi@google.com
ef9acc464d Update version to 2.5.0-pre 2012-11-30 22:38:00 +00:00
xiaofeng@google.com
d2d50f9a73 Fix Java compile issues under JDK 1.5 2012-11-30 16:26:07 +00:00
xiaofeng@google.com
a058718f7a Fix issue 298: add OSGi configuration to pom.xml - patch from Thomas Kock 2012-10-25 06:21:08 +00:00
xiaofeng@google.com
b55a20fa2c Down-integrate from internal branch 2012-09-22 02:40:50 +00:00
liujisi@google.com
3239fec94c Close resources properly for java tests and examples. 2011-06-07 03:51:33 +00:00
liujisi@google.com
02d7015ba8 Allow String to be used as message names. 2011-05-04 06:15:22 +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
3dc4a7be33 Fix incomplete comments. 2011-04-28 09:42:23 +00:00
liujisi@google.com
5a5e67a25d Make protobuf java JDK 1.5 compatible. 2011-04-28 09:37:40 +00:00
liujisi@google.com
9cf65b7dd2 Use fully qualified java.lang.Object in protoc java code. 2011-04-08 03:40:29 +00:00
jasonh@google.com
eab9b5d47f Fix issue 256: compute the correct size for negative enum values, which need to be sign extended. 2011-02-18 04:35:54 +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
bdfc1eab53 Add missing files into pom.xml for protobuf-lite. 2011-01-27 14:19:21 +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
5d8d2b0542 Fix issues: 200 202 211 215 237 246. 2010-12-06 06:20:14 +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
a4a9ef8c8b Roll back revision 313. A similar but far more exensive change was made in our internal branch, which will be integrated soon. 2010-09-17 23:20:04 +00:00
kenton@google.com
daee05168e Optimize Java string serialization. Patch from Evan Jones. 2010-02-01 17:41:59 +00:00
kenton@google.com
ab6950d75d More Java warning tweaks from Evan Jones. 2010-01-28 01:09:11 +00:00
kenton@google.com
28c2ec0dbd Fix some Java warnings. Patch from Evan Jones. 2010-01-21 22:10:55 +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
35d2f017a7 In Java's TextFormat, correcty concatenate adjacent string literals, as C++ does. Also fix a bug in handling of single-quoted strings. 2009-12-23 01:23:06 +00:00
kenton@google.com
6e8b9e4a4a Make extension identifiers final. This improves security when untrusted code is present in the same class loader. In order to get around initialization ordering issues, I simply made the constructor for extension identifiers take no arguments and deferred initialization to an internalInit() method, which generated code will always call during init. 2009-12-22 23:51:20 +00:00
kenton@google.com
25cf9e3153 getExtension() on an empty repeated field should return an empty list, not a singular default value. 2009-12-22 19:54:06 +00:00
kenton@google.com
28e46df3e9 Clarify that pushLimit() does not limit the number of bytes CodedInputStream will read from the underlying InputStream. 2009-12-22 19:35:07 +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
jasonh+personal@google.com
9951233e9a Fix Issue 136: the memoized serialized size for packed fields may not
be properly set. writeTo() may be invoked without a call to
getSerializedSize(), so the generated serialization methods would
write a length of 0 for non-empty packed fields. Just call
getSerializedSize() at the beginning of writeTo(): although this
means that we may compute the byte size needlessly when there
are no packed fields, in practice, getSerializedSize() will
already have been called - all of the writeTo() wrappers in
AbstractMessageLite invoke it.

Tested: new unittest case in WireFormatTest.java now passes
2009-12-01 18:05:21 +00:00
kenton@google.com
6493368285 CodedInputStream.getTotalBytesRead(); patch from Michael Kucharski. 2009-11-12 18:13:33 +00:00
kenton@google.com
f85d70f9e4 Optimize Java serialization of small messages to streams. Patch from Evan Jones. 2009-11-02 18:50:19 +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
fdd9d3c8b5 Remove more of the stuff that was supposed to be removed in r190. 2009-08-08 03:39:26 +00:00
kenton@google.com
323e6321c6 doc comment tweaks 2009-08-08 03:23:04 +00:00
kenton@google.com
7ddfb4c3c7 Remove semi-broken Java thread-local builder freelist 'optimization'. Maybe bring back later in optional form. 2009-08-07 21:19:29 +00:00
kenton@google.com
68996fc874 Gigantic descriptors shouldn't overflow the Java string literal size limit. 2009-08-07 21:02:02 +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
6c9f0020e2 OCD 2009-08-05 19:55:17 +00:00
gk5885
5ea590d5ba add lite profile docs in the README 2009-08-04 23:43:27 +00:00
gk5885
5bf536169e Ensure that only the lite tests are run, even if all tests have been compiled 2009-08-04 23:24:51 +00:00
gk5885
a4022f8931 This fixes some issues with the lite profile for the java build in which the lite jar contained the full binary. 2009-08-04 22:40:19 +00:00
gk5885
ac4764e355 Update the pom to support the 'lite' profile. 2009-08-04 19:11:39 +00:00
temporal
43af40dcca Remove @Override annotations that cause compiler errors on Java 1.5. 2009-08-01 07:37:11 +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
d2fd0638c3 Down-integrate some code from an internal branch. (More to come.) 2009-07-24 01:00:35 +00:00
kenton@google.com
1fb3d394e5 Update version number in trunk. 2009-05-13 23:20:03 +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
cfa2d8aa87 Generate field number constants. Patch from Michael Poole. 2009-04-18 00:02:12 +00:00
kenton@google.com
1556623fad Submit files missing from previous submit. 2009-02-10 17:47:02 +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
kenton@google.com
d41578239c Update trunk version to 2.0.4-SNAPSHOT. 2008-12-05 22:04:06 +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
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
742e40975a 2.0.1 release. 2008-08-27 19:25:48 +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
40ee551715 Initial checkin. 2008-07-10 02:12:20 +00:00