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