1. 16 Mar, 2017 1 commit
    • Feng Xiao's avatar
      Add a notice for nano. · ddc00963
      Feng Xiao authored
      We no longer supports nano and recommend protobuf lite over nano for
      Android users.
      ddc00963
  2. 28 Feb, 2017 2 commits
  3. 31 Jan, 2017 1 commit
    • Paul Yang's avatar
      Merge 3.2.x branch into master (#2648) · 7f3e2370
      Paul Yang authored
      * 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 (e3da722b) 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
      7f3e2370
  4. 14 Nov, 2016 1 commit
  5. 04 Nov, 2016 1 commit
  6. 10 Oct, 2016 2 commits
  7. 23 Sep, 2016 1 commit
  8. 20 Sep, 2016 1 commit
  9. 30 Aug, 2016 1 commit
  10. 13 Jul, 2016 1 commit
  11. 03 Jul, 2016 1 commit
  12. 10 May, 2016 1 commit
  13. 06 Jan, 2016 1 commit
  14. 26 Aug, 2015 1 commit
    • Feng Xiao's avatar
      Update version number. · ffe92151
      Feng Xiao authored
      Protoc, C++ runtime and Java runtime are updated to v3.0.0-beta-1, other
      languages are updated to v3.0.0-alpha-4.
      ffe92151
  15. 29 Jul, 2015 1 commit
  16. 29 May, 2015 2 commits
  17. 23 May, 2015 1 commit
  18. 11 May, 2015 1 commit
  19. 05 May, 2015 1 commit
  20. 28 Apr, 2015 11 commits
    • Charles Munger's avatar
      Throw OutOfSpaceException instead of IllegalArgumentException. · 6732dd7e
      Charles Munger authored
      When a MessageNano containing a String is serialized into a buffer that
      is too small to contain it, and the buffer's boundary happens to be
      where the string field's length delimiting varint is serialized,
      and the string's length and 3*length have the same length when
      encoded as a varint, an IllegalArgumentException is thrown rather than
      an OutOfSpaceException.
      
      Github issue: https://github.com/google/protobuf/issues/292
      
      Change-Id: If478d68cf15bfd0662252d008e42b2bf1ff1c75e
      6732dd7e
    • Brian Duff's avatar
      Inline unknownFieldData{Equals,HashCode} to generated code. · a69b461e
      Brian Duff authored
      It turns out dex (apparently) was inlining these protected final
      methods from ExtendableMessageNano into every message class. Removing
      these methods from the base class and inlining their code reduces
      the method count by 2 methods / message when the store_unknown_fields
      option is on.
      
      Change-Id: I0aa09f2016d39939c4c8b8219601793b8fab301f
      a69b461e
    • Jeff Davidson's avatar
      Generate @IntDef annotations for nanoproto enums. · ec19be2f
      Jeff Davidson authored
      @IntDef is a support library annotation which allows build tools to
      determine the valid set of values for a given integer field when that
      field is intended to be restricted like an enum. This avoids the
      overhead of enums while still allowing for compile-time type checking
      in most circumstances.
      
      Change-Id: Iee02e0b49a8e069f6456572f538e0a0d301fdfd5
      ec19be2f
    • Shai Barack's avatar
      Add reset() and position() to CodedOutputByteBufferNano. · 41f0294c
      Shai Barack authored
      Change-Id: Ie2a9e36276ac35e10b3f8d379b5742d50a0374e9
      41f0294c
    • Kweku Adams's avatar
      DO NOT MERGE Overloading createMessageTyped to accept a tag as an integer. · 2712c421
      Kweku Adams authored
      When building, some instances expect createMessageTyped to have the signature
      (int, Class, long), while others expect (int, Class, int). Simply having
      the former signature meant that builds expecting the latter would fail.
      
      This is a cherrypick of change b2a9d4321578139677c146ce37eba5e27e8f5c79
      from master.
      
      Change-Id: Ib02dbf66173510f4edea32c7b43e82c1a7a38aa2
      2712c421
    • Brian Duff's avatar
      Exclude cachedSize when printing fields. · 714dba3a
      Brian Duff authored
      Change-Id: I85563b74237d38c1e447b7286f5f6e62d57e3d63
      714dba3a
    • Brian Duff's avatar
      Add clone() method support for nano. · d099a886
      Brian Duff authored
      Upstreamed from Another Place (cr/57247854).
      
      Change-Id: I2aaf59544c0f5ae21a51891d8a5eeda1dc722c90
      d099a886
    • Brian Duff's avatar
      When no clear() is generated, still initialize fields. · fb96026b
      Brian Duff authored
      https://android-review.googlesource.com/#/c/67890/ removed field
      initialization from the ctor, making it just call clear() instead.
      
      When I added the generate_clear option back (as part of the reftypes
      compat mode) in https://android-review.googlesource.com/#/c/109530/,
      I forgot to ensure that what clear() used to do was inlined in the
      constructor.
      
      This change fixes NPEs that are happening for users of
      reftypes_compat_mode who rely on unset repeated fields being empty
      arrays rather than null.
      
      Change-Id: Idb58746c60f4a4054b7ebb5c3b0e76b16ff88184
      fb96026b
    • Brian Duff's avatar
      Fix comments. · 9ffaa50d
      Brian Duff authored
      Forgot to update these in https://android-review.googlesource.com/#/c/109809/
      
      Change-Id: I53f838e2f134f53964161d9620d5ead00c4a3939
      9ffaa50d
    • Charles Munger's avatar
      Optimize measurement and serialization of nano protos. · 54511f70
      Charles Munger authored
      Measuring the serialized size of nano protos is now a zero-alloc operation, and serializing a proto now allocates no memory (other than the output buffer) instead of O(total length of strings).
      
      Change-Id: Id5e2ac3bdc4ac56c0bf13d725472da3a00c9baec
      Signed-off-by: 's avatarCharles Munger <clm@google.com>
      54511f70
    • Brian Duff's avatar
      Fix bug with large extension field numbers. · ec2f2445
      Brian Duff authored
      Previously, extensions with field numbers greater than 268435455 would
      result in a compile time error in generated code that looks something
      like this:
      
      Foo.java:3178: error: integer number too large: 3346754610
                      3346754610);
      
      This is because we were trying to represent the tag number (an
      unsigned int) using a java int constant, but java int constants are
      signed, and can't exceed Integer.MAX_VALUE.
      
      Fixed by declaring it as a long instead, and casting it down to an
      int in the implementation. This is safe, because the tag value always
      fits in 32 bis.
      
      Change-Id: If2017bacb4e20af667eaeaf9b65ddc2c30a7709f
      ec2f2445
  21. 02 Apr, 2015 2 commits
  22. 17 Mar, 2015 1 commit
  23. 05 Mar, 2015 1 commit
  24. 03 Mar, 2015 1 commit
  25. 21 Feb, 2015 2 commits