1. 29 Mar, 2017 2 commits
  2. 10 Mar, 2017 5 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. 13 Jan, 2017 1 commit
  5. 12 Jan, 2017 1 commit
  6. 02 Dec, 2016 1 commit
    • Michael Stack's avatar
      Change CodedInputStream#DEFAULT_SIZE_LIMIT from 64MB to · 7550bcd8
      Michael Stack authored
      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.
      7550bcd8
  7. 18 Nov, 2016 1 commit
  8. 11 Nov, 2016 1 commit
  9. 20 Oct, 2016 1 commit
  10. 10 Oct, 2016 2 commits
  11. 23 Sep, 2016 1 commit
  12. 20 Sep, 2016 1 commit
  13. 16 Sep, 2016 1 commit
  14. 19 Jul, 2016 1 commit
  15. 18 Jul, 2016 2 commits
  16. 14 Jul, 2016 1 commit
    • Feng Xiao's avatar
      Fix compatiblity issues. · 1bce70dd
      Feng Xiao authored
      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
      1bce70dd
  17. 13 Jul, 2016 1 commit
  18. 03 Jul, 2016 1 commit
  19. 29 Jun, 2016 1 commit
  20. 28 Apr, 2016 1 commit
  21. 22 Apr, 2016 1 commit
  22. 30 Mar, 2016 1 commit
  23. 03 Feb, 2016 1 commit
  24. 29 Jan, 2016 3 commits
  25. 28 Jan, 2016 1 commit
    • Jisi Liu's avatar
      Undo the Java module change for integration. · cb3f4288
      Jisi Liu authored
      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.
      cb3f4288
  26. 16 Jan, 2016 2 commits
  27. 13 Jan, 2016 1 commit
    • nmittler's avatar
      Restructuring protobuf to multiple modules · 49efe9d7
      nmittler authored
      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.
      49efe9d7