The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
0.21 - 2022-01-29

- Fix tests for security change to YAML (rt#132030) [Thanks to YVES for patch]
- Add missing test dependency (rt#122301)

0.20 - 2017-05-21

- Move Changes file to the correct directory

0.19 - 2017-05-21

- Fixed some issues introduced by perl hash key randomisation.
  This affected some of the tests using xml_nodeName in a somewhat
  obscure way. Tests have been tweaked, and an exception thrown when
  problem is hit.

  (This issue occurs when xml_nodeName is used with multiple element
  names and types that can overlap, eg. Str and Int. PRANG doesn't know 
  what to emit in these cases, e.g is the value '42' a String or an Int?
  For now, this is not supported, hence the exception).

0.18 - 2017-05-09

- Fixed failing test (rt110744) [Thanks to SREZIC for patch]

0.16 - 2012-05-01

- Lowered minimum versions of some dependencies

0.15 - 2012-04-26

- Fixed a bug that allows PRANG to work with newer Moose versions

0.14 - 2011-02-10

- Increased the minimum required version of Moose.

0.12 - 2011-02-09

- If PRANG is marshalling out a value and it finds an
  XML::LibXML::Element there, it will now happily just throw the
  document fragment into the document being exported.  Of course, you
  probably had to try quite hard to do that...

- Not setting 'required' or 'default' on complex element attributes (ie,
  attributes which contain another node), and which are explicitly or
  implicitly required - using xml_min, xml_required, etc - is now
  considered a declaration error and produces a warning.

- Removed dependency on MooseX::Method::Signatures, and replaced it with
  MooseX::Params::Validate

- Added a 'lax' parsing mode, which ignores any extra attributes or
  elements which aren't defined in your class.

- Allow PRANG classes to define the encoding of the XML document
  emitted.

0.11 - 2010-07-12

- Ignore xsi:schemaLocation; it has no useful meaning.
    
- xsi:schemaLocation describes "hints as to the physical location of schema
  documents which may be used for ‘assessment’" - ie, it is a hint to a local
  validator as to which schema file contains the XML Schema definition.  On
  XML documents which are transmitted, it is somewhere between a potential
  security risk and totally worthless.  See
  http://www.w3.org/TR/xmlschema-1/#schema-loc for the full story.

- Fixed a bug in PRANG::Graph::Meta::Element which sorted the classes
  badly when using inheritance.  There is still a design issue to be
  solved, if you want to use inheritance and not put new elements on the
  end of the sequence, or if you want to use roles.

- PRANG now happily ignores XML Schema instance schemaLocation and
  noNamespaceSchemaLocation attributes on incoming documents.  They
  are only hints for running unconfigured XML Schema validators anyway.

0.10 - 2010-06-27

- Fix enum support [reported by Heiko Jansen]

- Add support for libxml indenting on to_xml [Heiko Jansen]

- Specifying xml_min = 0 on an element attribute is now
  equivalent to xml_required = 0 [Sam Vilain]

- New module PRANG::Coerce for creating coercion rules which are
  convenient for typical PRANG applications [Andy Chilton]

- Support YourXML::Language-E<gtparse_file and -E<gtparse_fh for
  convenience's sake [Sam Vilain]

0.09 - 2010-05-07

- No changes, just a re-bundling, as an included module was not the
  release version.

0.08 - 2010-05-07

- Distribution now includes all the modules required only for the tests.
  This, along with a bugfix in Scriptalicious, should hopefully close
  the last of the CPAN testers failures for 0.07.

- An addition to PRANG::XMLSchema::Types Str subtypes: date,
  time, and tightening of the dateTime (it was not anchored
  before, so accepted any string containing a dateTime).

0.07 - 2010-04-26

- New documentation B<PRANG::XMLSchema::Guide which provides
  information on manually converting XML Schema specifications to PRANG
  classes.

- Add a coerce rule for PRANG::XMLSchema::token types which
  normalizes whitespace on input values if enabled.

- The xmlns Class property now affects all sub-properties, but not
  the including element.  This mirrors the default behaviour with XML
  Schema.

0.06 - 2010-04-14

- Correct the handling of attributes with no prefix.  They should always
  be considered to have no namespace, even if a default xmlns is
  defined, apparently.

0.05 - 2010-04-14

- XML namespaces support is now much more complete; lots of cases,
  including wildcarding of both the node name and the XML namespace now
  work.  This is powerful enough to successfully round-trip crazy XML
  Schema specifications such as any namespace="##any"
  processContents="skip"

- PRANG::Graph::Class has been deprecated / ripped out.  It was a
  hang-over from the time before use PRANG::Graph; set up the
  metaclass trait.

- It is no longer required to specify the xmlns method, if you do not
  wish to use namespaces.

- Specifying a role as a type now works, so long as the role is used by
  only PRANG::Graph types.

0.04 - 2010-04-09

- Much enhanced support for XML namespaces.  Tests and functionality
  added; still lacking is the "Whatever" mapping, required for crazy
  XMLSchema stuff like any namespace="##any"
  processContents="skip" - this will be supported in the next
  release.

- Various bug fixes, more rejection of invalid input, and so on.

0.03 - 2010-04-07

- Some error message enhancements for from various forms of API
  misunderstanding.

- more missing dependencies added.

0.02 - 2010-03-25

- Back-port to work on pre-1.70 XML::LibXML

- some missing dependencies added.