1. 08 Apr, 2016 1 commit
  2. 02 Apr, 2016 1 commit
  3. 30 Mar, 2016 1 commit
  4. 27 Mar, 2016 1 commit
    • Kenton Varda's avatar
      Allow --packed and --flat to be used together. · 4361912b
      Kenton Varda authored
      In Sandstorm, we are encoding powerbox queries in packed base64 strings which may be placed in URL query parameters or the like. The strings are provided in interfaces called browser-side. We anticipate that some developers will prefer to specify a hardcoded string rather than generate it on-the-fly, since Cap'n Proto is not well-supported in browsers today, and anyway the developer may have no other reason to have a Cap'n Proto dependency at all, and powerbox queries are often static.
      
      In this context, speed is irrelevant, while having a compact encoding is desirable. It felt sad to me to leave in the segment table in this context, adding redundant bytes when we want a compact encoding.
      4361912b
  5. 28 Sep, 2015 1 commit
  6. 14 Aug, 2015 2 commits
  7. 06 Aug, 2015 1 commit
    • Kenton Varda's avatar
      WIP JSON encoder/decoder library. Currently only encodes. · e3e9ce8d
      Kenton Varda authored
      The library allows for registering special handlers for specific types or fields. This is particluarly useful for overriding the way `Data` is encoded (since many approaches exist) or supporting encodings like EJSON or Q which extend JSON with special types encoded as objects with field names perfixed by dollar signs.
      
      Not integrated into build system yet (but builds nicely with Ekam). I think this is going to need to be a separate library, e.g. libcapnp-json, because clearly a lot of Cap'n Proto users don't need it at all.
      
      For the moment, this was written for use inside Sandstorm. There is no current need for a decoder, so I have not written that yet and have no immediate plans to do so. But it will be added before any official Cap'n Proto release, certainly. A simple recursive descent parser should be easy...
      e3e9ce8d
  8. 29 Jul, 2015 1 commit
  9. 26 Jun, 2015 1 commit
  10. 23 Jun, 2015 2 commits
    • Kenton Varda's avatar
      2ed4b4e7
    • Kenton Varda's avatar
      Fixes #219, with POSSIBLE (but obscure) WIRE FORMAT BREAKAGE. · db7ca960
      Kenton Varda authored
      Unfortunately, the layout algorithm had a bug which caused incorrect layout when declaring a union whose lowest-ordinal field was of type Void and nested in an inner union. That is:
      
          union {
            a :union {
              b @0 :Void
              ...
            }
            ...
          }
      
      In this case, all the fields in the struct after the Void field -- including both unions' discriminants -- would end up misplaced. Although they did not end up overlapping (and therefore the incorrect layout "worked"), the result broke schema evolution rules around "retroactive unionization".
      
      Unfortunately, we must break compatibility with any protocol that happened to contain the above pattern. Luckily, it's a fairly obscure case. Unluckily, Cap'n Proto's own schema format contains such a pattern. Luckily, the use of this pattern was introduced in v0.6.x and therefore has not been in any release build so far.
      db7ca960
  11. 22 Jun, 2015 1 commit
  12. 04 Apr, 2015 1 commit
  13. 22 Mar, 2015 2 commits
  14. 16 Mar, 2015 1 commit
  15. 15 Mar, 2015 1 commit
  16. 14 Mar, 2015 1 commit
  17. 29 Jan, 2015 2 commits
  18. 27 Jan, 2015 2 commits
  19. 23 Jan, 2015 1 commit
  20. 09 Jan, 2015 1 commit
  21. 30 Dec, 2014 1 commit
  22. 29 Dec, 2014 1 commit
  23. 12 Dec, 2014 4 commits
  24. 30 Nov, 2014 1 commit
  25. 29 Nov, 2014 2 commits
  26. 28 Nov, 2014 1 commit
  27. 24 Nov, 2014 2 commits
  28. 22 Nov, 2014 2 commits
  29. 18 Nov, 2014 1 commit