History of atdgen releases !!! = some incompatibilities opt = optimizations +ui = additions in the user interface -ui = restrictions in the user interface bug = bug or security fix doc = major changes in the documentation pkg = changes in the structure of the package or in the installation procedure 2011-10-18 1.2.2: [bug] Fix of problem affecting some generated biniou readers of records with immutable fields. ocamlopt was optimizing access to immutable fields and it had to be prevented. 2011-09-20 1.2.1: [bug] Fixed JSON whitespace bugs (reported by Rob Moss) [bug] Fixed broken ocamldoc links for polymorphic create_* functions (reported by Rob Moss) 2011-07-02 1.2.0: [+ui] new modes -t -b -j -v -dep -list standardizing file name and structure and simplifying the command-line [+ui] new "from" annotation for abstract types defined in modules following the _t/(_b|_j|_v) module suffix convention: type foo <ocaml from="Bar"> = abstract [+ui] all json-specific options now start with -j- and are ignored in non-json modes (old names are preserved for backward compatibility) [+ui] new validator mode (-v, -validate) [+ui] new options -j-strict-fields and -j-custom-fields for handling unknown JSON fields instead of skipping them. [+ui] new -j-defaults option that forces output of JSON fields with default values [!!!] optional record fields now skipped if their value is null [+ui] convenience module Ag_util reading/writing channels and files [+ui] redefinition of OCaml types that are not predefined ATD types is now possible (char, int32, int64, ref, array). [bug] biniou int8 can now be read as OCaml chars. The following now works, as documented in the manual: int <ocaml repr="char"> <biniou repr="int8"> [bug] empty OCaml record types now cause an error 2011-02-11 1.1.1: [+ui] added renaming option for OCaml types taken from other modules: type foo <ocaml_biniou module="Foo" t="t"> = abstract [bug] fixed bad output for option types other than field values with -std-json 2010-12-08 1.1.0: [pkg] requires biniou >= 1.0.0, yojson >= 1.0.0, atd >= 1.0.0 [!!!] string_of_ functions generated by atdgen -biniou now take an optional ?len:int argument instead of a mandatory int. [+ui] support for shared and cyclic values with biniou [+ui] support for JSON objects as association lists [+ui] new <ocaml[_biniou|_json] module=...> annotation for predefined and abstract types [+ui] -extend option to define aliases to types defined in another OCaml module [+ui] read from stdin if no input file is given [+ui] write anonymous module to stdout with -o - [+ui] source location modifiers -pos-fname and -pos-lnum [opt] solved slow compilation of code produced for records with many optional fields (biniou/ocamlopt) 2010-09-13 1.0.1: [doc] added INSTALL file and example/ 2010-09-09 1.0.0: initial release