Release 8.34

28.06.2020

New:

  • INTERFACE_DEF token support in RightCurlyCheck. Author: Gaurab Dasgupta #7175

Bug fixes:

  • MissingJavadocMethod flagging private methods even target scope is public methods only. Author: Andrei Paikin #8266
  • Update AbstractChecks to log DetailAST - Indentation. Author: Abhishek-kumar09 #7734
  • Update AbstractChecks to log DetailAST - JavadocMethod. Author: HuGanghui #7739
  • Update AbstractChecks to log DetailAST - EmptyLineSeparator. Author: HuGanghui #7730
  • Update AbstractChecks to log DetailAST - VariableDeclarationUsageDistance. Author: HuGanghui #7766
  • Update AbstractChecks to log DetailAST - TodoComment. Author: HuGanghui #7762
  • Update AbstractChecks to log DetailAST - MissingJavadocType. Author: HuGanghui #7747
  • Update AbstractChecks to log DetailAST - UnnecessaryParentheses. Author: Shashwat Jaiswal #7765

Notes:

  • Add input file for Java14 records #8290 Author: Nick Mancuso #8290
  • doc: add example of how to run GUI from snapshot jar. Author: Roman Ivanov
  • Java Grammar: need to introduce "id" rule to solve keyword as identifier problem. Author: Nick Mancuso #8308
  • Extend Checkstyle GUI tool to work with Xpath. Author: hembhagat #4944
  • Use JDK11 for wercker. Author: pbludov #8325
  • Update issue template to new format. Author: Shashwat Jaiswal #7834
  • Pitest Issue: Indentation. Author: Abhishek-kumar09 #8270
  • Update java.g to allow new tokens to be added. Author: Nick Mancuso #8274
  • Remove rss and sourceforge banners from website. Author: Roman Ivanov #8286
  • Make test inputs compatible with Java 10+. Author: pbludov #8283
  • Use archunit library to control source code . Author: Gaurab Dasgupta #7469

Release 8.33

31.05.2020

Breaking backward compatibility:

  • Drop CDATA support in javadoc grammar . Author: pbludov #4937

New:

  • new Check: NoCodeInFile. Author: Gaurab Dasgupta #8132
  • Allow to configure if ArrayTrailingComma should ignore single-line arrays. Author: Gaurav Punjabi #3201

Bug fixes:

  • Space betwee type annoation and [] or ... not verifiable for Google Style. Author: HuGanghui #6707
  • Update AbstractChecks to log DetailAST - CustomImportOrder. Author: hembhagat #7728
  • Java9: try-with-resources should accept fields. Author: Harsh Kukreja #6332
  • JavadocTagContinuationIndentation doesn't report some lines. Author: Gaurav Punjabi #2813
  • Remove from PackageDeclaration validation for empty files. Author: Gaurav Punjabi #8110
  • JavadocMethod: false positive with validateThrows if catched inside the method. Author: wltan #7473
  • Update AbstractChecks to log DetailAST - CommentsIndentation. Author: Shrey Kumar Singh #7727

Notes:

  • Sonar API Token has no access rights. Author: Roman Ivanov #8279
  • Spotbugs should validate tests. Author: pbludov #8275
  • Suppress Spotbugs violation for internal JaCoCo field. Author: pbludov #8262
  • code cleanup: minimize future xdoc changes . Author: Gaurab Dasgupta #3946
  • Resolve Pitest Issues - ImportOrderCheck (5). Author: yajna pandith #7876
  • Cleanup .ci-temp folder after release notes generation. Author: Nick Mancuso #8268
  • resolve FileTabCharacter violations in test resources. Author: Shashwat Jaiswal #8019
  • Add default config example for AbstractClassName. Author: Praveen Kumar #7565
  • update doc for ClassDataAbstractionCoupling. Author: Shashwat Jaiswal #7690
  • Improve clean up of .ci-temp directory. Author: Nick Mancuso #7892
  • Sonar violations: Refactor the body of this try/catch to have only one invocation throwing an exception. Author: Roman Ivanov #8249
  • Checkstyle verification in printed as WARNING during build. Author: Roman Ivanov #8256
  • spelling: Fix broken links in sun_checks.xml. Author: tosi29
  • Making regex to validate missed space in comments in non main files. Author: HuGanghui #8169
  • Broken link - AvoidDoubleBraceInitialization. Author: HuGanghui #7889
  • Update CIs to validate empty outpu of 'git status' after execution. Author: Nick Mancuso #8228
  • Resolve Pitest Issues - JavadocMethodCheck (8). Author: Gaurab Dasgupta #7980
  • Use JOSM in our CI. Author: Roman Ivanov #3786
  • Resolve Pitest Issues - UnusedImportsCheck. Author: AmrDeveloper #7921
  • Resolve Pitest Issues - CustomImportOrderCheck (3). Author: kaustubh #7804
  • Resolve Pitest Issues - ImportOrderCheck (2). Author: kaustubh #7873
  • Update doc for NoFinalizer. Author: Omar Shawky #7671
  • update test inputs to avoid long lines that violate 100 limit. Author: Gaurav Punjabi #8036
  • doc: update link to moved javadoc-tool page. Author: pbludov
  • Resolve PMD warning deprecated attribute 'ClassOrInterfaceDeclaration/@Image' . Author: Gaurav Punjabi #8206
  • Jacoco coverage report should have grammar classes. Author: Roman Ivanov #8219
  • Update Xpath unit tests to have at least two test methods. Author: Gaurav Punjabi #8151
  • Page that explains system properties is not accesible from main page. Author: Shrey Kumar Singh #6475
  • Unclear beginning development instructions . Author: Shashwat Jaiswal #8198
  • sync content of cli tool in xdoc and cli tool help output . Author: Gaurab Dasgupta #6216
  • Add default config example for CatchParameterName. Author: kaustubh #7563
  • Update doc for MissingCtor. Author: Gaurav Punjabi #7667
  • Create code of conduct. Author: Akhil singh #7833
  • Update doc for AvoidInlineConditionals. Author: Gaurav Punjabi #7664
  • Resolve Pitest Issues - JavadocMethodCheck (7). Author: Harsh Kukreja #7979
  • doc: repo1.maven.org demands https. Author: Roman Ivanov

Release 8.32

26.04.2020

Breaking backward compatibility:

  • Checker should use UTF-8 encoding by default. Author: Nick Mancuso #6204

New:

  • Update type definitions for OneTopLevelClass. Author: wltan #7957
  • Add LABELED_STAT token support to NoWhitespaceBefore. Author: Wilfried Bounsi #8124
  • Google Style Should Enforce Spaces after Commas. Author: Shashwat Jaiswal #5624
  • AbbreviationAsWordInName: static final option. Author: wltan #6582
  • New JavadocMissingWhitespaceAfterAsteriskCheck. Author: 0blivious #7183

Bug fixes:

  • Remove cli options -C and -W. Author: Gaurab Dasgupta #8181
  • Update AbstractChecks to log DetailAST - AvoidEscapedUnicodeCharacters. Author: Gaurav Punjabi #7724
  • SuppressWarningsHolder should not report violations. Author: AmrDeveloper #7848
  • Update AbstractChecks to log DetailAST - PackageDeclaration. Author: kaustubh #7758
  • Update AbstractChecks to log DetailAST - JavadocType. Author: wltan #7741
  • Xpath results are not sorted in document order. Author: Gaurab Dasgupta #6988
  • Update AbstractChecks to log DetailAST - OverloadMethodsDeclarationOrder. Author: Nick Mancuso #7756
  • CustomImportOrderCheck.customImportOrderRules does not support the default value. Author: wltan #7128
  • Update AbstractChecks to log DetailAST - InterfaceIsType. Author: HuGanghui #7735
  • Update AbstractChecks to log DetailAST - MethodCount. Author: Shashwat Jaiswal #7743
  • Update AbstractChecks to log DetailAST - AnnotationUseStyle. Author: Wilfried Bounsi #7722
  • Update AbstractChecks to log DetailAST - JavadocContentLocation. Author: Harsh Kukreja #7738

Notes:

  • update documentation for windows users. Author: wltan #2622
  • update doc for AnnotationOnSameLine. Author: Shrey Kumar Singh #7570
  • Update AbstractChecks to log DetailAST - InterfaceMemberImpliedModifier. Author: Shashwat Jaiswal #7736
  • Improve clean up of .ci-temp directory. Author: Nick Mancuso #7892
  • Update doc for MissingJavadocMethod. Author: Gaurav Punjabi #7603
  • Add default and missed property config example for AbbreviationAsWordInName. Author: wltan #7566
  • remove from configs hardcode caused by MCHECKSTYLE-332. Author: Gaurav Punjabi #8168
  • Enforce -e for all maven commands. Author: HuGanghui #8118
  • Update doc for ParenPad. Author: Shrey Kumar Singh #7627
  • Update doc for InnerTypeLast. Author: Gaurav Punjabi #7611
  • Update Xpath unit tests to have at least two test methods. Author: Gaurav Punjabi #8151
  • update doc for RegexpOnFilename. Author: hembhagat #7696
  • use RegexpSingleline Check to validate amount of tests in Xpath tests. Author: Malintha1996 #7987
  • Explain reason why Regexp can not be supported by Xpath. Author: kaustubh #7759
  • upadate doc of AvoidDoubleBraceInitialization to make example compilable. Author: wltan #7811
  • spelling: Fix typo in JavadocMethodCheck. Author: wltan
  • doc: add leading asterisks for javadoc. Author: Gaurav Punjabi
  • Update doc for JavadocTagContinuationIndentation. Author: kaustubh #7600
  • Resolve Pitest Issues - JavadocMethodCheck (1). Author: Shrey Kumar Singh #7922
  • Update doc for SeparatorWrap. Author: Shrey Kumar Singh #7628
  • Update documentation of filters to reference targets of suppression. Author: Shrey Kumar Singh #7179
  • update doc for ClassFanOutComplexity. Author: Shashwat Jaiswal #7691
  • doc: Updated doc for OverloadMethodsDeclarationOrder. Author: Guneshi Wickramaarachchi
  • Wrong tag usage in NeedBraces Check. Author: Shashwat Jaiswal #8011
  • Set up Semaphore CI. Author: Pavel Bludov #8051
  • move WriteTag Check to list of javadoc Check in XpathSuppressionFilter documentation. Author: Shashwat Jaiswal #7767
  • Update AbstractChecks to log DetailAST - MissingJavadocMethod. Author: Shashwat Jaiswal #7745
  • ci: fix failure in codeship to recognize multiline commands. Author: Roman Ivanov
  • update doc for CyclomaticComplexity. Author: Shrey Kumar Singh #7692
  • Update doc for IllegalType. Author: kaustubh #7647
  • Set up JDK 14 build in CI. Author: pbludov #7969
  • OverloadMethodsDeclarationOrderCheck: warning message is unclear. Author: Shashwat Jaiswal #4921
  • doc: Reduce amount of bold formatting. Author: wltan
  • Improve VisibilityModifier documentation for Rationale . Author: wltan #6745
  • Update doc for TypecastParenPad. Author: Shrey Kumar Singh #7630
  • Update doc for HideUtilityClassConstructor. Author: Shrey Kumar Singh #7610
  • resolve Trailing whitespace violations in test resources. Author: Shashwat Jaiswal #8020
  • LineLength is ignored in codeship config. Author: Roman Ivanov #7996
  • Update doc for UpperEll. Author: kaustubh #7596
  • Resolve Pitest Issues - RegexpCheck (1). Author: Gaurav Punjabi #7982
  • Resolve Pitest Issues - JavadocMethodCheck (6). Author: kaustubh #7978
  • Resolve errors reported by Travis Build Config Validation. Author: rnveach #8014
  • Update doc for JavadocStyle. Author: Gaurav Punjabi #7599
  • OneTopLevelClass: Improve data structure efficiency. Author: wltan #7812
  • config_naming has inconsistent tag usage. Author: Shashwat Jaiswal #8005
  • Update doc for WhitespaceAround. Author: Harsh Kukreja #7632
  • Update doc for OperatorWrap. Author: Harsh Kukreja #7626
  • Update doc on description of package annotation. Author: Wilfried Bounsi #7846
  • doc: update IndentationCheck note for SuppressionXpathFilter. Author: Abhishek-kumar09
  • Resolve Pitest Issues - ImportOrderCheck (3). Author: Nick Mancuso #7874
  • Resolve Pitest Issues - DetectorOptions. Author: Wilfried Bounsi #7981
  • Update doc for NewlineAtEndOfFile. Author: Gaurav Punjabi #7589
  • update doc for RegexpSingleline. Author: malintha1996 #7697

