Revision history for Data-Schema
0.12 2009-11-20
-
new: DS now can compile schema to Perl code for much
speedier validation
-
INCOMPATIBLE CHANGE: required_keys_regex and required_keys
for hash used to require that is defined. now it
isn't. i.e.: ds_validate({a=>undef},
[hash=>{required_keys=>['a']
}]) used to fail, now
succeed. to require that value are defined, use
'required'=>1.
-
INCOMPATIBLE CHANGE: hash's "of" attribute is now changed to
mean (become an alias for) "values_of". The original "of"
meaning is removed because it is easily misused/forgotten.
-
INCOMPATIBLE CHANGE: attribute suffix syntax
(e.g. minlen.errmsg) now changed to using ':'
(e.g. minlen:errmsg, minlen:ui) to avoid clash between
attributeless suffix (':errmsg') and merge prefix '.'
-
spelling change: int's attribute: undivisible_by ->
indivisible_by
-
new attribute suffix: ':errmsg' for error message
-
new: type attribute 'allow_extra_keys' for hash
-
new: add short_english() in type handler
-
removed: validate() no longer return 'warnings' (they are
never used anyway)
-
rearrange tests
-
fix bug in attribute hash merging
0.11 2009-11-09
-
fix broken 0.10 release (HasLength has been replaced)
0.10 2009-11-09
-
new: type attribute 'deps' for HasElement types, specifying
interelement dependencies.
-
new: type 'cistr' (case-insensitive string)
0.09 2009-11-08
-
now requires Data::PrefixMerge 0.06
-
new: type attribute 'forbidden' (the opposite of 'required'), which
states that data must be undef
-
new: type attribute 'set' which is just an alias for 'required' or
'forbidden'. set=1 is the same as setting 'required=1', while 'set=0'
is the same as 'forbidden=0'
-
INCOMPATIBLE CHANGE: setting config is now done via
$validator->config->foo instead of $validator->config->{foo} to catch
config name typos at compile time.
-
INCOMPATIBLE CHANGE: when a hash type has 'keys' attribute, it now
automatically means that only those keys specified in 'keys' are
allowed (i.e. [hash=>{keys: {a: int, b: str, c: int}}] now
automatically means [hash=>{keys: {a: int, b: str, c: int},
allowed_keys: [a, b, c]}]. this is because it is the common case
anyway. to get the old behaviour, you need to set configuration:
'allow_extra_hash_keys' to true.
0.08 2009-11-06
-
refactor: use Moose role: Comparable, Sortable, and HasLength
-
refactor: change type_in_english() to english()
-
add no Moose to every Moose classes
0.07 2009-08-05
-
optimization: defer loading default type handlers until
needed (for slightly better startup speed)
-
new feature: add type_in_english() for type handler
-
doc: small fixes & example addition
-
change: ignore all ui.* type attributes
0.06 2009-06-22
-
use Data::PrefixMerge 0.05
-
allow merge prefix on first attrhash (for KEEP mode merges)
0.05 2009-06-13
-
changed type attributes for hash: add (keys_of, values_of,
allowed_values/values_one_of), remove (all_keys), change
(of)
-
new attributes for array & hash: some_of
-
doc: some more work & fixes on documentation
-
bug fixes
0.04 2009-03-31
-
doc: some more work on documentation
-
change: remove some attribute synonyms, rename some
0.03 2009-03-30
-
rename from Schema-Nested to Data-Schema
-
new feature: attribute suffix
-
new config: gettext_function
-
doc: improve & reorganize documentation
0.02 2009-03-30
-
new feature: add new attribute for array: unique
-
new feature: add attribute alias for Base's one_of: enum
-
doc: fix typos
0.01 2009-03-29
First release