xref: /php-ast/package.xml (revision 66b258d1)
1<?xml version="1.0" encoding="UTF-8"?>
2<package packagerversion="1.9.1" 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>ast</name>
4 <channel>pecl.php.net</channel>
5 <summary>Extension exposing PHP 7 abstract syntax tree</summary>
6 <description>php-ast exports the AST internally used by PHP 7.
7     php-ast is significantly faster than PHP-Parser, because the AST construction is implemented in C.
8     However, php-ast may only parse code that is syntactically valid on the version of PHP it runs on.</description>
9 <lead>
10  <name>Nikita Popov</name>
11  <user>nikic</user>
12  <email>nikic@php.net</email>
13  <active>yes</active>
14 </lead>
15 <lead>
16  <name>Tyson Andre</name>
17  <user>tandre</user>
18  <email>tandre@php.net</email>
19  <active>yes</active>
20 </lead>
21 <date>2024-08-10</date>
22 <version>
23  <release>1.1.3dev</release>
24  <api>1.1.3dev</api>
25 </version>
26 <stability>
27  <release>stable</release>
28  <api>stable</api>
29 </stability>
30 <license uri="https://github.com/nikic/php-ast/blob/master/LICENSE">BSD-3-Clause</license>
31 <notes>
32- TBD
33 </notes>
34 <contents>
35  <dir name="/">
36    <file name="config.m4" role="src" />
37    <file name="config.w32" role="src" />
38    <file name="util.php" role="doc" />
39    <file name="ast.c" role="src" />
40    <file name="ast_data.c" role="src" />
41    <file name="ast_arginfo.h" role="src" />
42    <file name="ast_str_defs.h" role="src" />
43    <file name="ast_stub.php" role="doc" />
44    <file name="LICENSE" role="doc" />
45    <file name="php_ast.h" role="src" />
46    <file name="README.md" role="doc" />
47    <file name="php_ast.h" role="src" />
48    <dir name="tests">
49      <file name="001.phpt" role="test" />
50      <file name="array_destructuring_old.phpt" role="test" />
51      <file name="array_destructuring.phpt" role="test" />
52      <file name="assign_ops.phpt" role="test" />
53      <file name="ast_dump_with_exclude_doc.phpt" role="test" />
54      <file name="ast_dump_with_linenos.phpt" role="test" />
55      <file name="attributes_01.phpt" role="test" />
56      <file name="attributes_02.phpt" role="test" />
57      <file name="binary_ops.phpt" role="test" />
58      <file name="by_ref_destructuring.phpt" role="test" />
59      <file name="class_consts.phpt" role="test" />
60      <file name="class_consts_80.phpt" role="test" />
61      <file name="class_const_types.phpt" role="test" />
62      <file name="class_name_version_50.phpt" role="test" />
63      <file name="class_name_version_70.phpt" role="test" />
64      <file name="class_on_objects.phpt" role="test" />
65      <file name="class.phpt" role="test" />
66      <file name="class_type_85.phpt" role="test" />
67      <file name="class_types.phpt" role="test" />
68      <file name="closure_use_vars.phpt" role="test" />
69      <file name="coalesce.phpt" role="test" />
70      <file name="concat.phpt" role="test" />
71      <file name="constructor.phpt" role="test" />
72      <file name="decl_ids.phpt" role="test" />
73      <file name="decl_normalization.phpt" role="test" />
74      <file name="empty_file.php" role="test" />
75      <file name="empty_file_parse.phpt" role="test" />
76      <file name="eval_include.phpt" role="test" />
77      <file name="functions_dont_use.phpt" role="test" />
78      <file name="generator_flag.phpt" role="test" />
79      <file name="get_kind_name.phpt" role="test" />
80      <file name="get_supported_versions.phpt" role="test" />
81      <file name="invalid_file.php" role="test" />
82      <file name="magic_constants.phpt" role="test" />
83      <file name="match_expression.phpt" role="test" />
84      <file name="metadata.phpt" role="test" />
85      <file name="mixed_type.phpt" role="test" />
86      <file name="multi_catch.phpt" role="test" />
87      <file name="multiple_final_modifiers.phpt" role="test" />
88      <file name="named_children.phpt" role="test" />
89      <file name="name_node.phpt" role="test" />
90      <file name="nested_stmt_lists.phpt" role="test" />
91      <file name="never_return_type.phpt" role="test" />
92      <file name="node_constructor_throw.phpt" role="test" />
93      <file name="nop_statements.phpt" role="test" />
94      <file name="nullable_types.phpt" role="test" />
95      <file name="object_type.phpt" role="test" />
96      <file name="params.phpt" role="test" />
97      <file name="parse_code_parse_error.phpt" role="test" />
98      <file name="parse_file_not_existing.phpt" role="test" />
99      <file name="parse_file_parse_error.phpt" role="test" />
100      <file name="parse_file.phpt" role="test" />
101      <file name="php74_ast_assign_coalesce.phpt" role="test" />
102      <file name="php74_dim_alternative_syntax.phpt" role="test" />
103      <file name="php74_ordinary_class.phpt" role="test" />
104      <file name="php74_parenthesized_conditional.phpt" role="test" />
105      <file name="php74_type_hints.phpt" role="test" />
106      <file name="php80_named_params.phpt" role="test" />
107      <file name="php80_noncapturing_catch.phpt" role="test" />
108      <file name="php80_nullsafe_operator.phpt" role="test" />
109      <file name="php80_promotion.phpt" role="test" />
110      <file name="php80_static_type.phpt" role="test" />
111      <file name="php80_union_types_false.phpt" role="test" />
112      <file name="php80_union_types_nullable.phpt" role="test" />
113      <file name="php80_union_types.phpt" role="test" />
114      <file name="php81_enums.phpt" role="test" />
115      <file name="php81_final_class_const.phpt" role="test" />
116      <file name="php81_first_class_callable_support.phpt" role="test" />
117      <file name="php81_intersection_types.phpt" role="test" />
118      <file name="php81_readonly.phpt" role="test" />
119      <file name="php82_dynamic_property_attribute.phpt" role="test" />
120      <file name="php82_encaps_list2.phpt" role="test" />
121      <file name="php82_encaps_list.phpt" role="test" />
122      <file name="php82_readonly_class.phpt" role="test" />
123      <file name="php84_dim_alternative_syntax.phpt" role="test" />
124      <file name="php84_property_hook2.phpt" role="test" />
125      <file name="php84_property_hook3.phpt" role="test" />
126      <file name="php84_property_hook4.phpt" role="test" />
127      <file name="php84_property_hook.phpt" role="test" />
128      <file name="prop_doc_comments.phpt" role="test" />
129      <file name="short_arrow_function.phpt" role="test" />
130      <file name="short_arrow_function_decl_id.phpt" role="test" />
131      <file name="short_arrow_function_return.phpt" role="test" />
132      <file name="stmt_list.phpt" role="test" />
133      <file name="true_type.phpt" role="test" />
134      <file name="try_catch_finally.phpt" role="test" />
135      <file name="type_hints.phpt" role="test" />
136      <file name="unary_ops.phpt" role="test" />
137      <file name="use_declarations.phpt" role="test" />
138      <file name="valid_file.php" role="test" />
139      <file name="version_errors.phpt" role="test" />
140      <file name="zpp_errors.phpt" role="test" />
141    </dir>
142  </dir>
143 </contents>
144 <dependencies>
145  <required>
146   <php>
147    <min>7.2.0</min>
148   </php>
149   <pearinstaller>
150    <min>1.10.0</min>
151   </pearinstaller>
152  </required>
153 </dependencies>
154 <providesextension>ast</providesextension>
155 <extsrcrelease />
156 <changelog>
157  <release>
158   <date>2024-08-10</date>
159   <version>
160    <release>1.1.2</release>
161    <api>1.1.2</api>
162   </version>
163   <stability>
164    <release>stable</release>
165    <api>stable</api>
166   </stability>
167   <license uri="https://github.com/nikic/php-ast/blob/master/LICENSE">BSD-3-Clause</license>
168   <notes>
169- Fix compilation errors in PHP 8.4.
170- In version 110, `AST_PARAM` and `AST_PROP_ELEM` nodes have a `hooks` node for property hooks (https://wiki.php.net/rfc/property-hooks)
171- In version 110, `AST_CLOSURE` and `AST_ARROW_FUNC` nodes have no `name`.
172   </notes>
173  </release>
174  <release>
175   <date>2023-11-12</date>
176   <version>
177    <release>1.1.1</release>
178    <api>1.1.1</api>
179   </version>
180   <stability>
181    <release>stable</release>
182    <api>stable</api>
183   </stability>
184   <license uri="https://github.com/nikic/php-ast/blob/master/LICENSE">BSD-3-Clause</license>
185   <notes>
186- Added support for PHP 8.3
187- In version 100, `AST_CLASS_CONST_GROUP` nodes have a `type` child node to represent typed class constants.
188   </notes>
189  </release>
190  <release>
191   <date>2022-08-09</date>
192   <version>
193    <release>1.1.0</release>
194    <api>1.1.0</api>
195   </version>
196   <stability>
197    <release>stable</release>
198    <api>stable</api>
199   </stability>
200   <license uri="https://github.com/nikic/php-ast/blob/master/LICENSE">BSD-3-Clause</license>
201   <notes>
202- Change documentation files to properly namespace attributes as `#[\AllowDynamicProperties]`. The reflection attributes are already correct.
203- Deprecated AST versions 50 and 60.
204- Drop support for php &lt;= 7.1
205- Fix test failures seen in php 8.2.0beta2 due to change to var_export's output format.
206- Add support for php 8.2 readonly classes. Add `ast\flags\CLASS_READONLY` constant.
207- Add support for php 8.2 `true` type. Add `ast\flags\TYPE_TRUE` constant.
208- Fix bug in php 8.2 where ZEND_AST_ARROW_FUNC output did not include the stub `AST_RETURN` node that was included in php 8.1 and below.
209   </notes>
210  </release>
211  <release>
212   <date>2021-11-27</date>
213   <version>
214    <release>1.0.16</release>
215    <api>1.0.16</api>
216   </version>
217   <stability>
218    <release>stable</release>
219    <api>stable</api>
220   </stability>
221   <license uri="https://github.com/nikic/php-ast/blob/master/LICENSE">BSD-3-Clause</license>
222   <notes>
223- Optimize instantiating properties of ast\Node and ast\Metadata.
224- Document that ast\Node implements `#[AllowDynamicProperties]` in php 8.2
225- Allow ast\Node to have dynamic properties without emitting a notice in PHP 8.2.
226   </notes>
227  </release>
228  <release>
229   <date>2021-11-27</date>
230   <version>
231    <release>1.0.15</release>
232    <api>1.0.15</api>
233   </version>
234   <stability>
235    <release>stable</release>
236    <api>stable</api>
237   </stability>
238   <license uri="https://github.com/nikic/php-ast/blob/master/LICENSE">BSD-3-Clause</license>
239   <notes>
240- Allow ast\Node to have dynamic properties without emitting a notice in PHP 8.2.
241   </notes>
242  </release>
243  <release>
244   <date>2021-07-24</date>
245   <version>
246    <release>1.0.14</release>
247    <api>1.0.14</api>
248   </version>
249   <stability>
250    <release>stable</release>
251    <api>stable</api>
252   </stability>
253   <license uri="https://github.com/nikic/php-ast/blob/master/LICENSE">BSD-3-Clause</license>
254   <notes>
255- Support php 8.1 readonly properties with the flag 'MODIFIER_READONLY'
256- Support php 8.1 first-class callable syntax, add the node kind 'AST_CALLABLE_CONVERT'
257- Change the current AST version from 80 to the new version 90. AST version 85 is no longer experimental.
258   </notes>
259  </release>
260  <release>
261   <date>2021-07-08</date>
262   <version>
263    <release>1.0.13</release>
264    <api>1.0.13</api>
265   </version>
266   <stability>
267    <release>stable</release>
268    <api>stable</api>
269   </stability>
270   <license uri="https://github.com/nikic/php-ast/blob/master/LICENSE">BSD-3-Clause</license>
271   <notes>
272- Indicate in metadata that 'AST_CLASS_CONST_GROUP' and 'AST_CLASS_CONST_DECL' can have 'MODIFIER_FINAL'
273  (and any modifier a class element can have, to reflect what the parser can actually parse)
274- Support php 8.1 intersection types, add the node kind 'AST_TYPE_INTERSECTION'
275   </notes>
276  </release>
277  <release>
278   <date>2021-05-16</date>
279   <version>
280    <release>1.0.12</release>
281    <api>1.0.12</api>
282   </version>
283   <stability>
284    <release>stable</release>
285    <api>stable</api>
286   </stability>
287   <license uri="https://github.com/nikic/php-ast/blob/master/LICENSE">BSD-3-Clause</license>
288   <notes>
289- Support parsing 'docComment' on php 8.1 enum cases
290- Indicate in metadata that 'AST_CLASS_CONST_GROUP' and 'AST_CLASS_CONST_DECL' can have MODIFIER_FINAL
291   </notes>
292  </release>
293  <release>
294   <date>2021-04-20</date>
295   <version>
296    <release>1.0.11</release>
297    <api>1.0.11</api>
298   </version>
299   <stability>
300    <release>stable</release>
301    <api>stable</api>
302   </stability>
303   <license uri="https://github.com/nikic/php-ast/blob/master/LICENSE">BSD-3-Clause</license>
304   <notes>
305- Add the experimental AST version 85.
306- Support php 8.1 enums, add 'type' (for enum type) to AST_CLASS nodes in AST version 85+.
307- Support php 8.1 'never' return type.
308   </notes>
309  </release>
310  <release>
311   <date>2020-09-12</date>
312   <version>
313    <release>1.0.10</release>
314    <api>1.0.10</api>
315   </version>
316   <stability>
317    <release>stable</release>
318    <api>stable</api>
319   </stability>
320   <license uri="https://github.com/nikic/php-ast/blob/master/LICENSE">BSD-3-Clause</license>
321   <notes>
322- Support attributes syntax change (`#[...]`) in php 8.0.0RC1.
323- Change the current AST version from 70 to 80. AST version 80 is no longer experimental.
324- Add `ReflectionParameter` defaults for `ast\parse_code` and `ast\get_supported_versions` in php 8.
325- Add parameter types and return types to reflection for various global functions.
326  php-ast was already throwing a `TypeError` when invalid parameter types were received.
327- Always throw instead of warning when invalid parameters are passed to the ast\Node constructor.
328   </notes>
329  </release>
330  <release>
331   <date>2020-09-02</date>
332   <version>
333    <release>1.0.9</release>
334    <api>1.0.9</api>
335   </version>
336   <stability>
337    <release>stable</release>
338    <api>stable</api>
339   </stability>
340   <license uri="https://github.com/nikic/php-ast/blob/master/LICENSE">BSD-3-Clause</license>
341   <notes>
342- Support API change in php 8.0.0beta3.
343   </notes>
344  </release>
345  <release>
346   <date>2020-08-04</date>
347   <version>
348    <release>1.0.8</release>
349    <api>1.0.8</api>
350   </version>
351   <stability>
352    <release>stable</release>
353    <api>stable</api>
354   </stability>
355   <license uri="https://github.com/nikic/php-ast/blob/master/LICENSE">BSD-3-Clause</license>
356   <notes>
357- Recommend using the new constant `ast\flags\PARAM_MODIFIER_*` when checking if parameters use constructor property promotion.
358  The values of `ast\flags\MODIFIER_*` and `ast\flags\PARAM_VARIADIC` had some overlap in some php 7 versions.
359  The new constants will have the same values as `ast\flags\MODIFIER_*` in PHP 8.0+, but different values in PHP 7
360  (and these flags will never be set in php 7).
361- Support PHP 8.0's named arguments.
362- Support PHP 8.0's nullsafe operator (`?->`).
363   </notes>
364  </release>
365  <release>
366   <date>2020-07-11</date>
367   <version>
368    <release>1.0.7</release>
369    <api>1.0.7</api>
370   </version>
371   <stability>
372    <release>stable</release>
373    <api>stable</api>
374   </stability>
375   <license uri="https://github.com/nikic/php-ast/blob/master/LICENSE">BSD-3-Clause</license>
376   <notes>
377- Add the experimental AST version 80
378- In AST version 80, support returning `mixed` types as an `AST_TYPE` with type `TYPE_MIXED` instead of an `AST_NAME`.
379- In AST version 80, support PHP 8.0 attributes for declarations.
380- Support PHP 8.0's Match expressions.
381- Support PHP 8.0 constructor property promotion, and allow indicating visibility on AST nodes.
382  Note that `MODIFIER_PUBLIC` and `ast\AST_PARAM` modifiers had overlap in php 7.4,
383  so the `MODIFIER_*` modifiers are only included in the provided metadata for php 8.0+
384   </notes>
385  </release>
386  <release>
387   <date>2020-02-22</date>
388   <version>
389    <release>1.0.6</release>
390    <api>1.0.6</api>
391   </version>
392   <stability>
393    <release>stable</release>
394    <api>stable</api>
395   </stability>
396   <license uri="https://github.com/nikic/php-ast/blob/master/LICENSE">BSD-3-Clause</license>
397   <notes>
398- Support TYPE_STATIC for the php 8.0 static return type.
399   </notes>
400  </release>
401  <release>
402   <date>2019-11-23</date>
403   <version>
404    <release>1.0.5</release>
405    <api>1.0.5</api>
406   </version>
407   <stability>
408    <release>stable</release>
409    <api>stable</api>
410   </stability>
411   <license uri="https://github.com/nikic/php-ast/blob/master/LICENSE">BSD-3-Clause</license>
412   <notes>
413- Add ast\flags\TYPE_FALSE to support PHP 8.0 Union Types.
414   </notes>
415  </release>
416  <release>
417   <date>2019-11-10</date>
418   <version>
419    <release>1.0.4</release>
420    <api>1.0.4</api>
421   </version>
422   <stability>
423    <release>stable</release>
424    <api>stable</api>
425   </stability>
426   <license uri="https://github.com/nikic/php-ast/blob/master/LICENSE">BSD-3-Clause</license>
427   <notes>
428- Add AST_TYPE_UNION to support PHP 8.0 Union Types.
429   </notes>
430  </release>
431  <release>
432   <date>2019-07-27</date>
433   <version>
434    <release>1.0.3</release>
435    <api>1.0.3</api>
436   </version>
437   <stability>
438    <release>stable</release>
439    <api>stable</api>
440   </stability>
441   <license uri="https://github.com/nikic/php-ast/blob/master/LICENSE">BSD-3-Clause</license>
442   <notes>
443- Fix build error in php 7.4.0alpha3.
444- Add `DIM_ALTERNATIVE_SYNTAX` as a flag of `AST_DIM` for `$x{'offset'}` (for php 7.4+)
445- Add `PARENTHESIZED_CONDITIONAL` as a flag of `AST_CONDITIONAL` for `($a ? $b : $c)` (for php 7.4+)
446- Bugfix: Make `ast\kind_uses_flags(ast\AST_ARROW_FUNC)` true in php 7.3 and lower.
447   </notes>
448  </release>
449  <release>
450   <date>2019-06-30</date>
451   <version>
452    <release>1.0.2</release>
453    <api>1.0.2</api>
454   </version>
455   <stability>
456    <release>stable</release>
457    <api>stable</api>
458   </stability>
459   <license uri="https://github.com/nikic/php-ast/blob/master/LICENSE">BSD-3-Clause</license>
460   <notes>
461- Fix compatibility with (currently) PHP 7.4 and PHP 8.0.
462- Support AST_ARROW_FUNC for PHP 7.4.
463- Make $version a required parameter for `ast\parse_*`. Previously, the absence would throw a LogicException.
464- Make AST version 70 the current version.
465   </notes>
466  </release>
467  <release>
468   <date>2019-02-11</date>
469   <version>
470    <release>1.0.1</release>
471    <api>1.0.1</api>
472   </version>
473   <stability>
474    <release>stable</release>
475    <api>stable</api>
476   </stability>
477   <license uri="https://github.com/nikic/php-ast/blob/master/LICENSE">BSD-3-Clause</license>
478   <notes>
479- Fix compatibility with (currently) PHP 7.4 and PHP 8.0.
480- Support BINARY_COALESCE as a flag of AST_ASSIGN_OP for the `??=` operator added in PHP 7.4.
481- Add AST version 70 (experimental):
482- Version 70 adds AST_PROP_GROUP with type information for property groups.
483- Version 70 adds AST_CLASS_NAME for `Foo::class`. Previously this used AST_CLASS_CONST
484   </notes>
485  </release>
486  <release>
487   <date>2018-10-21</date>
488   <version>
489    <release>1.0.0</release>
490    <api>1.0.0</api>
491   </version>
492   <stability>
493    <release>stable</release>
494    <api>stable</api>
495   </stability>
496   <license uri="https://github.com/nikic/php-ast/blob/master/LICENSE">BSD-3-Clause</license>
497   <notes>
498This release is the same as version 0.1.7 with obsolete and deprecated functionality removed.
499
500- Removed AST versions prior to version 50.
501- Removed ast\Node\Decl class, which is no longer used.
502- Removed AST kinds AST_AND, AST_COALESCE, AST_GREATER, AST_GREATER_EQUAL, AST_OR, AST_SILENCE,
503  AST_UNARY_MINUS, and AST_UNARY_PLUS, which are no longer used.
504- Removed ASSIGN_* AST flags, which are no longer used.
505   </notes>
506  </release>
507  <release>
508   <date>2018-10-06</date>
509   <version>
510    <release>0.1.7</release>
511    <api>0.1.7</api>
512   </version>
513   <stability>
514    <release>stable</release>
515    <api>stable</api>
516   </stability>
517   <license uri="https://github.com/nikic/php-ast/blob/master/LICENSE">BSD-3-Clause</license>
518   <notes>
519- Added AST version 60 with the following changes:
520  - `AST_FUNC_DECL` and `AST_METHOD` no longer generate a `uses` child. Previously this child was
521    always `null`.
522  - `AST_CONST_ELEM` now always has a `docComment` child. Previously it was absent on PHP 7.0.
523    On PHP 7.0 the value is always `null`.
524- Added `ARRAY_ELEM_REF` flag, which is used by `AST_ARRAY_ELEM` for by-reference array elements
525  and (since PHP 7.3) for by-reference destructuring. Previously this flag was represented simply
526  by the value `1`.
527- Deprecated AST versions 40 and 45.
528- Fix build against PHP 7.4-dev.
529   </notes>
530  </release>
531  <release>
532   <date>2017-10-08</date>
533   <version>
534    <release>0.1.6</release>
535    <api>0.1.6</api>
536   </version>
537   <stability>
538    <release>stable</release>
539    <api>stable</api>
540   </stability>
541   <license uri="https://github.com/nikic/php-ast/blob/master/LICENSE">BSD-3-Clause</license>
542   <notes>
543- Added ast\get_metadata() function, which returns an array of ast\Metadata objects, one for each
544  AST kind. The metadata contains information such as the supported flags for the kind.
545- Added ast\get_supported_versions() function, which provides an array of currently supported AST
546  versions.
547   </notes>
548  </release>
549  <release>
550   <date>2017-07-19</date>
551   <version>
552    <release>0.1.5</release>
553    <api>0.1.5</api>
554   </version>
555   <stability>
556    <release>stable</release>
557    <api>stable</api>
558   </stability>
559   <license uri="https://github.com/nikic/php-ast/blob/master/LICENSE">BSD-3-Clause</license>
560   <notes>
561- Fix issue #51: Make nullable array/callable have a flag of 0 in inner element, in version 40.
562- Added a constructor for the ast\Node class.
563- Added ast\flags\FUNC_GENERATOR constant, which is used since PHP 7.1.
564- Added ast\flags\FUNC_RETURNS_REF constant, intended to supersede ast\flags\RETURNS_REF.
565- Added ast\flags\CLOSURE_USE_REF constant, used by AST_CLOSURE_VAR nodes. Previously "1" was used.
566- Added version 45 with the following changes (PHP 7.2 support):
567  - An `object` type annotation now returns an `AST_TYPE` with `TYPE_OBJECT` flag, rather than
568    treating `object` as a class name.
569- Added version 50 with the following changes:
570  - `ast\Node\Decl` nodes are no longer generated. AST kinds `AST_FUNCTION`, `AST_METHOD`,
571    `AST_CLOSURE` and `AST_CLASS` now also use the normal `ast\Node` class. The `name` and
572    `docComment` properties are now represented as children. The `endLineno` is still represented as
573    an (undeclared) property.
574  - An integer `__declId` has been added to declaration nodes of kind `AST_FUNCTION`, `AST_METHOD`,
575    `AST_CLOSURE` and `AST_CLASS`. The `__declId` uniquely identifies a declaration within the
576	parsed code and will remain the same if the code is parsed again. This is useful to distinguish
577	closures declared on the same line, or multiple conditional declarations using the same name.
578	The ID is not unique across different codes/files.
579  - `\ast\parse_file` will now consistently return an empty statement list (similar to
580    `\ast\parse_code`) if it is was passed a zero-byte file. Previously, it would return `null`.
581   </notes>
582  </release>
583  <release>
584   <date>2017-01-25</date>
585   <version>
586    <release>0.1.4</release>
587    <api>0.1.4</api>
588   </version>
589   <license uri="https://github.com/nikic/php-ast/blob/master/LICENSE">BSD-3-Clause</license>
590   <notes>
591     0.1.4 release
592   </notes>
593  </release>
594  <release>
595   <date>2017-01-18</date>
596   <version>
597    <release>0.1.3</release>
598    <api>0.1.3</api>
599   </version>
600   <license uri="https://github.com/nikic/php-ast/blob/master/LICENSE">BSD-3-Clause</license>
601   <notes>
602     0.1.3 release
603   </notes>
604  </release>
605  <release>
606   <date>2017-08-04</date>
607   <version>
608    <release>0.1.2</release>
609    <api>0.1.2</api>
610   </version>
611   <license uri="https://github.com/nikic/php-ast/blob/master/LICENSE">BSD-3-Clause</license>
612   <notes>
613     0.1.2 release
614   </notes>
615  </release>
616  <release>
617   <date>2017-12-04</date>
618   <version>
619    <release>0.1.1</release>
620    <api>0.1.1</api>
621   </version>
622   <license uri="https://github.com/nikic/php-ast/blob/master/LICENSE">BSD-3-Clause</license>
623   <notes>
624     0.1.1 release
625   </notes>
626  </release>
627  <release>
628   <date>2017-12-04</date>
629   <version>
630    <release>0.1.0</release>
631    <api>0.1.0</api>
632   </version>
633   <license uri="https://github.com/nikic/php-ast/blob/master/LICENSE">BSD-3-Clause</license>
634   <notes>
635     0.1.0 release
636   </notes>
637  </release>
638 </changelog>
639</package>
640