Release 8.31

29.03.2020

Breaking backward compatibility:

  • Remove all deprecated setClassLoader methods from Checker and TreeWalker. Author: Nick Mancuso #7190

New:

  • New check: UnnecessarySemicolonAfterOuterTypeDeclaration. Author: Andrei Paikin #7677

Bug fixes:

  • Update AbstractChecks to log DetailAST - AnnotationOnSameLine. Author: Wilfried Bounsi #7721
  • Indentation violation for lambda depends on tab symbols in code. Author: liach #5969
  • Update AbstractChecks to log DetailAST - LambdaParameterName. Author: Abhishek-kumar09 #7742
  • Update AbstractChecks to log DetailAST - MissingJavadocPackage. Author: Gaurab Dasgupta #7746
  • Update AbstractChecks to log DetailAST - IllegalCatch. Author: sulkykookie #7732
  • Update AbstractChecks to log DetailAST - InvalidJavadocPosition. Author: Shrey Kumar Singh #7737
  • Update AbstractChecks to log DetailAST - NeedBraces. Author: Gaurav Punjabi #7750
  • Update AbstractChecks to log DetailAST - UncommentedMain. Author: AmrDeveloper #7764
  • Update AbstractChecks to log DetailAST - ImportOrder. Author: kaustubh #7733
  • Update AbstractChecks to log DetailAST - JavadocStyle. Author: wltan #7740
  • NPE in MissingDeprecatedCheck. Author: Nick Mancuso #7534
  • Update AbstractChecks to log DetailAST - AvoidStarImport. Author: Akhil singh #7725
  • Update AbstractChecks to log DetailAST - FinalClass. Author: HuGanghui #7731
  • Update AbstractChecks to log DetailAST - MissingSwitchDefault. Author: Abhishek-kumar09 #7749
  • Update AbstractChecks to log DetailAST - MissingCtor. Author: HuGanghui #7744
  • Update AbstractChecks to log DetailAST - AvoidStaticImport. Author: Gaurab Dasgupta #7726
  • Update AbstractChecks to log DetailAST - NoLineWrap. Author: Abhishek-kumar09 #7753
  • Update AbstractChecks to log DetailAST - PackageAnnotation. Author: Wilfried Bounsi #7757
  • Update AbstractChecks to log DetailAST - AnnotationLocation. Author: malintha1996 #7768
  • LineLength measures Java characters, not Unicode characters. Author: Nick Mancuso #5089
  • Update AbstractChecks to log DetailAST - OuterTypeFilename. Author: HuGanghui #7755
  • Update AbstractChecks to log DetailAST - SuppressWarningsHolder. Author: Wilfried Bounsi #7761
  • Update AbstractChecks to log DetailAST - MissingOverride. Author: HuGanghui #7748
  • Update AbstractChecks to log DetailAST - ArrayTrailingComma. Author: Wilfried Bounsi #7723
  • Update AbstractChecks to log DetailAST - NoFinalizer. Author: Gaurab Dasgupta #7752
  • Exception when using SuppressWarningsHolder with @SuppressWarnings as an annotation property (e.g. in Lombok). Author: AmrDeveloper #7522
  • Update AbstractChecks to log DetailAST - OneTopLevelClass. Author: wltan #7754
  • JavadocStyleCheck incorrectly allows "style" tag. Author: wltan #7779
  • Update AbstractChecks to log DetailAST - NoClone. Author: Wilfried Bounsi #7751
  • Update AbstractChecks to log DetailAST - EmptyCatchBlock. Author: gaurabdg #7729

Notes:

  • Update doc for NoLineWrap. Author: sulkykookie #7623
  • Resolve Pitest Issues - IllegalImportCheck (2). Author: Harsh Kukreja #7855
  • update doc for AnnotationLocation to have config first and code sample after. Author: Prabod Dunuwila #7569
  • Update doc for ThrowsCount. Author: Harsh Kukreja #7615
  • update doc for NPathComplexity. Author: edwardlee #7694
  • Resolve Pitest Issues - RedundantImportCheck. Author: Gaurav Punjabi #7920
  • Update doc for InterfaceIsType. Author: HuGanghui #7612
  • Update doc for InnerAssignment. Author: Anubhav #7666
  • Update doc for MagicNumber. Author: Parag Pachpute #7648
  • update doc for JavaNCSS. Author: Gaurav Punjabi #7693
  • Resolve Pitest Issues - IllegalImportCheck (1). Author: Akhil singh #7854
  • add spoon project to no-exception testing. Author: Abhishek-kumar09 #7914
  • doc: fix typo in config_whitespace.xml. Author: HuGanghui
  • Resolve Pitest Issues - CustomImportOrderCheck (4). Author: malintha1996 #7805
  • Add pmd to no-error validation build item. Author: Nick Mancuso #7810
  • Update doc for DefaultComesLast. Author: kaustubh #7636
  • Update doc for NoWhitespaceBefore. Author: Abhishek-kumar09 #7625
  • pitest: problem with coverage in SuppressWarningsHolder.java.isSuppressedAfterEventStart Author: AmrDeveloper #7885
  • Update doc for OuterTypeFilename. Author: HuGanghui #7590
  • Resolve Pitest Issues - AvoidStarImportCheck (1). Author: Wilfried Bounsi #7799
  • Update doc for RightCurly. Author: amoooma #7584
  • Resolve Pitest Issues - AvoidStarImportCheck (2). Author: HuGanghui #7800
  • Publish pitest report as artifact at circleci. Author: Gaurab Dasgupta #7832
  • Update doc for SingleSpaceSeparator. Author: Shrey Kumar Singh #7629
  • Update doc for NestedTryDepth. Author: Abhishek-kumar09 #7653
  • Resolve Pitest Issues - CustomImportOrderCheck (1). Author: wltan #7802
  • Update doc for EqualsHashCode. Author: kaustubh #7638
  • Resolve Pitest Issues - AvoidStaticImportCheck. Author: gaurabdg #7801
  • update doc for PackageAnnotation. Author: Prabod Dunuwila #7574
  • Update doc for SuperClone. Author: Wilfried Bounsi #7661
  • update doc for RegexpSinglelineJava. Author: Wilfried Bounsi #7698
  • update doc for MissingOverride. Author: HuGanghui #7573
  • Update doc for SimplifyBooleanExpression. Author: Wilfried Bounsi #7658
  • Update doc for IllegalCatch. Author: gaurabdg #7642
  • update doc for BooleanExpressionComplexity. Author: Akhil singh #7689
  • Update doc for UncommentedMain. Author: AmrDeveloper #7594
  • Update doc for IllegalTokenText. Author: HuGanghui #7646
  • Update doc for OneTopLevelClass. Author: wltan #7614
  • Update doc for SimplifyBooleanReturn. Author: Wilfried Bounsi #7659
  • Update doc for IllegalToken. Author: HuGanghui #7645
  • CI should validate checkstyle violations in satelite projects. Author: rnveach #7705
  • doc: fix out-of-order div and dfn tags. Author: wltan
  • doc: fix inconsistencies between code and docs. Author: wltan
  • JavadocStyleCheck: need to support VAR html tag . Author: wltan #2410
  • Update doc for NoClone. Author: Wilfried Bounsi #7670
  • update doc for AvoidStarImport. Author: AmrDeveloper #7684
  • Update doc for GenericWhitespace. Author: wltan #7621
  • Update doc for TodoComment. Author: AmrDeveloper #7591

Release 8.30

29.02.2020

New:

  • New check: AvoidDoubleBraceInitialization. Author: Andrei Paikin #6480

Bug fixes:

  • False-positive RightCurly in google_checks since 8.20. Author: Roman Ivanov #6807
  • GenericWhitespace complains about normal spacing with generic constructor. Author: Andrei Paikin #6104
  • NewlineAtEndOfFile=lf does not create error when file uses crlf. Author: Andrei Paikin #4074

Notes:

  • Update doc for StringLiteralEquality. Author: gaurabdg #7660
  • Update doc for MissingSwitchDefault. Author: AmrDeveloper #7668
  • Update doc for WhitespaceAfter. Author: Nick Mancuso #7631
  • doc: fix indentation of config example. Author: Andrei Paikin
  • doc: add example of non-instance member for MemberNameCheck. Author: pbludov
  • Code samples for Naming Checks. Author: 0blivious #5832
  • doc: deprecated -> Deprecated. Author: Andrei Paikin
  • Add warning message at style coverage pages that referenced config is not released. Author: Roman Ivanov #7505
  • Change line number comparisons to use common isOnSameLine method. Author: Andrei_Paikin #7518
  • Xpath implementation: relationship between getLocalPart and getStringValue . Author: Timur Tibeyev #7486
  • Put in doc reason why ENUM_CONSTANT_DEF and LAMBDA tokens are not supported in RightCurlyCheck. Author: Roman Ivanov #7174
  • doc: fix typo training -> trailing. Author: Andrei_Paikin
  • Mark DetailAST::getNumberOfChildren as deprecated. Author: pbludov #7512
  • PMD warnings about duplicate rules. Author: Roman Ivanov #7509
  • automation of github actions for release.sh. Author: Roman Ivanov #6186
  • update release.sh with minor improvments. Author: Roman Ivanov #6333

Release 8.29

26.01.2020

New:

  • New Check: AvoidNoArgumentSuperConstructorCall. Author: Andrei Paikin #7363
  • New Check NoEnumTrailingComma. Author: sd1998 #6972
  • ENUM_DEF token support in RightCurlyCheck. Author: sd1998 #7161
  • FallThrough module does not support the spelling "fall-through" by default. Author: guillaume.lambert #7374

Bug fixes:

  • Java 8 Grammar: annotations on varargs parameters. Author: Erik Silkensen #3238
  • Sonar violation: Disable XML external entity (XXE) processing. Author: Roman Ivanov #7468
  • Disable instantiation of modules with private ctor. Author: Roman Ivanov #7472
  • Sonar violation: "ThreadLocal" variables should be cleaned up when no longer used. Author: Roman Ivanov #7458
  • Indentation incorrect level for chained method with bracket on new line. Author: alinkov #6210
  • InvalidJavadocPosition: false positive when comment is between javadoc and package. Author: rnveach #7430

Notes:

  • Add method hasChildren to DetailAST. Author: pbludov #7487
  • doc: extend Indentation Check explanation of line wrap. Author: Roman Ivanov
  • Sonar violation: Cognitive Complexity of methods should not be too high (above 20). Author: Roman Ivanov #7475
  • Enforce jdk8 verification during build. Author: Roman Ivanov #7492
  • Resolve all violations from SonarQube at sonarcloud.io. Author: Roman Ivanov #5604
  • Remove Google plus links from website. Author: Roman Ivanov #7465
  • Checks summary page is not in sync with javadoc summary . Author: pbludov #7446
  • doc: sync summaries of all checks. Author: pbludov
  • Shippable CI is slow. Author: Roman Ivanov #7450
  • Add a test to make sure that all new checks have XpathRegressionTest. Author: pbludov #7405
  • Avoid using Locale.setDefault in tests. Author: pbludov #7436
  • Google maven mirror do not have artifact for long time . Author: Roman Ivanov #7444
  • SonarCloud upcoming change: "sonar.organization" property soon mandatory . Author: Roman Ivanov #7423
  • Fix output of failed build item. Author: Roman Ivanov #7411

Release 8.28

29.12.2019

Breaking backward compatibility:

  • JavadocMethodCheck: remove obsolete import token. Author: rnveach #7413
  • Remove properties related to class loading from JavadocMethod . Author: rnveach #7329

New:

  • New Check NoArrayTrailingComma. Author: sd1998 #6971
  • ANNOTATION_DEF token support in RightCurlyCheck. Author: sd1998 #7041
  • Add suppression filters to google and sun configs. Author: Roman Ivanov #6946
  • CustomImportOrder: introduce a new message for the violation within import group. Author: Zhenlei Huang #7278

