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