Danny van Bruggen | 076d3ee | 2017-02-19 22:56:24 +0100 | [diff] [blame^] | 1 | Version 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 Bruggen | adae33f | 2017-02-14 19:59:50 +0100 | [diff] [blame] | 9 | Version 3.1.0-beta.2 |
| 10 | ------------------ |
| 11 | This 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 Bruggen | 23d5477 | 2017-02-05 16:21:16 +0100 | [diff] [blame] | 18 | Version 3.1.0-beta.1 |
Danny van Bruggen | 70f343e | 2017-01-28 14:07:25 +0100 | [diff] [blame] | 19 | ------------------ |
Danny van Bruggen | 23d5477 | 2017-02-05 16:21:16 +0100 | [diff] [blame] | 20 | This version is a beta because there are a lot of new features that may still change. |
| 21 | |
| 22 | This 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 Bruggen | 70f343e | 2017-01-28 14:07:25 +0100 | [diff] [blame] | 24 | |
| 25 | New: |
Danny van Bruggen | e6079d8 | 2017-02-05 16:50:01 +0100 | [diff] [blame] | 26 | * 658 718 736 737 we have created a metamodel. |
Danny van Bruggen | 23d5477 | 2017-02-05 16:21:16 +0100 | [diff] [blame] | 27 | It gives information about the structure of the various AST nodes, as if you are introspecting them. |
| 28 | You can find it in `javaparser-metamodel`, the main class is `JavaParserMetaModel` |
Danny van Bruggen | e6079d8 | 2017-02-05 16:50:01 +0100 | [diff] [blame] | 29 | * 353 365 visitors are no longer hand made, they are now generated from the metamodel. This should make them 100% reliable. |
Danny van Bruggen | 23d5477 | 2017-02-05 16:21:16 +0100 | [diff] [blame] | 30 | Affected visitors are: `GenericVisitorAdapter`, `EqualsVisitor`, `VoidVisitorAdapter`, `VoidVisitor`, `GenericVisitor`, `HashCodeVisitor`, `CloneVisitor`. |
| 31 | |
| 32 | If you want to generate your own visitors, you can use the `VisitorGenerator` class from `javaparser-core-generators` |
| 33 | |
| 34 | If 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 Bruggen | e6079d8 | 2017-02-05 16:50:01 +0100 | [diff] [blame] | 35 | * 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 Bruggen | 70f343e | 2017-01-28 14:07:25 +0100 | [diff] [blame] | 37 | |
Danny van Bruggen | c5f6e9b | 2017-01-15 20:58:52 +0100 | [diff] [blame] | 38 | Version 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 Bruggen | 1804ea2 | 2017-01-07 23:06:22 +0100 | [diff] [blame] | 46 | Version 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 Bruggen | e11ed22 | 2016-12-24 22:25:49 +0100 | [diff] [blame] | 50 | Version 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 Bruggen | fc9c4a9 | 2016-12-18 23:13:10 +0100 | [diff] [blame] | 58 | Version 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 Bruggen | dd5d4d0 | 2016-12-09 16:40:59 +0100 | [diff] [blame] | 62 | Version 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 Bruggen | 61aaeaf | 2016-12-01 18:37:11 +0100 | [diff] [blame] | 70 | Version 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 Bruggen | 4737954 | 2016-11-27 16:54:33 +0100 | [diff] [blame] | 75 | Version 3.0.0-alpha.11 |
| 76 | ------------------ |
| 77 | * 547 595 Node.range is now using Optional instead of Range.UNKNOWN |
Danny van Bruggen | 6738e1c | 2016-11-28 19:46:45 +0100 | [diff] [blame] | 78 | * 584 588 548 585 bug fixes and improvements |
Danny van Bruggen | 4737954 | 2016-11-27 16:54:33 +0100 | [diff] [blame] | 79 | |
matozoid | f52d1ad | 2016-11-20 16:36:22 +0100 | [diff] [blame] | 80 | Version 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 Bruggen | 02b3c5e | 2016-11-10 10:33:44 +0100 | [diff] [blame] | 84 | Version 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. |
matozoid | d2c9f43 | 2016-11-13 17:29:38 +0100 | [diff] [blame] | 87 | * 516 536 use Optional<> for return values. |
matozoid | 789ddfe | 2016-11-13 17:33:43 +0100 | [diff] [blame] | 88 | * 556 557 558 550 small improvements and fixes. |
| 89 | * 560 559 make nodes observable. |
Danny van Bruggen | 02b3c5e | 2016-11-10 10:33:44 +0100 | [diff] [blame] | 90 | |
matozoid | aa79a62 | 2016-11-06 14:13:37 +0100 | [diff] [blame] | 91 | Version 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 | |
matozoid | de10e89 | 2016-10-26 19:48:54 +0200 | [diff] [blame] | 96 | Version 3.0.0-alpha.7 |
| 97 | ------------------ |
matozoid | 57a1094 | 2016-10-30 21:14:28 +0100 | [diff] [blame] | 98 | * 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 |
matozoid | de10e89 | 2016-10-26 19:48:54 +0200 | [diff] [blame] | 102 | |
| 103 | Version 3.0.0-alpha.6 |
| 104 | ------------------ |
| 105 | * 503 modified ImportDeclaration hierarchy to have getters for static and "asterisk" again |
| 106 | * 506 bug fix |
| 107 | |
matozoid | 9ac8048 | 2016-10-16 22:08:51 +0200 | [diff] [blame] | 108 | Version 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 | |
matozoid | 93c5ac1 | 2016-10-09 22:03:29 +0200 | [diff] [blame] | 113 | Version 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 | |
matozoid | 6ea2c52 | 2016-09-30 18:55:44 +0200 | [diff] [blame] | 120 | Version 3.0.0-alpha.3 |
| 121 | ------------------ |
matozoid | 93c5ac1 | 2016-10-09 22:03:29 +0200 | [diff] [blame] | 122 | * 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) |
matozoid | 6ea2c52 | 2016-09-30 18:55:44 +0200 | [diff] [blame] | 123 | * 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. |
matozoid | 53d288a | 2016-07-18 13:32:44 +0200 | [diff] [blame] | 128 | |
matozoid | 6ea2c52 | 2016-09-30 18:55:44 +0200 | [diff] [blame] | 129 | Version 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 |
matozoid | 53d288a | 2016-07-18 13:32:44 +0200 | [diff] [blame] | 134 | |
matozoid | 6ea2c52 | 2016-09-30 18:55:44 +0200 | [diff] [blame] | 135 | Version 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 | |
| 143 | Version 2.5.1 |
matozoid | 53d288a | 2016-07-18 13:32:44 +0200 | [diff] [blame] | 144 | ------------- |
matozoid | 6ea2c52 | 2016-09-30 18:55:44 +0200 | [diff] [blame] | 145 | * 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) |
matozoid | 53d288a | 2016-07-18 13:32:44 +0200 | [diff] [blame] | 149 | |
| 150 | Version 2.5.0 |
| 151 | ------------- |
| 152 | API 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) |
| 159 | Other 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 Bruggen | 5f5c6cc | 2016-07-20 13:40:30 +0200 | [diff] [blame] | 170 | |
matozoid | 6ea2c52 | 2016-09-30 18:55:44 +0200 | [diff] [blame] | 171 | Version 2.4.0 |
Danny van Bruggen | 5f5c6cc | 2016-07-20 13:40:30 +0200 | [diff] [blame] | 172 | ------------- |
matozoid | 6ea2c52 | 2016-09-30 18:55:44 +0200 | [diff] [blame] | 173 | * 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 |
matozoid | 1381847 | 2016-08-23 22:03:06 +0200 | [diff] [blame] | 186 | |
matozoid | 6ea2c52 | 2016-09-30 18:55:44 +0200 | [diff] [blame] | 187 | Version 2.3.0 |
| 188 | ------------- |
| 189 | * ClassOrInterfaceType implements NamedNode |
| 190 | * DumpVisitor can now be extended |
| 191 | * Improved documentation |
| 192 | * AST: lists are now lazy initialized |
matozoid | 8669cf4 | 2016-09-30 18:39:12 +0200 | [diff] [blame] | 193 | |
matozoid | eae6157 | 2016-09-30 18:57:34 +0200 | [diff] [blame] | 194 | Version 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 | |
| 214 | Version 2.0.0 |
| 215 | ------------- |
| 216 | * support Java 8 |