Bug fixes:

  • CustomImportOrder: no expected violations for empty line within import group. Author: Zhenlei Huang #7119
  • RightCurlyCheck: False Positive with SAME or ALONE_OR_SINGLELINE. Author: sd1998 #7187
  • CustomImportOrder: should check empty line separator between import statements but not the ones before import statement. Author: Zhenlei Huang #7314
  • EmptyLineSeparator: does not demand empty line if comment is present. Author: Andrei Paikin #4763
  • Generation of xpath suppression file does not close file. Author: pbludov #7382
  • JavadocMethod: missed throws tag for throw in method body. Author: Roman Ivanov #7380
  • CustomImportOrder: unexpected violation for extra empty line between package and import. Author: Zhenlei Huang #6680
  • RequireThis false positive on method reference . Author: Andrei Paikin #7306
  • MissingJavadocPackage - file header interferes with javadoc detection. Author: Andrei Paikin #7117

Notes:

  • After migration to junit5 build output become to have output. Author: pbludov #7391
  • Update AbstractChecks to log DetailAST (part3). Author: pbludov #5777
  • Hardcode google tokens in config. Author: Roman Ivanov #6385
  • doc: fix treeWithJavadoc command line option. Author: pbludov
  • doc: add info about -b cli option to documentation. Author: Andrei Paikin
  • Upgrade to junit 5. Author: Andrei Paikin, pbludov #6916
  • Re-enable Tidy plugin. Author: pbludov #7372
  • Fix type of Checker property cacheFile. Author: pbludov #7339
  • doc: change "property" to "type" in property_types.xml. Author: pbludov
  • Fix Issues left from mobile design. Author: Johannes Teklote, Roman Ivanov #7301
  • linkcheck does not see dtd files. Author: pbludov #7340
  • Integrate dependabot service. Author: Roman Ivanov #7224
  • javadoc links to non-public members . Author: pbludov #7341
  • Appveyor is not failing even build is failed . Author: Roman Ivanov #7330
  • Add sprint-integrations to no-error test of werker. Author: Roman Ivanov #7322
  • Fix Teamcity inspections issues. Author: pbludov #7309
  • Revert "config: disable functionality of CI skip, to unblock all CIs". Author: rnveach
  • Remove build for old non-LTS releases . Author: pbludov #7299
  • Set up JDK-13 build and drop jdk-12. Author: pbludov #7281
  • JDK 13 Travis Failure. Author: pbludov #7276
  • Problem to open archive web ages starting from 8.21. Author: Roman Ivanov #7268

Release 8.27

30.11.2019

New:

  • new check: JavadocContentLocationCheck. Author: pbludov #6724

Bug fixes:

  • RequireThisCheck: no violation produced when field is concatenated with String. Author: Andrei Paikin #7066
  • Unused param not reported when missing description. Author: Puzeyev Alexandr #6743

Notes:

  • Checkstyle website does not resize to mobile browser screens.. Author: Roman Ivanov #7083
  • fix website header rendering issue. Author: Johannes Teklote #7270
  • Align XDocs and Javadocs for javadoc package. Author: pbludov #7208
  • Dates of release if not properly rendering in Firefox. Author: Johannes Teklote #7036
  • javadoc build problem on openjdk11. Author: Roman Ivanov #7267
  • Resolve PMD deprecation warnings on InvalidSlf4jMessageFormat. Author: Roman Ivanov #7248
  • Tests fail on OpenJDK 12 due to 'Failed to find the "modifiers" field in method setInternalState.'. Author: Roman Ivanov #7033

Release 8.26

27.10.2019

Breaking backward compatibility:

  • Remove AbstractTypeAwareCheck and combine the missing pieces into JavadocMethod. Author: rnveach #7116
  • remove functionality of Checker.setClassLoader and TreeWalker.setClassLoader. Author: rnveach #3773

Bug fixes:

  • WriteTag: Add localization for javadoc.write.tag message. Author: pbludov #7120

Notes:

  • upgrade to pmd 6.18.0. Author: Roman Ivanov #7225
  • Tests fail on OpenJDK 12 due to 'Failed to find the "modifiers" field in method setInternalState.'. Author: Roman Ivanov #7033
  • Purpose of UnnecessarySemicolonAfterTypeMemberDeclaration is unclear in documentation.. Author: Andrei Paikin #7077
  • doc: fix config sample for SuppressWithNearbyCommentFilter. Author: Roman Ivanov
  • config: fix Travis items to do more jdk11 and jdk12 builds. Author: Roman Ivanov #7192
  • Align XDocs and Javadocs for modifiers package. Author: pbludov #7186
  • Align XDocs and Javadocs for header package. Author: pbludov #7185
  • Align XDocs and Javadocs for regexp package. Author: pbludov #7163
  • Align XDocs and Javadocs for metrics package. Author: pbludov #7145
  • Align XDocs and Javadocs for imports package. Author: pbludov #7144
  • create examples for UnnecessaryParentheses usage . Author: sd1998 #5747
  • Fix JitCI build. Author: pbludov #7170
  • Review disabled validations of eclipse compiler. Author: rnveach, Roman Ivanov #5060
  • config: fix previous commits check to avoid confusion with master and rewrite main ci for easier maintenance. Author: rnveach #7125
  • Use ja-JP for Japanese locale, zh-CN for Chinese locale in travis.sh. Author: pbludov #7129
  • Pitest: add new mutator REMOVE_CONDITIONALS. Author: rnveach #6320
  • Remove usage of DetailAST.branchContains. Author: pbludov #5124
  • Fix pitest coverage for RightCurly. Author: rnveach #6367
  • spotbugs is not executed in build process of openjdk12. Author: Karl-Philipp Richter #7040

Release 8.25

29.09.2019

Breaking backward compatibility:

  • DefaultLogger: remove deprecated constructors. Author: rnveach #7107
  • ConfigurationLoader: remove deprecated constructors. Author: rnveach #7108
  • XMLLogger: remove deprecated constructor. Author: rnveach #7105
  • Remove "update" methods from DetailAST as developers shouldn't be modifying the tree from inside a check. Author: rnveach #6628
  • FileContents: remove deprecated constructor and deprecated methods. Author: rnveach #7100
  • JavadocMethodCheck: remove deprecated properties ignoreMethodNamesRegex, minLineCount, allowMissingJavadoc, allowMissingPropertyJavadoc. Author: rnveach #7096
  • Remove AbstractTypeParameterNameCheck since it is Deprecated. Author: rnveach #7098

New:

  • RegexpMultiline not detecting matches across multiple lines. Author: rnveach #6717
  • update CLI to allow show tree branch that match xpath. Author: Andrei Paikin #6660

Bug fixes:

  • please support preceding, preceding-sibling, following and following-sibling in XPath expressions. Author: Timur Tibeyev #6479
  • DesignForExtension: method javadoc recognized as block comments. Author: rnveach #5450

Notes:

  • "NoExceptiontest - Checkstyle, sevntu-checkstyle" should test chekcstyle's code from PR. Author: Roman Ivanov #3279
  • CI should fail if PR is based on an old master. Author: rnveach #5496
  • update CIs scripts to skip execution only after checking all commits changes. Author: rnveach #7023
  • appveyor.bat is changed right after clone of repo of github . Author: Roman Ivanov #7075
  • CustomImportOrder: documentation should have description that only one separtor line is allowed. Author: Roman Ivanov #7080
  • Align XDocs and Javadocs for sizes package. Author: pbludov #7060
  • Tests do not work properly on Windows with LF line endings. Author: Björn Kautler, Roman Ivanov #6558
  • Revert "Issue #2116: use checkstyle fork of xwiki with fix to pass CI build". Author: rnveach
  • Revert "Issue #2116: use forked simple-binary-encoding with fix to pass CI build". Author: Roman Ivanov
  • MainTest#testExistingTargetFileButWithoutReadAccess fails on Win10 machine. Author: Andrei Paikin #7032

Release 8.24

01.09.2019

Breaking backward compatibility:

  • Change LineLength Check parent from TreeWalker to Checker. Author: rnveach, Roman Ivanov #2116
  • MissingDeprecated: refactor to use javadoc AST . Author: rnveach #4983

New:

  • Add ID format property to SuppressWithPlainTextCommentFilter. Author: Erik Silkensen #6954
  • New check: JavadocBlockTagLocation. Author: pbludov #6929
  • new check: UnnecessarySemicolonAfterTypeMemberDeclaration . Author: Andrei Paikin #6847
  • Add ID format property to SuppressWithNearbyCommentFilter. Author: Erik Silkensen #6884
  • Add ID format property to SuppressionCommentFilter. Author: Erik Silkensen #6883

Bug fixes:

  • Command line option -o does not produce output with -g option. Author: Andrei Paikin #6934
  • NeedBraces: lambda with no braces not reported when contents span multiple lines. Author: Andrei Paikin #3837

Notes:

  • Use violation term as much as possible. Author: Roman Ivanov #6771
  • Remove usage of DetailAST.branchContains. Author: rnveach #5124
  • create tests in MainTest.java to cover execution over some Input for sun and google configs. Author: Roman Ivanov #7021
  • stop using puppet/disteli CI . Author: Roman Ivanov #7017
  • Align XDocs and Javadocs for miscellaneous package. Author: pbludov #6966
  • Expand XPath IT Regression Testing. Author: Mincong HUANG #6207
  • doc: fix compilation error. Author: Mincong HUANG
  • Japanese locale contains mistranslation. Author: Yuki Shira #7012
  • Make test on file that have no read access but has write access. Author: Roman Ivanov #6991
  • Align XDocs and Javadocs. Author: pbludov #5750
  • Upgrade PMD to 6.17.0. Author: Roman Ivanov #6868
  • pitest: increase mutation coverage for pitest-main profile to 100% . Author: Roman Ivanov #6982
  • doc: fix sample code of AvoidInlineConditionals to be compilable. Author: Mincong HUANG
  • [Java] Checkstyle CLI while generating xpath suppressions provides extraneous stdout output. Author: Roman Ivanov #6974
  • Update link to latest version of CLI jar. Author: Roman Ivanov #6933
  • spell checker is failing due to failure to get words file. Author: Roman Ivanov #6949
  • eclipse violation over javadoc of AtclauseOrderCheck.java. Author: Erik Silkensen #6947
  • javadoc error in NeedBracesCheck.java. Author: Erik Silkensen #6948
  • Xdocs: sort values for String Set properties. Author: pbludov #6938
  • CLI: Add short versions for 'executeIgnoredModules' and 'tabWidth'. Author: rnveach #6936
  • CI: hide maven download text to prevent log overflow. Author: Roman Ivanov #6919
  • Align XDocs and Javadocs for filters package . Author: pbludov #6726

Release 8.23

27.07.2019

New:

  • new filter SuppressionSingleFilter. Author: rnveach #6402
  • OneStatementPerLine: add treatTryResourcesAsStatement property. Author: Andrei Paikin #6790
  • MagicNumber: new proprty ignoreAnnotationElementDefaults to ignore magic numbers in annotation default values. Author: Andrei Paikin #4383
  • new check: InvalidJavadocPosition. Author: rnveach #6649

Bug fixes:

  • InnerAssignment reports violation when && condition is in WHILE expression. Author: Andrei Paikin #6805
  • SuppressWithPlainTextCommentFilter ignores messageFormat when matching on ID. Author: Erik Silkensen #6887
  • Javadoc mishandling NEWLINE when next to ATTRIBUTE. Author: rnveach #6865
  • SuppressWithNearbyCommentFilter does not match messages. Author: Erik Silkensen #6875
  • SuppressionCommentFilter ignores messageFormat when matching on ID. Author: Erik Silkensen #6879
  • InvalidJavadocPositionCheck: false negative on javadocs with local variables. Author: rnveach #6857

Notes:

  • doc: Serialisation -> serialization. Author: Andrei Paikin
  • Replace sevntu-checkstyle-maven-plugin with explicit dependency to sevntu-checks. Author: Ruslan Diachenko #6910
  • pitest: increase mutation coverage for pitest-checks-coding profile to 100%. Author: Emil Bremer Orloff #5008
  • Skip dry run build item for maven release commit. Author: ashabib #3383
  • format xdoc/javadoc files to follow rule of LineLength (max ia 100). Author: pbludov #6902
  • pitest: increase mutation coverage for pitest-filters profile to 100%. Author: Erik Silkensen #6659
  • Don't use absolute checkstyle links in xdocs. Author: rnveach #6900
  • Create appveyor.bat for CI commands. Author: ahmadshabib #6696
  • Align XDocs and Javadocs for filters package . Author: pbludov, Roman Ivanov #6726
  • doc: Add missing slash for constant name check doc. Author: utzcoz
  • Make inner class SuppressWithPlainTextCommentFilter.Suppression private. Author: pbludov #6890
  • Enforce FileTabCharacter and RegexpSingleline for trailing whitespace over resources. Author: rnveach #5941
  • Remove TreeWalker#validateDefaultTokens. Author: Andrei Paikin #6858
  • Make inner class SuppressionCommentFilter.Tag private. Author: pbludov #6844
  • Make inner class SuppressWithNearbyCommentFilter.Tag private. Author: pbludov #6854
  • Add xpath tests for new Checks of 8.22. Author: Andrei Paikin #6848

