Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Fetching contributors…
Cannot retrieve contributors at this time
260 lines (141 sloc) 7.3 KB
Revision history for Sah
0.9.16 2012-10-26 (SHARYANTO)
- normalize_schema(): Extras are now always normalized to {} so before
"int" => ["int", {}] and now => ["int", {}, {}]. (I think it's more
proper, normalized form doesn't change when extras {} exist, and more
clearly make the normalized form stand out visually).
- bool: Add clause 'is_true' (I think it'll be more portable than using
- array and hash no longer assume the Sortable role (actually it was a
typo, it never was).
- spectest: Add more tests (str, hash, bool, any, all).
0.9.15 2012-10-25 (SHARYANTO)
No spec changes.
- spectest: Add tests for type 'array' (incomplete).
0.9.14 2012-10-25 (SHARYANTO)
No spec changes.
- spectest: Add tests for type 'float'.
- build: Move spectest to share/ so it gets installed.
0.9.13 2012-10-25 (SHARYANTO)
No spec changes.
- spectest: reenable "clause|" tests, add {min,max}_{ok,nok}
and .err_level=warn tests.
0.9.12 2012-10-18 (SHARYANTO)
- Add 'c.COMPILER' attribute namespace to store compiler-specific
- float: Add clauses 'is_pos_inf' and 'is_neg_inf'.
- Add type spectest. Preliminary version, now only available for 'int'.
0.9.11 2012-10-16 (SHARYANTO)
- Add .ok_err_msg to set error message when clause succeeds (existing
.err_msg is for when clause fails). Succeeding clause is regarded as
a validation failure under the presence of .max_ok or .min_ok
- Introduce another error level (.err_level => 'fatal').
0.9.10 2012-10-16 (SHARYANTO)
- Simplify syntax for 'if' clause. Argument back to 3-element array
[COND, THEN, ELSE]. Whether COND/THEN/ELSE is an expression, schema,
clause set, or simple true/false is determined by its type (str,
array, str, hash, bool). This improves readability.
- Replace '.input' attribute with 'prop' and 'check_prop' clauses (and
possibly others in the future). '.input' does not provide a clean
switch between types (e.g. to express string which has an even
length, we used ["str", "div_by.input", ["prop", "len"], "div_by",
2], but 'div_by' is not a clause for str. Now we simply use: ["str",
"prop", ["len", ["int", "div_by": 2]]] or ["str", "check_prop", "$_ %
2 == 0"].
0.9.9 2012-10-05 (SHARYANTO)
- Change attribute for 'prefilters' clause, from 'perm' to 'temp' (to
make it consistent with the new default.temp).
- Add attribute for 'default' clause: 'temp'.
0.9.8 2012-10-03 (SHARYANTO)
No functional changes. Fix examples and misplaced clauses.
0.9.7 2012-10-03 (SHARYANTO)
- Rename HasElems' clause: 'each' to 'each_elem' to avoid ambiguity
with 'each_index'. Also rename 'check_each' to 'check_each_elem'.
- Add hash clauses: 'check_each_key', 'check_each_value'.
0.9.6 2012-10-03 (SHARYANTO)
- Remove hash clause 'allow_extra_keys' and replace it with '.restrict'
attribute for 'keys' clause.
- Add property: 'prio'.
- Add HasElems properties: 'elems', 'indices'.
- Add hash properties: 'keys', 'values'.
- Add hash clauses: 're_keys', 'allowed_keys', 'allowed_keys_re'.
- Specification for 'req_keys' (previously forgotten to be written).
- Reorganize FAQ and add some items.
0.9.5 2012-09-26 (SHARYANTO)
- 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).
- Add type: 'undef'.
- Add attribute: 'input'.
- Add clauses: 'check_each', 'exists', 'check_exists', 'each_index',
- 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
- 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).
- HasElems: remove 'num_of' clause (not generic enough, might be split
to a custom clause distribution later).
0.9.3 2012-09-20 (SHARYANTO)
- 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'.
- 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'.
- Move 'elems' clause to array (POD mistake).
- 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).
- '.val' removed, now use clause value (DefHash).
- 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
- str: rename clause 'is_regex' to 'is_re'.
0.9.0 2012-07-21 (SHARYANTO)
First release, split specification from Data-Sah.
Jump to Line
Something went wrong with that request. Please try again.