1ChangeLog 2========= 3 41.2.0 (2015-08-30) 5------------------ 6 7* #53: Added `parseGetElements`, a function like `parseInnerTree`, except 8 that it always returns an array of elements, or an empty array. 9 10 111.1.0 (2015-06-29) 12------------------ 13 14* #44, #45: Catching broken and invalid XML better and throwing 15 `Sabre\Xml\LibXMLException` whenever we encounter errors. (@stefanmajoor, 16 @DaanBiesterbos) 17 18 191.0.0 (2015-05-25) 20------------------ 21 22* No functional changes since 0.4.3. Marking it as 1.0.0 as a promise for 23 API stability. 24* Using php-cs-fixer for automated CS enforcement. 25 26 270.4.3 (2015-04-01) 28----------------- 29 30* Minor tweaks for the public release. 31 32 330.4.2 (2015-03-20) 34------------------ 35 36* Removed `constants.php` again. They messed with PHPUnit and don't really 37 provide a great benefit. 38* #41: Correctly handle self-closing xml elements. 39 40 410.4.1 (2015-03-19) 42------------------ 43 44* #40: An element with an empty namespace (xmlns="") is not allowed to have a 45 prefix. This is now fixed. 46 47 480.4.0 (2015-03-18) 49------------------ 50 51* Added `Sabre\Xml\Service`. This is intended as a simple way to centrally 52 configure xml applications and easily parse/write things from there. #35, #38. 53* Renamed 'baseUri' to 'contextUri' everywhere. 54* #36: Added a few convenience constants to `lib/constants.php`. 55* `Sabre\Xml\Util::parseClarkNotation` is now in the `Sabre\Xml\Service` class. 56 57 580.3.1 (2015-02-08) 59------------------ 60 61* Added `XmlDeserializable` to match `XmlSerializable`. 62 63 640.3.0 (2015-02-06) 65------------------ 66 67* Added `$elementMap` argument to parseInnerTree, for quickly overriding 68 parsing rules within an element. 69 70 710.2.2 (2015-02-05) 72------------------ 73 74* Now depends on sabre/uri 1.0. 75 76 770.2.1 (2014-12-17) 78------------------ 79 80* LibXMLException now inherits from ParseException, so it's easy for users to 81 catch any exception thrown by the parser. 82 83 840.2.0 (2014-12-05) 85------------------ 86 87* Major BC Break: method names for the Element interface have been renamed 88 from `serializeXml` and `deserializeXml` to `xmlSerialize` and 89 `xmlDeserialize`. This is so that it matches PHP's `JsonSerializable` 90 interface. 91* #25: Added `XmlSerializable` to allow people to write serializers without 92 having to implement a deserializer in the same class. 93* #26: Renamed the `Sabre\XML` namespace to `Sabre\Xml`. Due to composer magic 94 and the fact that PHP namespace are case-insensitive, this should not affect 95 anyone, unless you are doing exact string matches on class names. 96* #23: It's not possible to automatically extract or serialize Xml fragments 97 from documents using `Sabre\Xml\Element\XmlFragment`. 98 99 1000.1.0 (2014-11-24) 101------------------ 102 103* #16: Added ability to override `elementMap`, `namespaceMap` and `baseUri` for 104 a fragment of a document during reading an writing using `pushContext` and 105 `popContext`. 106* Removed: `Writer::$context` and `Reader::$context`. 107* #15: Added `Reader::$baseUri` to match `Writer::$baseUri`. 108* #20: Allow callbacks to be used instead of `Element` classes in the `Reader`. 109* #25: Added `readText` to quickly grab all text from a node and advance the 110 reader to the next node. 111* #15: Added `Sabre\XML\Element\Uri`. 112 113 1140.0.6 (2014-09-26) 115------------------ 116 117* Added: `CData` element. 118* #13: Better support for xml with no namespaces. (@kalmas) 119* Switched to PSR-4 directory structure. 120 121 1220.0.5 (2013-03-27) 123------------------ 124 125* Added: baseUri property to the Writer class. 126* Added: The writeElement method can now write complex elements. 127* Added: Throwing exception when invalid objects are written. 128 129 1300.0.4 (2013-03-14) 131------------------ 132 133* Fixed: The KeyValue parser was skipping over elements when there was no 134 whitespace between them. 135* Fixed: Clearing libxml errors after parsing. 136* Added: Support for CDATA. 137* Added: Context properties. 138 139 1400.0.3 (2013-02-22) 141------------------ 142 143* Changed: Reader::parse returns an array with 1 level less depth. 144* Added: A LibXMLException is now thrown if the XMLReader comes across an error. 145* Fixed: Both the Elements and KeyValue parsers had severe issues with 146 nesting. 147* Fixed: The reader now detects when the end of the document is hit before it 148 should (because we're still parsing an element). 149 150 1510.0.2 (2013-02-17) 152------------------ 153 154* Added: Elements parser. 155* Added: KeyValue parser. 156* Change: Reader::parseSubTree is now named parseInnerTree, and returns either 157 a string (in case of a text-node), or an array (in case there were child 158 elements). 159* Added: Reader::parseCurrentElement is now public. 160 161 1620.0.1 (2013-02-07) 163------------------ 164 165* First alpha release 166 167Project started: 2012-11-13. First experiments in June 2009. 168