Release 8.22

22.06.2019

New:

  • new check: MissingJavadocPackageCheck . Author: Andrei Paikin #6705
  • new check: UnnecessarySemicolonInTryWithResources. Author: Andrei Paikin #6774
  • new check: UnnecessarySemicolonInEnumeration. Author: Andrei Paikin #6773
  • new check: OrderedProperties. Author: Thomas Senger #6311

Bug fixes:

  • NeedBraces: False Positives for LITERAL_CASE and LITERAL_DEFAULT. Author: Andrei Paikin #4764
  • AnnotationUseStyle does not detect all violations in EXPANDED style. Author: Andrei Paikin #6818
  • AnnotationUseStyle: compact_no_array does not violate extended and multi param annotations. Author: Andrei Paikin #3210
  • Loading config.xml from classpath doesn't work properly. Author: Peter De Maeyer #6232

Notes:

  • Suppression documentation links to old DTDs. Author: Roman Ivanov #6804
  • Align XDocs and Javadocs for filters package . Author: pbludov #6726
  • Resolve violations from IDEA 20191.3. Author: Roman Ivanov #6821
  • Align XDocs and Javadocs. Author: pbludov #5750
  • Remove usage of DetailAST.branchContains. Author: Andrei Paikin #5124
  • Limit xdoc Properties subsection to one table. Author: pbludov #6800
  • split it module test support between different configurations. Author: rnveach #6801

Release 8.21

26.05.2019

Breaking backward compatibility:

  • NewlineAtEndOfFile default should be OS agnostic. Author: Björn Kautler #4073
  • Remove PARAMETER_DEF from AnnotationLocation. Author: Björn Kautler #6462
  • API: make api not depend on antlr by splitting DetailAST between implementation and interface. Author: rnveach #3417
  • new check: MissingJavadocMethod from JavadocMethod. Author: rnveach #6703

Bug fixes:

  • LocalVariableName: allowOneCharVarInForLoop should allow one char variable in loop. Author: Andrei Paikin #6489
  • Do not handle local variables for VARIABLE_DEF in AnnotationLocation. Author: Björn Kautler #6463
  • OneStatementPerLine: false-positive on try-with-resource when objects just referenced. Author: Andrei Paikin #6125
  • NewlineAtEndOfFile with LF_CR_CRLF does not work properly. Author: Björn Kautler #6508
  • EmptyCatchBlock check does not work properly with non-system line endings in files. Author: Björn Kautler #6513

Notes:

  • Code samples for Naming Checks. Author: jack870131 #5832
  • Align XDocs and Javadocs for whitespace package. Author: pbludov #6749
  • spelling: identificator->identifier. Author: pbludov
  • spelling: inpection. Author: pbludov
  • refactoring of DetailASTTest.testTreeStructure. Author: rnveach #4900
  • Fix sonar warnings. Author: Andrei Paikin #6764
  • move OSX executions from travis.yml to travis.sh . Author: ahmadshabib #6701
  • doc: fix my name in release notes. Author: Björn Kautler
  • Issue template should clarify failure to follow template will lead to issue being closed Author: rnveach #6742
  • Align XDocs and Javadocs for design package. Author: pbludov #6725
  • investigate increase of '-all' jar. Author: rnveach #6713
  • Cached Google Style is slightly outdated and not like original. Author: Björn Kautler #6619

Release 8.20

28.04.2019

New:

  • New MissingJavadocCheck(s). Author: rnveach #5411

Bug fixes:

  • IllegalType: illegal types in overridden methods should not be reported. Author: Björn Kautler #6612
  • EmptyLineSeparator check does not validate newlines before comments. Author: kazachka #5981
  • Exception in JavadocMethod to get access to class in jdk9. Author: rnveach #6606
  • RightCurly false-positives for multi-block continuation. Author: Björn Kautler #6466
  • TranslationCheck reports duplicate lines in xml report. Author: rnveach #5103
  • AnnotationUseStyle: false positive on annotation with default nested annotation inside. Author: Andrei Paikin #6540
  • RightCurly with option alone false negative for class, method and constructor. Author: WANG CHAO #6345

Notes:

  • Align XDocs and Javadocs for coding package. Author: pbludov #6586
  • set up JDK12 buid. Author: rnveach #6687
  • minor: GeneratedJava14LexerTest depends on encoding, not on OS, so fix the assumption to represent this. Author: BBjörnKautler #6608
  • MultipleVariableDeclarations missing from sun style. Author: Björn Kautler #6490
  • doc: expand documentation for scope property type. Author: rnveach
  • pitest: increase mutation coverage for api profile to 100%. Author: rnveach #6635
  • Remove usage of antlr specific methods from our checks. Author: rnveach #6624
  • idea: fix ThisEscapedInConstructor idea violation for AbstractClassCouplingCheck.FileContext class. Author: rnveach #4861
  • Test inputs should be completely standalone.. Author: rnveach #4845
  • Fix pitest coverage for RightCurly. Author: WANG CHAO #6367

Release 8.19

31.03.2019

Breaking backward compatibility:

  • Xpath: change implementation of the @text attribute. Author: Timur Tibeyev #6356
  • Remove `cache` field from TreeWalker in Checkstyle 8.0. Author: rnveach #2883
  • Remove DTDs from http://checkstyle.sourceforge.net and from http://puppycrawl.com/. Author: Roman Ivanov #6478
  • Remove hashCode and equals methods from FilterSet. Author: rnveach #6494

New:

  • Add tabWidth to Checker and FileSets. Author: rnveach #6485
  • AnnotationLocation: add support for PACKAGE_DEF, ENUM_CONSTANT_DEF. Author: pbludov #6379

Bug fixes:

  • JavadocUtil doesn't recognize Javadocs in certain places. Author: rnveach #6516
  • False positive in AnnotationUseStyle for version 8.17. Author: rnveach #6446
  • Overly complex default regex in SuppressWarnings format. Author: Björn Kautler #6453
  • Remove AvoidInlineConditionals from sun_checks.xml. Author: Björn Kautler #6470
  • Javadoc for package-info file is not validated. Author: rnveach #5769

Notes:

  • Wrong documentation for InnerAssignment. Author: Björn Kautler #6488
  • doc: added documentation for global tabWidth. Author: rnveach
  • Align XDocs and Javadocs for coding package. Author: pbludov #6586
  • Exclude module-info.java from Google and Sun configurations. Author: Martin Kröning #6570
  • Fix PMD violation UseProperClassLoader. Author: pbludov #5680
  • Enable PMD rule UseUnderscoresInNumericLiterals. Author: pbludov #6579
  • Verify all modules are listed in contribution no exception configurations. Author: rnveach #5897
  • Enable PMD rule LinguisticNaming. Author: pbludov #6578
  • Java Grammar: Hard to understand message. Author: rnveach #4632
  • Site files are not schema-valid. Author: Björn Kautler #6563
  • minor: reset the test stream for each test. Author: Björn Kautler #6557
  • Upgrade to PMD 6.12.0. Author: pbludov #6536
  • Align XDocs and Javadocs for annotations package. Author: pbludov #6531
  • Disable XML External Entity load in XmlUtil.java in tests. Author: Roman Ivanov #6133
  • Align XDocs and Javadocs for blocks package. Author: pbludov #6532
  • Wrong JavaDoc example for NestedForDepthCheck. Author: Björn Kautler #6491
  • Fix PMD violation CommentDefaultAccessModifier. Author: pbludov #5665
  • Enforce FileTabCharacter and RegexpSingleline for trailing whitespace over resources. Author: rnveach #5941
  • Setup checkstyle validation to forbid type StringBuffer. Author: rnveach #5506
  • Cut down on Checkstyle's dependencies on Guava, phase II. Author: rnveach #3484
  • resolve warning in build output from PMD . Author: rnveach #6226
  • Expand checkstyle_resources_checks.xml to IT resources. Author: rnveach #6542
  • links in header comment block of sun_checks.xml are outdated . Author: rnveach #6420
  • Align XDocs and Javadocs. Author: pbludov #5750
  • MissingOverride javaFiveCompatibility true in checkstyle_checks.xml. Author: Björn Kautler #6452
  • Typo in Lcurly docs. Author: Björn Kautler #6458
  • Unclear rational in ExplicitInitialization. Author: Björn Kautler #6472
  • Wrong public identifier in doctype of example empty suppressions file. Author: Björn Kautler #6449
  • Typo in docs of VisibilityModifier. Author: Björn Kautler #6468
  • spelling: fix then / than typos. Author: Björn Kautler
  • spelling: update messages for french translation. Author: sebastienaubry
  • Code samples for Naming Checks. Author: jack870131 #5832
  • EmptyCatchBlock change property types to Regexp. Author: rnveach #6455
  • Make all FilterElements immutable. Author: rnveach #6496
  • Remove hashCode/equals from SuppressionFilter and mark SuppressFilterElement immutable. Author: rnveach #4734
  • MissingDeprecated description has a typo. Author: ejaksla #6451

Release 8.18

25.02.2019

Breaking backward compatibility:

  • Disable loading external DTDs by default, create system property to activate it. Author: Roman Ivanov #6474
  • IllegalType: rename "format" property to "illegalAbstractClassNameFormat". Author: rnveach #5900
  • AnnotationLocation: Remove unused tokens. Author: pbludov #6416
  • Command Line arguments should be allow to exclude a file. Author: rnveach #6399

New:

  • ArrayTypeStyle: add support for brackets in method definition after parameters. Author: Erik Silkensen #6301
  • new filter SuppressionXpathSingleFilter. Author: jack870131 #5879

Bug fixes:

  • AnnotationLocation: named parameters must be considered parameters. Author: pbludov #6440
  • JavadocStyleCheck crashes for some Javadoc comments with HTML comments. Author: rnveach #4564
  • Incorrect warning for empty lambda bodies with google_checks.xml. Author: WANG CHAO #6381
  • FinalLocalVariable: IllegalStateException. Author: Erik Silkensen #6377
  • Slowdown with UnusedImportsCheck. Author: rnveach #6403

Notes:

  • review TreeWalker.setupChild method for exceptional cases. Author: rnveach #4814
  • Remove powermock. Author: rnveach #6439
  • refactoring in configs. Author: rnveach #4877
  • update to picocli 3.9.1 result in UT MainTest.testNonExistentOutputFormat failure. Author: rnveach #6397
  • Negate SuppressElement.accept. Author: rnveach #4979
  • Code samples for Naming Checks. Author: jack870131 #5832
  • Rename Filters which aren't module filters to FilterElement. Author: rnveach #4978
  • doc: add File Filter section in extending.xml. Author: WANG CHAO
  • Cache: file skipped on 2nd run when exception happened on it in first run. Author: rnveach #6297
  • Move UTF-8 limitation info in documentation. Author: WANG CHAO #6083
  • use ForbidAnnotationElementValueCheck from sevntu.checkstyle. Author: rnveach #3567
  • minor: solved pitest issues with ImportOrderCheck. Author: rnveach #6424
  • Pitest: add new mutator REMOVE_CONDITIONALS. Author: rnveach, Roman Ivanov #6320
  • Add build instructions to README. Author: Roman Ivanov #6236
  • Indentation: indentation level is being corrupted in class fields. Author: rnveach #6308
  • doc: Fixed grammar errors. Author: Glusk2

Release 8.17

27.01.2019

Breaking backward compatibility:

  • Java Grammar: use TYPE_EXTENSION_AND instead of BAND in typecast expression. Author: pbludov #6354
  • RightCurly: remove obsolete shouldStartLine property. Author: Piyush Sharma, Roman Ivanov #4022

