blob: dd2528ad3202bd8ad18c9e68789487db6672a4bc [file] [log] [blame] [view]
Danny van Bruggen0061b4b2018-02-11 21:58:02 +01001Version 3.5.14
2------------------
3[issues resolved](https://github.com/javaparser/javaparser/milestone/77?closed=1)
4* Java 10's `var` can now be parsed and will be turned into a `VarType` node.
5It can not be resolved yet.
6* `NodeList` now has a pretty complete set of `...First` and `...Last` methods.
7Thanks stephenramthun !
8
Danny van Bruggen659c8272018-02-04 20:15:22 +01009Version 3.5.13
10------------------
11[issues resolved](https://github.com/javaparser/javaparser/milestone/76?closed=1)
12* The Javadoc parser has received a lot of attention.
13
Danny van Bruggen3d6770e2018-01-28 21:05:19 +010014Version 3.5.12
15------------------
16[issues resolved](https://github.com/javaparser/javaparser/milestone/75?closed=1)
17* Thanks to un0btanium for fixing the readme file!
18
Danny van Bruggen83f75672018-01-21 13:02:01 +010019Version 3.5.11
20------------------
21[issues resolved](https://github.com/javaparser/javaparser/milestone/74?closed=1)
22* BREAKING: `AssignExpr.Operator.AND` is now `AssignExpr.Operator.BINARY_AND`.
23* BREAKING: `AssignExpr.Operator.OR` is now `AssignExpr.Operator.BINARY_OR`.
24* `getPrimaryTypeName` and `getPrimaryType` give access to the type that has the same name as the file it came from.
25* Enums will now get their constants aligned vertically if there are more than five.
26* You can now convert between `AssignExpr.Operator` and `AssignExpr.Operator` if you like.
27
Danny van Bruggen304f6f92018-01-12 21:51:08 +010028Version 3.5.10
29------------------
30[issues resolved](https://github.com/javaparser/javaparser/milestone/73?closed=1)
31* JavaSymbolSolver is now in the same project as JavaParser, meaning they get released together from now on.
32* LexicalPreservingPrinter has had a big speed optimization.
33
Danny van Bruggenfde26512018-01-07 19:11:59 +010034Version 3.5.9
35------------------
36[issues resolved](https://github.com/javaparser/javaparser/milestone/72?closed=1)
37* BREAKING: the very confusing constructor `NodeList(Node)` (which sets the parent) was removed.
38* To avoid using the int type for token kinds, use the new `JavaToken.Kind` enum.
39It can convert to and from the int kind.
40
Danny van Bruggenebd41f42017-12-31 11:33:30 +010041Version 3.5.8
42------------------
43[issues resolved](https://github.com/javaparser/javaparser/milestone/71?closed=1)
44* the module name is now set to com.github.javaparser.core
45
Danny van Bruggen1bbc7842017-12-17 20:26:18 +010046Version 3.5.7
47------------------
48[issues resolved](https://github.com/javaparser/javaparser/milestone/70?closed=1)
49
Danny van Bruggendfaa93e2017-12-10 16:51:43 +010050Version 3.5.6
51------------------
52[issues resolved](https://github.com/javaparser/javaparser/milestone/69?closed=1)
53* `toSomeType()` methods have been added for many types that give more functional access to a subtype.
54* BETA: the below work on Java Symbol Solver is still ongoing.
55
Danny van Bruggen9e7d0cf2017-12-03 18:55:13 +010056Version 3.5.5
57------------------
58[issues resolved](https://github.com/javaparser/javaparser/milestone/68?closed=1)
59* SourceRoot is now silent by default - look at the Log class if you want to change that.
60* BETA: the below work on Java Symbol Solver is still ongoing.
61
Danny van Bruggen0a42c012017-11-20 12:43:12 +010062Version 3.5.4
63------------------
64[issues resolved](https://github.com/javaparser/javaparser/milestone/67?closed=1)
65* BETA: the below work on Java Symbol Solver is still ongoing.
66
Danny van Bruggen44137802017-11-12 20:06:19 +010067Version 3.5.3
68------------------
69[issues resolved](https://github.com/javaparser/javaparser/milestone/66?closed=1)
70* Unicode escapes (`\u1234`) are now retained in the AST,
71 but they are now only allowed in comments, string and character literals, and identifiers.
72* BETA: the below work on Java Symbol Solver is still ongoing.
73
Danny van Bruggenaeb244f2017-11-05 18:35:58 +010074Version 3.5.2
75------------------
76[issues resolved](https://github.com/javaparser/javaparser/milestone/65?closed=1)
77* The pretty printer now cleans up Javadoc comments.
78* BETA: the below work on Java Symbol Solver is still ongoing.
79
Danny van Bruggenc03da022017-10-29 21:05:26 +010080Version 3.5.1
81------------------
82[issues resolved](https://github.com/javaparser/javaparser/milestone/64?closed=1)
83* BETA: the below work on Java Symbol Solver is still ongoing.
84
Danny van Bruggenecb576a2017-10-22 22:16:30 +020085Version 3.5.0
86------------------
87[issues resolved](https://github.com/javaparser/javaparser/milestone/63?closed=1)
88* A functional visitor API has been added. See [PR 1195](https://github.com/javaparser/javaparser/pull/1195) for now.
89* Build is working again on Windows thanks to Leonardo Herrera.
90* The pretty printer now has an option to order imports, also thanks to Leonardo Herrera.
91* Receiver parameters are now well-supported instead of being a hack. See [issue 1194](https://github.com/javaparser/javaparser/pull/1194) for a description.
92* BETA: the below work on Java Symbol Solver is still ongoing.
93
Danny van Bruggenab581fe2017-10-15 19:29:15 +020094Version 3.4.4
95------------------
96[issues resolved](https://github.com/javaparser/javaparser/milestone/62?closed=1)
97* BETA: the below work on Java Symbol Solver is still ongoing.
98
Danny van Bruggene7ec30a2017-10-08 14:05:18 +020099Version 3.4.3
100------------------
101[issues resolved](https://github.com/javaparser/javaparser/milestone/61?closed=1)
102* BETA: we're still doing work to integrate parts of [Java Symbol Solver](https://github.com/javaparser/javasymbolsolver) to simplify its API.
103* `VisitorMap` is joined by `VisitorSet` and `VisitorList`,
104for when you want to store `Node`s in collection but don't want its default equals/hascode behaviour
105
Danny van Bruggen0ec9ca52017-10-01 21:40:02 +0200106Version 3.4.2
107------------------
108[issues resolved](https://github.com/javaparser/javaparser/milestone/60?closed=1)
109* BETA: we're doing work to integrate parts of [Java Symbol Solver](https://github.com/javaparser/javasymbolsolver) to simplify its API.
110* JDK 9 will compile JavaParser now.
111* [An official sample Maven setup](https://github.com/javaparser/javaparser-maven-sample) was added.
112
Danny van Bruggendf3995f2017-09-24 21:40:17 +0200113Version 3.4.1
114------------------
115[issues resolved](https://github.com/javaparser/javaparser/milestone/59?closed=1)
116* Two visitors were added: `NoCommentEqualsVisitor` and `NoCommentHashCodeVisitor` -
117as the name implies you can use these to compare nodes without considering comments.
118Thanks Ryan Beckett!
119* `isSomeType()` methods have been added for many types that help avoid `instanceof`.
120* `asSomeType()` methods have been added for many types that help avoid casting to that type.
121* `ifSomeType()` methods have been added for many types, giving a nice functional way of doing if-is-type-then-cast-to-type-then-use.
122* The `LexicalPreservingPrinter` had its API changed a little: setup and printing are now separate things,
123so you don't have to drag an instance of `LexicalPreservingPrinter` through your code anymore.
124* `traverseScope` was added to all nodes with a scope, so you can travel through the scope without tripping over (non-)optionality.
125
126
Danny van Bruggen0ea4d492017-09-17 19:56:00 +0200127Version 3.4.0
128------------------
129[issues resolved](https://github.com/javaparser/javaparser/milestone/58?closed=1)
130* BREAKING: We missed a Java 9 feature which is now on board: try with resources can now refer to a resource declared outside of the statement.
131This means that the node type you get for those resources is now `Expression` instead of `VariableDeclarationExpr`.
132For Java 8 and below you can simply cast it to `VariableDeclarationExpr` again.
133See also the Javadoc for `TryStmt`.
134* You can now inspect the AST by exporting it to XML, JSON, YAML, or a Graphviz's dot diagram, thanks to Ryan Beckett!
135* `GenericVisitorWithDefaults` and `VoidVisitorWithDefaults` were added which function like empty visitors,
136but all the visit methods call a default method by default.
137* Annotation support was cleaned up, adding some obscure locations where you can have annotations.
138* `EnumDeclaration` regained its constructor builder methods. They were accidentally lost around 3.2.2.
Danny van Bruggen06ccb382017-09-17 20:18:26 +0200139* `ArrayType` now has an `origin` field which indicates in which position the array brackets were found.
Danny van Bruggen0ea4d492017-09-17 19:56:00 +0200140
Danny van Bruggenac425492017-09-10 22:46:41 +0200141Version 3.3.5
142------------------
143[issues resolved](https://github.com/javaparser/javaparser/milestone/57?closed=1)
144
Danny van Bruggenc2f83d12017-09-03 19:24:49 +0200145Version 3.3.4
146------------------
147[issues resolved](https://github.com/javaparser/javaparser/milestone/56?closed=1)
148* `SourceZip` has been added.
149Use it to read source code from jars or zip files.
150Thank you @ryan-beckett !
151* JavaCC was upgraded to 7.0.2
152* A new option for the pretty printer was added.
153You can now wrap-and-column-align parameters of method calls.
154Thank you @tarilabs !
155
Danny van Bruggen0962cf82017-08-27 20:20:12 +0200156Version 3.3.3
157------------------
158[issues resolved](https://github.com/javaparser/javaparser/milestone/55?closed=1)
159* Parsing a partial java file (like an expression or statement) no longer ignores trailing code.
160* New memory saving option: turn off token list.
161
Danny van Bruggenb20badc2017-08-20 23:08:26 +0200162Version 3.3.2
163------------------
164[issues resolved](https://github.com/javaparser/javaparser/milestone/54?closed=1)
Sebastian Kürtena6cbccd2017-08-25 11:14:35 +0200165* `VisitorMap` lets you override hashcode/equals for nodes when used as a key for a map.
Danny van Bruggenb20badc2017-08-20 23:08:26 +0200166
Danny van Bruggene40e4e22017-08-13 22:26:18 +0200167Version 3.3.1
168------------------
169[issues resolved](https://github.com/javaparser/javaparser/milestone/53?closed=1)
170* The token list is now mutable - see methods on `JavaToken`.
171This caused mild breakage - some fields have become `Optional`.
172
Danny van Bruggen3cd1be02017-07-26 19:31:35 +0200173Version 3.3.0
174------------------
175[issues resolved](https://github.com/javaparser/javaparser/milestone/52?closed=1)
176* Breaking: `TryStmt::tryBlock` and `EnclosedExpr::inner` were optional for no good reason. Now they are required.
177* You can now ask a `JavaToken` for its category, which is useful for examining the token list or doing syntax highlighting or so.
178* `enum` and `strictfp` can now be used as identifiers on lower Java versions.
179
Danny van Bruggen5e6d7292017-07-16 22:19:10 +0200180Version 3.2.12
181------------------
182[issues resolved](https://github.com/javaparser/javaparser/milestone/51?closed=1)
183
Danny van Bruggen969b7f62017-07-10 21:03:41 +0200184Version 3.2.11
185------------------
186[issues resolved](https://github.com/javaparser/javaparser/milestone/50?closed=1)
187* We're up to date with the latest Java 9 module system again.
188
Danny van Bruggen3d195982017-07-05 12:02:09 +0200189Version 3.2.10
Danny van Bruggenb5b70ee2017-07-02 20:36:42 +0200190------------------
191[issues resolved](https://github.com/javaparser/javaparser/milestone/49?closed=1)
192* `Node.replace(old, new)` was added, including property-specific `X.replaceY(newY)` methods
193
Danny van Bruggen3d195982017-07-05 12:02:09 +0200194Version 3.2.9
195------------------
196Scrapped due to release problem.
197
Danny van Bruggen1fb7c9d2017-06-18 18:10:59 +0200198Version 3.2.8
199------------------
200[issues resolved](https://github.com/javaparser/javaparser/milestone/48?closed=1)
201* Added `isInnerClass()` that checks if a `ClassOrInterfaceDeclaration` is an inner class (note: this is different from a nested class!)
202* @ryan-beckett contributed a huge [Eclipse setup guide](https://github.com/javaparser/javaparser/wiki/Eclipse-Project-Setup-Guide)
203
Danny van Bruggenc7f87802017-06-11 15:57:27 +0200204Version 3.2.7
205------------------
206[issues resolved](https://github.com/javaparser/javaparser/milestone/47?closed=1)
207* We now recover from some parse errors! [Here is an article](https://matozoid.github.io/2017/06/11/parse-error-recovery.html)
208
Danny van Bruggen9250ffa2017-06-04 20:50:37 +0200209Version 3.2.6
210------------------
211[issues resolved](https://github.com/javaparser/javaparser/milestone/46?closed=1)
212* `EmptyMemberDeclaration` is gone!
213It was deprecated for a while because it it was in the AST, but doesn't have any meaning in a Java program.
214`EmptyStmt` was also deprecated, but that has been reverted.
215This node *does* have meaning.
216
Danny van Bruggenee5691c2017-05-22 19:47:13 +0200217Version 3.2.5
218------------------
219[issues resolved](https://github.com/javaparser/javaparser/milestone/45?closed=1)
220* `NodeWithCondition` was added on all nodes containing a condition.
221* Lots of work on improving lexical preservation.
222* If a file was parsed from a file system, you can now get path information etc. from `CompilationUnit`
223* API BREAKING: every node now points to its start and end token.
224Some of the API has started returning `TokenRange` instead of `Range` - you can call `toRange` to get the old object type.
225We may still change the naming of some of this code in the following month.
226
Danny van Bruggen5201adc2017-05-14 14:00:56 +0200227Version 3.2.4
228------------------
229New style changelog, no more issue numbers, but a link:
230[issues resolved](https://github.com/javaparser/javaparser/milestone/44?closed=1)
231and any notable changes:
232* the new method `Node.removeForced()` by removing it, or removing the first parent that is optional.
233This is different from `Node.remove()`, `remove()` only tries to remove the node from the parent and fails if it can't.
234* `FieldAccessExpr.scope` is now a required property.
235You might find some `get()`s in your code that are no longer necessary.
236* `ReferenceType` no longer has a type parameter, so every `ReferenceType<?>` can be replaced by `ReferenceType` now.
237
Danny van Bruggen9c513212017-04-30 22:15:44 +0200238Version 3.2.3
239------------------
240* 907 906 905 903 911 910 909 908 smaller improvements and fixes
241
Danny van Bruggendc8077a2017-04-23 12:04:03 +0200242Version 3.2.2
243------------------
244Beta: `TreeStructureVisitor`.
245
246* 770 902 904 901 smaller improvements and fixes
247
Danny van Bruggen28cf0be2017-04-16 15:05:10 +0200248Version 3.2.1
249------------------
250Beta: `TreeStructureVisitor`.
251
252* Maven dependencies were updated to their latest versions
253* 890 the concept of "method signature" now exists in JavaParser
254* 896 891 889 887 882 789 smaller improvements and fixes
255
Danny van Bruggen7a3b9602017-04-02 21:39:40 +0200256Version 3.2.0
257------------------
258The lexical preservation code is stable!
259
260Beta: `TreeStructureVisitor`.
261
262* 885 884 879 878 smaller improvements and fixes
263
Danny van Bruggencadeeb52017-03-26 20:40:56 +0200264Version 3.1.4
265------------------
266This is the first version to parse Java 9.
267
268Beta: `TreeStructureVisitor`, and `LexicalPreservingPrinter`.
269
270* 872 873 874 787 Remaining Java 9 work.
271
Danny van Bruggen64dd2802017-03-19 13:52:35 +0100272Version 3.1.3
273------------------
274Beta: `TreeStructureVisitor`, and `LexicalPreservingPrinter`.
275
276A start has been made on source level support. The default level is Java 8.
277It can be set to Java 9 like this for a parser *instance*:
278```java
279private final JavaParser parser = new JavaParser(new ParserConfiguration().setValidator(new Java9Validator()));
280```
281and like this for the static parse methods:
282```java
283JavaParser.getStaticConfiguration().setValidator(new Java9Validator());
284```
285
286* 862 552 "_" is an illegal identifier on source level 9.
287* 869 867 109 855 857 smaller improvements and fixes
288
Danny van Bruggen79776b72017-03-11 15:07:40 +0100289Version 3.1.2
290------------------
291Beta: `TreeStructureVisitor`, `ConcreteSyntaxModel`, and `LexicalPreservingPrinter`.
292
293* 594 849 831 a validation framework was introduced to inform about problems in the AST without needing to change the grammar,
294and without requiring parsing code.
295It is open for extension by users.
296* 852 853 826 832 846 839 smaller improvements and fixes
297
Danny van Bruggenf50a5512017-03-04 18:14:46 +0100298Version 3.1.1
299------------------
300Beta: `TreeStructureVisitor`, `ConcreteSyntaxModel`, and `LexicalPreservingPrinter`.
301
302* 654 124 lexical preservation (printing source code with the same formatting it had when parsing) has been added.
303 Thank you @ftomassetti for a lot of work!
304* 554 800 first (big) step towards Java 9 support: JavaParser can read project Jigsaw module definitions.
305* 795 786 751 extend the TreeVisitor with more traversal options. Thanks @ryan-beckett!
306* 791 `GenericListVisitorAdapter` has been added which collects its results in a list. Thanks @Gottox!
307* 815 798 797 813 clean up Problem text
308* 819 818 817 816 441 809 808 807 fix various absurd annotation related issues.
309* 777 805 802 796 790 792 793 781 784 785 783 782 779 357 799 763 smaller improvements and fixes
310
Danny van Bruggen076d3ee2017-02-19 22:56:24 +0100311Version 3.1.0
312------------------
Danny van Bruggenf50a5512017-03-04 18:14:46 +0100313Beta: `TreeStructureVisitor` and `ConcreteSyntaxModel`.
Danny van Bruggen076d3ee2017-02-19 22:56:24 +0100314
315* 705 755 Add the concrete syntax model, which will give you information about the exact syntax a certain nodes matches.
316
317* 777 smaller improvements and fixes
318
Danny van Bruggenadae33f2017-02-14 19:59:50 +0100319Version 3.1.0-beta.2
320------------------
321This version is a beta because `TreeStructureVisitor` is not in its definite state yet.
322
323* 762 761 772 merge `javaparser-metamodel` and `javaparser-generator-utils` into `javaparser-core`.
324* 766 the `ModifierVisitor` is now created by a code generator. Its behaviour has been made logical, and may give different results than before.
325* 755 `ConstructorDeclaration` and `MethodDeclaration` now share a parent: `CallableDeclaration`
326* 687 759 773 769 768 767 765 759 smaller improvements and fixes
327
Danny van Bruggen23d54772017-02-05 16:21:16 +0100328Version 3.1.0-beta.1
Danny van Bruggen70f343e2017-01-28 14:07:25 +0100329------------------
Danny van Bruggen23d54772017-02-05 16:21:16 +0100330This version is a beta because there are a lot of new features that may still change.
331
332This version needs a minor version increase because of a backwards compatability issue:
333* 719 `getJavadoc`, `getJavadocComment` and `getComment` could return null. Our promise was to return `Optional`, so that is what they do now.
Danny van Bruggen70f343e2017-01-28 14:07:25 +0100334
335New:
Danny van Bruggene6079d82017-02-05 16:50:01 +0100336* 658 718 736 737 we have created a metamodel.
Danny van Bruggen23d54772017-02-05 16:21:16 +0100337It gives information about the structure of the various AST nodes, as if you are introspecting them.
338You can find it in `javaparser-metamodel`, the main class is `JavaParserMetaModel`
Danny van Bruggene6079d82017-02-05 16:50:01 +0100339* 353 365 visitors are no longer hand made, they are now generated from the metamodel. This should make them 100% reliable.
Danny van Bruggen23d54772017-02-05 16:21:16 +0100340Affected visitors are: `GenericVisitorAdapter`, `EqualsVisitor`, `VoidVisitorAdapter`, `VoidVisitor`, `GenericVisitor`, `HashCodeVisitor`, `CloneVisitor`.
341
342If you want to generate your own visitors, you can use the `VisitorGenerator` class from `javaparser-core-generators`
343
344If you want to reuse the code generation utilities, look at module `javaparser-generator-utils` - there is a very useful `SourceRoot` class in there that takes away a lot of file management troubles.
Danny van Bruggene6079d82017-02-05 16:50:01 +0100345* 538 735 `TreeStructureVisitor` has been added, which should be considered beta.
346* 220 733 717 749 745 750 743 748 666 732 746 734 733 smaller improvements and fixes
Danny van Bruggen70f343e2017-01-28 14:07:25 +0100347
Danny van Bruggenc5f6e9b2017-01-15 20:58:52 +0100348Version 3.0.1
349------------------
350* 699 433 325 Javadoc can now be parsed
351* 703 696 added NodeWithOptionalScope
352* 702 FieldAccessExpr now implements NodeWithSimpleName, *which means that "field" has been renamed to "name"*
353* 707 706 improve range of array types and levels
354* 709 smaller improvements and fixes
355
Danny van Bruggen1804ea22017-01-07 23:06:22 +0100356Version 3.0.0
357------------------
358* 695 697 689 680 693 691 682 690 677 679 688 684 683 smaller improvements and fixes
359
Danny van Bruggene11ed222016-12-24 22:25:49 +0100360Version 3.0.0-RC.4
361------------------
362* 668 669 TypeDeclarationStmt became LocalClassDeclarationStmt
363* 347 665 every node now has some documentation
364* 660 670 673 four types of import declaration have been merged back into the old ImportDeclaration
365* 659 The pretty printer can now take customized visitors
366* 650 671 672 674 524 smaller improvements and fixes
367
Danny van Bruggenfc9c4a92016-12-18 23:13:10 +0100368Version 3.0.0-RC.3
369------------------
370* 639 622 632 657 656 652 653 647 648 645 194 643 630 624 628 627 626 625 623 cleanups, small fixes, and general housekeeping
371
Danny van Bruggendd5d4d02016-12-09 16:40:59 +0100372Version 3.0.0-RC.2
373------------------
374* 593 EmptyImportDeclaration and NonEmptyImportDeclaration have been removed
375* 612 VariableDeclaratorId has been removed. It has been substituted by "SimpleName name"
376* 614 617 the list of tokens has been linearized and simplified
377* 615 support for arrays has once more been changed. See [the issue](https://github.com/javaparser/javaparser/issues/592)
378* 580 453 380 618 580 611 610 424 608 smaller improvements and fixes
379
Danny van Bruggen61aaeaf2016-12-01 18:37:11 +0100380Version 3.0.0-RC.1
381------------------
382* 499 601 renames many fields to be more consistent
383* 596 605 602 604 smaller improvements and fixes
384
Danny van Bruggen47379542016-11-27 16:54:33 +0100385Version 3.0.0-alpha.11
386------------------
387* 547 595 Node.range is now using Optional instead of Range.UNKNOWN
Danny van Bruggen6738e1c2016-11-28 19:46:45 +0100388* 584 588 548 585 bug fixes and improvements
Danny van Bruggen47379542016-11-27 16:54:33 +0100389
matozoidf52d1ad2016-11-20 16:36:22 +0100390Version 3.0.0-alpha.10
391------------------
392* 578 579 577 575 290 570 568 567 562 564 551 bug fixes and improvements
393
Danny van Bruggen02b3c5e2016-11-10 10:33:44 +0100394Version 3.0.0-alpha.9
395------------------
396* 403 358 549 Make all names nodes: either SimpleName or Name. This makes every name in the AST visitable. NameExpr is now a wrapper to use SimpleName in an expression.
matozoidd2c9f432016-11-13 17:29:38 +0100397* 516 536 use Optional<> for return values.
matozoid789ddfe2016-11-13 17:33:43 +0100398* 556 557 558 550 small improvements and fixes.
399* 560 559 make nodes observable.
Danny van Bruggen02b3c5e2016-11-10 10:33:44 +0100400
matozoidaa79a622016-11-06 14:13:37 +0100401Version 3.0.0-alpha.8
402------------------
403* 344 529 turn DumpVisitor into an official PrettyPrinter
404* 532 508 427 530 531 513 528 cleanups
405
matozoidde10e892016-10-26 19:48:54 +0200406Version 3.0.0-alpha.7
407------------------
matozoid57a10942016-10-30 21:14:28 +0100408* 515 roll back attempt at using Optional
409* 522 504 make NodeList not a Node (restores parent/children behaviour to before alpha.4)
410* 527 526 rename getChildrenNodes to getChildNodes
411* 525 495 520 bug fix
matozoidde10e892016-10-26 19:48:54 +0200412
413Version 3.0.0-alpha.6
414------------------
415* 503 modified ImportDeclaration hierarchy to have getters for static and "asterisk" again
416* 506 bug fix
417
matozoid9ac80482016-10-16 22:08:51 +0200418Version 3.0.0-alpha.5
419------------------
420* 451 null is no longer allowed in the AST. [See last post in issue](https://github.com/javaparser/javaparser/issues/451)
421* 501 421 420 316 use a special type of list for nodes: NodeList. [See last post in issue](https://github.com/javaparser/javaparser/issues/421)
422
matozoid93c5ac12016-10-09 22:03:29 +0200423Version 3.0.0-alpha.4
424------------------
425* 463 471 nodes can now be removed easily
426* 491 import handling changed. Instead of "ImportDeclaration", we now have the four types of import as described in the JLS. [See issue](https://github.com/javaparser/javaparser/pull/491)
427* 452 355 474 494 various improvements
428* 493 492 485 Simplify the JavaParser interface
429
matozoid6ea2c522016-09-30 18:55:44 +0200430Version 3.0.0-alpha.3
431------------------
matozoid93c5ac12016-10-09 22:03:29 +0200432* 112 237 466 465 461 460 458 457 fundamentally changes how we deal with arrays. [It is explained in the last post here](https://github.com/javaparser/javaparser/issues/237)
matozoid6ea2c522016-09-30 18:55:44 +0200433* 472 456 makes the "data" field on every node more structured.
434* 477 468 refactor TypeArguments. You will find that TypeArguments is no longer a type, it is just a list in some nodes.
435* 482 adds the "nodeTypes" packages to the osgi export.
436* 479 476 makes all setters on nodes return this so they become chainable.
437* 473 437 clean up CloneVisitor.
matozoid53d288a2016-07-18 13:32:44 +0200438
matozoid6ea2c522016-09-30 18:55:44 +0200439Version 3.0.0-alpha.2
440------------------
441* 157 a new parser frontend, check https://github.com/javaparser/javaparser/pull/447 for explanations
442* 435 more builder methods like 400 and 405
443* 111 440 443 444 445 446 bugs & cleanups
matozoid53d288a2016-07-18 13:32:44 +0200444
matozoid6ea2c522016-09-30 18:55:44 +0200445Version 3.0.0-alpha.1
446------------------
447* 400 405 introduce many "builder" style methods for constructing code. Thanks DeepSnowNeeL!
448* 409 remove ASTHelper (methods are now on specific Node subclasses)
449* 414 JavaParser can now be instantiated and reused. InstanceJavaParser removed
450* 418 417 411 408 bugs
451* 367 420 407 402 various cleanups
452
453Version 2.5.1
matozoid53d288a2016-07-18 13:32:44 +0200454-------------
matozoid6ea2c522016-09-30 18:55:44 +0200455* 394 OSGi manifest added
456* 391 fix ModifierVisitor NullPointerException bug
457* 385 a few new parse methods
458* 386 fix dumping an empty import (a single ; after the package declaration)
matozoid53d288a2016-07-18 13:32:44 +0200459
460Version 2.5.0
461-------------
462API breaking changes:
463
464* 191: moved TreeVisitor to visitor package
465* 368, 162, 303, 302, 360: use correct type in some places.
466* 371: code is now compiled with Java 8
467* 342, 331: ModifierVisitorAdapter detects and removes broken nodes
468* 328, 270: upgrade JavaCC (use TokenMgrException now)
469Other changes:
470
471* 297: enable access to tokens.
472* 341, 361: node positions are now OO
473* 211, 373: escaping of \n \r for string literals
474* 336, 276, 141: JavaDoc support now works
475* 337, 281: reorganize the stream reading code
476* 343, 309, 332, 57: take advantage of common interfaces
477* 329, 326, 327: deal with platform issues
478* 163, 236, 252, 296, 269, 339, 321, 322, 252, 253, 293, 295: various fixes
479* 310, 311, 313, 301, 294: some code clean-ups
Danny van Bruggen5f5c6cc2016-07-20 13:40:30 +0200480
matozoid6ea2c522016-09-30 18:55:44 +0200481Version 2.4.0
Danny van Bruggen5f5c6cc2016-07-20 13:40:30 +0200482-------------
matozoid6ea2c522016-09-30 18:55:44 +0200483* several fixes in DumpVisitor for bugs due to lazy initialization
484* make TypeDeclaration implements DocumentableNode directly
485* TypedNode interface introduced
486* introduce MultiBoundType
487* refactored IntersectionType and UnionType
488* refactored CatchClause
489* parsing annotations in throws declarations
490* parse orphan semicolons in import statements
491* added PackageDeclaration.getPackageName
492* solved issue with newlines in string literals
493* fixed handling of UnknownType in EqualsVisitor
494* improvements to CommentsParser
495* removing old grammar
matozoid13818472016-08-23 22:03:06 +0200496
matozoid6ea2c522016-09-30 18:55:44 +0200497Version 2.3.0
498-------------
499* ClassOrInterfaceType implements NamedNode
500* DumpVisitor can now be extended
501* Improved documentation
502* AST: lists are now lazy initialized
matozoid8669cf42016-09-30 18:39:12 +0200503
Danny van Bruggen27b32072017-02-19 23:27:37 +0100504Version 2.1.0
matozoideae61572016-09-30 18:57:34 +0200505-------------
506* Features
507 * [#75 performance improvement for `PositionUtils.sortByBeginPosition`](https://github.com/javaparser/javaparser/issues/75)
508 * [#64 In getDeclarationAsString parameter names should be optional](https://github.com/javaparser/javaparser/issues/64)
509* Bugfixes
510 * [#79 Fix NPE in `ConstructorDeclaration.getDeclarationAsString`](https://github.com/javaparser/javaparser/pull/79)
511 * [#86 Add missing functions to ModifierVisitorAdapter](https://github.com/javaparser/javaparser/pull/86)
512 * [#82 set LambdaExpr as parent of its child nodes](https://github.com/javaparser/javaparser/issues/82)
513 * [#87 implement `setJavadoc` and `getJavadoc` at various classes](https://github.com/javaparser/javaparser/issues/87)
514 * [#96 Fixed encoding issue in `Javaparser.parse`](https://github.com/javaparser/javaparser/pull/96)
515 * [#85 Casting a lambda expression causes a parsing failure](https://github.com/javaparser/javaparser/issues/85)
516 * [#88 `MethodReferenceExpr` and `TypeExpr` don't set themselves as parents](https://github.com/javaparser/javaparser/issues/88)
517* Internal
518 * [#89 CommentsParser.State contains unused fields](https://github.com/javaparser/javaparser/issues/89)
519 * Switched from drone.io to [Travis](https://travis-ci.org/javaparser/javaparser)
520 * [#105 Enforce compiling the library for a certain Java version](https://github.com/javaparser/javaparser/pull/105)
521
522[Code changes](https://github.com/javaparser/javaparser/compare/javaparser-parent-2.0.0...master)
523
524Version 2.0.0
525-------------
526* support Java 8
Danny van Bruggen27b32072017-02-19 23:27:37 +0100527
528Version 1.0.8 (2010-01-17)
529-------------
530* Fixed issues:
531 * Issue 17: A refactor suggestion for AnnotationExpr and its subclasses
532 * Issue 21: Java 5 JavaParser compiled JARs
533 * Issue 22: Please use java.lang.reflect.Modifier constants in japa.parser.ast.body.ModifierSet
534 * Issue 27: Implement the "equal" method
535 * Issue 30: equals and hashCode methods
536
537Version 1.0.7 (2009-04-12)
538-------------
539* Issue 19 fixed:
540* Tests changed to run with junit 4
541
542Version 1.0.6 (2009-01-11)
543-------------
544* Issue 11 fixed: changed method get/setPakage to get/setPackage in the class CompilationUnit
545* Created new visitor adapter to help AST modification: ModifierVisitorAdapter
546* Changed visitor adapters to abstract
547
548Version 1.0.5 (2008-10-26)
549-------------
550* Created simplified constructors in the nodes of the AST (without positional arguments)
551* Created ASTHelper class with some helpful methods (more methods are still needed)
552
553Version 1.0.4 (2008-10-07)
554-------------
555* Moved to javacc 4.1.
556* The java_1_5.jj can be build alone without compilation errors
557
558Version 1.0.3 (2008-09-06)
559-------------
560* Removed SuperMemberAccessExpr class, it was no longer used
561* Removed the methods get/setTypeArgs() from ArrayCreationExpr, this node shouldn't have these methods.
562* Fixed the bug with start/end position of the nodes IntegerLiteralMinValueExpr and LongLiteralMinValueExpr
563* The methods get/setAnnotations() from all BodyDeclaration subclasses were pushed down to BodyDeclaration class
564
565Version 1.0.2 (2008-07-20)
566-------------
567* Issue fixed: Issue 1: Add support for editing AST nodes or create new ones
568
569Version 1.0.1 (2008-07-01)
570-------------
571* Issue fixed: Issue 5: end line and end column equal to begin line and begin column
572
573Version 1.0.0 (2008-06-25)
574-------------
575* Changed version numbering, starting version 1.0.0
576* Javadoc done for packages:
577 * japa.parser
578 * japa.parser.ast
579* Corrected bug when parsing in multithread:
580 * JavaParser.setCacheParser(false) must be called before to use the parser concurrent
581
5822008-06-19
583-------------
584* No code changes, added binary distribution to download page
585
5862008-06-11
587-------------
588* Bug corrected: NPE in VoidVisitorAdapter
589 * http://code.google.com/p/javaparser/issues/detail?id=2
590
5912008-06-09
592-------------
593* Added Adapters for de visitors
594
5952008-05-28
596-------------
597* This project now is published at Google Code:
598 * http://code.google.com/p/javaparser/
599
6002008-05-25
601-------------
602* Added support for comments and javadoc to the tree.
603 * Javadocs are stored directly to members (BodyDeclaration and all deriveds (classes, methods, fields, etc.)), accessible by the method getJavadoc().
604 * All comments are stored in the CompilationUnit, accessible by the method getComments().
605
6062008-04-01
607-------------
608* Changed all nodes public attributes to be private and created getters to access them
609* Changed the methods of the Node getLine e getColumn to getBeginLine and getBeginColumn
610* Added the methods getEndLine and getEndColumn to the Node class (works only in the BlockNode)
611
6122007-12-22
613-------------
614* Corrected ConditionalExpression bug
615
6162007-10-21
617-------------
618* Added LGPL License
619
6202007-10-21
621-------------
622* Bugs corrected:
623 * Created PackageDeclaration member of CompilationUnit to add suport for annotations in the package declaration
624 * Parameterized anonymous constructor invocation
625 * Explicit constructor invotation Type Arguments
626 * ctrl+z ("\u001A") ar end of compilation unit
627
6282007-10-09
629-------------
630* EnumConstantDeclaration annotation support corrected
631* Parssing Java Unicode escape characters suport added
632
6332007-10-03
634-------------
635* Bug corrected: "MotifComboPopup.this.super()" statement was generating parser error
636
6372007-10-01
638-------------
639* Bug corrected: Casting signed primitive values
640```
641 double d = (double) -1;
642 ^
643```
6442007-08-06
645-------------
646* Bug with the single line comments in the final of the unit corrected
647
6482007-07-31
649-------------
650* Fixed the bug with the following expression: `Class c = (int.class);`
651
6522007-06-26
653-------------
654* Bug fixes from Leon Poyyayil work
655 * suport for hex floating point
656 * unicode digits in indentifier
657 * MemberValueArrayInitializer
658
6592007-03-09
660-------------
661* Long and Integer literal MIN_VALUE bug
662
6632007-02-24
664-------------
665* '\0' bug fixed
666
6672007-02-01
668-------------
669* Many bug fixes
670* Added line/column to nodes