Changes for version 0.13 - 2009-11-25

  • schema definition of DS schema (in DS::Schema::Schema)
  • new config: debug for debugging complex schemas
  • reintroduced warnings
  • briefer syntax to import plugins, types, schema types: 'use Data::Schema qw(Plugin::Foo Type::Bar Schema::Baz);'
  • new type: typename
  • new attributes. comment, note, default. for scalar types: deps. for str: isa_regex. for array: elem_deps_regex. for hash: key_deps_regex, conflicting_keys, conflicting_keys_regex, codependent_keys, codependent_keys_regex.
  • added attribute aliases. for hash: all_values -> of, all_keys -> keys_of. dep -> deps.
  • new attribute suffixes. :comment, :note, :warn, :warnmsg.
  • INCOMPATIBLE CHANGE: keys_regex now obeys allow_extra_hash_keys setting, just like keys
  • INCOMPATIBLE CHANGE: 'deps' for hash is renamed to 'key_deps' (or 'key_dep'). 'deps' also exists for hash, but now taken from scalar
  • INCOMPATIBLE CHANGE: 'deps' for array is renamed to 'element_deps' (or 'elem_dep'). 'deps' also exists for array, but now taken from scalar
  • changed: 1st and 3rd argument to 'elem_deps'/'key_deps' now become regex instead of plain string
  • int's attribute 'divisible_by' and 'indivisible_by' also accept array
  • refactoring, bug fixes, added tests

Modules

Validate nested data structures with nested structure
Data::Schema configuration
Base class for other DSP::LoadSchema::* plugins
Plugin to load schemas from hashes
Plugin to load schemas from YAML files
the DS schema of DS schema
Type handler for 'all' type
Type handler for arrays ('array')
Base class for Data::Schema type handler
Type handler for booleans ('bool')
Type handler for case-insensitive string ('cistr')
Role for comparable types
Type handler for 'either' type
Type handler for floating point numbers ('float')
Role for types that have the notion of elements
Type handler for hash ('hash')
Type handler for integer numbers ('int')
Base type handler for numbers
Type handler for Perl objects ('object')
Role for printable stuff
Role for scalar types
Make schema as type
Role for sortable types
Type handler for string ('str')
Type handler for DS type 'typename'