Bug fixes:

  • FinalLocalVariable: NPE with PARAMETER_DEF on methods of inner classes. Author: Erik Silkensen #6375
  • EqualsAvoidNull: improper frame tracking. Author: rnveach #6373
  • Translation doesn't obey no halt on exception and doesn't show path to bad file. Author: rnveach #6340

Notes:

  • CI: spellchecker script is not ready for running manually by contributors. Author: Josh Soref #6021
  • Pitest: add new mutator REMOVE_CONDITIONALS. Author: rnveach, Roman Ivanov #6320
  • Jenkins: switch the build machine (slave) from hyper.sh to AWS spot instance. Author: Daniil Yaroslavtsev #6359
  • EmptyLineSeparatorCheck: surviving mutant from REMOVE_CONDITIONALS. Author: rnveach #6350
  • Update eclipse compiler to R10. Author: pbludov #6330
  • Checkstyle's self config fails on non-US locale because of english suppression. Author: Roman Ivanov #5350

Release 8.16

30.12.2018

New:

  • ClassMemberImpliedModifier: New Check to demand all modifiers to be explicit in class members. Author: Stephen Colebourne #5885

Bug fixes:

  • ImportOrder reports incorrect errors for redundant imports. Author: rnveach #6303
  • JavadocMethod: False positive from comment inside method. Author: rnveach #6273

Notes:

  • Pitest: add new mutator REMOVE_CONDITIONALS. Author: rnveach #6320
  • pitest: increase mutation coverage for javadoc profile to 100%. Author: rnveach #6295
  • set up JDK11 build. Author: pbludov #6228
  • Align XDocs and Javadocs. Author: Pavel Bludov #5750
  • pitest: increase mutation coverage for indentation profile to 100%. Author: rnveach #6294
  • Update AbstractChecks to log DetailAST (part 1, hard cases). Author: Pavel Bludov #5759
  • pitest: increase mutation coverage for pitest-checks-coding profile to 100%. Author: rnveach #5008
  • Pitest: add new mutator FALSE_RETURNS. Author: rnveach #6272
  • Pitest: add new mutator CONSTRUCTOR_CALLS . Author: rnveach #6289
  • Pitest: add new mutator TRUE_RETURNS. Author: rnveach #6264
  • pitest: increase mutation coverage for blocks profile to 100%. Author: rnveach #6293
  • Strive for 100% mutation coverage. Author: rnveach #3708
  • exception in build log from spotbugs. Author: Roman Ivanov #6098
  • Move test inputs with deprecated packages to resources-noncompilable. Author: Pavel Bludov #6252
  • Pitest script order issue locally. Author: rnveach #6275
  • create Travis ready to use shell script to check that pistes profiles cover all classes. Author: rnveach #4684
  • XmlLoader: remove incomplete namespaces support. Author: rnveach #6262
  • Upgrade Powermock2 to RC4. Author: Pavel Bludov #6238
  • Resolve Teamcity violations of inspection engine 2018.3 . Author: rnveach, Roman Ivanov #6241
  • Split and Organize Checkstyle IT inputs. Author: Roman Ivanov #5106

Release 8.15

30.11.2018

Breaking backward compatibility:

  • Remove Lambda from RightCurlyCheck . Author: rnveach #5948

New:

  • JavadocType: Add "allowedAnnotations". Author: Nikolaos Georgiou #5608
  • IllegalType should check extends & implements and class/interface type parameters. Author: Pavel Bludov #6118

Bug fixes:

  • TreeWalkerAuditEvent doesn't create events on the absolute file path. Author: rnveach #6028
  • IllegalType should ignore parameters of methods with modifiers not in 'memberModifiers'. Author: Eric Bruneton #6123
  • AbbreviationAsWordInName: false positive on capital letters on the end of the word. Author: Erik Silkensen #6130

Notes:

  • Performance issue with file.lastModified(). Author: Roman Ivanov #6096
  • warning during build of site with equalsverifier-3.0.2. Author: Roman Ivanov #6213
  • upgrade to latest picocli version to fix extra space in help output. Author: Roman Ivanov #6175
  • Please add link to contributing.md in README.md. Author: varunu28 #5488
  • update to saxon 9.9. Author: Timur Tibeyev #6149
  • Update AbstractChecks to log DetailAST (part 2). Author: rnveach #5758
  • update sources to avoid usage of sourceforge.net URLs. Author: rnveach, Roman Ivanov #6185
  • using picocli as command line parser. Author: Remko Popma, Roman Ivanov #6068
  • Add equalsverifier project to wrecker ci. Author: Roman Ivanov #6167
  • ImportOrder: example of Intellij Idea default import order is not working. Author: Jan Ouwens #5510

Release 8.14

21.10.2018

New:

  • IllegalType: does not check types in generics. Author: Pavel Bludov #5118

Notes:

  • Code samples for Naming Checks. Author: jack870131 #5832
  • Update FullIdent to store DetailAST instead of line/column. Author: Pavel Bludov #6121

Release 8.13

04.10.2018

New:

  • ClassFanOutComplexity: count complexity base annotations/extends/implements/methods params. Author: kazachka #4092

Notes:

  • Code samples for Naming Checks. Author: jack870131 #5832
  • exception in build log from spotbugs. Author: Roman Ivanov #6098
  • Line numbers should start at 1. Author: Boxuan Li #6000
  • Align XDocs and Javadocs. Author: rnveach #5750
  • CircleCI is failing due to missed checkout content. Author: Roman Ivanov #6093
  • Upgrade to PMD 6.6.0. Author: Pavel Bludov #5790
  • Unstable build due to not accesible decoration-1.0.0.xsd. Author: Roman Ivanov #6077

Release 8.12

11.08.2018

New:

  • LeftCurly : add support for LITERAL_CASE and LITERAL_DEFAULT . Author: Pavel Bludov #5207
  • ImportOrder: allow static imports be separated by local groups when they are at the top/bottom by new property separatedStaticGroups. Author: Pavel Bludov #5279
  • ImportOrder: new property staticGroups to allow define groups for static imports. Author: Pavel Bludov #5724
  • InterfaceMemberImpliedModifier: New Check to demand all modifiers to be explicit in interfaces members. Author: Stephen Colebourne #5899

Bug fixes:

  • Remove lambda support from ParameterName. Author: kazachka #5894
  • EmptyLineSeparator raises violations when static import right after plain import. Author: Pavel Bludov #4625

Notes:

  • Spell check failing to get words file. Author: Pavel Bludov, Roman Ivanov #6046
  • doc: bounty note. Author: Pavel Bludov
  • spelling: add xcode. Author: Pavel Bludov
  • Travis CI: MAC build is broken. Author: Pavel Bludov #6055
  • Change grammars package name to grammar. Author: mismatch #5891
  • Checkstyle's html report related links are not working. Author: Roman Ivanov #6043
  • Resolve violations from IDEA 2018.1.6. Author: Roman Ivanov #6037
  • SuppressWithNearbyCommentFilter: update document and examples on when it is appropriate to use. Author: Lukas Eckert #5973
  • XpathSuppression generation should support module id. Author: Timur Tibeyev #5984
  • Add XDoc SubSection Anchor. Author: rnveach #6014
  • Add to CI import order validation on certain projects. Author: Pavel Bludov #6018
  • doc: reference in SuppressionXpathFilter doc about ability to generate suppressions by CLI. Author: Timur Tibeyev
  • XpathFileGeneratorAstFilter: EVENTS and QUERIES as single map. Author: Timur Tibeyev #5979
  • redo XML_Structure documentation section. Author: Roman Ivanov #6011
  • Mark all checks with appropriate annotation so that they could be used in the MT mode. Author: Andrew Kuchev, rnveach #4870
  • update documentation of SuppressionFilter with links to latest DTDs. Author: Roman Ivanov #6003
  • Checkstyle Ant prints null for checkstyle version. Author: Roman Ivanov #6001
  • Update documentation for same of RighCurly. Author: Roman Ivanov #5970
  • Internal XPath Regression fails on RequireThisCheck. Author: rnveach #5996
  • Setup Jenkins CI for building Pull Requests. Author: Daniil Yaroslavtsev #5953
  • doc: fix download URLs. Author: Michael Ernst

Release 8.11

Breaking backward compatibility:

  • Add HTML5 tags support to Javadoc antlr4 grammar and related classes. Author: Piyush Sharma #3332

New:

  • Generate a suppressions.xml file for SuppressionXpathFilter from the errors list by CLI command. Author: timurt #102
  • new Check - LambdaParameterName. Author: kazachka #5893

Bug fixes:

  • ImportOrder: False positive for multiline imports. Author: Pavel Bludov #5881

Notes:

  • Remove usages of ANTLRInputStream . Author: Pavel Bludov #5971
  • Update Teamcity to use IntelliJ IDEA 2018.1.4. Author: Roman Ivanov #5949
  • Setup Jenkins CI for building Pull Requests. Author: Daniil Yaroslavtsev #5953
  • RightCurly: false negative in ALONE and anonymous classes. Author: Piyush Sharma #4058
  • xpath generator documentation does not show nuances. Author: Roman Ivanov #5876
  • Enforce more checks over checkstyle resources. Author: Roman Ivanov #4100
  • Resolve errors and warnings from Eclipse oxygen 4.7.3. Author: Roman Ivanov #5916
  • Remove old ant phases and configs. Author: Roman Ivanov #5934
  • No explanation of what is metadata tag on checkstyle config. Author: Roman Ivanov #2726
  • https://checkstyle.org to http://checkstyle.org. Author: Roman Ivanov #5601
  • doc: update xdoc for ParameterName to clarify how to check catch parameters. Author: Roman Ivanov
  • CircleCI compains 'extraneous key [java] is not permitted'. Author: Roman Ivanov #5902
  • update DTD public names. Author: Subbu Dantu, Roman Ivanov #5722
  • activate new sponsoring web services. Author: Roman Ivanov #5256
  • Rename all utility classes to xxxxUtil. Author: Pavel Bludov, Roman Ivanov #5812

Release 8.10.1

Bug fixes:

  • Update AbstractChecks to log DetailAST (part 1, easy cases). Author: rnveach #5757

Notes:

  • Align XDocs and Javadocs. Author: rnveach #5750
  • move pitest execution to CircleCI. Author: Roman Ivanov #5854
  • format all files to be 100 symbols in length. Author: Roman Ivanov #5791
  • Travis unexpected problem with xml validation. Author: Roman Ivanov #5785
  • appveyor fails to reuse maven cache during build. Author: Roman Ivanov #5831
  • Compile all jdk9 files in Travis. Author: Roman Ivanov #5827
  • Please add new Eclipse Plugin to active tools list on your website. Author: ChristianWulf #5521
  • Activate checks related to java.io.Closeable . Author: Pavel Bludov #5752
  • buddy ci failure on "Fetching changes started". Author: Roman Ivanov #5793
  • use https://snyk.io/ to find vulnerabilities in dependecies. Author: Roman Ivanov #5788
  • remove xml declaration tag from all dtd files. Author: Subbu Dantu #5721
  • find way to launch IntellijIdea inspections from command line. Author: Roman Ivanov #4682
  • Cut down on Checkstyle's dependencies on Guava, phase II. Author: rnveach #3484
  • Docker-based CI from Codeship Pro. Author: Roman Ivanov #3807
  • use new CI - https://buddy.works/. Author: Roman Ivanov #5473

Release 8.10

New:

  • ImportControl: add ability to control imports in certain classes . Author: rnveach #3492
  • Add the new option for Checkstyle CLI to generate the basic suppression xpath. Author: Timur Tibeyev #4530

Bug fixes:

  • Store IDENT token type in the xpath tree. Author: Timur Tibeyev #5508
  • Xpath Mapper : UnsupportedOperationException when several queries are combined. Author: Timur Tibeyev #5571
  • HeaderCheck: fails with empty lines. Author: Paul Campbell #5511
  • CheckUtils.parseDouble: wrong result for negative values. Author: Pavel Bludov #5709
  • FinalClassCheck: 'extractQualifiedName' omits 2nd ident of package name. Author: rnveach #5706
  • Indentation: false positive for one-line lambda. Author: Pavel Bludov #5675

