Revision history for Sah
0.9.5 2012-09-26 (SHARYANTO)
[INCOMPATIBLE CHANGES]
- Change merge prefix from "[merge]", "[merge+]", etc to
"merge.normal.", "merge.add.", etc (to be compliant with DefHash)
0.9.4 2012-09-21 (SHARYANTO)
- Rewrite some parts.
- Specify types 'all', 'any', 'obj', 'date' (moved from Data::Sah).
Type 'date' still doesn't have clauses specified yet.
- Specify clauses for 'hash' and 'array' (moved from Data::Sah)
- Change examples to use JSON instead of Perl notation.
- Add FAQ item: comparison to JSON schema.
- Add FAQ item: advice on writing schemas (preliminary).
[NEW]
- Add type: 'undef'.
- Add attribute: 'input'.
- Add clauses: 'check_each', 'exists', 'check_exists', 'each_index',
'check_each_index'.
[INCOMPATIBLE CHANGES]
- Rename 'vals' attribute to 'is_multi' (a bool) and store the multiple
values in the clause value itself. This is to avoid having both
'CLAUSE' and 'CLAUSE.vals'.
- Rename 'expr' clause attribute to 'is_expr' (a bool). The expression
is now contained in the original clause value/attribute. This is to
be consistent with 'is_multi'.
- Tweak the 'if' clause (change 'then_ok' or 'else_nok' to 'then' and
'else').
- Rename clause 'noop' to 'ok' (consistency with min_ok/max_nok/etc).
Remove clause 'fail' (can be replaced with '!ok').
- Rename clause 'check' to 'expr' (consistency with 'prop' as well as
the 'prop' and 'expr' keys in the 'if' clause).
[REMOVED]
- HasElems: remove 'num_of' clause (not generic enough, might be split
to a custom clause distribution later).
0.9.3 2012-09-20 (SHARYANTO)
[INCOMPATIBLE CHANGES]
- BaseType: Rename old 'if' clause to 'if_clause' (the new 'if' clause
is now a generic condition clause which accepts a hash).
- HasElems: Rename clause 'all_elems' to 'each_elem'.
[NEW]
- Introduce 'result_var' attribute.
- Introduce 'type property'.
- BaseType: add clauses 'schema_v' & 'base_v'. Also mention 'defhash_v'
(from DefHash specification).
- BaseType: add generic condition clause 'if' (this is different from
the old 'if', which has been renamed to 'if_clause').
- BaseType: add generic looping clauses 'each' and 'exists'.
[FIXED]
- Move 'elems' clause to array (POD mistake).
[OTHER]
- Specify behavior when CLAUSE value and CLAUSE.vals both exist.
0.9.2 2012-09-19 (SHARYANTO)
- Clause set now uses DefHash.
- '=' is now a shortcut for '.expr' attribute.
- Add FAQ and overview (moved from Data::Sah's POD).
[REMOVED]
- '.val' removed, now use clause value (DefHash).
[FIXES]
- Update some examples.
0.9.1 2012-09-13 (SHARYANTO)
- Move type documentation from Data::Sah.
- BaseType: remove clauses 'comment' and add clauses 'v' (DefHash);
remove implementation clauses (SANITY, PREPROCESS, POSTPROCESS).
- HasElems: rename clause 'elem_deps' to 'if_elems_re', add clause
'if_elems'.
- str: rename clause 'is_regex' to 'is_re'.
0.9.0 2012-07-21 (SHARYANTO)
First release, split specification from Data-Sah.