- No functional changes since 0.4.3. Marking it as 1.0.0 as a promise for API stability.
- Using php-cs-fixer for automated CS enforcement.
- Minor tweaks for the public release.
- Removed
constants.phpagain. They messed with PHPUnit and don't really provide a great benefit. - #41: Correctly handle self-closing xml elements.
- #40: An element with an empty namespace (xmlns="") is not allowed to have a prefix. This is now fixed.
- Added
Sabre\Xml\Service. This is intended as a simple way to centrally configure xml applications and easily parse/write things from there. #35, #38. - Renamed 'baseUri' to 'contextUri' everywhere.
- #36: Added a few convenience constants to
lib/constants.php. Sabre\Xml\Util::parseClarkNotationis now in theSabre\Xml\Serviceclass.
- Added
XmlDeserializableto matchXmlSerializable.
- Added
$elementMapargument to parseInnerTree, for quickly overriding parsing rules within an element.
- Now depends on sabre/uri 1.0.
- LibXMLException now inherits from ParseException, so it's easy for users to catch any exception thrown by the parser.
- Major BC Break: method names for the Element interface have been renamed
from
serializeXmlanddeserializeXmltoxmlSerializeandxmlDeserialize. This is so that it matches PHP'sJsonSerializableinterface. - #25: Added
XmlSerializableto allow people to write serializers without having to implement a deserializer in the same class. - #26: Renamed the
Sabre\XMLnamespace toSabre\Xml. Due to composer magic and the fact that PHP namespace are case-insensitive, this should not affect anyone, unless you are doing exact string matches on class names. - #23: It's not possible to automatically extract or serialize Xml fragments
from documents using
Sabre\Xml\Element\XmlFragment.
- #16: Added ability to override
elementMap,namespaceMapandbaseUrifor a fragment of a document during reading an writing usingpushContextandpopContext. - Removed:
Writer::$contextandReader::$context. - #15: Added
Reader::$baseUrito matchWriter::$baseUri. - #20: Allow callbacks to be used instead of
Elementclasses in theReader. - #25: Added
readTextto quickly grab all text from a node and advance the reader to the next node. - #15: Added
Sabre\XML\Element\Uri.
- Added:
CDataelement. - #13: Better support for xml with no namespaces. (@kalmas)
- Switched to PSR-4 directory structure.
- Added: baseUri property to the Writer class.
- Added: The writeElement method can now write complex elements.
- Added: Throwing exception when invalid objects are written.
- Fixed: The KeyValue parser was skipping over elements when there was no whitespace between them.
- Fixed: Clearing libxml errors after parsing.
- Added: Support for CDATA.
- Added: Context properties.
- Changed: Reader::parse returns an array with 1 level less depth.
- Added: A LibXMLException is now thrown if the XMLReader comes across an error.
- Fixed: Both the Elements and KeyValue parsers had severe issues with nesting.
- Fixed: The reader now detects when the end of the document is hit before it should (because we're still parsing an element).
- Added: Elements parser.
- Added: KeyValue parser.
- Change: Reader::parseSubTree is now named parseInnerTree, and returns either a string (in case of a text-node), or an array (in case there were child elements).
- Added: Reader::parseCurrentElement is now public.
- First alpha release
Project started: 2012-11-13. First experiments in June 2009.