Notes:

  • format xdoc files to follow rule of LineLength (max ia 100) . Author: rnveach #5291
  • Remove remnants of cobertura usage. Author: Pavel Bludov #5616
  • Create xdoc page to explain the new Xpath-based suppression model. Author: Timur Tibeyev #5513
  • Migrate to CircleCI 2.0. Author: Roman Ivanov #5657
  • consider introducing spelling regression checker. Author: Josh Soref, Roman Ivanov #5676
  • remove all authors javadoc tags from sources. Author: Roman Ivanov #5738
  • PMD 6: migrate configuration to pmd 6.X version. Author: Pavel Bludov #5603
  • jsoref spell checker: skipp all files/folders that are referenced in .gitignore. Author: Josh Soref #5719
  • spellchecker: don't complain about case. Author: Josh Soref #5732
  • Replace File{Input,Output}Stream with Files.new{Input,Output}Stream. Author: Pavel Bludov #5638
  • config: moved disallows to be first in import control. Author: rnveach
  • UpperEll rule description gives bogus reason: Capital(!) L looks like 1. Author: Roman Ivanov #5718
  • refactor PackageObjectFactoryTest.testCreateModuleWithNonExistName. Author: surajumang #5677
  • jsoref spellchecker: group word families togeth. Author: Josh Soref #5701
  • jsoref spell checker: remove resource from validation. Author: Josh Soref #5693
  • Update javadoc for MismatchStrategy. Author: Roman Ivanov #5695
  • spelling: anon - API: sevntu-checkstyle/sevntu.checkstyle#657. Author: Josh Soref
  • migrate to circleci 2.0. Author: Roman Ivanov #5528
  • spelling: commenting. Author: Josh Soref
  • spelling: unclear. Author: Josh Soref
  • spelling: performance. Author: Josh Soref
  • spelling: indentation. Author: Josh Soref

Release 8.9

Breaking backward compatibility:

  • ImportControl: reverse order of allow/disallow rule matching. Author: rnveach #5642

Bug fixes:

  • Indentation: wrapped method name. Author: Pavel Bludov #5655
  • Indentation: super() is ignored. Author: Pavel Bludov #3808
  • IllegalType: support arrays as types. Author: kazachka #4429

Notes:

  • spelling: a lot of spelling fixes. Author: Josh Soref
  • PMD 6: migrate configuration to pmd 6.X version. Author: Pavel Bludov #5603
  • wercker is failing with unclear message after release on non-rebased branches. Author: Vladislav Lisetskii #5452
  • Add openjdk8/9 to Travis/AppVeyor. Author: Pavel Bludov #5663
  • Remove usage of com.oracle.net package. Author: Pavel Bludov #5660
  • generated jacoco.exec file needs to be moved out of base directory. Author: Roman Ivanov #5640
  • doc: fixed improper dtd comment examples. Author: rnveach
  • Fix PMD6 violations (bestpractices). Author: Pavel Bludov #5633
  • spelling: Correct some words in the German translation. Author: Matthias Ronge
  • Drop findbugs. Author: Pavel Bludov #5622
  • Replace java.awt.event.InputEvent#getModifiers() with getModifiersEx(). Author: Pavel Bludov #5613
  • doc: fixed improper private method documentation. Author: rnveach
  • Use Jacoco instead of Cobertura for coverage check. Author: Pavel Bludov #5586
  • doc: clearly explain commit message requirements. Author: Roman Ivanov
  • Jacoco workaround for MainTest. Author: Pavel Bludov #5553
  • Split pitest-checkstyle-common. Author: Pavel Bludov #5592
  • Resolve all violations from SonarQube at sonarcloud.io. Author: Roman Ivanov #5604
  • 100% Coverage for com.puppycrawl.tools.checkstyle.DefaultConfiguration. Author: Pavel Bludov #5591
  • 100% coverage for com.puppycrawl.tools.checkstyle.XMLLogger. Author: Pavel Bludov #5597
  • 100% coverage for com.puppycrawl.tools.checkstyle.Checker. Author: Pavel Bludov #5599
  • New project badges at sonarcloud.io. Author: Roman Ivanov #5605
  • 100% coverage for com.puppycrawl.tools.checkstyle.PackageObjectFactory. Author: Pavel Bludov #5595
  • Switch to Powermock 2.0. Author: Pavel Bludov #5584
  • fix indentation in all sources of xdoc. Author: Varun Upadhyay #5489
  • doc: typos and grammar fixes on website main page. Author: Michael Keppler
  • PackageNamesLoaderTest refactoring. Author: Pavel Bludov #5551
  • Remove usage of javax.xml.bind.XmlElement (deprecated in JDK9). Author: Pavel Bludov #5582
  • Refactoring of JavadocUtils static init. Author: Pavel Bludov #5555
  • Switch to powermock-api-mockito2. Author: Pavel Bludov #5558
  • IllegalStateException message text was changed in JDK9. Author: Pavel Bludov #5561
  • upgrade to spotbugs 3.1.1 cause problems with execution on maven 3.3.9. Author: Roman Ivanov #5525
  • doc: InterfaceIsType description, SwingConstants is an interface, not a class.. Author: Tobias Weimer
  • Explicitly throw an exception from ClassResolver. Author: Pavel Bludov #5546
  • Strive for 100% mutation coverage. Author: Roman Ivanov #3708
  • minimize pitest-checkstyle-utils profile execution. Author: Roman Ivanov #4605
  • pitest: increase mutation coverage for pitest-checks-coding profile to 100%. Author: Roman Ivanov #5008
  • doc: extend examples for FinalLocalVariable. Author: Roman Ivanov #5239
  • Remove dependency on tools.jar. Author: Pavel Bludov #5431
  • Fix violations in local IntelliJ 2017.3. Author: Roman Ivanov #5409
  • Intellij Idea inspection violations from 2017.2.4 or 2017.2.6. Author: Roman Ivanov #5069
  • Jacoco coverage report. Author: Pavel Bludov #5516
  • Use StringBuilder instead of StringBuffer as it offers high performance. Author: reudismam #5505
  • AvoidEscapedUnicodeCharactersCheck: re-organize regular expressions. Author: SunriseCoder #5427
  • investigate and resolve compilation warnings. Author: Andrey Mosin #5480
  • wercker build problem with hibernate-search. Author: Roman Ivanov #5499

Release 8.8

Breaking backward compatibility:

  • Split TreeWalker to TreeWalker and JavaParser. Author: Pavel Bludov #5436

Bug fixes:

  • DesignForExtension: method javadoc is recognized if no modifier in on method. Author: Roman_Zhigunov #5255
  • XmlLogger sanitizes exception tags when it shouldn't be. Author: rnveach #5419

Notes:

  • spelling: Fix German translation of 'tag'. Author: Michael Keppler
  • Fix violations in local IntelliJ 2017.3. Author: rnveach #5409
  • Resolve warning during build about prerequisites tag. Author: Andrey Mosin #5377
  • JavadocMethod: "Expected an @return tag." sounds not right. Author: Varun Upadhyay #5463
  • AppVeyor CI build failure: Unable to get setup from cygwin.mirror.constant.com. Author: Roman Ivanov #5474
  • spelling: improve french translation. Author: Jajawah
  • spelling: fix typo in tests. Author: Pavel Bludov
  • spelling: Fix typo. Author: Tino Desjardins
  • format xdoc files to follow rule of LineLength (max ia 100) . Author: rnveach #5291
  • Incorrect documentation for SuppressionXpathFilter. Author: Timur Tibeyev #5400
  • Reorganize token methods of all Checks. Author: Subbu Dantu #4581
  • TokenTypes documentation contains double encoded symbols. Author: Pavel Bludov #5423
  • Incorrect documentation for SingleSpaceSeparator. Author: Jun Lin #5401
  • XDoc Config: create unit test to verify property types and default values for Strings. Author: rnveach #3254

Release 8.7

Breaking backward compatibility:

  • Removed guava from api code. Author: rnveach #3455

Bug fixes:

  • SuppressWithPlainTextCommentFilter: should not fail when violation is reported on directory. Author: rnveach #5405

Release 8.6

Breaking backward compatibility:

  • AbstractLoader: move out of api, rename, and remove abstract modifier . Author: Roman_Zhigunov #5338

New:

  • new Checker filter SuppressWithPlainTextCommentFilter as akin to Treewalker's SuppressionCommentFilter. Author: Andrei Selkin #4841
  • Add @exception JavaDoc block tag to NonEmptyAtclauseDescriptionCheck. Author: Lev_Sikhovets #5388
  • Support suppression-xpath element in SuppressionLoader. Author: Timur Tibeyev #4421
  • add ANNOTATION_DEF to RequireThisCheck. Author: rnveach #5363
  • SuppressionFilter: add suppression by message. Author: rnveach #2804

Bug fixes:

  • TranslationCheck: should fire file started/finished when invoking errors. Author: rnveach #5057
  • fixed RequireThisCheck and for loop variable handling. Author: rnveach #5392
  • changed RequireThis kept track of the frame being examined. Author: rnveach #5364
  • ImportOrder with option=bottom should not allow non-static import after static import. Author: Julian Hyde #4981
  • ReturnCount: unclear message when only max property is specified. Author: vaano94 #5306
  • Incorrect indentation check for method preceded by annotation, with method parameter on separate line. Author: BBG #5154
  • fixed RequireThisCheck and enum constants handling. Author: rnveach #5361
  • fixed RequireThisCheck and catch variable handling. Author: rnveach #5351
  • AnnotationUtility.getAnnotation fails when there is an comment in the annotation. Author: rnveach #5327
  • False RedundantModifier violation for final method of enum inside final class. Author: BBG #5268
  • fixed bug on matching xpath when no xpath given. Author: rnveach #5321
  • Checkstyle ignores javadoc that placed over Annotation type elements . Author: Pavel Bludov #4169
  • JavadocMethod: No error for a misplaced javadoc tag. Author: Pavel Bludov #4701

Notes:

  • pitest: increase mutation coverage for pitest-checks-misc profile to 100%. Author: rnveach, vasilyeva #4675
  • Some contents in messages_zh.properties for imports check are not well translated. Author: zhangduo #5393
  • TranslationCheckTest.testLogOutput is failed . Author: rnveach #5141
  • pitest: increase mutation coverage for pitest-checks-imports profile to 100%. Author: BBG #5004
  • Indentation problem in pjdbc project. Author: Roman Ivanov #5286
  • Use versions-maven-plugin to report versions to update. Author: Roman Ivanov #5208
  • minimize pitest-checkstyle-utils profile execution. Author: rnveach #4605
  • api: abstract classes that extending concrete class. Author: rnveach #4716
  • pitest: increase mutation coverage for pitest-checks-whitespace profile to 100%. Author: rnveach #5003
  • pitest: increase mutation coverage for pitest-checks-metrics profile to 100%. Author: rnveach #5005
  • pitest: increase mutation coverage for pitest-checks-coding profile to 100%. Author: rnveach #5008
  • internal code: terminology problems in ModuleReflectionUtils. Author: rnveach #4876
  • Add violateExecutionOnNonTightHtml property of AbstractJavadocCheck to xdoc. Author: rnveach #5002
  • change all sonarqube.com to sonarcloud.io. Author: Roman Ivanov #5290
  • doc: add 'Checkstyle for Microsoft Visual Studio Code' in known tools. Author: Roman Ivanov
  • Revert "infra: fix for travis:osx problem with 'shell_session_update: command not found'". Author: Roman Ivanov
  • Remove usage of DetailAST.branchContains. Author: rnveach #5124

Release 8.5

New:

  • Try to load class from all of packages as classpath scanning doesn't work in Eclipse runtime environment. Author: kazachka #4916

Bug fixes:

  • RegexpOnFilenameCheck: NullPointerException when relative path is used to run checkstyle CLI . Author: Roman Ivanov #5278
  • JavadocPackage: NullPointerException when relative path is used to run checkstyle CLI. Author: Artem Dudkin #5127
  • Checker.destroy doesn't erase fileSets but erases everything else. Author: rnveach #5264
  • TranslationCheck prints violations from previous AbstractFileSetCheck run. Author: rnveach #5263

