Piqi 0.6.0 Released
I am proud to announce that Piqi version 0.6.0 is released!
This is the second major Piqi release and the second biggest
milestone in the history of the project.
Release highlights
------------------
1. With this release, the Piqi language self-definition [1]
became stable. Why is it a big deal? There are several
implications.
- Any .piqi module (including self-definition itself!) can be
automatically and reliably converted to and from any
supported portable data formats. It means JSON, XML and
Protocol Buffers supported today, but also any other format
that Piqi may support in the future.
- In practical terms, it means that programs written in any
language can consume and manipulate type definitions from
.piqi modules. Also, because external representation of
Piqi modules is not going to change in a backward
incompatible way, applications built around Piqi type
definitions won't be forced to change often (if at all).
[1] https://piqi.org/self-definition/#piqi_piqi_source
2. Support for untyped JSON and XML and other changes in
encoding handling.
- As a new experimental feature, it is possible to represent
untyped JSON and XML as values of `piqi-any` type.
- generalized and improved encodings schemes for top-level
JSON and XML values
- improved documentation
3. Build and distribution improvements
- conventional ./configure script
- for OCaml users, Piqi can be now installed via
OPAM package [2] (OPAM is a new package manager for OCaml)
- greatly simplified installation from source code on Mac
(thanks to OPAM)
- Piqi documentation is now a part of the main Piqi GitHub
repository [3]
[2] https://github.com/ocaml/opam-repository/tree/master/packages/piqi.0.6.0
[3] https://github.com/alavrik/piqi/tree/master/doc
Backward incompatible changes
-----------------------------
- (piqi) Significant incompatibilities in external Piqi modules
representation which means that older applications that rely
on it won't work with the new version (e.g. older versions of
"piqi call" command-line piqi-rpc client)
- (piqi) Remove support for "piq-word" and "piq-text" built-in
types and provide an alternative way to control Piq
representation of string values using a new "piq-format"
property
- (piqi) Rename "piq-any" built-in type to "piqi-any"
- (xml) always use as a top-level XML element instead
of tag derived from specific typename
- (json) top-level values of primitive types and enum constants
encoded in JSON as {"value": ...} instead of {"_": ...}
- (tools) use $PIQI_PATH environment variable for Piqi module
search paths instead of $PIQI_DIR
Full list of changes: https://github.com/alavrik/piqi/blob/master/CHANGES
Updated roadmap: https://piqi.org/roadmap/
Downloads: https://piqi.org/downloads/
This entry was posted
on Monday, February 4th, 2013 at 2:28 am and is filed under News.
You can follow any responses to this entry through the RSS 2.0 feed.
Both comments and pings are currently closed.