blob: edab2725393b5516a80258e9df9ae5937d01d153 [file] [log] [blame] [view]
Danny van Bruggen076d3ee2017-02-19 22:56:24 +01001Version 3.1.0
2------------------
3`TreeStructureVisitor` and `ConcreteSyntaxModel` are still unstable.
4
5* 705 755 Add the concrete syntax model, which will give you information about the exact syntax a certain nodes matches.
6
7* 777 smaller improvements and fixes
8
Danny van Bruggenadae33f2017-02-14 19:59:50 +01009Version 3.1.0-beta.2
10------------------
11This version is a beta because `TreeStructureVisitor` is not in its definite state yet.
12
13* 762 761 772 merge `javaparser-metamodel` and `javaparser-generator-utils` into `javaparser-core`.
14* 766 the `ModifierVisitor` is now created by a code generator. Its behaviour has been made logical, and may give different results than before.
15* 755 `ConstructorDeclaration` and `MethodDeclaration` now share a parent: `CallableDeclaration`
16* 687 759 773 769 768 767 765 759 smaller improvements and fixes
17
Danny van Bruggen23d54772017-02-05 16:21:16 +010018Version 3.1.0-beta.1
Danny van Bruggen70f343e2017-01-28 14:07:25 +010019------------------
Danny van Bruggen23d54772017-02-05 16:21:16 +010020This version is a beta because there are a lot of new features that may still change.
21
22This version needs a minor version increase because of a backwards compatability issue:
23* 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 +010024
25New:
Danny van Bruggene6079d82017-02-05 16:50:01 +010026* 658 718 736 737 we have created a metamodel.
Danny van Bruggen23d54772017-02-05 16:21:16 +010027It gives information about the structure of the various AST nodes, as if you are introspecting them.
28You can find it in `javaparser-metamodel`, the main class is `JavaParserMetaModel`
Danny van Bruggene6079d82017-02-05 16:50:01 +010029* 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 +010030Affected visitors are: `GenericVisitorAdapter`, `EqualsVisitor`, `VoidVisitorAdapter`, `VoidVisitor`, `GenericVisitor`, `HashCodeVisitor`, `CloneVisitor`.
31
32If you want to generate your own visitors, you can use the `VisitorGenerator` class from `javaparser-core-generators`
33
34If 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 +010035* 538 735 `TreeStructureVisitor` has been added, which should be considered beta.
36* 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 +010037
Danny van Bruggenc5f6e9b2017-01-15 20:58:52 +010038Version 3.0.1
39------------------
40* 699 433 325 Javadoc can now be parsed
41* 703 696 added NodeWithOptionalScope
42* 702 FieldAccessExpr now implements NodeWithSimpleName, *which means that "field" has been renamed to "name"*
43* 707 706 improve range of array types and levels
44* 709 smaller improvements and fixes
45
Danny van Bruggen1804ea22017-01-07 23:06:22 +010046Version 3.0.0
47------------------
48* 695 697 689 680 693 691 682 690 677 679 688 684 683 smaller improvements and fixes
49
Danny van Bruggene11ed222016-12-24 22:25:49 +010050Version 3.0.0-RC.4
51------------------
52* 668 669 TypeDeclarationStmt became LocalClassDeclarationStmt
53* 347 665 every node now has some documentation
54* 660 670 673 four types of import declaration have been merged back into the old ImportDeclaration
55* 659 The pretty printer can now take customized visitors
56* 650 671 672 674 524 smaller improvements and fixes
57
Danny van Bruggenfc9c4a92016-12-18 23:13:10 +010058Version 3.0.0-RC.3
59------------------
60* 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
61
Danny van Bruggendd5d4d02016-12-09 16:40:59 +010062Version 3.0.0-RC.2
63------------------
64* 593 EmptyImportDeclaration and NonEmptyImportDeclaration have been removed
65* 612 VariableDeclaratorId has been removed. It has been substituted by "SimpleName name"
66* 614 617 the list of tokens has been linearized and simplified
67* 615 support for arrays has once more been changed. See [the issue](https://github.com/javaparser/javaparser/issues/592)
68* 580 453 380 618 580 611 610 424 608 smaller improvements and fixes
69
Danny van Bruggen61aaeaf2016-12-01 18:37:11 +010070Version 3.0.0-RC.1
71------------------
72* 499 601 renames many fields to be more consistent
73* 596 605 602 604 smaller improvements and fixes
74
Danny van Bruggen47379542016-11-27 16:54:33 +010075Version 3.0.0-alpha.11
76------------------
77* 547 595 Node.range is now using Optional instead of Range.UNKNOWN
Danny van Bruggen6738e1c2016-11-28 19:46:45 +010078* 584 588 548 585 bug fixes and improvements
Danny van Bruggen47379542016-11-27 16:54:33 +010079
matozoidf52d1ad2016-11-20 16:36:22 +010080Version 3.0.0-alpha.10
81------------------
82* 578 579 577 575 290 570 568 567 562 564 551 bug fixes and improvements
83
Danny van Bruggen02b3c5e2016-11-10 10:33:44 +010084Version 3.0.0-alpha.9
85------------------
86* 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 +010087* 516 536 use Optional<> for return values.
matozoid789ddfe2016-11-13 17:33:43 +010088* 556 557 558 550 small improvements and fixes.
89* 560 559 make nodes observable.
Danny van Bruggen02b3c5e2016-11-10 10:33:44 +010090
matozoidaa79a622016-11-06 14:13:37 +010091Version 3.0.0-alpha.8
92------------------
93* 344 529 turn DumpVisitor into an official PrettyPrinter
94* 532 508 427 530 531 513 528 cleanups
95
matozoidde10e892016-10-26 19:48:54 +020096Version 3.0.0-alpha.7
97------------------
matozoid57a10942016-10-30 21:14:28 +010098* 515 roll back attempt at using Optional
99* 522 504 make NodeList not a Node (restores parent/children behaviour to before alpha.4)
100* 527 526 rename getChildrenNodes to getChildNodes
101* 525 495 520 bug fix
matozoidde10e892016-10-26 19:48:54 +0200102
103Version 3.0.0-alpha.6
104------------------
105* 503 modified ImportDeclaration hierarchy to have getters for static and "asterisk" again
106* 506 bug fix
107
matozoid9ac80482016-10-16 22:08:51 +0200108Version 3.0.0-alpha.5
109------------------
110* 451 null is no longer allowed in the AST. [See last post in issue](https://github.com/javaparser/javaparser/issues/451)
111* 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)
112
matozoid93c5ac12016-10-09 22:03:29 +0200113Version 3.0.0-alpha.4
114------------------
115* 463 471 nodes can now be removed easily
116* 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)
117* 452 355 474 494 various improvements
118* 493 492 485 Simplify the JavaParser interface
119
matozoid6ea2c522016-09-30 18:55:44 +0200120Version 3.0.0-alpha.3
121------------------
matozoid93c5ac12016-10-09 22:03:29 +0200122* 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 +0200123* 472 456 makes the "data" field on every node more structured.
124* 477 468 refactor TypeArguments. You will find that TypeArguments is no longer a type, it is just a list in some nodes.
125* 482 adds the "nodeTypes" packages to the osgi export.
126* 479 476 makes all setters on nodes return this so they become chainable.
127* 473 437 clean up CloneVisitor.
matozoid53d288a2016-07-18 13:32:44 +0200128
matozoid6ea2c522016-09-30 18:55:44 +0200129Version 3.0.0-alpha.2
130------------------
131* 157 a new parser frontend, check https://github.com/javaparser/javaparser/pull/447 for explanations
132* 435 more builder methods like 400 and 405
133* 111 440 443 444 445 446 bugs & cleanups
matozoid53d288a2016-07-18 13:32:44 +0200134
matozoid6ea2c522016-09-30 18:55:44 +0200135Version 3.0.0-alpha.1
136------------------
137* 400 405 introduce many "builder" style methods for constructing code. Thanks DeepSnowNeeL!
138* 409 remove ASTHelper (methods are now on specific Node subclasses)
139* 414 JavaParser can now be instantiated and reused. InstanceJavaParser removed
140* 418 417 411 408 bugs
141* 367 420 407 402 various cleanups
142
143Version 2.5.1
matozoid53d288a2016-07-18 13:32:44 +0200144-------------
matozoid6ea2c522016-09-30 18:55:44 +0200145* 394 OSGi manifest added
146* 391 fix ModifierVisitor NullPointerException bug
147* 385 a few new parse methods
148* 386 fix dumping an empty import (a single ; after the package declaration)
matozoid53d288a2016-07-18 13:32:44 +0200149
150Version 2.5.0
151-------------
152API breaking changes:
153
154* 191: moved TreeVisitor to visitor package
155* 368, 162, 303, 302, 360: use correct type in some places.
156* 371: code is now compiled with Java 8
157* 342, 331: ModifierVisitorAdapter detects and removes broken nodes
158* 328, 270: upgrade JavaCC (use TokenMgrException now)
159Other changes:
160
161* 297: enable access to tokens.
162* 341, 361: node positions are now OO
163* 211, 373: escaping of \n \r for string literals
164* 336, 276, 141: JavaDoc support now works
165* 337, 281: reorganize the stream reading code
166* 343, 309, 332, 57: take advantage of common interfaces
167* 329, 326, 327: deal with platform issues
168* 163, 236, 252, 296, 269, 339, 321, 322, 252, 253, 293, 295: various fixes
169* 310, 311, 313, 301, 294: some code clean-ups
Danny van Bruggen5f5c6cc2016-07-20 13:40:30 +0200170
matozoid6ea2c522016-09-30 18:55:44 +0200171Version 2.4.0
Danny van Bruggen5f5c6cc2016-07-20 13:40:30 +0200172-------------
matozoid6ea2c522016-09-30 18:55:44 +0200173* several fixes in DumpVisitor for bugs due to lazy initialization
174* make TypeDeclaration implements DocumentableNode directly
175* TypedNode interface introduced
176* introduce MultiBoundType
177* refactored IntersectionType and UnionType
178* refactored CatchClause
179* parsing annotations in throws declarations
180* parse orphan semicolons in import statements
181* added PackageDeclaration.getPackageName
182* solved issue with newlines in string literals
183* fixed handling of UnknownType in EqualsVisitor
184* improvements to CommentsParser
185* removing old grammar
matozoid13818472016-08-23 22:03:06 +0200186
matozoid6ea2c522016-09-30 18:55:44 +0200187Version 2.3.0
188-------------
189* ClassOrInterfaceType implements NamedNode
190* DumpVisitor can now be extended
191* Improved documentation
192* AST: lists are now lazy initialized
matozoid8669cf42016-09-30 18:39:12 +0200193
matozoideae61572016-09-30 18:57:34 +0200194Version 2.1.0-SNAPSHOT
195-------------
196* Features
197 * [#75 performance improvement for `PositionUtils.sortByBeginPosition`](https://github.com/javaparser/javaparser/issues/75)
198 * [#64 In getDeclarationAsString parameter names should be optional](https://github.com/javaparser/javaparser/issues/64)
199* Bugfixes
200 * [#79 Fix NPE in `ConstructorDeclaration.getDeclarationAsString`](https://github.com/javaparser/javaparser/pull/79)
201 * [#86 Add missing functions to ModifierVisitorAdapter](https://github.com/javaparser/javaparser/pull/86)
202 * [#82 set LambdaExpr as parent of its child nodes](https://github.com/javaparser/javaparser/issues/82)
203 * [#87 implement `setJavadoc` and `getJavadoc` at various classes](https://github.com/javaparser/javaparser/issues/87)
204 * [#96 Fixed encoding issue in `Javaparser.parse`](https://github.com/javaparser/javaparser/pull/96)
205 * [#85 Casting a lambda expression causes a parsing failure](https://github.com/javaparser/javaparser/issues/85)
206 * [#88 `MethodReferenceExpr` and `TypeExpr` don't set themselves as parents](https://github.com/javaparser/javaparser/issues/88)
207* Internal
208 * [#89 CommentsParser.State contains unused fields](https://github.com/javaparser/javaparser/issues/89)
209 * Switched from drone.io to [Travis](https://travis-ci.org/javaparser/javaparser)
210 * [#105 Enforce compiling the library for a certain Java version](https://github.com/javaparser/javaparser/pull/105)
211
212[Code changes](https://github.com/javaparser/javaparser/compare/javaparser-parent-2.0.0...master)
213
214Version 2.0.0
215-------------
216* support Java 8