Notes:

  • Fix violations from new sevntu check - CheckstyleTestMakeupCheck. Author: rnveach #5228
  • doc: typo fix and extension for 'what is javadoc'. Author: Roman Ivanov
  • Checkstyle UTs shouldn't create custom configuration methods. Author: rnveach #5157
  • adjacent static import groups ones became impossible in 8.3. Author: BBG #5176
  • cobertura coverage check failing on jdk 152. Author: Roman Ivanov #5283
  • Remove usage of DetailAST.branchContains. Author: rnveach #5124
  • Reorganize token methods of all Checks. Author: Subbu Dantu #4581
  • ImportControl: unable to disallow static import. Author: Jochen Van de Velde, Roman Ivanov #4284
  • doc: Removed maxLineLength property from javadoc, the property itself had been removed earlier. Author: Balazs Nemeth
  • wercker build is unstable for htmlunit project due to SNAPSHOT dependency . Author: Roman Ivanov #5251
  • Fix plural agreement grammar in documentation for DesignForExtension. Author: Jake Gage #5249
  • Mark all checks with appropriate interface so that they could be used in the MT mode. Author: Andrew Kuchev #4870

Release 8.4

Breaking backward compatibility:

  • Disallowing user to use incomplete fully qualified Check names in config file. Author: BBG #4456
  • JavadocTokenTypes should keep values of tokens, restore tokens as they were at 8.1 version. Author: Piyush Sharma #5139
  • Remove extra numeric offset in JavadocTokenTypes. Author: Maksim Shilin #5114

Bug fixes:

  • Checkstyle produces invalid XML file. Author: rnveach #5162

Notes:

  • Fix violations from new sevntu check - CheckstyleTestMakeupCheck. Author: rnveach #5228
  • Unused messages in message.properties. Author: dyominov #5094
  • Two unit tests for SuppressionCommentFilterTest do not fail if CheckstyleException is not thrown. Author: rnveach #5210
  • ClassFanOutComplexity for a multi-dimensional array is calculating with an error.. Author: Artem Dudkin #5134
  • Remove usage of DetailAST.branchContains. Author: rnveach #5124
  • Checkstyle tests should be named after the class they test and extra validations/helpers should be in a special package. Author: rnveach #5104
  • pitest: increase mutation coverage for pitest-checks-whitespace profile to 100%. Author: vasilyeva #5003
  • left curly nlow documentation error?. Author: Clément Guillaume #5188
  • create GeneratedJavadocTokenTypesTest.java. Author: Piyush Sharma #5186
  • Use private final loggers instead of private static final in Checkstyle codebase. Author: crude #929
  • Move DetailNodeTreeStringPrinter#createFakeBlockComment to CommonUtils. Author: Turkin Ivan #4785
  • Prohibit the usage of hardcoded encoding in Checkstyle source code. Author: Artem Dudkin #5023
  • appveyor: provide ability to skip CI executions base on commit files. Author: Maksim Shilin #3870
  • Reorganize token methods of all Checks. Author: Subbu Dantu #4581
  • Remove deprecated class BaseCheckTestSupport. Author: Subbu Dantu #4867
  • validation by xsd during build is missed for xml files that use packages_1_0.dtd. Author: Roman Ivanov #5177
  • Sonar validation failing with StackOverflowError. Author: Roman Ivanov #5175

Release 8.3

Breaking backward compatibility:

  • Uppercase letters to be allowed in package names in javadoc. Author: Piyush Sharma #4408
  • Making required arguments mandatory for javadoc tags in grammar. Author: Piyush Sharma #4942

New:

  • NoWhitespaceAfter: do not allow whitespace after '@' sign. Author: Ruslan Iagudin #4410
  • WhitespaceAround: Add support for varargs. Author: Ruslan Iagudin #4157
  • Boolean flag in Javadoc Checks that shows a current Javadoc comment has unclosed HTML tags. Author: Piyush Sharma #3311
  • Add columnCharIndex field to LocalizedMessage. Author: Timur Tibeyev #4998

Bug fixes:

  • IllegalType does not seem to handle multidimensional array types. Author: Ruslan Iagudin #4425
  • ImportOrder: No violation before or after changes for static import list. Author: BBG #5065
  • whitespace after Array type when using a type annotation. Author: Ruslan Iagudin #3300
  • Google Style: Incorrect ParenPad warning. Author: Liam Miller-Cushon #4294
  • NoWhitespaceBefore and empty for loop conditions. Author: Liam Miller-Cushon #5058
  • Remove thread-unsafe context from the AbstractCheck class. Author: Andrew Kuchev #4908
  • Fix order of message parameters in DE translation file. Author: Andreas Kurth #5068
  • Issue with UnusedImports and javadoc usage.. Author: Liam Miller-Cushon #3453
  • @see tag with leading asterisk before arguments lead to parse failure. Author: Piyush Sharma #5035
  • FallThrough check doesn't handle synchronized blocks. Author: Liam Miller-Cushon #5037
  • NoWhitespaceAfterCheck for some array initialization crashes Checkstyle. Author: Ruslan Iagudin #4557

Notes:

  • pitest: increase mutation coverage for pitest-checks-misc profile to 100%. Author: vasilyeva, Roman Ivanov #4675
  • Pull #5113: enabled eclipse compiler to flag unused exceptions. Author: rnveach #5113
  • config: bump maven-surefire-plugin to 2.20.1. Author: Roman Ivanov
  • Support suppression-xpath element in SuppressionLoader. Author: Timur #4421
  • Checkstyle tests should be named after the class they test and extra validations/helpers should be in a special package. Author: rnveach #5104
  • Expand eclipse compiler to check test code. Author: rnveach #5116
  • pitest: increase mutation coverage for pitest-checks-coding profile to 100%. Author: vasilyeva #5008
  • Add file-stateful and stateless / global stateful check markers. Author: Andrew Kuchev #4883
  • Remove thread-unsafe context from the AbstractFileSetCheck class. Author: Andrew Kuchev #4917
  • Split and Organize Checkstyle inputs by Test. Author: rnveach #3891
  • pitest: increase mutation coverage for pitest-checks-metrics profile to 100%. Author: vasilyeva #5005
  • IllegalType: update documentation to make it clear that LITERAL_NEW is not a target of this Check. Author: Roman Ivanov #5129
  • XpathQueryGenerator should consider tabWith parameter. Author: Timur Tibeyev #4999
  • Increase coverage of JavadocParser and JavadocLexer. Author: Piyush Sharma #4769
  • doc: extend javadoc for JavadocTokenTypes.RULE_TYPES_OFFSET. Author: Roman Ivanov
  • DeclarationOrder: problem with forward references. Author: kazachka #4984
  • Fix up Portuguese messages. Author: Victor Williams Stafusa da Silva #5082
  • Travis failing to execute some item on trusty instances. Author: Roman Ivanov #5086
  • Strive for 100% mutation coverage. Author: Roman Ivanov #3708
  • Eclipse validation is failed with "The type org.eclipse.jdt.annotation.NonNull cannot be resolved". Author: Roman Ivanov #5078
  • find way to launch IntelliJ IDEA inspections from command line. Author: vasilyeva, Roman Ivanov #4682
  • Rename JavadocLexer rule to a more meaningful name. Author: Vladislav Lisetskii #5040
  • Review disabled validations of eclipse compiler. Author: Roman Ivanov #5060
  • Using Eclipse compiler in CI to control 0 Warning level. Author: vasilyeva, Roman Ivanov #2600
  • pitest: increase mutation coverage for pitest-checkstyle-api profile to 100%. Author: vasilyeva #4394
  • pitest: increase mutation coverage for pitest-check-annotation profile to 100%. Author: Roman Ivanov #4402
  • Launch Sonarqube validation in docker in our CI for each PR validation. Author: vasilyeva #4912
  • doc: remove section about a resolved API issue. Author: Vladislav Lisetskii
  • pitest: increase mutation coverage for pitest-checks-imports profile to 100%. Author: vasylieva #5004
  • made XMLLogger writer final. Author: rnveach #5033
  • pitest: increase mutation coverage for pitest-checkstyle-utils profile to 100%. Author: vasilyeva #4395

Release 8.2

Breaking backward compatibility:

  • JavadocParser: inconsistent AST tree with and without SINGLETON_ELEMENT. Author: Piyush Sharma #3810
  • move AbstractTypeAwareCheck and ClassResolver to javadoc package. Author: rnveach #4676
  • remove deprecated property maxLineLength from LeftCurlyCheck. Author: rnveach #3671
  • remove FileContentsHolder module as FileContents object is available for filters on TreeWalker in TreeWalkerAudit Event. Author: Timur, Roman Ivanov #3573
  • Replace terms in AST Tokens by terms from HTML specification. Author: Piyush Sharma #4448

New:

  • new Check: single line annotation location. Author: kazachka #3440
  • Add HTML5 tags support to Javadoc antlr4 grammar and related classes. Author: Piyush Sharma #3332
  • UnnecessaryParentheses: Reject parentheses around single parameters in lambdas. Author: rnveach #4639
  • Add token type to LocalizedMessage. Author: Timur #4419

Bug fixes:

  • Add (WS | NEWLINE) in proper places for javadoc tags. Author: Piyush Sharma #4934
  • XMLLogger methods should be thread-safe. Author: Andrew Kuchev #4932
  • Javadoc comments containing unescaped Java code with generic types leads to enormous parsing times. Author: Piyush Sharma #4390
  • PackageObjectFactory can't instantiate AuditListeners. Author: rnveach #4742
  • Remove thread-unsafe context from the AbstractJavadocCheck class. Author: Andrew Kuchev #4925
  • SeverityLevelCounter should be thread-safe. Author: Andrew Kuchev #4927
  • JavadocPackageCheck should be thread-safe. Author: Andrew Kuchev #4945
  • Violations should print ID and observe them as unique. Author: Luolc #4607
  • SuppressWarnings triggers RedundantModifier check on enum constructor. Author: rnveach #4846
  • SummaryJavadoc: overlapping messages. Author: rnveach #4798
  • Remove checkstyle_packages.xml from checkstyle. Author: rnveach #3660
  • SummaryJavadoc: doesn't completely ignore inheritDoc tag. Author: rnveach #4744
  • TodoCommentCheck overflows the stack for files with many comments. Author: rnveach #4563
  • RegexpHeader not detecting '\n\n' by regex properly. Author: Vivek Rao #4735
  • ModifiedControlVariableCheck crashes for some nested loops with multiple assignments. Author: rnveach #4630
  • MethodCountCheck: class counts include anonymous methods. Author: rnveach, Roman Ivanov #4539
  • RequireThisCheck: NPE on method from base class with validateOnlyOverlapping off. Author: rnveach #4856
  • TreeWalkerFilter needs to be added to ModuleReflectionUtils. Author: Timur #4843
  • RequireThisCheck: Use and declare a local variable with same name as class variable cause a NPE. Author: rnveach #4777
  • Indentation: multiple try with resource not checked. Author: Vikramaditya Kukreja #3131
  • FinalLocalVariable: false-negative with anonymous class. Author: rnveach #4727

