PRANG CHANGES
This POD file documents a summary of the changes in PRANG. For the full list of changes, refer to the git history.
VERSION 0.16 - 1 May 2012
Lowered minimum versions of some dependencies
VERSION 0.15 - 26 April 2012
Fixed a bug that allows PRANG to work with newer Moose versions
VERSION 0.14 - 10 February 2011
Increased the minimum required version of Moose.
VERSION 0.12 - 9 February 2011
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.
VERSION 0.11 - 12 July 2010
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
andnoNamespaceSchemaLocation
attributes on incoming documents. They are only hints for running unconfigured XML Schema validators anyway.
VERSION 0.10 - 27 June 2010
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 toxml_required => 0
[Sam Vilain]New module PRANG::Coerce for creating coercion rules which are convenient for typical PRANG applications [Andy Chilton]
Support
YourXML::Language->parse_file
and->parse_fh
for convenience's sake [Sam Vilain]
VERSION 0.09 - 7 May 2010
No changes, just a re-bundling, as an included module was not the release version.
VERSION 0.08 - 7 May 2010
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 thedateTime
(it was not anchored before, so accepted any string containing a dateTime).
VERSION 0.07 - 26 Apr 2010
New documentation 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.
VERSION 0.06 - 14 Apr 2010
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.
VERSION 0.05 - 14 Apr 2010
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.
VERSION 0.04 - 9 Apr 2010
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.
VERSION 0.03 - 7 Apr 2010
Some error message enhancements for from various forms of API misunderstanding.
more missing dependencies added.
VERSION 0.02 - 25 Mar 2010
Back-port to work on pre-1.70 XML::LibXML
some missing dependencies added.
SEE ALSO
COPYRIGHT
Copyright 2010, NZ Registry Services. This documentation is licensed under the Artistic License v2.0, which permits relicensing under other Free Software licenses.