Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Oct 10, 2012
Commits on Oct 8, 2012
  1. Self-spec refactoring

    Fix double inclusion of module piqi in "piqi convert --embed-piqi piqobj.piqi"
    The problem was the recusively included modules maintained a reference to the
    previous (unexpanded) instance of the top-most recursive module.
  2. Self-spec refactoring

    Reflect -> piqi directory renaming in README
  3. Self-spec refactoring

    piqi convert, piqi check: handle mutually-recursive (mutually-included) .piqi
    modules correctly when they are embedded in .piq
    For instance, the following command sequence is now working correctly:
            piqi convert --embed-piqi piqi.piqi > t.piq
    	piqi convert t.piq
    	piqi check t.piq
  4. (piqi,ocaml,erlang) json-omit-null-fields now works for repeated fiel…

    …ds as well
    The json-omit-null-fields setting, when true, leads to non-existent repeated
    fields being omitted from JSON output (in addition to missing optinal fields).
    Before this change, they were included and had [] as a value.
  5. Self-spec refactoring

    Change default_*() behavior in Erlang and OCaml to not generated user-defined
    default values for optional field, basically leaving those fields undefined.
  6. Self-spec refactoring

    Add forgotten handling of wire-type override to and
  7. (piqi) Fix piqi conversion from pb to json

    "piqi convert --piqtype piqi -f pb -t json" command was producing empty output.
  8. Self-spec refactoring

    Turn .protobuf-wire-type and .protobuf-type alias properties from piqi.piqi to
    extensions in piqi.protobuf.piqi
  9. (piqi) Add a new .protobuf-prefix property for enum

    .protobuf-prefix defines a prefix that is automatically added to each enum
    option's name in .proto modules converted from .piqi using "piqi to-proto"
    It helps to deal with the fact that Protobuf-generated enum defintions do not
    form a C++ namespace meaning that enum constants are defined directly in the
    outer namespace; it was announced that this problem will be fixed in
  10. Self-spec refactoring

    - rename proto-name, -custom, -package to protobuf-name, ...
    - rename wire-type to protobuf-wire-type
    - rename wire-packed to protobuf-packed
    - merge piqi.protobuf-wire.piqi into piqi.protobuf.piqi
  11. (piqi) Internal improvements

    Rename top-level directory to piqi/ and fix some minor problems in
    "piqic erlang' and tests.
  12. (piqi) Various changes

    - self-spec: rename piqi.proto.piqi to piqi.protobuf.piqi to avoid clashes with
      .proto.piqi suffixes reserved for results of "proto to-piqi" conversions
    - self-spec: remove explicit module name assignment from self-spec modules (i.e.
    - modules included and imported from modules with scoped names are searched
      within the importing/including module's scope
    - new "piqi expand --add-module-name" that adds .module <name> property if it
      was missing
  13. (piqi) New piqi expand --functions and --all flags

    "piqi expand --functions" removes embedded typedefs in function parameters and
    turns them into correspondent top-level defintions instead.
    "piqi expand --all" is equivalent "piqi expand --extensions --functions"
    "piqi expand" retains the old behavior and is exquivalent to
    "piqi expand --extensions".
    Fixed along the way: "piqi expand" didn't generate extended version of embedded
    typedefs in function parameters. If someone decided to extend an such typedef, a
    new extended version of it would never make it back to its original embedded
  14. Self-spec refactoring

    Cosmetic change in
  15. Self-spec refactoring

    Revise Piqi pretty-printing and ast transformation in
  16. Code improvements

  17. Self-spec refactoring

    Remove ocaml-name and erlang-name from piqi.piqi and put them in standalone
    extension modules: piqic/piqi.ocaml.piqi and piqic/piqi.erlang.piqi
  18. Self-spec refactoring

    Define built-in int32-fixed, uint32-fixed, proto-int32 types and their 64-bit
    versions as aliases for int32 and uint32. This way extensions need to only care
    about a small subset of built-in types.
    In order to achieve this, we had to implement suport for overriding wire-type in
    lower-level aliases.
  19. Self-spec refactoring

    Remove obsolete piqi.piq.piqi property
  20. Self-spec refactoring

    Allow nested alias defintions in function parameters. It is mostly needed for
    completeness (alias was the only user-defined type that couldn't be used there),
    but sometimes it can be actually useful. For example, when someone needs to
    specify additional properties in the embedded alias, such as "piq-format".
  21. Self-spec refactoring

    Improve comments describing piqi.*.piqi files.
  22. Self-spec refactoring

    Rename piqi.wire.piqi to piqi.protobuf.piqi to make it clear what it is for.
  23. Self-spec refactoring

    Rename self-spec's any/binobj field to "protobuf" to make it more obvious.
  24. Self-spec refactoring

    Completely remove piqi-boot*.piqi and all the ugliness associated with it.
  25. (piqi) Keep unparsed .piqi fields through various transformations

    This way, unparsed (i.e. unknown to the current self-specification) fields
    survive through "piqi expand", and most importantly, through the
    compiler-compiler (cc) stage when the self-spec is used to fully encode itself
    from .piqi into Protobuf binary format.
Something went wrong with that request. Please try again.