Notes:

  • pitest: increase mutation coverage for pitest-checkstyle-utils profile to 100%. Author: Roman Ivanov #4395
  • pitest: increase mutation coverage for pitest-checkstyle-api profile to 100%. Author: Roman Ivanov #4394
  • Remove strong, wildcard suppressions in configuration. Author: vasilyeva, Roman Ivanov #4384
  • pitest: increase mutation coverage for pitest-checks-design profile to 100%. Author: vasilyeva #5007
  • Remove usage of javax.xml.bind.DatatypeConverter (removed in Java 9). Author: Oliver Siegmar #5027
  • shippable: unstable execution of pitest for pitest-checkstyle-common profile. Author: Andrew Kuchev, Roman Ivanov #5022
  • Fix documentation for minLineCount property in JavadocMethod. Author: Ruslan Iagudin #4987
  • Using Eclipse compiler in CI to control 0 Warning level. Author: vasilyeva #2600
  • IllegalTypeCheck: split illegalClassNames for short names to prevent runtime modification. Author: rnveach #4947
  • pitest: increase mutation coverage for pitest-checks-whitespace profile to 100%. Author: vasilyeva #5003
  • pitest: increase mutation coverage for pitest-checks-sizes profile to 100%. Author: vasilyeva #4993
  • MainTest.testCreateListenerWithLocationIllegalStateException isn't deleting it's test file anymore. Author: liscju #4842
  • Implement xpath query generator. Author: Timur #4901
  • Implement XpathFilter. Author: Timur #4422
  • pitest: increase mutation coverage for pitest-checks-misc profile to 100%. Author: vasilyeva #4675
  • pitest: increase mutation coverage for pitest-checks-regexp profile to 100%. Author: vasilyeva #4988
  • ReturnCount: enforce max=1 over checkstyle code. Author: Roman Ivanov #3496
  • pitest: increase mutation coverage for pitest-checkstyle-tree-walker profile to 100%. Author: vasilyeva #4398
  • idea: fixing HtmlTagCanBeJavadocTag cause ant build error. Author: vasilyeva #4805
  • AnnotationUseStyleCheck defaults: mismatch between documentation and code. Author: Stephan Schroevers #4966
  • idea: fix ThisEscapedInConstructor idea violation for ImportControl class. Author: vasilyeva #4863
  • idea: twelfth part of idea violations. Author: vasilyeva #4940
  • resolve IDEA inspection BooleanParameter in AbstractModuleTestSupport.createChecker. Author: vasilyeva #4857
  • AuditEventDefaultFormatterTest should not use PowerMockito for testing. Author: rnveach #4931
  • idea: eleventh part of idea violations. Author: vasilyeva, vasylieva, Roman Ivanov #4801
  • avoid boolean parameters for public methods. Author: vasilyeva #4709
  • Mapper of XPath expressions onto AST nodes. Author: Timur #4369
  • disallow java.util.Comparator in import-control. Author: Luolc #4907
  • Custom checks broken with Checkstyle 8.0. Author: rnveach #4885
  • Split BaseCheckTestSupport into AbstractPathTestSupport, AbstractModuleTestSupport, and AbstractTreeTestSupport. Author: rnveach, Subbu Dantu #4592
  • idea: ninth part of idea violations. Author: vasilyeva #4707
  • idea: fifth part of idea violations. Author: vasilyeva #4726
  • idea: add messages to all asserts. Author: vasilyeva #4808
  • wercker: NoErrorTest on sevntu with checkstyle's snapshot. Author: Roman Ivanov #4829
  • Improve Error Handling for Javadoc Parsing. Author: Piyush Sharma #4717
  • idea: add initial capacities to StringBuffer. Author: Roman Ivanov #4812
  • pitest: increase mutation coverage for pitest-checkstyle-main profile to 100%. Author: vasilyeva #4399
  • pitest: increase mutation coverage for pitest-check-annotation profile to 100%. Author: vasilyeva #4402

Release 8.1

Breaking backward compatibility:

  • Make SuppressionCommentFilter and SuppressWithNearbyCommentFilter children of TreeWalker. Author: Timur #4714
  • remove AbstractComplexityCheck, AbstractIllegalCheck, AbstractIllegalMethodCheck, AbstractNestedDepthCheck. Author: vasilyeva #4749
  • ImportControl: Remove deprecated 'url' property. Author: Dmytro Kytsmen #3578
  • remove deprecated AbstractDeclarationCollector, AbstractFormatCheck, AbstractOptionCheck. Author: Dmytro Kytsmen #4677
  • FileText should not extends AbstractList. Author: Timur #3034
  • Move DetailAST log away from AbstractViolationReporter. Author: rnveach #3574
  • api: LocalizedMessages class should be removed. Author: Andrei Selkin #3545

Bug fixes:

  • SummaryJavadoc: no violation on absent summary and on javadoc where '.' is used not as end of sentence. Author: Sagar #3907
  • MethodCountCheck with wrong tokens crashes Checkstyle. Author: rnveach #4556
  • UnusedImportsCheck does not detect parameter types in javadoc block tags. Author: Brent Plump #4606
  • UnusedImports processJavadoc fails with javadoc tags that span lines. Author: Nathan Naze #2840
  • some messages are still hardcoded in english. Author: Subbu Dantu #3110
  • EmptyBlock: NPE on annotation declaration. Author: Andrew Kuchev #4472

Notes:

  • idea: tenth part of idea violations. Author: vasilyeva, vasylieva #4725
  • idea: sixth part of idea violations. Author: vasilyeva #4724
  • idea: seventh part of idea violations. Author: vasilyeva #4722
  • idea: fifth part of idea violations. Author: vasilyeva #4726
  • idea: eleventh part of idea violations. Author: vasilyeva #4801
  • Split BaseCheckTestSupport into AbstractPathTestSupport, AbstractModuleTestSupport, and AbstractTreeTestSupport. Author: Subbu Dantu #4592
  • pitest: increase mutation coverage for pitest-check-header profile to 100%. Author: vasilyeva #4401
  • activate IntelliJ IDEA inspection InterfaceMayBeAnnotatedFunctional. Author: vasilyeva #3435
  • idea: ninth part of idea violations. Author: vasilyeva #4707
  • spelling: Fix German translation. Author: FriedrichFroebel
  • Increase coverage of JavadocParser and JavadocLexer. Author: Vladislav Lisetskii #4769
  • idea: third part of violations. Author: vasilyeva #4713
  • idea: fourth part of idea violations. Author: vasilyeva #4723
  • Split and Organize Checkstyle inputs by Test for checks in 'regexp' package. Author: Dmytro Kytsmen #4585
  • spelling: fix typo in docs. Author: Vladislav Lisetskii
  • add vavr library to our regression testing. Author: Roman Ivanov #4363
  • pitest: increase mutation coverage for pitest-checkstyle-filters profile to 100%. Author: vasilyeva #4396
  • pitest: increase mutation coverage for pitest-checkstyle-api profile to 100%. Author: vasilyeva, vasylieva #4394
  • idea: second part of violations. Author: vasilyeva #4708
  • Enable IntelliJ IDEA inspection: 'throw' inside 'finally' block. Author: vasilyeva #3301
  • idea: eights part of idea violations. Author: vasilyeva #4711
  • MT mode: IntelliJ inspection violations. Author: Andrew Kuchev #4700
  • Split and Organize Checkstyle inputs for MainTests to 'main' folder. Author: Dmytro Kytsmen #4588
  • UniquePropertiesCheck.getLineNumber should be private. Author: BBG #4694
  • suppress NewlineAtEndOfFile on all internal javadoc files. Author: Dmytro Kytsmen #4702
  • Split and Organize Checkstyle inputs by Test for checks in 'ant' package. Author: Subbu Dantu #4686
  • Split and Organize Checkstyle inputs by Test for checks in header package. Author: BBG, Dmytro Kytsmen #4365
  • review all suppressed IntelliJ IDEA inspections with comment 'till ...'. Author: Roman Ivanov #4681
  • Split and Organize Checkstyle inputs by Test for checks in 'javadoc' package. Author: BBG #4586
  • LeftCurlyCheck: clarify behavior of 'nlow' option after removal of 'maxLineLength'. Author: Roman Ivanov #3855
  • Avoid usage of getLines method from FileText. Author: Timur #4641
  • reevaluate tokens in google config for SeparatorWrapCheck. Author: kazachka #3752
  • pitest: increase mutation coverage for pitest-checks-misc profile to 100%. Author: Roman Ivanov #4675
  • Split and Organize Checkstyle inputs by Test for checks in 'checks' package. Author: Dmytro Kytsmen #4587
  • pitest: increase mutation coverage for pitest-checkstyle-tree-walker profile to 100%. Author: rnveach, vasilyeva #4398
  • pitest: increase mutation coverage for pitest-checkstyle-main profile to 100%. Author: vasilyeva #4399
  • ConfigurationLoaderTest::testIncorrectTag is flaky. Author: rnveach #4664
  • pitest: increase mutation coverage for pitest-checkstyle-utils profile to 100%. Author: vasilyeva #4395
  • pitest: increase mutation coverage for pitest-checkstyle-common profile to 100%. Author: vasilyeva, vasylieva #4400
  • refactoring: CodeSelectorPModel do double copy of collection in c-tor. Author: Dmytro Kytsmen #3555
  • Split and Organize Checkstyle inputs by Test for checks in 'metrics' package. Author: Subbu Dantu #4575
  • Restore wercker CIs that have custom Checks. Author: rnveach #4582
  • Fix PMD violations for test code in Checkstyle. Author: vasylieva #877
  • Build fails on cobertura:check goal. Author: Roman Ivanov #4450
  • Add multi thread mode to checkstyle launcher. Author: Andrew Kuchev #4370

Release 8.0

Breaking backward compatibility:

  • api changes: make getAcceptableTokens/getRequiredTokens/getDefaultTokens methods as abstract in Check.java. Author: rnveach #605
  • deprecate Checker.setClassloader , replace with Checker.setClassLoader. Author: Roman Ivanov #922
  • Remove deprecated Check class. Author: rnveach #4541
  • CheckstyleAntTask: substitude setConfig(File) with setConfig(String). Author: Michael Diamond #4449
  • remove deprecated getFilename method from FileContents. Author: Subbu Dantu #3666
  • rename STMT in BlockOption class to STATEMENT. Author: Subbu Dantu #4035
  • Remove unnecessary text from Javadoc tokens. Author: Piyush Sharma #3796
  • Cache conflict between Maven/Ant and Eclipse/CLI run. Author: rnveach #3566

New:

  • MethodCountCheck: add ANNOTATION_DEF to tokens to avoid NPE. Author: Roman Ivanov #4534

Bug fixes:

  • some messages are still hardcoded in english. Author: Subbu Dantu, Roman Ivanov #3110
  • MethodCountCheck: wrong counting with nested interface definition. Author: rnveach #4540
  • Indentation: custom annotation not checked. Author: Vikramaditya Kukreja #3134
  • Javadoc is not parsed correctly in files with only CR newlines. Author: Piyush Sharma #2329
  • CLI Javadoc tree printing does not check placement of Javadoc. Author: Piyush Sharma #4405
  • Javadoc parser: custom tags content should not be parsed as HTML. Author: Piyush Sharma #4164

Notes:

  • pmd: fix all the remained. Author: vasilyeva #4567
  • Localized UTs are not stable on Travis. Author: Roman Ivanov #4316
  • Add since version to Checkstyle documentation. Author: rnveach #4475
  • Fix PMD violations for test code in Checkstyle. Author: vasilyeva, vasylieva #877
  • Split and Organize Checkstyle inputs by Test for checks in 'indentation' package. Author: Subbu Dantu #4538
  • Use Spotbugs tool in our build process. Author: vasylieva #4373
  • pmd: enable validation on IT java sources. Author: vasilyeva, vasylieva #4500
  • upgrade maven-pmd-plugin to version 3.8. Author: vasylieva #4342
  • Split and Organize Checkstyle inputs by Test for checks in imports package. Author: Subbu Dantu #4437
  • Refactor Javadoc AST Tests. Author: Piyush Sharma #4381
  • pmd: fix JUnitAssertionsShouldIncludeMessage violations in test classes. Author: vasilyeva #4516
  • pmd: fix TestClassWithoutTestCases violations in test classes. Author: vasilyeva #4518
  • pmd: fix UselessOverridingMethod violations in test classes. Author: vasilyeva #4488
  • pitest: increase mutation coverage for pitest-checkstyle-utils profile to 100%. Author: vasilyeva, vasylieva #4395
  • refactoring: remove 'final' modifier from all arguments of method/c-tor at ImportControlCheck and around. Author: sharang108 #4353
  • pmd: fix AppendCharacterWithChar violations in test classes. Author: vasylieva #4494
  • pmd: fix InsufficientStringBufferDeclaration violations in test classes. Author: vasylieva #4491
  • pmd: fix UncommentedEmptyMethodBody violations in test classes. Author: vasylieva #4495
  • pmd: fix LoggerIsNotStaticFinal violations in test classes. Author: vasylieva #4490
  • pmd: fix NcssMethodCount violations in test classes. Author: vasylieva #4496
  • pmd: fix JUnit4TestShouldUseTestAnnotation violations in test classes. Author: vasylieva #4489
  • pmd: fix ConfusingTernary violations in test classes. Author: vasylieva #4493
  • pmd: fix CommentDefaultAccessModifier violations in test classes. Author: vasylieva #4492
  • pmd: fix CheckstyleCustomShortVariable violations in test classes. Author: vasylieva #4497
  • pitest: increase mutation coverage for pitest-checkstyle-common profile to 100%. Author: vasilyeva, vasylieva, Roman Ivanov #4400
  • pitest: increase mutation coverage for pitest-checkstyle-api profile to 100%. Author: vasylieva #4394
  • pitest: increase mutation coverage for pitest-checkstyle-tree-walker profile to 100%. Author: vasilyeva #4398
  • Split and Organize Checkstyle inputs by Test for checks in header package. Author: sharang108 #4365
Old Release Notes 6.0 through 7.8