1<?xml version="1.0" encoding="UTF-8"?>
2<package packagerversion="1.10.9" version="2.0" xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0     http://pear.php.net/dtd/tasks-1.0.xsd     http://pear.php.net/dtd/package-2.0     http://pear.php.net/dtd/package-2.0.xsd">
3 <name>HTML_QuickForm2</name>
4 <channel>pear.php.net</channel>
5 <extends>HTML_QuickForm</extends>
6 <summary>PHP5 rewrite of HTML_QuickForm package</summary>
7 <description>PHP5 rewrite of HTML_QuickForm and HTML_QuickForm_Controller packages.
8
9 This package provides methods to create, validate and render HTML forms.
10
11 Features:
12   * Supports all form elements defined by HTML standard, provides several
13     custom elements
14   * Server-side and client-side validation, several common rules provided
15   * Multipage forms (tabbed forms and wizards)
16   * Pluggable elements, rules, renderers and renderer plugins
17
18 Major advantages over PHP4 version:
19   * Most of the package&apos;s functionality is covered by unit tests
20   * DOM-like API for building the form structure, new streamlined API for
21     elements&apos; values handling
22   * Default rendering without tables (inspired by
23     HTML_QuickForm_Renderer_Tableless)
24   * Renderer plugins for elements with complex rendering needs
25   * Ability to chain validation rules with &apos;and&apos; and &apos;or&apos;
26   * Client-side validation can run &quot;live&quot; on changing the form fields,
27     validation errors are displayed near the fields instead of in alert()</description>
28 <lead>
29  <name>Alexey Borzov</name>
30  <user>avb</user>
31  <email>avb@php.net</email>
32  <active>yes</active>
33 </lead>
34 <lead>
35  <name>Bertrand Mansion</name>
36  <user>mansion</user>
37  <email>golgote@mamasam.com</email>
38  <active>yes</active>
39 </lead>
40 <date>2021-06-25</date>
41 <time>13:52:05</time>
42 <version>
43  <release>2.2.2</release>
44  <api>2.0.1</api>
45 </version>
46 <stability>
47  <release>stable</release>
48  <api>stable</api>
49 </stability>
50 <license uri="https://opensource.org/licenses/BSD-3-Clause">BSD 3-Clause License</license>
51 <notes>
52* Incorrect option name used in HTML_QuickForm2_Element_Script::__toString()
53  Thanks to Julian Striegl (striegljulian at gmail dot com) for reporting
54 </notes>
55 <contents>
56  <dir name="/">
57   <file md5sum="6d0c7988ef3a8f381ec71a77fc0fd74f" name="HTML/QuickForm2/Container/Repeat/JavascriptBuilder.php" role="php">
58    <tasks:replace from="@package_version@" to="version" type="package-info" />
59   </file>
60   <file md5sum="46eb02a1e06035429932f42d02543860" name="HTML/QuickForm2/Container/Fieldset.php" role="php">
61    <tasks:replace from="@package_version@" to="version" type="package-info" />
62   </file>
63   <file md5sum="38c900e5df184a1cc378c2a2dae996c8" name="HTML/QuickForm2/Container/Group.php" role="php">
64    <tasks:replace from="@package_version@" to="version" type="package-info" />
65   </file>
66   <file md5sum="cb8cbeffb26201f110113250cce2571c" name="HTML/QuickForm2/Container/Repeat.php" role="php">
67    <tasks:replace from="@package_version@" to="version" type="package-info" />
68   </file>
69   <file md5sum="97615f4b50591a46d056ec600919cf2b" name="HTML/QuickForm2/Controller/Action/Back.php" role="php">
70    <tasks:replace from="@package_version@" to="version" type="package-info" />
71   </file>
72   <file md5sum="1cfabd6202fd5a515f89544734ff1fa3" name="HTML/QuickForm2/Controller/Action/Direct.php" role="php">
73    <tasks:replace from="@package_version@" to="version" type="package-info" />
74   </file>
75   <file md5sum="327c9244e1ad3700a9741d03f10810e9" name="HTML/QuickForm2/Controller/Action/Display.php" role="php">
76    <tasks:replace from="@package_version@" to="version" type="package-info" />
77   </file>
78   <file md5sum="2625b5e2d59d112ab91bcd596d5db441" name="HTML/QuickForm2/Controller/Action/Jump.php" role="php">
79    <tasks:replace from="@package_version@" to="version" type="package-info" />
80   </file>
81   <file md5sum="66cac7602cb62bcdbe817781b606f333" name="HTML/QuickForm2/Controller/Action/Next.php" role="php">
82    <tasks:replace from="@package_version@" to="version" type="package-info" />
83   </file>
84   <file md5sum="e015949d4c75456d6427c1a173310679" name="HTML/QuickForm2/Controller/Action/Submit.php" role="php">
85    <tasks:replace from="@package_version@" to="version" type="package-info" />
86   </file>
87   <file md5sum="b29d44225f19b5e24187e880c766c339" name="HTML/QuickForm2/Controller/Action.php" role="php">
88    <tasks:replace from="@package_version@" to="version" type="package-info" />
89   </file>
90   <file md5sum="02c5f6c86bcd9213731f08cd642c3ed3" name="HTML/QuickForm2/Controller/DefaultAction.php" role="php">
91    <tasks:replace from="@package_version@" to="version" type="package-info" />
92   </file>
93   <file md5sum="cabbdd9536bcf16059bc99c714f91266" name="HTML/QuickForm2/Controller/Page.php" role="php">
94    <tasks:replace from="@package_version@" to="version" type="package-info" />
95   </file>
96   <file md5sum="61e9b8f9ff6ffde25f2529631cbb9347" name="HTML/QuickForm2/Controller/SessionContainer.php" role="php">
97    <tasks:replace from="@package_version@" to="version" type="package-info" />
98   </file>
99   <file md5sum="51c6be9f9624c47413ec0914ca0c9297" name="HTML/QuickForm2/DataSource/Array.php" role="php">
100    <tasks:replace from="@package_version@" to="version" type="package-info" />
101   </file>
102   <file md5sum="7dbe6348c5f39421bc59ba78eee24f80" name="HTML/QuickForm2/DataSource/NullAware.php" role="php">
103    <tasks:replace from="@package_version@" to="version" type="package-info" />
104   </file>
105   <file md5sum="691d8877cd0377ef7728bb43a24ad68c" name="HTML/QuickForm2/DataSource/Session.php" role="php">
106    <tasks:replace from="@package_version@" to="version" type="package-info" />
107   </file>
108   <file md5sum="aea8317e687d509a62ebf334ea067b97" name="HTML/QuickForm2/DataSource/Submit.php" role="php">
109    <tasks:replace from="@package_version@" to="version" type="package-info" />
110   </file>
111   <file md5sum="9ea5ce5a9f2944c5db95601a9795629a" name="HTML/QuickForm2/DataSource/SuperGlobal.php" role="php">
112    <tasks:replace from="@package_version@" to="version" type="package-info" />
113   </file>
114   <file md5sum="743ccd38288a25c189a1424083c258dd" name="HTML/QuickForm2/Element/Select/Optgroup.php" role="php">
115    <tasks:replace from="@package_version@" to="version" type="package-info" />
116   </file>
117   <file md5sum="b56881bf9e911b568ab417b3ad47f26e" name="HTML/QuickForm2/Element/Select/OptionContainer.php" role="php">
118    <tasks:replace from="@package_version@" to="version" type="package-info" />
119   </file>
120   <file md5sum="5d9b6b8124f5d6194169e5b24a051213" name="HTML/QuickForm2/Element/Select/OptionIterator.php" role="php">
121    <tasks:replace from="@package_version@" to="version" type="package-info" />
122   </file>
123   <file md5sum="7784e462af5a5bf723159343d6bb8aa2" name="HTML/QuickForm2/Element/Button.php" role="php">
124    <tasks:replace from="@package_version@" to="version" type="package-info" />
125   </file>
126   <file md5sum="51389fd36ce50d6f9864c418eb2ad6cc" name="HTML/QuickForm2/Element/Date.php" role="php">
127    <tasks:replace from="@package_version@" to="version" type="package-info" />
128   </file>
129   <file md5sum="5f51e4181570036ec861d85042dd4d13" name="HTML/QuickForm2/Element/Hierselect.php" role="php">
130    <tasks:replace from="@package_version@" to="version" type="package-info" />
131   </file>
132   <file md5sum="096fcdb8da4eab9d25d28fe6eaeb4395" name="HTML/QuickForm2/Element/Input.php" role="php">
133    <tasks:replace from="@package_version@" to="version" type="package-info" />
134   </file>
135   <file md5sum="4e9898581c5e3e2e952b45b09f33b4ff" name="HTML/QuickForm2/Element/InputButton.php" role="php">
136    <tasks:replace from="@package_version@" to="version" type="package-info" />
137   </file>
138   <file md5sum="f17e1628e36c7e01976c6f21b7588562" name="HTML/QuickForm2/Element/InputCheckable.php" role="php">
139    <tasks:replace from="@package_version@" to="version" type="package-info" />
140   </file>
141   <file md5sum="e2b37ffb4f88305424d8d8baaaa26bf6" name="HTML/QuickForm2/Element/InputCheckbox.php" role="php">
142    <tasks:replace from="@package_version@" to="version" type="package-info" />
143   </file>
144   <file md5sum="c22cc3837907c3928d2bbc4c93835fcc" name="HTML/QuickForm2/Element/InputFile.php" role="php">
145    <tasks:replace from="@package_version@" to="version" type="package-info" />
146   </file>
147   <file md5sum="05cc3852e60313d97e8f1674e36b2bd7" name="HTML/QuickForm2/Element/InputHidden.php" role="php">
148    <tasks:replace from="@package_version@" to="version" type="package-info" />
149   </file>
150   <file md5sum="b7f4155385754a8285b655bbc4cdc5eb" name="HTML/QuickForm2/Element/InputImage.php" role="php">
151    <tasks:replace from="@package_version@" to="version" type="package-info" />
152   </file>
153   <file md5sum="3c4596a5f7e144b845e1078081acaa67" name="HTML/QuickForm2/Element/InputPassword.php" role="php">
154    <tasks:replace from="@package_version@" to="version" type="package-info" />
155   </file>
156   <file md5sum="5fc575d7271a4cc04d0c9a8fd7e1a404" name="HTML/QuickForm2/Element/InputRadio.php" role="php">
157    <tasks:replace from="@package_version@" to="version" type="package-info" />
158   </file>
159   <file md5sum="43ecfd3375dfef031941b004d0337ab2" name="HTML/QuickForm2/Element/InputReset.php" role="php">
160    <tasks:replace from="@package_version@" to="version" type="package-info" />
161   </file>
162   <file md5sum="be26e7628f8cd6c265908718f1dc071a" name="HTML/QuickForm2/Element/InputSubmit.php" role="php">
163    <tasks:replace from="@package_version@" to="version" type="package-info" />
164   </file>
165   <file md5sum="11c783c0ed4b28f63159d55b18474091" name="HTML/QuickForm2/Element/InputText.php" role="php">
166    <tasks:replace from="@package_version@" to="version" type="package-info" />
167   </file>
168   <file md5sum="86a02b8bf85b99105bf272675512ed22" name="HTML/QuickForm2/Element/Script.php" role="php">
169    <tasks:replace from="@package_version@" to="version" type="package-info" />
170   </file>
171   <file md5sum="e8c227be7dc4fef68bb3ef54177de307" name="HTML/QuickForm2/Element/Select.php" role="php">
172    <tasks:replace from="@package_version@" to="version" type="package-info" />
173   </file>
174   <file md5sum="cf7985aff177381507c9db555c652d4c" name="HTML/QuickForm2/Element/Static.php" role="php">
175    <tasks:replace from="@package_version@" to="version" type="package-info" />
176   </file>
177   <file md5sum="de63849ec82f97658202b46b40c2407c" name="HTML/QuickForm2/Element/Textarea.php" role="php">
178    <tasks:replace from="@package_version@" to="version" type="package-info" />
179   </file>
180   <file md5sum="590cd959f5945820093af77940181b47" name="HTML/QuickForm2/MessageProvider/Default.php" role="php">
181    <tasks:replace from="@package_version@" to="version" type="package-info" />
182   </file>
183   <file md5sum="2a08209123dccf63e98b49a8206b2138" name="HTML/QuickForm2/MessageProvider/Strftime.php" role="php">
184    <tasks:replace from="@package_version@" to="version" type="package-info" />
185   </file>
186   <file md5sum="c5adf4515f763cd426da4791a1f4d492" name="HTML/QuickForm2/Renderer/Array.php" role="php">
187    <tasks:replace from="@package_version@" to="version" type="package-info" />
188   </file>
189   <file md5sum="b07678fc123b4ae825ee1aa44027a25d" name="HTML/QuickForm2/Renderer/Callback.php" role="php">
190    <tasks:replace from="@package_version@" to="version" type="package-info" />
191   </file>
192   <file md5sum="46d21c3099fcdbad0c3719c063a87330" name="HTML/QuickForm2/Renderer/Default.php" role="php">
193    <tasks:replace from="@package_version@" to="version" type="package-info" />
194   </file>
195   <file md5sum="c1cd9ed4b7373fff59d820118da8f40d" name="HTML/QuickForm2/Renderer/Plugin.php" role="php">
196    <tasks:replace from="@package_version@" to="version" type="package-info" />
197   </file>
198   <file md5sum="36b51df9100cef16f2302957d32d4591" name="HTML/QuickForm2/Renderer/Proxy.php" role="php">
199    <tasks:replace from="@package_version@" to="version" type="package-info" />
200   </file>
201   <file md5sum="cc6ec1708aa05e44c3db23b768a3e32f" name="HTML/QuickForm2/Renderer/Stub.php" role="php">
202    <tasks:replace from="@package_version@" to="version" type="package-info" />
203   </file>
204   <file md5sum="15d982e52a57132261f3792048f36996" name="HTML/QuickForm2/Rule/Callback.php" role="php">
205    <tasks:replace from="@package_version@" to="version" type="package-info" />
206   </file>
207   <file md5sum="7530b0517990bf9627270b93a19deab3" name="HTML/QuickForm2/Rule/Compare.php" role="php">
208    <tasks:replace from="@package_version@" to="version" type="package-info" />
209   </file>
210   <file md5sum="d5c9009bbd953f4dab662d95faf0cf7c" name="HTML/QuickForm2/Rule/Each.php" role="php">
211    <tasks:replace from="@package_version@" to="version" type="package-info" />
212   </file>
213   <file md5sum="8f43ddbeb2eb35a55659f7933b301bc5" name="HTML/QuickForm2/Rule/Email.php" role="php">
214    <tasks:replace from="@package_version@" to="version" type="package-info" />
215   </file>
216   <file md5sum="46d94a9f5f331e7e4b14775153fc18b1" name="HTML/QuickForm2/Rule/Empty.php" role="php">
217    <tasks:replace from="@package_version@" to="version" type="package-info" />
218   </file>
219   <file md5sum="1b7320c30770627ce8590b0feb6a2a32" name="HTML/QuickForm2/Rule/Length.php" role="php">
220    <tasks:replace from="@package_version@" to="version" type="package-info" />
221   </file>
222   <file md5sum="493cc4d3eeb2698473643b57479cd4fb" name="HTML/QuickForm2/Rule/MaxFileSize.php" role="php">
223    <tasks:replace from="@package_version@" to="version" type="package-info" />
224   </file>
225   <file md5sum="178a150b1014f6c0c12e38f1dd526a8b" name="HTML/QuickForm2/Rule/MimeType.php" role="php">
226    <tasks:replace from="@package_version@" to="version" type="package-info" />
227   </file>
228   <file md5sum="3dade00ad13ff3bd1a989daacbf57478" name="HTML/QuickForm2/Rule/Nonempty.php" role="php">
229    <tasks:replace from="@package_version@" to="version" type="package-info" />
230   </file>
231   <file md5sum="c559ec33a74a11c59476973a9a9262e2" name="HTML/QuickForm2/Rule/NotCallback.php" role="php">
232    <tasks:replace from="@package_version@" to="version" type="package-info" />
233   </file>
234   <file md5sum="533ed65ee91a839bebad91b396a6fbce" name="HTML/QuickForm2/Rule/NotRegex.php" role="php">
235    <tasks:replace from="@package_version@" to="version" type="package-info" />
236   </file>
237   <file md5sum="29e84c6d2a15d6e83cfae6080b58d55f" name="HTML/QuickForm2/Rule/Regex.php" role="php">
238    <tasks:replace from="@package_version@" to="version" type="package-info" />
239   </file>
240   <file md5sum="68b8967dfb1ddaf4186793540825b9ff" name="HTML/QuickForm2/Rule/Required.php" role="php">
241    <tasks:replace from="@package_version@" to="version" type="package-info" />
242   </file>
243   <file md5sum="dad077d2b6a5e06774dc0c1c5d6a77f6" name="HTML/QuickForm2/Container.php" role="php">
244    <tasks:replace from="@package_version@" to="version" type="package-info" />
245   </file>
246   <file md5sum="23da7607fb73508f7cbabd9ef8026bb6" name="HTML/QuickForm2/ContainerIterator.php" role="php">
247    <tasks:replace from="@package_version@" to="version" type="package-info" />
248   </file>
249   <file md5sum="d9bc04a4e9cfba82aee1966573dc52d3" name="HTML/QuickForm2/Controller.php" role="php">
250    <tasks:replace from="@package_version@" to="version" type="package-info" />
251   </file>
252   <file md5sum="9998ed53918245d285f37020e9fa58e8" name="HTML/QuickForm2/DataSource.php" role="php">
253    <tasks:replace from="@package_version@" to="version" type="package-info" />
254   </file>
255   <file md5sum="76c8eecc090ccfe336bf807763b97dfa" name="HTML/QuickForm2/Element.php" role="php">
256    <tasks:replace from="@package_version@" to="version" type="package-info" />
257   </file>
258   <file md5sum="c87ef245d00fc0b6866959a08a7a5702" name="HTML/QuickForm2/Exception.php" role="php">
259    <tasks:replace from="@package_version@" to="version" type="package-info" />
260   </file>
261   <file md5sum="f7e8daef577cd7fa457503706b11ae4f" name="HTML/QuickForm2/Factory.php" role="php">
262    <tasks:replace from="@package_version@" to="version" type="package-info" />
263   </file>
264   <file md5sum="ea660b21ce28ec5765c310fce955d93d" name="HTML/QuickForm2/InvalidArgumentException.php" role="php">
265    <tasks:replace from="@package_version@" to="version" type="package-info" />
266   </file>
267   <file md5sum="be885559f2db0a293bcc984ee1f0c7f6" name="HTML/QuickForm2/JavascriptBuilder.php" role="php">
268    <tasks:replace from="@data_dir@" to="data_dir" type="pear-config" />
269    <tasks:replace from="@package_version@" to="version" type="package-info" />
270   </file>
271   <file md5sum="61620f6de00594f9998b3b87477b5b51" name="HTML/QuickForm2/Loader.php" role="php">
272    <tasks:replace from="@package_version@" to="version" type="package-info" />
273   </file>
274   <file md5sum="d70150347a7089d3f0c35953aa175bc9" name="HTML/QuickForm2/MessageProvider.php" role="php">
275    <tasks:replace from="@package_version@" to="version" type="package-info" />
276   </file>
277   <file md5sum="5cec7c08673f65207f9ff4c1b6ae51f1" name="HTML/QuickForm2/Node.php" role="php">
278    <tasks:replace from="@package_version@" to="version" type="package-info" />
279   </file>
280   <file md5sum="657eb09c7f4263fd86c6345cb0527a69" name="HTML/QuickForm2/NotFoundException.php" role="php">
281    <tasks:replace from="@package_version@" to="version" type="package-info" />
282   </file>
283   <file md5sum="df30dfbd747e2563f76b981d5dc108b8" name="HTML/QuickForm2/Renderer.php" role="php">
284    <tasks:replace from="@package_version@" to="version" type="package-info" />
285   </file>
286   <file md5sum="2d239d9c823ce257337a5f7c4b3705cc" name="HTML/QuickForm2/Rule.php" role="php">
287    <tasks:replace from="@package_version@" to="version" type="package-info" />
288   </file>
289   <file md5sum="ac40bc78a261c98ea887b5a5535d6e4c" name="HTML/QuickForm2.php" role="php">
290    <tasks:replace from="@package_version@" to="version" type="package-info" />
291   </file>
292   <file md5sum="7e259af4df02e992cdc202bfa2740104" name="tests/QuickForm2/Container/AllTests.php" role="test">
293    <tasks:replace from="@package_version@" to="version" type="package-info" />
294   </file>
295   <file md5sum="31d516cd9b1974469d72f978c20f15e2" name="tests/QuickForm2/Container/FieldsetTest.php" role="test">
296    <tasks:replace from="@package_version@" to="version" type="package-info" />
297   </file>
298   <file md5sum="9700afb69d2a9f94a6c5e12c99e2f910" name="tests/QuickForm2/Container/GroupTest.php" role="test">
299    <tasks:replace from="@package_version@" to="version" type="package-info" />
300   </file>
301   <file md5sum="7835956ced4dd982fc15e33c0c9b9bac" name="tests/QuickForm2/Container/RepeatTest.php" role="test">
302    <tasks:replace from="@package_version@" to="version" type="package-info" />
303   </file>
304   <file md5sum="830c3a4ffd1e234212c4513af79ea2c7" name="tests/QuickForm2/Controller/Action/AllTests.php" role="test">
305    <tasks:replace from="@package_version@" to="version" type="package-info" />
306   </file>
307   <file md5sum="39d2c0e67b6efe2f5da0bc25b71c5c6a" name="tests/QuickForm2/Controller/Action/BackTest.php" role="test">
308    <tasks:replace from="@package_version@" to="version" type="package-info" />
309   </file>
310   <file md5sum="4b69bde29b18912cf84ae459a8c407c1" name="tests/QuickForm2/Controller/Action/DirectTest.php" role="test">
311    <tasks:replace from="@package_version@" to="version" type="package-info" />
312   </file>
313   <file md5sum="4556336223f28874b5678afe32b89620" name="tests/QuickForm2/Controller/Action/DisplayTest.php" role="test">
314    <tasks:replace from="@package_version@" to="version" type="package-info" />
315   </file>
316   <file md5sum="59fcc3131799588ad5663577042e6ef2" name="tests/QuickForm2/Controller/Action/JumpTest.php" role="test">
317    <tasks:replace from="@package_version@" to="version" type="package-info" />
318   </file>
319   <file md5sum="f1b37ae82335ea47761ad9760b2f95b7" name="tests/QuickForm2/Controller/Action/NextTest.php" role="test">
320    <tasks:replace from="@package_version@" to="version" type="package-info" />
321   </file>
322   <file md5sum="9b7c246ec6711343a9ce3f434f8e0efe" name="tests/QuickForm2/Controller/Action/SubmitTest.php" role="test">
323    <tasks:replace from="@package_version@" to="version" type="package-info" />
324   </file>
325   <file md5sum="b7c34d529dfdf199c89b3263d4b50fa4" name="tests/QuickForm2/Controller/AllTests.php" role="test">
326    <tasks:replace from="@package_version@" to="version" type="package-info" />
327   </file>
328   <file md5sum="66a082035695afc2eb1dab9ca77378a8" name="tests/QuickForm2/Controller/PageTest.php" role="test">
329    <tasks:replace from="@package_version@" to="version" type="package-info" />
330   </file>
331   <file md5sum="b9cabb9bda6a84162f31f3743f3e5abc" name="tests/QuickForm2/DataSource/AllTests.php" role="test">
332    <tasks:replace from="@package_version@" to="version" type="package-info" />
333   </file>
334   <file md5sum="4bd8a73a403b575009d6f28e844dee6a" name="tests/QuickForm2/DataSource/ArrayTest.php" role="test">
335    <tasks:replace from="@package_version@" to="version" type="package-info" />
336   </file>
337   <file md5sum="8263050e25326cbc253767b732001e39" name="tests/QuickForm2/DataSource/SuperGlobalTest.php" role="test">
338    <tasks:replace from="@package_version@" to="version" type="package-info" />
339   </file>
340   <file md5sum="750da13aa91b574ae9415c77c46adbe3" name="tests/QuickForm2/Element/AllTests.php" role="test">
341    <tasks:replace from="@package_version@" to="version" type="package-info" />
342   </file>
343   <file md5sum="06d45a852aaa2e0aa6a31ef0cfa3126c" name="tests/QuickForm2/Element/ButtonTest.php" role="test">
344    <tasks:replace from="@package_version@" to="version" type="package-info" />
345   </file>
346   <file md5sum="139a39a8fc3c237fe8b1bc63338520c9" name="tests/QuickForm2/Element/DateTest.php" role="test">
347    <tasks:replace from="@package_version@" to="version" type="package-info" />
348   </file>
349   <file md5sum="4d50a0bd67570d4a62a3de89b050e21f" name="tests/QuickForm2/Element/HierselectTest.php" role="test">
350    <tasks:replace from="@package_version@" to="version" type="package-info" />
351   </file>
352   <file md5sum="b9a747fe75e875dd7b2d39458963ba9d" name="tests/QuickForm2/Element/InputButtonTest.php" role="test">
353    <tasks:replace from="@package_version@" to="version" type="package-info" />
354   </file>
355   <file md5sum="739dfabd1b340eadf8d10a836353937b" name="tests/QuickForm2/Element/InputCheckableTest.php" role="test">
356    <tasks:replace from="@package_version@" to="version" type="package-info" />
357   </file>
358   <file md5sum="a075b4858c058675d1b4fb5a783b621e" name="tests/QuickForm2/Element/InputCheckboxTest.php" role="test">
359    <tasks:replace from="@package_version@" to="version" type="package-info" />
360   </file>
361   <file md5sum="58b3b2899b095b1bd9527927fb2c7200" name="tests/QuickForm2/Element/InputFileTest.php" role="test">
362    <tasks:replace from="@package_version@" to="version" type="package-info" />
363   </file>
364   <file md5sum="7611884f1b77880c61f788d1fa9ccb27" name="tests/QuickForm2/Element/InputHiddenTest.php" role="test">
365    <tasks:replace from="@package_version@" to="version" type="package-info" />
366   </file>
367   <file md5sum="ed378d558ce63d2b7b72c95948bd089d" name="tests/QuickForm2/Element/InputImageTest.php" role="test">
368    <tasks:replace from="@package_version@" to="version" type="package-info" />
369   </file>
370   <file md5sum="d6f2601c4358b9780d7b9bc88febe8ce" name="tests/QuickForm2/Element/InputPasswordTest.php" role="test">
371    <tasks:replace from="@package_version@" to="version" type="package-info" />
372   </file>
373   <file md5sum="08c30acfddaa74a27196a040e88a32d9" name="tests/QuickForm2/Element/InputResetTest.php" role="test">
374    <tasks:replace from="@package_version@" to="version" type="package-info" />
375   </file>
376   <file md5sum="2cb14ad72d53be13f048d65c7631c9d7" name="tests/QuickForm2/Element/InputSubmitTest.php" role="test">
377    <tasks:replace from="@package_version@" to="version" type="package-info" />
378   </file>
379   <file md5sum="fec77bb5bf736d0e9fe682991333dfcd" name="tests/QuickForm2/Element/InputTest.php" role="test">
380    <tasks:replace from="@package_version@" to="version" type="package-info" />
381   </file>
382   <file md5sum="113b0bafcd8c8cd955b4b4e390a1df09" name="tests/QuickForm2/Element/ScriptTest.php" role="test">
383    <tasks:replace from="@package_version@" to="version" type="package-info" />
384   </file>
385   <file md5sum="1e6cdebf9e1685d95eedeb931d73fe6c" name="tests/QuickForm2/Element/SelectTest.php" role="test">
386    <tasks:replace from="@package_version@" to="version" type="package-info" />
387   </file>
388   <file md5sum="4363543d569d0fe88b537efea240b356" name="tests/QuickForm2/Element/StaticTest.php" role="test">
389    <tasks:replace from="@package_version@" to="version" type="package-info" />
390   </file>
391   <file md5sum="96ac051db62b256925bbab11b0e386a5" name="tests/QuickForm2/Element/TextareaTest.php" role="test">
392    <tasks:replace from="@package_version@" to="version" type="package-info" />
393   </file>
394   <file md5sum="95e2ec044f0dbcac6ecaf1056a692790" name="tests/QuickForm2/Renderer/AllTests.php" role="test">
395    <tasks:replace from="@package_version@" to="version" type="package-info" />
396   </file>
397   <file md5sum="a99cf6f527b8c7b00fef1f422a94b9c4" name="tests/QuickForm2/Renderer/ArrayTest.php" role="test">
398    <tasks:replace from="@package_version@" to="version" type="package-info" />
399   </file>
400   <file md5sum="51d8726f564cd6f22546307baef34573" name="tests/QuickForm2/Renderer/CallbackTest.php" role="test">
401    <tasks:replace from="@package_version@" to="version" type="package-info" />
402   </file>
403   <file md5sum="b5a7039e66c04c72e4e662a4b951498b" name="tests/QuickForm2/Renderer/DefaultTest.php" role="test">
404    <tasks:replace from="@package_version@" to="version" type="package-info" />
405   </file>
406   <file md5sum="c87f16b05e912d0b82d6fd62edeb6dfa" name="tests/QuickForm2/Renderer/StubTest.php" role="test">
407    <tasks:replace from="@package_version@" to="version" type="package-info" />
408   </file>
409   <file md5sum="94ef190bcc40afa6cd02fb7fe659ca67" name="tests/QuickForm2/Rule/AllTests.php" role="test">
410    <tasks:replace from="@package_version@" to="version" type="package-info" />
411   </file>
412   <file md5sum="7c8585b52cb8b3ee036481ae78f0afa9" name="tests/QuickForm2/Rule/CallbackTest.php" role="test">
413    <tasks:replace from="@package_version@" to="version" type="package-info" />
414   </file>
415   <file md5sum="5a60b2127b348b77ae1d468b5ce4d8cb" name="tests/QuickForm2/Rule/CompareTest.php" role="test">
416    <tasks:replace from="@package_version@" to="version" type="package-info" />
417   </file>
418   <file md5sum="1c61208c184f6805f2c056df4c60b139" name="tests/QuickForm2/Rule/EachTest.php" role="test">
419    <tasks:replace from="@package_version@" to="version" type="package-info" />
420   </file>
421   <file md5sum="0656c5ffc00ed32276dfc5ceb944cece" name="tests/QuickForm2/Rule/EmailTest.php" role="test">
422    <tasks:replace from="@package_version@" to="version" type="package-info" />
423   </file>
424   <file md5sum="1832ffe0b13b00cf19441a1e75bdfbfe" name="tests/QuickForm2/Rule/EmptyTest.php" role="test">
425    <tasks:replace from="@package_version@" to="version" type="package-info" />
426   </file>
427   <file md5sum="9301815849bd18cfd17c22377df0b62f" name="tests/QuickForm2/Rule/LengthTest.php" role="test">
428    <tasks:replace from="@package_version@" to="version" type="package-info" />
429   </file>
430   <file md5sum="4284ce8722855ad96de54569f54279e3" name="tests/QuickForm2/Rule/MaxFileSizeTest.php" role="test">
431    <tasks:replace from="@package_version@" to="version" type="package-info" />
432   </file>
433   <file md5sum="890c0c8f6d7a7566c7500908f9fba2cb" name="tests/QuickForm2/Rule/MimeTypeTest.php" role="test">
434    <tasks:replace from="@package_version@" to="version" type="package-info" />
435   </file>
436   <file md5sum="7b9519be38fca0ea54f29e49c6180a89" name="tests/QuickForm2/Rule/NonemptyTest.php" role="test">
437    <tasks:replace from="@package_version@" to="version" type="package-info" />
438   </file>
439   <file md5sum="84eb6b5924f4cca2fbdc14e4998a72ad" name="tests/QuickForm2/Rule/NotCallbackTest.php" role="test">
440    <tasks:replace from="@package_version@" to="version" type="package-info" />
441   </file>
442   <file md5sum="05d976c947f878553e7102a61a690f45" name="tests/QuickForm2/Rule/NotRegexTest.php" role="test">
443    <tasks:replace from="@package_version@" to="version" type="package-info" />
444   </file>
445   <file md5sum="6a10c34d19c1ab22cb44954cd6b9d817" name="tests/QuickForm2/Rule/RegexTest.php" role="test">
446    <tasks:replace from="@package_version@" to="version" type="package-info" />
447   </file>
448   <file md5sum="1e24c7a5737c5af85c8e223483076279" name="tests/QuickForm2/Rule/RequiredTest.php" role="test">
449    <tasks:replace from="@package_version@" to="version" type="package-info" />
450   </file>
451   <file md5sum="89f8b6eb659b80f81b22a04f27e3a863" name="tests/QuickForm2/_files/1024-bytes.upload" role="test" />
452   <file md5sum="8dad26d3ebfbb05a1a80801c151da733" name="tests/QuickForm2/_files/FakeElement.php" role="test" />
453   <file md5sum="b1da24f910611bcae654bf2954a0b514" name="tests/QuickForm2/_files/FakeRule.php" role="test" />
454   <file md5sum="9a18c4ee9d95abcfdb1472cae20984cd" name="tests/QuickForm2/_files/InvalidFile.php" role="test" />
455   <file md5sum="3ed425874b61401c39b23b079743624e" name="tests/QuickForm2/AllTests.php" role="test">
456    <tasks:replace from="@package_version@" to="version" type="package-info" />
457   </file>
458   <file md5sum="cfea333d7b93aaef7993fa78bb5c4183" name="tests/QuickForm2/ContainerTest.php" role="test">
459    <tasks:replace from="@package_version@" to="version" type="package-info" />
460   </file>
461   <file md5sum="1f41cda6ba28a9ef689c3d5c5084ab81" name="tests/QuickForm2/ContainerOverloadTest.php" role="test">
462    <tasks:replace from="@package_version@" to="version" type="package-info" />
463   </file>
464   <file md5sum="70ca2ae214f3d178a297fad7d9a6ac14" name="tests/QuickForm2/ControllerTest.php" role="test">
465    <tasks:replace from="@package_version@" to="version" type="package-info" />
466   </file>
467   <file md5sum="555894c494f17cb691181326008544ac" name="tests/QuickForm2/ElementTest.php" role="test">
468    <tasks:replace from="@package_version@" to="version" type="package-info" />
469   </file>
470   <file md5sum="b4fa99e6b8758b2f4d0efe88a3cb2e33" name="tests/QuickForm2/FactoryTest.php" role="test">
471    <tasks:replace from="@package_version@" to="version" type="package-info" />
472   </file>
473   <file md5sum="55964d6ac1988421d7c764e887b17997" name="tests/QuickForm2/FilterTest.php" role="test">
474    <tasks:replace from="@package_version@" to="version" type="package-info" />
475   </file>
476   <file md5sum="a44e9b718a4212da6414b02b7fa09bad" name="tests/QuickForm2/JavascriptBuilderTest.php" role="test">
477    <tasks:replace from="@package_version@" to="version" type="package-info" />
478   </file>
479   <file md5sum="54a1027e7a04b9e3c69004addf5a471b" name="tests/QuickForm2/NodeTest.php" role="test">
480    <tasks:replace from="@package_version@" to="version" type="package-info" />
481   </file>
482   <file md5sum="5be16b9dc297621b35750624b15ebedb" name="tests/QuickForm2/RendererTest.php" role="test">
483    <tasks:replace from="@package_version@" to="version" type="package-info" />
484   </file>
485   <file md5sum="b3676647ab4d8f44b8ac86222cb89737" name="tests/QuickForm2/RuleTest.php" role="test">
486    <tasks:replace from="@package_version@" to="version" type="package-info" />
487   </file>
488   <file md5sum="3444728156a9cdc50d01ea33190ab3a9" name="tests/AllTests.php" role="test">
489    <tasks:replace from="@package_version@" to="version" type="package-info" />
490   </file>
491   <file md5sum="4b992e9807946b2553cc36a502458552" name="tests/QuickForm2Test.php" role="test">
492    <tasks:replace from="@package_version@" to="version" type="package-info" />
493   </file>
494   <file md5sum="fe8904519074f0dde56f377bcd6c1420" name="tests/TestHelper.php" role="test">
495    <tasks:replace from="@package_version@" to="version" type="package-info" />
496   </file>
497   <file md5sum="37c704d30c01d893bebbcc9ce823f9c4" name="docs/examples/controller/simple.php" role="doc">
498    <tasks:replace from="@data_dir@" to="data_dir" type="pear-config" />
499   </file>
500   <file md5sum="d50210f4e1d51b03589af89a2aff467b" name="docs/examples/controller/tabbed.php" role="doc">
501    <tasks:replace from="@data_dir@" to="data_dir" type="pear-config" />
502   </file>
503   <file md5sum="eea516ce37fccbee7dab3872fabb36d0" name="docs/examples/controller/wizard.php" role="doc">
504    <tasks:replace from="@data_dir@" to="data_dir" type="pear-config" />
505   </file>
506   <file md5sum="b5e688b144d405d591820bd30892c04d" name="docs/examples/js/dualselect.js" role="doc" />
507   <file md5sum="2afe5e4d234fcfd035d3d6df3dbc9716" name="docs/examples/js/hierselect-server.php" role="doc" />
508   <file md5sum="8ccb81f485d0778b56bcdae4b872325e" name="docs/examples/renderers/templates/array-twig.tpl" role="doc" />
509   <file md5sum="77e419bee24ba24ee749b137dc8f206b" name="docs/examples/renderers/array-twig.php" role="doc">
510    <tasks:replace from="@data_dir@" to="data_dir" type="pear-config" />
511   </file>
512   <file md5sum="6ca1c1351e74e3213a8b2af504aee6b7" name="docs/examples/support/hierselect-loader.php" role="doc" />
513   <file md5sum="7edafb617403d1ce052cf0b5eaf3569a" name="docs/examples/basic-elements.php" role="doc">
514    <tasks:replace from="@data_dir@" to="data_dir" type="pear-config" />
515   </file>
516   <file md5sum="5d24d9ab7b0cd4a66f523ebe0595da2a" name="docs/examples/builtin-rules.php" role="doc">
517    <tasks:replace from="@data_dir@" to="data_dir" type="pear-config" />
518   </file>
519   <file md5sum="db7e62c7ed0d199e9bf6c06d1d2fc07f" name="docs/examples/default-renderer.php" role="doc" />
520   <file md5sum="e94b8bc9ff6745b088af33df4f02d8d1" name="docs/examples/dualselect.php" role="doc">
521    <tasks:replace from="@data_dir@" to="data_dir" type="pear-config" />
522   </file>
523   <file md5sum="eff617bc64cfca040f65214ac6dda3df" name="docs/examples/hierselect-ajax.php" role="doc">
524    <tasks:replace from="@data_dir@" to="data_dir" type="pear-config" />
525   </file>
526   <file md5sum="be4bce223102fe3559f546ee4eb4fa0e" name="docs/examples/repeat.php" role="doc">
527    <tasks:replace from="@data_dir@" to="data_dir" type="pear-config" />
528   </file>
529   <file md5sum="70dc2db55e7c4c2b6e8023a60f7618cf" name="docs/LICENSE" role="doc" />
530   <file md5sum="795a3f08ed550647c4fe4e12d5df1bc8" name="data/js/min/quickform.js" role="data">
531    <tasks:replace from="@package_version@" to="version" type="package-info" />
532   </file>
533   <file md5sum="150af5ae0412936ed501834366389825" name="data/js/min/quickform-hierselect.js" role="data">
534    <tasks:replace from="@package_version@" to="version" type="package-info" />
535   </file>
536   <file md5sum="b231d14e5af3caff46c35cddeddf84f2" name="data/js/min/quickform-repeat.js" role="data">
537    <tasks:replace from="@package_version@" to="version" type="package-info" />
538   </file>
539   <file md5sum="8e43e4b485023a92350aefddddf33d7d" name="data/js/quickform.js" role="data">
540    <tasks:replace from="@package_version@" to="version" type="package-info" />
541   </file>
542   <file md5sum="88a1908f0c2fd3773a52f999bdffacc3" name="data/js/quickform-hierselect.js" role="data">
543    <tasks:replace from="@package_version@" to="version" type="package-info" />
544   </file>
545   <file md5sum="a1dcfb8c0a6727ec94ea4744bdd23bca" name="data/js/quickform-repeat.js" role="data">
546    <tasks:replace from="@package_version@" to="version" type="package-info" />
547   </file>
548   <file md5sum="7feab5eba0b47dcc6c90706af2709280" name="data/quickform.css" role="data" />
549  </dir>
550 </contents>
551 <dependencies>
552  <required>
553   <php>
554    <min>5.4.0</min>
555   </php>
556   <pearinstaller>
557    <min>1.10.0</min>
558   </pearinstaller>
559   <package>
560    <name>HTML_Common2</name>
561    <channel>pear.php.net</channel>
562    <min>2.2.0</min>
563   </package>
564  </required>
565 </dependencies>
566 <phprelease>
567  <filelist>
568   <install as="quickform.css" name="data/quickform.css" />
569   <install as="js/quickform.js" name="data/js/quickform.js" />
570   <install as="js/quickform-hierselect.js" name="data/js/quickform-hierselect.js" />
571   <install as="js/quickform-repeat.js" name="data/js/quickform-repeat.js" />
572   <install as="js/min/quickform.js" name="data/js/min/quickform.js" />
573   <install as="js/min/quickform-hierselect.js" name="data/js/min/quickform-hierselect.js" />
574   <install as="js/min/quickform-repeat.js" name="data/js/min/quickform-repeat.js" />
575   <install as="LICENSE" name="docs/LICENSE" />
576   <install as="examples/controller/simple.php" name="docs/examples/controller/simple.php" />
577   <install as="examples/controller/tabbed.php" name="docs/examples/controller/tabbed.php" />
578   <install as="examples/controller/wizard.php" name="docs/examples/controller/wizard.php" />
579   <install as="examples/js/dualselect.js" name="docs/examples/js/dualselect.js" />
580   <install as="examples/js/hierselect-server.php" name="docs/examples/js/hierselect-server.php" />
581   <install as="examples/renderers/array-twig.php" name="docs/examples/renderers/array-twig.php" />
582   <install as="examples/renderers/templates/array-twig.tpl" name="docs/examples/renderers/templates/array-twig.tpl" />
583   <install as="examples/support/hierselect-loader.php" name="docs/examples/support/hierselect-loader.php" />
584   <install as="examples/basic-elements.php" name="docs/examples/basic-elements.php" />
585   <install as="examples/builtin-rules.php" name="docs/examples/builtin-rules.php" />
586   <install as="examples/default-renderer.php" name="docs/examples/default-renderer.php" />
587   <install as="examples/dualselect.php" name="docs/examples/dualselect.php" />
588   <install as="examples/hierselect-ajax.php" name="docs/examples/hierselect-ajax.php" />
589   <install as="examples/repeat.php" name="docs/examples/repeat.php" />
590   <install as="AllTests.php" name="tests/AllTests.php" />
591   <install as="QuickForm2Test.php" name="tests/QuickForm2Test.php" />
592   <install as="TestHelper.php" name="tests/TestHelper.php" />
593   <install as="QuickForm2/AllTests.php" name="tests/QuickForm2/AllTests.php" />
594   <install as="QuickForm2/ContainerOverloadTest.php" name="tests/QuickForm2/ContainerOverloadTest.php" />
595   <install as="QuickForm2/ContainerTest.php" name="tests/QuickForm2/ContainerTest.php" />
596   <install as="QuickForm2/ControllerTest.php" name="tests/QuickForm2/ControllerTest.php" />
597   <install as="QuickForm2/ElementTest.php" name="tests/QuickForm2/ElementTest.php" />
598   <install as="QuickForm2/FactoryTest.php" name="tests/QuickForm2/FactoryTest.php" />
599   <install as="QuickForm2/FilterTest.php" name="tests/QuickForm2/FilterTest.php" />
600   <install as="QuickForm2/JavascriptBuilderTest.php" name="tests/QuickForm2/JavascriptBuilderTest.php" />
601   <install as="QuickForm2/NodeTest.php" name="tests/QuickForm2/NodeTest.php" />
602   <install as="QuickForm2/RendererTest.php" name="tests/QuickForm2/RendererTest.php" />
603   <install as="QuickForm2/RuleTest.php" name="tests/QuickForm2/RuleTest.php" />
604   <install as="QuickForm2/Container/AllTests.php" name="tests/QuickForm2/Container/AllTests.php" />
605   <install as="QuickForm2/Container/FieldsetTest.php" name="tests/QuickForm2/Container/FieldsetTest.php" />
606   <install as="QuickForm2/Container/GroupTest.php" name="tests/QuickForm2/Container/GroupTest.php" />
607   <install as="QuickForm2/Container/RepeatTest.php" name="tests/QuickForm2/Container/RepeatTest.php" />
608   <install as="QuickForm2/Controller/AllTests.php" name="tests/QuickForm2/Controller/AllTests.php" />
609   <install as="QuickForm2/Controller/PageTest.php" name="tests/QuickForm2/Controller/PageTest.php" />
610   <install as="QuickForm2/Controller/Action/AllTests.php" name="tests/QuickForm2/Controller/Action/AllTests.php" />
611   <install as="QuickForm2/Controller/Action/BackTest.php" name="tests/QuickForm2/Controller/Action/BackTest.php" />
612   <install as="QuickForm2/Controller/Action/DirectTest.php" name="tests/QuickForm2/Controller/Action/DirectTest.php" />
613   <install as="QuickForm2/Controller/Action/DisplayTest.php" name="tests/QuickForm2/Controller/Action/DisplayTest.php" />
614   <install as="QuickForm2/Controller/Action/JumpTest.php" name="tests/QuickForm2/Controller/Action/JumpTest.php" />
615   <install as="QuickForm2/Controller/Action/NextTest.php" name="tests/QuickForm2/Controller/Action/NextTest.php" />
616   <install as="QuickForm2/Controller/Action/SubmitTest.php" name="tests/QuickForm2/Controller/Action/SubmitTest.php" />
617   <install as="QuickForm2/DataSource/AllTests.php" name="tests/QuickForm2/DataSource/AllTests.php" />
618   <install as="QuickForm2/DataSource/ArrayTest.php" name="tests/QuickForm2/DataSource/ArrayTest.php" />
619   <install as="QuickForm2/DataSource/SuperGlobalTest.php" name="tests/QuickForm2/DataSource/SuperGlobalTest.php" />
620   <install as="QuickForm2/Element/AllTests.php" name="tests/QuickForm2/Element/AllTests.php" />
621   <install as="QuickForm2/Element/ButtonTest.php" name="tests/QuickForm2/Element/ButtonTest.php" />
622   <install as="QuickForm2/Element/DateTest.php" name="tests/QuickForm2/Element/DateTest.php" />
623   <install as="QuickForm2/Element/HierselectTest.php" name="tests/QuickForm2/Element/HierselectTest.php" />
624   <install as="QuickForm2/Element/InputButtonTest.php" name="tests/QuickForm2/Element/InputButtonTest.php" />
625   <install as="QuickForm2/Element/InputCheckableTest.php" name="tests/QuickForm2/Element/InputCheckableTest.php" />
626   <install as="QuickForm2/Element/InputCheckboxTest.php" name="tests/QuickForm2/Element/InputCheckboxTest.php" />
627   <install as="QuickForm2/Element/InputFileTest.php" name="tests/QuickForm2/Element/InputFileTest.php" />
628   <install as="QuickForm2/Element/InputHiddenTest.php" name="tests/QuickForm2/Element/InputHiddenTest.php" />
629   <install as="QuickForm2/Element/InputImageTest.php" name="tests/QuickForm2/Element/InputImageTest.php" />
630   <install as="QuickForm2/Element/InputPasswordTest.php" name="tests/QuickForm2/Element/InputPasswordTest.php" />
631   <install as="QuickForm2/Element/InputResetTest.php" name="tests/QuickForm2/Element/InputResetTest.php" />
632   <install as="QuickForm2/Element/InputSubmitTest.php" name="tests/QuickForm2/Element/InputSubmitTest.php" />
633   <install as="QuickForm2/Element/InputTest.php" name="tests/QuickForm2/Element/InputTest.php" />
634   <install as="QuickForm2/Element/ScriptTest.php" name="tests/QuickForm2/Element/ScriptTest.php" />
635   <install as="QuickForm2/Element/SelectTest.php" name="tests/QuickForm2/Element/SelectTest.php" />
636   <install as="QuickForm2/Element/StaticTest.php" name="tests/QuickForm2/Element/StaticTest.php" />
637   <install as="QuickForm2/Element/TextareaTest.php" name="tests/QuickForm2/Element/TextareaTest.php" />
638   <install as="QuickForm2/Renderer/AllTests.php" name="tests/QuickForm2/Renderer/AllTests.php" />
639   <install as="QuickForm2/Renderer/ArrayTest.php" name="tests/QuickForm2/Renderer/ArrayTest.php" />
640   <install as="QuickForm2/Renderer/CallbackTest.php" name="tests/QuickForm2/Renderer/CallbackTest.php" />
641   <install as="QuickForm2/Renderer/DefaultTest.php" name="tests/QuickForm2/Renderer/DefaultTest.php" />
642   <install as="QuickForm2/Renderer/StubTest.php" name="tests/QuickForm2/Renderer/StubTest.php" />
643   <install as="QuickForm2/Rule/AllTests.php" name="tests/QuickForm2/Rule/AllTests.php" />
644   <install as="QuickForm2/Rule/CallbackTest.php" name="tests/QuickForm2/Rule/CallbackTest.php" />
645   <install as="QuickForm2/Rule/CompareTest.php" name="tests/QuickForm2/Rule/CompareTest.php" />
646   <install as="QuickForm2/Rule/EachTest.php" name="tests/QuickForm2/Rule/EachTest.php" />
647   <install as="QuickForm2/Rule/EmailTest.php" name="tests/QuickForm2/Rule/EmailTest.php" />
648   <install as="QuickForm2/Rule/EmptyTest.php" name="tests/QuickForm2/Rule/EmptyTest.php" />
649   <install as="QuickForm2/Rule/LengthTest.php" name="tests/QuickForm2/Rule/LengthTest.php" />
650   <install as="QuickForm2/Rule/MaxFileSizeTest.php" name="tests/QuickForm2/Rule/MaxFileSizeTest.php" />
651   <install as="QuickForm2/Rule/MimeTypeTest.php" name="tests/QuickForm2/Rule/MimeTypeTest.php" />
652   <install as="QuickForm2/Rule/NonemptyTest.php" name="tests/QuickForm2/Rule/NonemptyTest.php" />
653   <install as="QuickForm2/Rule/NotCallbackTest.php" name="tests/QuickForm2/Rule/NotCallbackTest.php" />
654   <install as="QuickForm2/Rule/NotRegexTest.php" name="tests/QuickForm2/Rule/NotRegexTest.php" />
655   <install as="QuickForm2/Rule/RegexTest.php" name="tests/QuickForm2/Rule/RegexTest.php" />
656   <install as="QuickForm2/Rule/RequiredTest.php" name="tests/QuickForm2/Rule/RequiredTest.php" />
657   <install as="QuickForm2/_files/1024-bytes.upload" name="tests/QuickForm2/_files/1024-bytes.upload" />
658   <install as="QuickForm2/_files/FakeElement.php" name="tests/QuickForm2/_files/FakeElement.php" />
659   <install as="QuickForm2/_files/FakeRule.php" name="tests/QuickForm2/_files/FakeRule.php" />
660   <install as="QuickForm2/_files/InvalidFile.php" name="tests/QuickForm2/_files/InvalidFile.php" />
661  </filelist>
662 </phprelease>
663 <changelog>
664  <release>
665   <date>2021-05-09</date>
666   <version>
667    <release>2.2.1</release>
668    <api>2.0.1</api>
669   </version>
670   <stability>
671    <release>stable</release>
672    <api>stable</api>
673   </stability>
674   <license uri="https://opensource.org/licenses/BSD-3-Clause">BSD 3-Clause License</license>
675   <notes>
676* Depend on newer HTML_Common2 that does not cause problems with optimized
677  composer autoloader, see https://github.com/pear/HTML_QuickForm2/issues/4
678* Consistently use HTML_Common2::OPTION_* constants for document-wide
679  option names, define and use additional HTML_QuickForm2_Node::OPTION_*
680  constants instead of directly using &apos;language&apos;, &apos;id_force_append_index&apos;
681  and &apos;nonce&apos; strings
682   </notes>
683  </release>
684  <release>
685   <date>2020-09-14</date>
686   <version>
687    <release>2.2.0</release>
688    <api>2.0.1</api>
689   </version>
690   <stability>
691    <release>stable</release>
692    <api>stable</api>
693   </stability>
694   <license uri="https://opensource.org/licenses/BSD-3-Clause">BSD 3-Clause License</license>
695   <notes>
696* Minimum required PHP version is now 5.4
697* Removed support for magic_quotes_gpc, as get_magic_quotes_gpc()
698  was deprecated in PHP 7.4 and the functionality itself was disabled
699  since PHP 5.4 (https://github.com/pear/HTML_QuickForm2/issues/3)
700* HTML_QuickForm2_Element_Date::setValue() will now accept an instance of
701  DateTimeInterface, not only DateTime
702   </notes>
703  </release>
704  <release>
705   <date>2019-04-10</date>
706   <version>
707    <release>2.1.0</release>
708    <api>2.0.1</api>
709   </version>
710   <stability>
711    <release>stable</release>
712    <api>stable</api>
713   </stability>
714   <license uri="https://opensource.org/licenses/BSD-3-Clause">BSD 3-Clause License</license>
715   <notes>
716* HTML_QuickForm2 runs under PHP 7.2+ without warnings / &quot;deprecated&quot;
717  messages
718* Tests run correctly on PHPUnit versions up to 5
719* It is possible to automatically add &quot;nonce&quot; attributes to inline
720  &lt;script&gt; tags, just call
721  HTML_Common2::setOption(&apos;nonce&apos;, $someNonceValue);
722  before outputting the form. This allows running HTML_QuickForm2 with
723  reasonable Content-Security-Policy
724* Bundled a separate LICENSE file instead of having it in each .php file
725 header. Updated phrasing and links to mention 3-Clause BSD license
726 the package actually uses.
727
728When installing with composer, files no longer contain &apos;require_once&apos; calls
729and &apos;include-path&apos; option is not used. The package is now 100% autoloader
730compatible, all classes reside in separate files.
731   </notes>
732  </release>
733  <release>
734   <date>2014-06-28</date>
735   <version>
736    <release>2.0.2</release>
737    <api>2.0.1</api>
738   </version>
739   <stability>
740    <release>stable</release>
741    <api>stable</api>
742   </stability>
743   <license uri="https://opensource.org/licenses/BSD-3-Clause">BSD 3-Clause License</license>
744   <notes>
745Bug #20295 was incorrectly fixed for Static elements, this led to removing
746their contents when DataSources did not contain values for them.
747   </notes>
748  </release>
749  <release>
750   <date>2014-06-26</date>
751   <version>
752    <release>2.0.1</release>
753    <api>2.0.1</api>
754   </version>
755   <stability>
756    <release>stable</release>
757    <api>stable</api>
758   </stability>
759   <license uri="https://opensource.org/licenses/BSD-3-Clause">BSD 3-Clause License</license>
760   <notes>
761Bug fixes
762 * When using HTML_QuickForm2_DataSource_Array and its descendants elements&apos;
763   updateValue() implementations now differentiate between &quot;no value available
764   for an element&quot; and &quot;explicit null value provided for an element&quot;
765   (see bug #20295). Custom DataSources may implement the new
766   HTML_QuickForm2_DataSource_NullAware interface to achieve the same.
767 * Contents of Static elements added to Repeat are no longer cleared (bug #19802)
768 * Client-side rules for containers within Repeat are correctly removed when
769   removing a repeated item (bug #19803)
770 * Client-side validator is always generated for a form with a Repeat having
771   some client-side rules on its child elements, even if Repeat is empty
772 * Unit tests updated to work with newer PHPUnit, prevent running tests twice
773   under some circumstances (see bug #19038)
774
775Other features and changes
776 * Calling HTML_QuickForm2_Container_Group::setValue() will clear values of
777   those grouped elements that do not have a corresponding key in the passed
778   array. Passing a null or an empty array to setValue() will clear the values
779   of all grouped elements. Previous behaviour was counter-intuitive.
780 * Added HTML_QuickForm2_Element_Select::getOptionContainer() (request #19955)
781 * HTML_QuickForm2_Container_Group::setValue() properly handles a group of radio
782   elements (request #20103)
783 * HTML_QuickForm2_Element_Date::setValue() can accept an instance of DateTime
784 * Extracted removeErrorMessage() from removeRelatedErrors() of qf.Validator
785   for easier customizing of client-side errors output
786   </notes>
787  </release>
788  <release>
789   <date>2012-06-26</date>
790   <version>
791    <release>2.0.0</release>
792    <api>2.0.0</api>
793   </version>
794   <stability>
795    <release>stable</release>
796    <api>stable</api>
797   </stability>
798   <license uri="https://opensource.org/licenses/BSD-3-Clause">BSD 3-Clause License</license>
799   <notes>
800* Leftover &apos;foo&apos; no longer stays in grouped element&apos;s name when renaming group
801  named &apos;foo[foo]&apos; (bug #19477)
802* &apos;classes&apos; property of qf.Validator moved to its prototype, making it easier
803  to override
804* Items marked deprecated previously are removed
805   </notes>
806  </release>
807  <release>
808   <date>2012-05-22</date>
809   <version>
810    <release>2.0.0RC1</release>
811    <api>2.0.0</api>
812   </version>
813   <stability>
814    <release>beta</release>
815    <api>stable</api>
816   </stability>
817   <license uri="https://opensource.org/licenses/BSD-3-Clause">BSD 3-Clause License</license>
818   <notes>
819Bug fixes
820  * Server-side validation errors for elements inside Repeats are properly
821    displayed
822  * Javascript for Repeat elements moved to a more proper qf.elements.Repeat
823    namespace, old qf.Repeat is kept as an alias but is deprecated
824  * Fixed markup in usage examples (related to bug #19097)
825  * Callback renderer now generates the same markup as Default renderer out of
826    the box, this addresses bug #19097 and allows correct behaviour of
827    client-side validation and Repeat elements
828
829Changes
830  * HTML_QuickForm2::getValue() no longer returns values for internal form
831    fields (request #19403)
832  * It is no longer possible to set validation errors on hidden elements or
833    create Rules that set such errors, doing this will result in an Exception
834  * add() method of qf.elements.Repeat can accept an explicit index for a new
835    item, returns the index for added item
836  * Array Renderer: changes to buildCommonFields() make it easier to use by
837    Renderer plugins, arrays built for groups contain &apos;class&apos; attribute
838
839Backwards compatibility issues
840  * Items marked deprecated will be removed in release 2.0.0
841   </notes>
842  </release>
843  <release>
844   <date>2012-04-18</date>
845   <version>
846    <release>2.0.0beta2</release>
847    <api>2.0.0</api>
848   </version>
849   <stability>
850    <release>beta</release>
851    <api>stable</api>
852   </stability>
853   <license uri="https://opensource.org/licenses/BSD-3-Clause">BSD 3-Clause License</license>
854   <notes>
855Feature additions
856  * Repeat element: given &apos;prototype&apos; Container (either fieldset or group)
857    is repeated multiple times, with possibility to add / remove repeated items
858    via Javascript. Full support for validation of repeated items.
859  * JavascriptBuilder now has separate getSetupCode() and getValidator()
860    methods in addition to combined getFormJavascript()
861
862Bug fixes
863  * Generated &apos;id&apos; attributes no longer can start with numbers
864  * Group::setValue() works properly for a group containing checkboxes named &apos;foo[]&apos;
865  * &apos;checked&apos; attribute for a checkbox is removed if form has data sources and
866    none of them contains a value for that checkbox
867  * Explicitly given value=&quot;0&quot; for a checkbox is not replaced by value=&quot;1&quot;
868  * setValue(null) no longer causes value=&quot;value&quot; in some &lt;input&gt; elements
869  * Hierselect&apos;s value is properly updated when its name changes
870  * Unit tests use autoloader instead of explicit &apos;require_once&apos;, all tests now
871    can be run separately
872  * HTML_QuickForm2_Renderer::register() allows overriding an existing renderer
873    type, similar to elements and rules
874  * Frozen HTML for checkboxes and radios no longer uses &lt;tt&gt; tags
875  * Fixed markup in controller/wizard.php and renderers/array-twig.php examples
876   </notes>
877  </release>
878  <release>
879   <date>2012-03-20</date>
880   <version>
881    <release>2.0.0beta1</release>
882    <api>2.0.0</api>
883   </version>
884   <stability>
885    <release>beta</release>
886    <api>stable</api>
887   </stability>
888   <license uri="https://opensource.org/licenses/BSD-3-Clause">BSD 3-Clause License</license>
889   <notes>
890Feature additions
891  * Added &apos;email&apos; Rule (request #16906)
892  * Added Stub Renderer which does minimal form processing. Useful for forms
893    containing Javascript that are output manually.
894  * It is easier to customize client-side validation: all methods of
895    qf.Validator are public, CSS class names for validation status are kept in
896    validator&apos;s property.
897  * Test suite now properly runs from SVN checkout and under PHPUnit 3.6
898  * PHPDoc cleanup, added @method annotations to Container
899
900Bug fixes
901  * Fixed running tests for elements separately (bug #19039)
902  * Fixed errors removal in client-side validation (bug #19063)
903  * IDs for autogenerated elements no longer start with underscores, default
904    form output no longer contains empty &lt;label&gt; tags (bug #19097)
905  * HTML_QuickForm2_Controller_Action_Jump defaults to using
906    $_SERVER[&apos;HTTP_HOST&apos;] for host name (bug #19216)
907  * Group::setValue() now properly allows fluent calls (bug #19307)
908  * Container::validate() will now return false if any contained element
909    has an error message set
910  * Added abstract render() method to Node and abstract reset() to Renderer
911  * DefaultAction element no longer contains invalid &apos;width&apos; and &apos;height&apos;
912    attributes, &apos;src&apos; attribute defaults to &apos;data:&apos; URL
913  * &apos;Live&apos; client-side rules run only once on changing the form field,
914    prevent errors when form HTML contains links
915
916Backwards compatibility issues
917  * Items marked deprecated in version 0.6.0 are now removed
918   </notes>
919  </release>
920  <release>
921   <date>2011-09-29</date>
922   <version>
923    <release>0.6.1</release>
924    <api>0.6.0</api>
925   </version>
926   <stability>
927    <release>beta</release>
928    <api>beta</api>
929   </stability>
930   <license uri="https://opensource.org/licenses/BSD-3-Clause">BSD 3-Clause License</license>
931   <notes>
932Bug fixes
933  * Callback renderer did not export setLabelCallback() method (bug #18833)
934  * Trying to use Static element under PHP 5.2 resulted in fatal error (bug #18874)
935  * persistentFreeze() is on by default for text and password elements
936
937Other features and changes
938  * Added an example showing how to output the form with Twig template engine
939  * Space characters are no longer allowed in &apos;id&apos; attribute values (request #18683)
940  * Added array type hinting to $data parameter in all elements&apos; constructors
941  * Fixed copypasted PHPDoc in several places
942   </notes>
943  </release>
944  <release>
945   <date>2011-06-13</date>
946   <version>
947    <release>0.6.0</release>
948    <api>0.6.0</api>
949   </version>
950   <stability>
951    <release>beta</release>
952    <api>beta</api>
953   </stability>
954   <license uri="https://opensource.org/licenses/BSD-3-Clause">BSD 3-Clause License</license>
955   <notes>
956Milestone 6: &quot;live&quot; validation, localization changes, moving to beta
957
958Major additions and changes
959  * It is now possible to run client-side validation rules on changing the
960    fields value / leaving the field (onchange / onblur) as well as on form
961    submit (see request #5308)
962  * Client-side validation errors are now displayed near the elements by
963    default instead of in javascript alert() dialog. This is mostly similar
964    to behaviour of old HTML_QuickForm_DHTMLRulesTableless package.
965  * Localization messages (month and weekday names for Date, upload errors for
966    InputFile) are now returned by special &quot;message provider&quot; object
967    or callback (request #18341). A message provider for Date element using
968    current locale data is available (request #5558)
969  * Added a new optional renderer that uses PHP callbacks to render form elements
970
971Other features and changes
972  * Static elements can now wrap their content in a given tag having element&apos;s
973    attributes, e.g. &lt;div&gt; or &lt;img&gt; (see request #8626)
974  * It is now possible to set maximum and minimum hour in Date element&apos;s hours
975    select (request #4061, works for 24-hour format) and maximum and minimum
976    month in its months select (request #5957)
977  * File upload elements can no longer be added to method=&quot;get&quot; forms,
978    form&apos;s enctype attribute is automatically set (request #16807)
979  * Added a separate HTML_QuickForm2::isSubmitted() method, can be used to
980    check whether the form was sumbitted instead of checking an array of its
981    data sources for submit one
982  * Added HTML_QuickForm2_Renderer::methodExists() method, this can be used
983    to check whether a custom renderer has a necessary method / plugin and
984    fall back to the Default renderer if it doesn&apos;t
985  * Added default &apos;value&apos; attribute for radiobuttons
986  * Array renderer always returns group separator as an array of length
987    count($group) - 1, making it easier to use in templates
988  * Added CLIENT_SERVER and ONBLUR_CLIENT_SERVER constants to
989    HTML_QuickForm2_Rule, these make calls to addRule() less verbose
990  * Minified versions of javascript libraries are now provided
991
992Bug fixes
993  * Unit tests can now run under PHPUnit 3.5
994  * Required rule will throw an Exception if not given an error message (bug #18133)
995  * Default maxYear in Date element is now current year rather than 2010 (bug #18171)
996  * Group::removeChild() failed if group&apos;s name contained brackets (bug #18182)
997  * Values for elements named like &apos;foo[]&apos; are now properly handled by getValue()
998
999Backwards compatibility issues
1000  * Javascript libraries are now installed into js/ and js/min/ subdirectories
1001    of base data directory
1002  * &apos;errorMessages&apos; parameter for HTML_QuickForm2_Element_InputFile is
1003    deprecated and will be removed in the next release. Use message providers
1004   </notes>
1005  </release>
1006  <release>
1007   <date>2010-12-09</date>
1008   <version>
1009    <release>0.5.0</release>
1010    <api>0.5.0</api>
1011   </version>
1012   <stability>
1013    <release>alpha</release>
1014    <api>alpha</api>
1015   </stability>
1016   <license uri="https://opensource.org/licenses/BSD-3-Clause">BSD 3-Clause License</license>
1017   <notes>
1018Milestone 5: Javascript support, client-side validation, filters
1019
1020Major additions and changes
1021  * It is now possible to run validation rules client-side as well as
1022    server-side. This is controlled by passing a parameter to addRule()
1023  * Implemented client-side validation for most builtin rules (MaxFileSize and
1024    MimeType rules for file uploads cannot work client-side)
1025  * Added JavascriptBuilder class, an instance of that is stored in Renderer and
1026    aggregates client-side rules, references to Javascript library files and
1027    Javascript for elements&apos; initialization. Inline Javascript can be easily
1028    added with a special Script element
1029  * Implemented base Javascript library to support client-side validation.
1030    It should hopefully allow easier customization than inline Javascript in
1031    HTML_QuickForm 3.x
1032  * Implemented addFilter() and addRecursiveFilter() methods which can be used
1033    to (recursively) apply filter callbacks to element values when calling
1034    getValue(). A new getRawValue() method allows getting unfiltered values.
1035
1036Other features and changes
1037  * Ported Date element from HTML_QuickForm 3.x
1038  * Ported Hierselect element from HTML_QuickForm 3.x, it can now use callbacks
1039    to load additional options via AJAX (see enclosed hierselect-ajax.php example)
1040  * Ported Static element from HTML_QuickForm 3.x
1041  * Added HTML_QuickForm2_Node::getData() method
1042  * Added NotCallback and NotRegex rules, they consider element valid if callback
1043    returns false for its value / if the value does not match regex, respectively
1044  * It is now possible for autogenerated &apos;id&apos; attributes to not have mandatory
1045    indexes appended. Use HTML_Common2::setOption(&apos;id_force_append_index&apos;, false);
1046  * Container rules are called after rules on contained elements (request #17576)
1047
1048Bug fixes
1049  * Added a div around form elements to prevent generating invalid HTML (bug #17217)
1050  * Fixed counterintuitive behaviour of DataSource_Array (reported by Cedrick Gout
1051    in pear-general mailing list)
1052
1053Backwards compatibility issues
1054  * Methods marked as deprecated in release 0.4.0 are now removed
1055   </notes>
1056  </release>
1057  <release>
1058   <version>
1059    <release>0.4.0</release>
1060    <api>0.4.0</api>
1061   </version>
1062   <stability>
1063    <release>alpha</release>
1064    <api>alpha</api>
1065   </stability>
1066   <license uri="https://opensource.org/licenses/BSD-3-Clause">BSD 3-Clause License</license>
1067   <date>2010-03-08</date>
1068   <notes>
1069Milestone 4: port of HTML_QuickForm_Controller, group rules
1070
1071Major additions and changes
1072  * Includes a port of HTML_QuickForm_Controller. It is now possible to create
1073    multipage forms (wizards, tabbed forms, etc.) with HTML_QuickForm2
1074  * It is now possible to leverage existing rules for group validation
1075    (see also request #12610)
1076  * Rule configuration redone, now an error for an incomplete or bogus
1077    configuration will be thrown immediately on adding a Rule rather than on
1078    validating with it. Rule::getConfig() will now return the complete
1079    configuration rather than a local part of it.
1080
1081Features added
1082  * It is possible to disable &quot;intrinsic validation&quot; for select
1083    elements (request #13088)
1084  * Checkboxes named &apos;foo[]&apos; properly get their values from data sources
1085    (request #16806)
1086  * Arrays generated by Array Renderer for fieldsets and groups contain
1087    &apos;type&apos; keys (request #16937)
1088  * Added setElementTemplateForGroupClass() and setElementTemplateForGroupId()
1089    methods HTML_QuickForm2_Renderer_Default setting templates for grouped
1090    elements within a group of a given class or with a given id, respectively
1091
1092Bug fixes
1093  * E_NOTICE for an undefined index could be emitted when outputting
1094    a checkbox (bug #16816)
1095
1096Backwards compatibility issues
1097  * HTML_QuickForm2_Renderer_Default::setGroupedTemplateForClass() is
1098    deprecated
1099  * If you implemented custom Rules, you should rewrite them to conform
1100    to the new Rule configuration approach (this may require implementing
1101    custom mergeConfig() and setConfig() methods) and implement
1102    validateOwner() method instead of checkValue(). Old-style Rules will emit
1103    notices in 0.4.0 and will stop working completely in the next release.
1104  * Packaging changes: data/, docs/ and tests/ contents are installed without
1105    redundant subdirectories, e.g. quickform.css now resides in
1106    @data_dir@/HTML_QuickForm2 rather than
1107    @data_dir@/HTML_QuickForm2/data
1108   </notes>
1109  </release>
1110  <release>
1111   <version>
1112    <release>0.3.0</release>
1113    <api>0.3.0</api>
1114   </version>
1115   <stability>
1116    <release>alpha</release>
1117    <api>alpha</api>
1118   </stability>
1119   <date>2009-10-25</date>
1120   <license uri="https://opensource.org/licenses/BSD-3-Clause">BSD 3-Clause License</license>
1121   <notes>
1122Milestone 3: renderers and groups
1123
1124Major additions and changes
1125  * Renderers implemented, Default and Array renderers ported from QuickForm 3.x
1126  * Groups implemented
1127
1128Feature requests addressed:
1129  * Default rendering without tables (request #9116)
1130  * setSeparator() method (request #9942)
1131
1132Bug fixes:
1133  * Updated PHP dependency to 5.2.0 (bug #14110, PHP bug #37632)
1134  * &apos;checked&apos; attributed on checkboxes and radios was not updated after changing
1135    &apos;value&apos; attribute (bug #15708)
1136
1137Deprecated features:
1138  * setOptions() and getOptions() methods of HTML_QuickForm2_Rule are
1139    deprecated and will be removed in the next release. Use setConfig() and
1140    getConfig() instead.
1141
1142WARNING: next release will have backwards compatibility breaks in setting Rule
1143configuration data. If you are just using built-in Rules you should not be
1144affected, but if you wrote custom subclasses for HTML_QuickForm2_Rule then pay
1145special attention to changes in SVN.
1146   </notes>
1147  </release>
1148  <release>
1149   <version>
1150    <release>0.2.0</release>
1151    <api>0.2.0</api>
1152   </version>
1153   <stability>
1154    <release>alpha</release>
1155    <api>alpha</api>
1156   </stability>
1157   <date>2007-10-22</date>
1158   <license uri="https://opensource.org/licenses/BSD-3-Clause">BSD 3-Clause License</license>
1159   <notes>
1160Milestone 2: now with server-side validation support
1161
1162Major additions and changes:
1163 * Server-side validation support added
1164 * API break: changed number and order of parameters for element constructors
1165 * Fluent interfaces: methods that previously returned nothing now return $this
1166 * Added method overloading to Container, allowing $form-&gt;addTextarea(...)
1167
1168Feature requests addressed:
1169 * Possibility to control validation of an element based on value of some
1170   other element (request #4534)
1171 * Rule comparing value of an element with numeric constants (request #4728)
1172 * Possibility to toggle validation of empty elements (request #9097)
1173
1174Bug fixes (bugs submitted for HTML_QuickForm package):
1175 * Wrong options could be selected in &lt;select&gt; elements if numeric strings
1176   were used as options&apos; values (bug #10837, bug #11138)
1177
1178Other resources to consider:
1179 * QF2 development wiki: http://quickform.mamasam.com/wiki/home
1180 * PHPUnit package from channel pear.phpunit.de is needed to run tests
1181   </notes>
1182  </release>
1183  <release>
1184   <version>
1185    <release>0.1.0</release>
1186    <api>0.1.0</api>
1187   </version>
1188   <stability>
1189    <release>alpha</release>
1190    <api>alpha</api>
1191   </stability>
1192   <date>2007-04-17</date>
1193   <license uri="https://opensource.org/licenses/BSD-3-Clause">BSD 3-Clause License</license>
1194   <notes>
1195Milestone 1
1196
1197Available functionality in this release:
1198 * Base classes
1199 * Standard HTML elements
1200 * Data sources
1201
1202Changes to observe for those familiar with HTML_QuickForm:
1203 * DOM-inspired API for working with element hierarchy
1204 * Streamlined API for processing the elements&apos; values
1205
1206The following feature requests were addressed in this release:
1207 * Request #1283: Optgroup support
1208 * Request #1681: Better access to grouped elements
1209 * Request #4137: Form-wide functions for unfreezing and setting persistent freeze
1210   (also in request #6421)
1211 * Request #4564: Checkboxes can be created with arbitrary value
1212 * Request #4793: Fixed the misspelled &apos;persistent&apos; word in method names
1213
1214Other resources to consider:
1215 * QF2 development wiki: http://quickform.mamasam.com/wiki/home
1216 * PHPUnit package from channel pear.phpunit.de is needed to run tests
1217   </notes>
1218  </release>
1219 </changelog>
1220</package>
1221