Release 8.40

31.01.2021

New:

  • Create new check RecordComponentName. Author: Andrei Paikin #8765
  • DesignForExtension: Special comment. Author: Nick Mancuso #4358
  • AvoidEscapedUnicodeCharacters should support '\s' escape symbol. Author: Nick Mancuso #9133

Bug fixes:

  • Metadata generation fails on line wrapped type description. Author: Andrei Paikin #9204
  • Exception message for invalid token is unclear . Author: Andrei Paikin #8932
  • Indentation check gives false positive: 'array initialization rcurly' has incorrect indentation. Author: Abhishek-kumar09 #8979
  • UnusedImports doesn't recognize imports shadowed by inner interfaces. Author: pbludov #4219
  • Unresolvable 'new' Indentation Rule conflict introduced in 8.38. Author: Abhishek-kumar09 #9071
  • ForceStrictCondition should not affect individual array elements.. Author: Abhishek-kumar09 #9086
  • AvoidEscapedUnicodeCharactersCheck: False positive on text blocks with a line separation. Author: Nick Mancuso #9159

Notes:

  • doc: udpate BeforeExecutionExclusionFileFilter to show example of negative lookahead. Author: Roman Ivanov
  • fix TOKEN_TEXT_PATTERN in JavadocMetadataScraper. Author: Roman Ivanov #9140
  • Update doc for VariableDeclarationUsageDistance. Author: Ayushman Sachan #7663
  • update doc for ImportOrder. Author: Aryan Bindal #7687
  • Github action CodeQL should use maven cache. Author: Shashwat Jaiswal #9203
  • update ISSUE_TEMPLATE/feature_request.md to make demand to show current beharior by CLI. Author: Abhishek-kumar09 #9114
  • Update doc for FileTabCharacter. Author: Ayushman Sachan #7620
  • Update doc for AvoidNestedBlocks. Author: Ayushman Sachan #7579
  • Add optional label/title to diff report message. Author: Andrei Paikin #9177
  • Github actions should react with thump up (+1) emoj on message if triggered. Author: Akash Mondal #9187
  • minor: fix anchors for generated pages. Author: Andrei Paikin #9185
  • nondex tool found issue in token ordering at Indentation. Author: Nick Mancuso #9003
  • Create MatchXpath instance to forbig usage of 'expected' element in Test annotation of junit. Author: Nick Mancuso #9137
  • Use diff.groovy in openjdk14-with-checks-nonjavadoc-error semaphore job. Author: Nick Mancuso #8960
  • To top button - different behavior and text on different pages. Author: Andrei Paikin #9001
  • no-error-pgjdbc is failing on master build. Author: Abhishek-kumar09 #9176
  • Checkstyle: Javadoc not required on private method. Author: Andrei Paikin #8710

Release 8.39

31.12.2020

New:

  • New module: MatchXpath. Author: Timur Tibeyev #6481

Bug fixes:

  • OperatorWrapCheck no violation if single line comment after operator. Author: pbludov #8018
  • Xpath suppression matching prone to stack overflow. Author: pbludov #5820
  • Checkstyle fails on escape '\s' character. Author: Nick Mancuso #8651
  • Incorrect warning for array initializer indentation inside annotations when using google_checks.xml. Author: Abhishek-kumar09 #5951
  • Update AbstractChecks to log DetailAST - TrailingComment. Author: Roman Ivanov #7763
  • IndentationCheck throws NPE on switch expresion with `->` on new line. Author: Nick Mancuso #9037

Notes:

  • Lack of space: that@SuppressWarnings. Author: Roman Ivanov #9130
  • Mark sonar violation 'Regular expressions should not overflow the stack' as false positive over AvoidEscapedUnicodeCharactersCheck. Author: Roman Ivanov #9129
  • Github actions should reuse maven cache. Author: Andrei Paikin #9116
  • update trigering of web site generation in github actions by 'website'. Author: Andrei Paikin #9117
  • pitest: increase mutation coverage for javadoc profile to 100%. Author: Andrei Paikin #6295
  • Resolve Pitest Issues - ImportOrderCheck (4). Author: Andrei Paikin #7875
  • Do clean in all Travis maven commands. Author: Shashwat Jaiswal #8908
  • Update wording of verify-no-exception-configs validation to mention what is expected. Author: Shashwat Jaiswal #9066
  • Update doc for NestedIfDepth. Author: Vyom-Yadav #7652
  • Semaphore CI failing on josm project build as local artifact is not found. Author: pbludov #9021
  • Add default config example for ConstantName. Author: Vyom-Yadav #7564
  • Add default config example for MethodName. Author: Roman Ivanov #7567
  • IllegalType: inability to set default value for property memberModifiers. Author: Andrei Paikin #8933

Release 8.38

29.11.2020

New:

  • new check: JavadocMissingLeadingAsteriskCheck. Author: Gaurav Punjabi #6722

Bug fixes:

  • InnerAssignment: false positives on for and do-while loops. Author: Roman Ivanov #6915
  • RequireThis: Incorrectly triggers for record fields in compact constructor. Author: Anh Minh Tran #8873
  • IndentationCheck: problem with content of anonymous class. Author: abhishek-kumar09 #5362
  • EmptyLineSeparator flags commas for multiple single type variables on line. Author: Andrei Paikin #8957
  • FinalLocalVariable throws a NPE on Switch expression in assignment. Author: Anh Minh Tran #8934

Notes:

  • Use azure CI for some validation tasks. Author: Roman Ivanov #7045
  • Travis is failing with error to install mdl package. Author: pbludov #9046
  • Isuse #7045: azure to use matrix. Author: Roman Ivanov
  • Create jdk15 Input files compilation job in Travis. Author: Roman Ivanov #9007
  • Test more project on drone.io. Author: Roman Ivanov #2460
  • Docker limits is reached in wercker . Author: Roman Ivanov #9019
  • Update doc for FinalClass. Author: Ehtesham #7609
  • google_checks.xml: Public class and interface javadoc is not checked. Author: Nick Mancuso #5148
  • Exclude Stream, Optional, and additional collection types from ClassFanOutComplexityCheck. Author: Andrei Paikin, Roman Ivanov #8537
  • Default values in meta files for wrapped list of values are incorrect. Author: Andrei Paikin #8941
  • Update doc for MultipleVariableDeclarations. Author: Akash Mondal #7669
  • doc: Update doc LeftCurly to have more examples. Author: Roman Ivanov
  • doc: add default example for NonEmptyAtclauseDescription. Author: Roman Ivanov
  • Update doc for EmptyBlock. Author: Roman Ivanov #7580
  • doc: Update AtclauseOrderCheck for default config example. Author: Roman Ivanov
  • doc: add example for default config for AnnotationUseStyle. Author: Roman Ivanov
  • Update doc for WriteTag. Author: Roman Ivanov #7606
  • MethodParamPad: add examples. Author: Roman Ivanov #3601
  • Relaxing the stated limitation about UTF-8 in documentation. Author: Olivier Cailloux #8551
  • Nondeterministic order of error messages in Translation check. Author: Rashmi Mudduluru #8963
  • Disable "checkstyle-cli-run-openjdk14" job in travis.sh. Author: Nick Mancuso #8921
  • change all "at-clause" terms to "block tag" from source code and documentation. Author: Roman Ivanov #8552
  • Run regression testing in CI over openjdk14 or newer codebase. Author: Nick Mancuso #8901
  • Remove Buddy CI config . Author: pbludov #8951
  • doc: add security policy page. Author: Roman Ivanov
  • Keep user comment in env variable of git workflow. Author: Roman Ivanov #8938

Release 8.37

31.10.2020

New:

  • New check: LambdaBodyLength . Author: Andrei Paikin #8341

Bug fixes:

  • ClassFanOutComplexity: false positive on var. Author: Andrei Paikin #6346
  • Value 'empty' in metadata files for 'tokens' property cause problems in plugins. Author: Roman Ivanov #8916
  • FinalLocalVariable: NPE in records. Author: Anh Minh Tran #8895
  • Indentation: if with no curlies is not checked. Author: Abhishek-kumar09 #3135
  • LocalFinalVariableName false-positive. Author: Andrei Paikin #8879
  • NonEmptyAtclauseDescription does not work for @return. Author: Andrei Paikin #8889
  • NoWhitespaceBeforeCheck: String index out of range (with Java 15 Text Block) when tabs are used. Author: Nick Mancuso #8849
  • Local records fail to parse when annotated. Author: Nick Mancuso #8856
  • Indentation: google-java-format and Checkstyle disagree about switch block indentation. Author: Abhishek-kumar09 #3899

Notes:

  • doc: Add Mega-Linter to active tools list. Author: Nicolas Vuillamy
  • Anchor links for active and inactive tools on front page are broken. Author: Andrei Paikin #8925
  • update Cirrus CI to not print download progress in logs. Author: Shashwat Jaiswal #8918
  • Add default config example for ClassTypeParameterName. Author: AmrDeveloper #7562
  • Create Github action to generate web site . Author: Andrei Paikin #8876
  • Resolve Pitest Issues - RegexpCheck (2). Author: Anh Minh Tran #7983
  • Update doc for EqualsAvoidNull. Author: AmrDeveloper #7637
  • All Regexp Checks that has few instances should have id property. Author: Shashwat Jaiswal #8790
  • add spring-cloud-gcp project to CIs no errror regresson testing. Author: Roman Ivanov #6209
  • Add SpongePowered/Configurate Checkstyle run to CI to improve coverage of Java14 syntax. Author: Nick Mancuso #8859
  • update doc for AvoidStaticImport. Author: AmrDeveloper #7685
  • Update doc for EmptyStatement. Author: Anh Minh Tran #7665
  • Update doc for FallThrough. Author: Timur Tibeyev #7640
  • pitest: increase mutation coverage for pitest-imports profile to 100% . Author: Hem Bhagat #6658
  • Use .ci/validation.cmd in appveyor ci. Author: pbludov #8864
  • Set up Cirrus CI. Author: pbludov #8855
  • Add markdown lint validation for .md files to CI. Author: pbludov #8909

Release 8.36.2

27.09.2020

Bug fixes:

  • Indentation: lambda don't respect lineWrappingIndentation when forceStrictCondition is false. Author: Abhishek-kumar09 #3342
  • Java interface constants treated as non-public by ConstantName check. Author: Andrei Paikin #8569
  • JavadocTypeCheck: false positive with JavaDoc @param tags for Records (Java 14 + Java 15). Author: Nick Mancuso #8808

Notes:

  • Load Semaphore CI with more work. Author: pbludov #8805
  • add spring-cloud-gcp project to CIs no errror regresson testing. Author: Gaurav Punjabi #6209
  • Add a job to automatically rebase PRs. Author: Andrei Paikin #8842
  • Update eclipse compiler to R17. Author: pbludov #8839
  • bump Saxon-HE from 9.9.1-7 to 10.2. Author: Timur Tibeyev #8797
  • pitest: increase mutation coverage for pitest-imports profile to 100% . Author: hembhagat #6658
  • Diff Report should be generated against main checkstyle's master branch. Author: Abhishek-kumar09 #8827
  • doc: add checkstyle github action to related tools. Author: Abhishek-kumar09
  • Comments in indentation is failing ci/phase-verification/unit-tests. Author: Abhishek-kumar09 #8725
  • All Regexp Checks that has few instances should have id property. Author: Roman Ivanov #8790
  • Sonar issue: A "NullPointerException" could be thrown; "getParent()" can return null.. Author: Roman Ivanov #8823

Release 8.36.1

12.09.2020

Bug fixes:

  • DesignForExtension check crashes CheckStyle if an undocumented non-final method is present in a record (Java 14 + Java 15). Author: Nick Mancuso #8810
  • FinalClass check crashes CheckStyle if there are multiple constructors in a record (Java 14 + Java 15) . Author: Nick Mancuso #8811
  • IndentationCheck: false positive with nested records' methods (Java 14 + Java 15). Author: Nick Mancuso #8806
  • Support for all Token Types as a Property Type for Module Metadata. Author: Gaurab Dasgupta #8801
  • MissingSwitchDefault to exclude Java 14 switch expressions. Author: Nick Mancuso #8779
  • Set tokenTypesSet as validationType for non base token properties. Author: Gaurab Dasgupta #8785
  • Google style has improper enforcement of horizontal whitespace. Author: Shashwat Jaiswal #8122

Notes:

  • Update doc for NestedForDepth. Author: Roman Ivanov #7651
  • Improve code coverage for metadata generator classes. Author: Gaurab Dasgupta #8771
  • Update doc for IllegalThrows. Author: zy #7644
  • Update doc for ExplicitInitialization. Author: Demezhan Marikov #7639
  • Resolve Pitest Issues - ImportOrderCheck (1). Author: Shashwat Jaiswal #7872
  • doc: Add stickler-ci to the active tool list. Author: Mark Story

Release 8.36

28.08.2020

New:

  • Create new check IllegalIdentifierName. Author: Nick Mancuso #8764
  • Create New Check RecordComponentNumberCheck. Author: Nick Mancuso #8748
  • new Check: RequireEmptyLineBeforeBlockTagGroup to complain about missing blank line before at-clauses Author: Joseph Mate #6192
  • New check RecordTypeParameterNameCheck. Author: Nick Mancuso #8513
  • Java14 Full Records Support Check Validation: JavaNCSSCheck. Author: Nick Mancuso #8505
  • Support for Java 14 switch/yield expression. Author: Nick Mancuso #6615
  • java 13 text blocks syntax is not supported. Author: Nick Mancuso #7103
  • Java14 Full Records Support Check Validation: MethodParamPadCheck. Author: Nick Mancuso #8525
  • Java14 Full Records Support Check Validation: AbbreviationAsWordInNameCheck. Author: Nick Mancuso #8511
  • Implement full records support. Author: Nick Mancuso #8267
  • new Check: PatternVariableName. Author: Nick Mancuso #8407

Bug fixes:

  • Java 14 Text Blocks Checks Support validation: SuppressWarningsHolder. Author: Nick Mancuso #8619
  • Java14 Full Records Support Check Validation: OverloadMethodsDeclarationOrderCheck. Author: Nick Mancuso #8471
  • Java 14 SwitchExpression Check Support validation: Indentation. Author: Nick Mancuso #8691
  • Java14 Full Records Support Check Validation: SuppressWarningsCheck. Author: Nick Mancuso #8456
  • Java14 Full Records Support Check Validation: AtclauseOrderCheck. Author: Nick Mancuso #8490
  • Java14 Full Records Support Check Validation: AnnotationLocationCheck. Author: Nick Mancuso #8454
  • Java14 Full Records Support Check Validation: AnnotationOnSameLineCheck. Author: Nick Mancuso #8455
  • Java14 Full Records Support Check Validation: WriteTagCheck. Author: Nick Mancuso #8499
  • Java14 Full Records Support Check Validation: UnnecessarySemicolonAfterTypeMemberDeclarationCheck. Author: Nick Mancuso #8476
  • Java14 Full Records Support Check Validation: UnnecessarySemicolonAfterOuterTypeDeclarationCheck. Author: Nick Mancuso #8475
  • Java14 Full Records Support Check Validation: InnerTypeLastCheck. Author: Nick Mancuso #8482
  • Java14 Full Records Support Check Validation: IllegalTypeCheck. Author: Nick Mancuso #8468
  • Java14 Full Records Support Check Validation: OneTopLevelClassCheck. Author: Nick Mancuso #8485
  • Java14 Full Records Support Check Validation: TypeNameCheck. Author: Nick Mancuso #8515
  • Compact Constructor AST is missing annotations. Author: Nick Mancuso #8734
  • Java14 Full Records Support Check Validation: HiddenFieldCheck. Author: Nick Mancuso #8466
  • Java14 Full Records Support Check Validation: ClassDataAbstractionCouplingCheck. Author: Nick Mancuso #8502
  • Java14 Full Records Support Check Validation: CommentsIndentationCheck. Author: Nick Mancuso #8489
  • Java14 Full Records Support Check Validation: JavadocMethodCheck. Author: Nick Mancuso #8492
  • Java14 Full Records Support Check Validation: JavadocTypeCheck. Author: Nick Mancuso #8494
  • Java14 Full Records Support Check Validation: MissingJavadocMethodCheck. Author: Nick Mancuso #8497
  • Java14 Full Records Support Check Validation: MissingJavadocTypeCheck. Author: Nick Mancuso #8498
  • Java14 Full Records Support Check Validation: JavadocStyleCheck. Author: Nick Mancuso #8493
  • Java14 Full Records Support Check Validation: DeclarationOrderCheck. Author: Nick Mancuso #8463
  • Java14 Full Records Support Check Validation: LeftCurlyCheck. Author: Nick Mancuso #8457
  • Java14 Full Records Support Check Validation: RightCurlyCheck. Author: Nick Mancuso #8460
  • Java 14 Text Blocks Checks Support validation: MultipleStringLiteralsCheck. Author: Nick Mancuso #8616
  • LambdaParameterNameCheck throws NPE when parsing switch expressions. Author: Nick Mancuso #8683
  • Java14 Full Records Support Check Validation: ClassFanOutComplexityCheck. Author: Nick Mancuso #8503
  • Java 14 SwitchExpression Check Support validation: FinalLocalVariableCheck. Author: Nick Mancuso #8668
  • Java 14 SwitchExpression Check Support validation: EmptyBlock. Author: Nick Mancuso #8662
  • VariableDeclarationUsageDistanceCheck throws a NPE on switch expression syntax. Author: Nick Mancuso #8676
  • Java 14 Text Blocks Checks Support validation: UnnecessaryParenthesesCheck. Author: Nick Mancuso #8618
  • Java14 Full Records Support Check Validation: ClassMemberImpliedModifierCheck. Author: Nick Mancuso #8577
  • Java 14 Text Blocks Checks Support validation: AvoidEscapedUnicodeCharacters. Author: Nick Mancuso #8613
  • Java 14 Text Blocks Checks Support validation: StringLiteralEqualityCheck. Author: Nick Mancuso #8617
  • Java 14 Text Blocks Support Check validation: IllegalTokenText. Author: Nick Mancuso #8576
  • Java 14 Text Blocks Checks Support validation: EqualsAvoidNullCheck. Author: Nick Mancuso #8614
  • Java 14 SwitchExpression Check Support validation: MissingSwitchDefaultCheck. Author: Nick Mancuso #8672
  • Java 14 SwitchExpression Check Support validation: LeftCurlyCheck. Author: Nick Mancuso #8663
  • NeedBracesCheck throws a NPE when parsing switch expression syntax. Author: Nick Mancuso #8664
  • IndentationCheck throws a NPE on switch expression syntax. Author: Nick Mancuso #8661
  • Java 14 SwitchExpression Check Support validation: DefaultComesLastCheck. Author: Nick Mancuso #8665
  • Java 14 SwitchExpression Check Support validation: NPathComplexityCheck. Author: Nick Mancuso #8681
  • HiddenFieldCheck throws a NPE on switch expression syntax. Author: Nick Mancuso #8659
  • UnnecessaryParenthesesCheck throws a NPE on switch expression syntax. Author: Nick Mancuso #8660
  • Change google_checks.xml to disallow abbreviations in identifiers names in accordance with Google Style Guide. Author: Shashwat Jaiswal #3812
  • Java14 Full Records Support Check Validation: EmptyLineSeparatorCheck. Author: Nick Mancuso #8523
  • Java14 Full Records Support Check Validation: MethodLengthCheck. Author: Nick Mancuso #8519
  • Java14 Full Records Support Check Validation: NoLineWrapCheck. Author: Nick Mancuso #8526
  • Java14 Full Records Support Check Validation: BooleanExpressionComplexityCheck. Author: Nick Mancuso #8501
  • Java14 Full Records Support Check Validation: CyclomaticComplexityCheck. Author: Nick Mancuso #8504
  • Java14 Full Records Support Check Validation: ExecutableStatementCountCheck . Author: Nick Mancuso #8517
  • Java14 Full Records Support Check Validation: MethodCountCheck. Author: Nick Mancuso #8518
  • Java14 Full Records Support Check Validation: OuterTypeNumberCheck. Author: Nick Mancuso #8520
  • OuterTypeFileName throws NPE on record definition in method. Author: Nick Mancuso #8598
  • Java14 Full Records Support Check Validation: ParenPadCheck. Author: Nick Mancuso #8527
  • Java14 Full Records Support Check Validation: UncommentedMainCheck. Author: Nick Mancuso #8522
  • Java14 Full Records Support Check Validation: EqualsAvoidNullCheck. Author: Nick Mancuso #8464
  • Java14 Full Records Support Check Validation: OuterTypeFilenameCheck. Author: Nick Mancuso #8516
  • Java14 Full Records Support Check Validation: RequireThisCheck. Author: Nick Mancuso #8473
  • Java14 Full Records Support Check Validation: MagicNumberCheck. Author: Nick Mancuso #8469
  • Java14 Full Records Support Check Validation: UnusedImportsCheck. Author: Nick Mancuso #8488
  • Java14 Full Records Support Check Validation: NPathComplexityCheck. Author: Nick Mancuso #8506

Notes:

  • spelling: Correct French translations. Author: olivier-maury
  • Move metadata generation code to main from test folder. Author: Gaurab Dasgupta #8761
  • Introduction of modules metadata files generator. Author: Gaurab Dasgupta #8742
  • PMD shows WARN during build . Author: Nick Mancuso #8754
  • Remove BlockCommentPosition test input files from checkstyle_input_suppressions.xml. Author: Nick Mancuso #8738
  • doc: rectify RequireEmptyLineBeforeBlockTagGroupCheck javadoc. Author: Gaurab Dasgupta
  • Removal of examples from property description. Author: Gaurab Dasgupta #8732
  • Mofication of module property default values to reflect actual working data. Author: Gaurab Dasgupta #8726
  • doc: Modify PatternVariableNameCheck and RecordTypeParameterNameCheck to adhere to new template for metadata scraping. Author: Gaurab Dasgupta
  • Extend Checkstyle GUI tool to work with Xpath. Author: hembhagat #4944
  • Modification of javadoc example markers to support metadata generation. Author: Gaurab Dasgupta #8657
  • Proof of Java 14 syntax by new CI build item. Author: Nick Mancuso #8631
  • JavadocMethod: unclear message for incomplete tag. Author: Shashwat Jaiswal #2408
  • Extract logic for token type checking to separate method. Author: Shashwat Jaiswal #8048
  • LineLengthCheck.fileExtensions default value and similar usages should be changed to empty string. Author: Gaurab Dasgupta #8633
  • Array default value should have no curly braces in Check javadoc documentation. Author: Gaurab Dasgupta #8630
  • master build failure due to leaked pitest coverage. Author: Nick Mancuso #8604
  • xml-maven-plugin validation should not validate '.ci-temp' folder . Author: Roman Ivanov #8606
  • ci: disable spring integration project validation due to build problem. Author: Roman Ivanov
  • Tests fail with German locale on Windows with default encoding. Author: TB #6560
  • Java14 Full Records Support Check Validation: CovariantEqualsCheck. Author: Nick Mancuso #8462
  • Java14 Full Records Support Check Validation: WhitespaceAroundCheck. Author: Nick Mancuso #8528
  • Format xml sources. Author: pbludov #8544

Release 8.35

26.07.2020

New:

  • Java14 enhanced instanceof check validation: IllegalTypeCheck . Author: Nick Mancuso #8365
  • Java14 enhanced instanceof check validation: HiddenFieldCheck. Author: Nick Mancuso #8364
  • Java14 enhanced instanceof check validation: EqualsAvoidNullCheck. Author: Nick Mancuso #8362
  • Java14 enhanced instanceof check validation: AbbreviationAsWordInNameCheck. Author: Nick Mancuso #8387
  • Allow unsupported syntax, like record classes. Author: Nick Mancuso #8023
  • Add support for enhanced instanceof. Author: Nick Mancuso #7290

Bug fixes:

  • InnerTypeLast should handle ctors and static init blocks. Author: Andrei Paikin #8394
  • super::clone breaks SuperCloneCheck. Author: Andrei Paikin #8399
  • RedundantModifierCheck throws NullPointerException. Author: Andrei Paikin #8299

Notes:

  • Format xml sources. Author: pbludov #8544
  • Check that all xml sources are well formed. Author: pbludov #8543
  • Change diff report generation pipeline logic to trigger to single comment. Author: Andrei Paikin #8539
  • To Top Button on website. Author: JohannesTeklote #8533
  • Add TokenUtil.isTypeDeclaration method. Author: Nick Mancuso #8345
  • Enhance diff generation pipeline to create report for different configs for branches. Author: kate2513 #8448
  • Add comment to notify user about failure in diff report generation pipeline. Author: kate2513 #8496
  • Enhance diff generation pipeline to create report for new check. Author: OvchinnikovNV #8447
  • Add trigger to diff generation pipeline for comment editing. Author: kate2513 #8495
  • Remove pull request trigger from diff report generation action. Author: kate2513 #8459
  • Change comment action for report generation pipeline. Author: kate2513 #8446
  • Generation and publishing regression diff report base on config in PR description. Author: kate2513 #7498
  • Javadoc Modification for Metadata Generation Support. Author: Gaurab Dasgupta #8306
  • Extend Checkstyle GUI tool to work with Xpath. Author: hembhagat #4944
  • Ability to keep mobile mode when mobie phone is vertical position. Author: Roman Ivanov #8397
  • Change name of checkstyle types to match real java types. Author: Gaurab Dasgupta #8328
  • Revert "doc: add example of how to run GUI from snapshot jar". Author: Roman Ivanov
  • Increase font size for website. Author: JohannesTeklote #8264
  • doc: change "nmancus1" to "Nick Mancuso" in release notes. Author: Nick Mancuso
  • Resolve Sonar violation 'This branch's code block is the same as the block for the branch on line'. Author: Abhishek-kumar09 #8336

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

Release 7.8.2

Bug fixes:

  • Simple name conflict of Checks from thirdparty checks will cause exception in run time. Author: Luolc, Roman Ivanov #4414
  • 3rd party root modules not finding by simple name. Author: rnveach #4417
  • ASTs should be appended with comment nodes only when javadoc checks are present. ASTs shouldn't be walked if there are no corresponding types of checks. Author: Piyush Sharma #4393

Notes:

  • SummaryJavadoc: no violation on javadoc where '.' is used not as end of sentence (fixes in javadoc files only). Author: sagar-shah94 #3907
  • Split and Organize Checkstyle inputs by Test for checks in imports package. Author: Subbu Dantu #4437
  • Unstable TreeWalkerTest during coverage execution. Author: Piyush Sharma #4445
  • spelling: fix spelling of name McConnell. Author: Ryan P.C. McQuen
  • pitest: increase mutation coverage for pitest-checkstyle-utils profile to 100%. Author: vasilyeva #4395
  • Design a new format of suppression dtd schema to support XPath queries. Author: Timur #4364
  • Split and Organize Checkstyle inputs by Test for checks in modifier package. Author: Subbu Dantu #4431
  • pitest: increase mutation coverage for pitest-checkstyle-common profile to 100%. Author: vasilyeva #4400
  • pitest: increase mutation coverage for pitest-check-header profile to 100%. Author: vasilyeva #4401

Release 7.8.1

Bug fixes:

  • problem with usage of third-party Check libraries and checkstyle 7.8. Author: rnveach, Roman Ivanov #4387

Notes:

  • pitest: increase mutation coverage for pitest-check-annotation profile to 100%. Author: vasilyeva #4402
  • pitest: create profile for non-checks code. Author: vasilyeva #4367

Release 7.8

New:

  • ImportControl: new strategyOnMismatch property to xml file structure. Author: Tima #4274
  • NoWhitespaceAfter: add support for method reference operator (new Acceptable token). Author: Dmytro Kytsmen #3950
  • LocalFinalVariableName: not validating try-with-resource variables (new Acceptable token). Author: vasilyeva #3348
  • IllegalImport: new property illegalClasses to let blacklist certain classes import. Author: Tima #3449
  • ExplicitInitialization: new property 'onlyObjectReferences'. Author: Subbu Dantu #2399

Bug fixes:

  • Javadoc parser: Package names should permit digits in their name. Author: Piyush Sharma #4349
  • Expand exception violation when haltOnException is off. Author: rnveach #4350
  • CacheFile: violation on external resource will invalidate entire cache even if no changes are made. Author: rnveach #4101
  • RequireThis: False positive for lambda parameters. Author: Piyush Sharma #4207

Notes:

  • bump version for sevntu-checkstyle. Author: Roman Ivanov
  • publish all dtd schemas to sourceforge site automatically. Author: Andrei Selkin, Roman Ivanov #4341
  • Use reflection to load Checks base on checkstyle_packages.xml. Author: Luolc #3607
  • upgrade maven-pmd-plugin to version 3.8. Author: Dmytro Kytsmen #4342
  • Split and Organize Checkstyle inputs by Test for checks in coding package. Author: slava ganyaev, Dmytro Kytsmen #4165
  • ImportControl: blacklist mode. Author: Tima #3451
  • Localized UTs are not stable on Travis. Author: Roman Ivanov #4316
  • moved more variables inside if blocks to reduce execution. Author: rnveach #4343
  • spelling: Improve grammar of usage.distance.extend. Author: Jaron Thatcher
  • Split and Organize Checkstyle inputs by Test for checks in annotation package. Author: Dmytro Kytsmen #4313
  • Revert "Revert "config: bump maven-surefire-xxxxxx to 2.20" due to unstable locale UTs #4316". Author: Roman Ivanov
  • moved variables inside if blocks to reduce execution time. Author: rnveach #4328
  • doc: add link to contributing instructions to CONTRIBUTING.md. Author: Nathan Naze
  • Split and Organize Checkstyle inputs by Test for checks in design package. Author: Dmytro Kytsmen #4314
  • Split and Organize Checkstyle inputs by Test. Author: Dmytro Kytsmen #3891
  • Wercker CI is unstable while cloning repositories. Author: Roman Ivanov #4329
  • Revert "config: bump maven-surefire-xxxxxx to 2.20" due to unstable locale UTs #4316. Author: Roman Ivanov
  • Split and Organize Checkstyle inputs by Test for PackageName. Author: Dmytro Kytsmen #4172
  • Split and Organize Checkstyle inputs by Test for MemberName. Author: Dmytro Kytsmen #4151
  • Split and Organize Checkstyle inputs by Test for MethodName. Author: Dmytro Kytsmen #4158
  • move all dtd schemas to sourceforge site. Author: Andrei Selkin #1571

Release 7.7

New:

  • Ant: accept path in addition to fileset option. Author: Andrew Kuchev #3312
  • SeparatorWrap: add support for method reference operator. Author: Luolc #3951
  • NoWhitespaceBefore: add support for method reference operator. Author: Dmytro Kytsmen #3949
  • RightCurlyCheck: add support for lambda. Author: Vladislav Lisetskii #3546
  • ParenPad: thinks precedence parens are a METHOD_CALL instead of an EXPR, new token TokenTypes.DOT should be supported. Author: Subbu Dantu #3048
  • DefaultComesLast: new option skipIfLastAndSharedWithCase to raise violation if default doesn't share case. Author: Sagar #4078
  • ClassDataAbstractionCoupling and ClassFanOutComplexity: property to exclude packages. Author: Andrew Kuchev #3309
  • ClassDataAbstractionCoupling : Add a excludeClassesRegexps property . Author: Tima #3234

Bug fixes:

  • NPathComplexity ignores multi-part boolean expressions. Author: kazachka #56
  • ArrayTrailingComma: Extra coma is required in multiline array value. Author: Vladislav Lisetskii #1509
  • EmptyBlock should process LITERAL_DEFAULT. Author: Piyush Sharma #4159
  • Take "break" into consideration in FinalLocalVariable. Author: Luolc #4082
  • RequireThis treats local variables as properties. Author: Piyush Sharma #3423
  • Exception message not informative enough for users on incorrect parent. Author: Subbu Dantu #2186
  • EmptyBlock: can't get violation from case token. Author: Piyush Sharma #3839
  • RightCurly: False negative on multiblock tokens with ALONE_OR_SINGLELINE option. Author: Vladislav Lisetskii #4091

Notes:

  • Split and Organize Checkstyle inputs by Test for InterfaceTypeParameterName. Author: Dmytro Kytsmen #4142
  • ReturnCount: enforce max=1 over checkstyle code. Author: Vladislav Lisetskii #3496
  • Split and Organize Checkstyle inputs by Test in the blocks package. Author: Subbu Dantu, Dmytro Kytsmen #4220
  • Split and Organize Checkstyle inputs by Test for ClassTypeParameterName. Author: Dmytro Kytsmen #4137
  • Split and Organize Checkstyle inputs by Test for CatchParameterName. Author: Dmytro Kytsmen #4136
  • Split and Organize Checkstyle inputs by Test for ConstantName. Author: Dmytro Kytsmen #4141
  • Split and Organize Checkstyle inputs by Test for checks in coding package. Author: slava ganyaev, Dmytro Kytsmen #4165
  • Split and Organize Checkstyle inputs by Test for SingleSpaceSeparator. Author: Jun Lin #4080
  • Fix new TeamCity violations. Author: Roman Ivanov #4250
  • spelling: unify THIRDPARTY_PACKAGE into THIRD_PARTY_PACKAGE. Author: Yusuke Matsubara
  • Split and Organize Checkstyle inputs by Test for NoLineWrap. Author: Dmytro Kytsmen #3933
  • Split and Organize Checkstyle inputs by Test for OuterTypeNumber. Author: Dmytro Kytsmen #4043
  • Split and Organize Checkstyle inputs by Test for ParentPad. Author: Dmytro Kytsmen #4062
  • Split and Organize Checkstyle inputs by Test for StaticVariableName. Author: Akshita #4208
  • Split and Organize Checkstyle inputs by Test for NoWhitespaceAfter. Author: Dmytro Kytsmen #3931
  • Expand missing testing for PropertyCacheFile tests. Author: Andrei Selkin #3650
  • Adding IDEA project files to gitignore and excluding them from checkstyle list. Author: Tima #4209
  • Split and Organize Checkstyle inputs by Test for MethodTypeParameterName. Author: Janine Freitas #4168
  • Split and Organize Checkstyle inputs by Test for ParameterName. Author: Shubham Kumar #4191
  • Add suppression of .DS_Store for NewlineAtEndOfFile. Author: Luolc #4176
  • Split and Organize Checkstyle inputs by Test for WhitespaceAround. Author: Dmytro Kytsmen #3898
  • Verifying tokens in checkstyle config handles default tokens wrong. Author: rnveach #4119
  • spelling: fix grammar in messages.properties for indentation package. Author: Vladislav Lisetskii
  • Javadoc for try-with-resources tokens is not good enough. Author: Subbu Dantu #2899
  • Split and Organize Checkstyle inputs by Test for FileTabCharacter. Author: Dmytro Kytsmen #3959
  • Fix new TeamCity violations. Author: Vladislav Lisetskii #3616
  • Split and Organize Checkstyle inputs by Test for LocalVariableName. Author: Dmytro Kytsmen #4150
  • Formatting issue in documentation. Author: sagar shah #3902
  • doc: fix documentation for METHOD_REF token. Author: Subbu Dantu
  • Split and Organize Checkstyle inputs by Test for LocalFinalVariableName. Author: kurileo #4144
  • Split and Organize Checkstyle inputs by Test for NoWhitespaceBefore. Author: Subbu Dantu #3930
  • Enforce EndOfLine symbols at the end of all files in checkstyle repository. Author: Vikramaditya Kukreja #3072
  • Split and Organize Checkstyle inputs by Test. Author: slava ganyaev #3891
  • Split and Organize Checkstyle inputs by Test for ParameterNumber. Author: GabrielBercaru #4090
  • RightCurly: update documentation for singleline statements with SAME option. Author: Vladislav Lisetskii #4085
  • spelling: fix typos in tests. Author: Vladislav Lisetskii
  • spelling: fix typos in xdocs. Author: Vladislav Lisetskii
  • Fix typo in @serialField javadoc tag validation. Author: Vladislav Lisetskii #4126
  • spelling: fix some typos in code/javadoc/comments. Author: Vladislav Lisetskii
  • Split and Organize Checkstyle inputs by Test for AbstractClassName. Author: vasilyeva #4106
  • pitest: skip Uts execution as pitest do this for without mutation mode. Author: Roman Ivanov #4104
  • changed loops to end execution early. Author: rnveach #4102
  • Split and Organize Checkstyle inputs by Test for LineLength. Author: MikhailovOlegM #4013
  • Grammar mistakes in PULL_REQUEST_TEMPLATE.md. Author: unrealwork #4098

Release 7.6.1

New:

  • NoLineWrap: add support for static imports. Author: Vikramaditya Kukreja #3892
  • PackageDeclaration: new property matchDirectoryStructure to match the package name to directory name of source file. Author: Vikramaditya Kukreja #3437
  • ParenPad: add LAMBDA token support. Author: Andrew #3329

Bug fixes:

  • SummaryJavadoc: need special processing of inheritDoc tag. Author: Sagar #3908
  • Indentation check fails for Line Wrapped Anonymous Inner Class with LCurly on newline. Author: Andrew Kuchev #3612
  • Regression false-positive FinalLocalVariable. Author: Luolc #3172
  • ImportControlLoader does not close InputStream and leaks filehandles when xml is malformed. Author: Giorgos Gaganis #3962
  • RightCurly: ALONE option doesn't work for a singleline IF. Author: Andrei Selkin #4044
  • Test failed due to locale message settings. (with non-English locale settings). Author: Luolc #3896
  • Control Characters are not skipped with google_checks config. Author: Luolc #3700
  • WhitespaceAfterCheck: problem with multiline typecast. Author: Andrew Kuchev #3850
  • try to avoid non jdk runtime exceptions in code. Author: Vladislav Lisetskii #3763

Notes:

  • README: broken link. Author: unrealwork #4093
  • Wrong German translation of declaration.order.access in messages_de.properties. Author: sirdis #4081
  • Perform refactoring of AnnotationLocationCheck to increase code readability. Author: Andrei Selkin #4055
  • google_checks: update to most recent version of style guide ( Feb 28, 2017 ). Author: Roman Ivanov #3888
  • spelling: fix spelling and punctuation in comments (RightCurly). Author: Andrei Selkin
  • google_checks: update to most recent version of style guide (3 November 2016). Author: Andrei Selkin #3755
  • NPath for empty block is 1. Author: Roman Ivanov #4045
  • Add new setting in Beginning Development for IDEA docs. Author: Vikramaditya Kukreja #4030
  • doc: fix typos in Travis PR validation messages. Author: Vladislav Lisetskii
  • UTs should not use ROOT locale when they test violation/error message. Author: Luolc #3989
  • wercker ci should have most of testing launches on real code to shorten time of Travis execution. Author: Roman Ivanov #3798
  • Split and Organize Checkstyle inputs by Test for SeparatorWrap. Author: Sagar #3904
  • doc: update documentation for usage of "period" property at SummaryJavadoc. Author: Sagar #3906
  • spelling: corrected sentence. Author: Sagar
  • EmptyLineSeparator check not enforcing empty line after class def, enum def or interface def tokens. Author: Roman Ivanov #3089
  • spelling: change 'suite' to 'suit'. Author: ljacqu
  • WritingChecks: add documentation on java grammar. Author: Sagar #3883
  • expand documentation on METHOD_REF token. Author: Luolc #3731
  • circleci: provide ability to skip CI executions base on commit files. Author: Vladislav Lisetskii #3869
  • RequireThisCheck is not fully covered with UTs. Author: Andrei Selkin #3848
  • spelling: fix typo in documentation. Author: Craig P. Motlin
  • Code coverage is not working for certain classes in checkstyle. Author: Andrei Selkin #3843
  • Travis failure: "sonatype-nexus-staging not found" during release. Author: Roman Ivanov #3868
  • DetailAst class unclear logic in addChild method. Author: Abulfaz Ahmadov #3491
  • make code coverage for MainFrameModel 100%. Author: Xiao Pu #3648
  • Refactoring for RightCurlyCheck.java. Author: sagar shah #3685
  • Travis failure: "sonatype-nexus-staging not found" during release. Author: Roman Ivanov #3868
  • Split and Organize Checkstyle inputs by Test for WhitespaceAfterCheck. Author: Pedro Portela #3897
  • Split and Organize Checkstyle inputs by Test for TypecastParenPad. Author: Piyush Sharma #3900
  • CommitValidationTest: add character limit to line. Author: sagar shah #3910
  • doc: add examples for xdoc for ArrayTrailingComma. Author: Pedro Portela #3943
  • DetailASTTest: 'checkTree' failing on deep AST tree. Author: LoLo #3961
  • remove from Input files "Compilable with Java8". Author: LoLo #3965
  • Indentation UTs should not use ROOT locale when they test violation/error message. Author: LoLo #4003
  • Split and Organize Checkstyle inputs by Test for OperatorWrap. Author: Nikhil Gupta #3929
  • Split and Organize Checkstyle inputs by Test for MethodParamPad. Author: Nikhil Gupta #3954
  • Split and Organize Checkstyle inputs by Test for GenericWhitespace. Author: subkrish #3958
  • Split and Organize Checkstyle inputs by Test for EmptyForInitializerPadCheck. Author: samuel-gu #3970
  • Split and Organize Checkstyle inputs by Test for EmptyForIteratorPad. Author: shivanshsoni #3976
  • Split and Organize Checkstyle inputs by Test for EmptyLineSeparator. Author: anudeepti2004 #3985
  • Split and Organize Checkstyle inputs by Test for AnonInnerLength. Author: samuel-gu #3986
  • Split and Organize Checkstyle inputs by Test for ExecutableStatementCount. Author: GabrielBercaru #3991
  • Split and Organize Checkstyle inputs by Test for FileLength. Author: Grigorii Shevchenko #3999
  • Split and Organize Checkstyle inputs by Test for MethodCount. Author: timurt #4014
  • Split and Organize Checkstyle inputs by Test for MethodLength. Author: GabrielBercaru #4042
  • Split and Organize Checkstyle inputs by Test for AbbreviationAsWordInName. Author: Igor Shmagrinskiy #4095

Release 7.6

New:

  • add allowEmptyCatches parameter to WhitespaceAroundCheck. Author: liscju #3841
  • NoWhitespaceBefore: Add support for varargs. Author: Robert Painsi #3718
  • Google style: allow single character variables. Author: Andrei Selkin #3702
  • NPathComplexityCheck: set of tokens should not be customizable by user. Author: kazachka #3797

Bug fixes:

  • DesignForExtension: order of annotations change violation. Author: Andrei Selkin #3830
  • AbbreviationAsWordInName: confusing violation message. Author: rnveach #3721
  • Fix AbstractTypeAwareCheck when dealing with nested interfaces. Author: rnveach #3835
  • IllegalTokenText in google_checks should not has BACKSPACE character. Author: rnveach #3701
  • IndentationCheck: catch child indentation not checked. Author: rnveach #3803
  • Indentation: Annotation with RParen on new line when followed by other annotations causes invalid expectation. Author: shawn.kovalchick #3733

Notes:

  • Code coverage is not working for certain classes in checkstyle. Author: Andrei Selkin #3843
  • ImportControl: improve xdoc documentation. Author: Jochen Van de Velde #2935
  • reevaluate tokens in IllegalTokenText. Author: Vladislav Lisetskii #3729
  • reevaluate 'default' and 'case' in google config for EmptyBlock. Author: rnveach #3748
  • reevaluate tokens in checkstyle config for NeedBraces. Author: rnveach #3735
  • Config: forbid assert token by Illegal token Check. Author: rnveach #3751
  • reevaluate tokens in google config for OperatorWrapCheck. Author: rnveach #3749
  • messages_ja.properties contains funny (wrongly machine-translated) messages. Author: SATO Yusuke #3831
  • config: Remove redundant and incorrect rules from import control configuration. Author: Jochen Van de Velde #3736
  • travis should skip execution if configs of other CIs are changed. Author: Roman Ivanov #3818
  • doc: Add notes on import control config for inner classes. Author: Jochen Van de Velde
  • Rename method in CheckUtil. Author: Vladislav Lisetskii #3820
  • wercker ci should have most of testing launches on real code to shorten time of Travis execution. Author: Roman Ivanov #3798
  • Typo in website documentation for JavadocMethod.. Author: Roman Ivanov #3800
  • doc: Known API issues was added to reference #3810. Author: Roman Ivanov

Release 7.5.1

Bug fixes:

  • PackageObjectFactory hides real exception. Author: rnveach #3778
  • RightCurly: handling of try-with-resources on several lines with CS 7.5. Author: rnveach, Roman Ivanov #3776

Notes:

  • Add the Hibernate Search project to the Checkstyle CI. Author: Roman Ivanov #3790

Release 7.5

Breaking backward compatibility:

  • ParameterName: deprecate 'scope' and 'excludeScope' properties, introduce new property 'accessModifiers'. Author: Andrei Selkin #3675

New:

  • Ant: Cannot override default Checker. Author: rnveach #3530
  • ImportControl should have property which allows to validate specified file path. Author: Jochen Van de Velde #3462

Bug fixes:

  • NullPointerException in AbstractHeaderCheck when cache file specified and no header file. Author: rnveach #3771
  • RequireThisCheck doesn't see outer classes for anonymous classes. Author: Vladislav Lisetskiy #3041
  • NPE on type parameter annotations for this. Author: Markus Rathgeb #3732
  • UnusedImports behaviour is different from documentation. Author: Andrei Selkin #3741
  • Javadoc: Column number of DetailNode is always 0 for first line. Author: kazachka #3507
  • FallThrough check doesn't correctly handle try-with-resources. Author: rnveach #3509
  • RedundantModifier: no violation on final enum field methods. Author: rnveach #3582
  • NPE in RightCurly with LITERAL_DO on do-while without curly braces. Author: rnveach #3681

Notes:

  • reevaluate tokens in google config for NeedBracesCheck. Author: rnveach #3753
  • refactoring: RightCurlyCheck code expression. Author: rnveach #3764
  • Verify tokens in google config. Author: rnveach #3740
  • Verify tokens in checkstyle config. Author: rnveach #3720
  • Strive for 100% mutation coverage. Author: rnveach, Roman Ivanov #3708
  • doc: Fix typo in config_imports.xml. Author: Jochen Van de Velde
  • Investigate pitest tool. Author: Roman Ivanov #3271
  • add pgjdbc project at NoErrorTest group of tests. Author: Roman Ivanov #3670
  • use shippable CI in testing. Author: Oleg Efremenkov #3316
  • doc: fix the escaping of AvoidEscapedUnicodeCharactersCheck's javadocs. Author: Michael Diamond
  • use new checks and new properties from sevntu.checkstyle project. Author: rnveach #3064
  • CI special phase to enforce 644 permissions on all files. Author: Roman Ivanov, MaksimP #3683
  • create xdoc for FileContentsHolder. Author: rnveach #3664
  • doc: Fix incorrect documentation for SuppressWithNearbyCommentFilter. Author: Charlie Pai
  • doc: how to generate sources after import project to IntelliJ IDEA. Author: Roman Ivanov

Release 7.4

New:

  • Support LITERAL_SYNCHRONIZED token for NoWhitespaceAfter Rule. Author: rnveach #2803
  • google_checks.xml : NO space is allowed method method name and its arguments. Author: rnveach #2809
  • Support more tokens in WhitespaceAfter check. Author: MaksimP #3333
  • Checker: option to allow printing exception as violation and continue execution. Author: rnveach #3611
  • ImportControl: allow to load files from resources. Author: Jochen Van de Velde #3450

Bug fixes:

  • NullPointerException when using NeedBraces with tokens LITERAL_CASE, LITERAL_DEFAULT. Author: liscju #3655
  • CustomImportOrder should check that import groups are separated by one line only. Author: kazachka #3551
  • RightCurly was misconfigured in google_checks.xml for do-while blocks. Author: Roman Ivanov #3678
  • keep a map of Check name and it package in source to avoid brute force load by PackageObjectFactory from all packages. Author: Vladislav Lisetskii #3184
  • Duplicated Checks in google_checks.xml config should have "id". Author: Roman Ivanov #3662
  • skip unnecessary exception 'Severity not set, ignoring exception'. Author: Roman Ivanov #3657
  • EmptyLineSeparator causing violation in `package-info.java`. Author: kazachka #3426
  • FinalLocalVariable should not to check multi-catch variables. Author: liscju #3617
  • ImportOrder: Check that import groups aren't separated internally. Author: linelect #2143

Notes:

  • update documentation about getAcceptableTokens for javadoc Checks. Author: Roman Ivanov #3672
  • update documentation for VariableDeclarationUsageDistance with allowedDistance = 0. Author: Roman Ivanov #3665
  • Module term and usage is confusing in test area. Author: rnveach #3667
  • Using the SPDX identifier for the license name. Author: Robert Reiz #3653
  • XDoc: extend validation to Checker and TreeWalker. Author: rnveach #3622
  • travis: use standalone shell files. Author: Roman Ivanov #3632
  • CustomImportControl bad document examples that could lead to false positive on 'special group'. Author: Roman Ivanov #3590
  • Add new Sevntu checks and create UT for missing checks. Author: Roman Ivanov #3628
  • repo files should not have execute permissions. Author: MaksimP #3600
  • use shippable CI in testing. Author: Oleg Efremenkov #3316
  • 100% UT coverage for ParseTreeTablePModel.java. Author: Saideep, Roman Ivanov #3606
  • Set Load external DTD feature to be enabled. Author: Aurimas Liutikas #3605
  • Modules and XDocs: change setter methods to receive similar types with field type for easier xdoc validation (more 2). Author: rnveach #3575
  • ImportControl: Deprecate 'url' property in favor of the 'file' property. Author: Jochen Van de Velde #3584
  • Unexpected loss of coverage for PropertyCacheFile.java. Author: Roman Ivanov #3594
  • Update ISSUE_TEMPLATE.md. Author: Roman Ivanov
  • refactoring to ImportControlCheck. Author: kazachka #3498
  • ThreadLocal usage in single threaded checkstyle. Author: Vladislav Lisetskii #2992
  • Detect final methods in Enumeration for RedundantModifier. Author: rnveach #2068

Release 7.3

Breaking backward compatibility:

  • Javadoc grammar: Delete child nodes in Javadoc TEXT node. Author: rnveach #3170

New:

  • Update Google style coverage to state of 12 July 2016. Author: alberto.cuda #3381
  • Modules and XDocs: changed setter methods to receive similar types with field type for easier xdoc validation. Author: rnveach #3255
  • CLI: Cannot override default Checker. Author: rnveach #3515
  • ParameterNameCheck: new scope and excludeScope properties. Author: alberto.cuda #3473
  • google_checks.xml CustomImportOrder problem. Author: Andrei Selkin #941

Bug fixes:

  • GUI: Add support of DetailNode objects in CodeSelector. Author: kazachka #3432
  • GUI: Inconsistency in AST structure for block-comments. Author: kazachka #3445
  • Checker Cache not saving files that have suppressed violations. Author: rnveach #3488

Notes:

  • ImportOrder: checkstyle_checks.xml does not have separate "java" group. Author: linelect #3577
  • doc: fix broken link to file filters page. Author: Ken Geis
  • use ForbidAnnotationElementValueCheck from sevntu.checkstyle. Author: rnveach #3567
  • Turn on Config Cache File Locally for Developers. Author: rnveach #3487
  • document isCommentNodesRequired method in xdoc. Author: Roman Ivanov #3561
  • Checkstyle tests should not require internet. Author: rnveach #3536
  • doc: note was placed to TranslationCheck that it has problems with Checker cache. Author: Roman Ivanov

Release 7.2

New:

  • DesignForExtension: consider overridable methods and javadoc. Author: Andrei Selkin #3102
  • ImportControl: allow regex in subpackage elements.. Author: Volker Boerchers #2999
  • Allow WhitespaceAround for ARRAY_INIT token. Author: zenigata #3202

Bug fixes:

  • Inconsistency in AST structure for block-comments. Author: kazachka #3431
  • Checker Cache invalidated falsely on load in second run due to external resources. Author: rnveach #3489
  • Wrong warning from AvoidEscapedUnicodeCharacters. Author: Dzmitry Rusak #3476
  • Add METHOD_REF to the list of valid tokens for OperatorCheck. Author: alberto.cuda #3472
  • DetailAST should invalidate childCount cache. Author: rnveach #3486
  • DetailAST should invalidate its methods cache (aka lazy-load). Author: Andrei Selkin #3466

Notes:

  • Rename PkgControl to ImportControl. Author: Jochen Van de Velde #3514
  • split Guard class into two. Author: Jochen Van de Velde #3497
  • openjdk8/9 test code should be parseable by checkstyle. Author: Roman Ivanov #3033
  • use shippable CI in testing. Author: Roman Ivanov #3316

Release 7.1.2

Bug fixes:

  • Wrong order of "default" method modifier. Author: alberto.cuda #3471
  • EqualsHashCode: hashCode without equals is not a violation. Author: rnveach #3308

Notes:

  • Revert "Pull #3162: Update version of commons-collections to 3.2.2 to fix security vulnerability CVE-2015-6420". Author: Roman Ivanov
  • Cut down on Checkstyle's dependencies on Guava. Author: Andrei Selkin #3433
  • doc: fixed the wording in javadoc for TrailingCommentCheck. Author: José Castro
  • doc: added missing slash to backport documentation url (#3457). Author: rnveach
  • doc: added links to cs backport jre6 (#3447). Author: rnveach
  • Replace line-based suppressions with inline ones for Checkstyle's suppressions.xml. Author: Andrei Selkin #2226
  • Update Checkstyle GUI in order to display Javadoc tokens. Author: Baratali Izmailov #408
  • Fix ForbidCertainImports config. Author: Andrei Selkin #3412
  • use CyclomaticComplexity.switchBlockAsSingleDecisionPoint in checkstyle_checks.xml. Author: Andrei Selkin #2874
  • SuppressCommentFilter not working with ClassDataAbstractionCoupling when specified on class. Author: Andrei Selkin #977
  • Resolve IntelliJ IDEA inspection violations for java8. Author: Mariia Mykhailova #3233
  • Replace Guava's Joiner with Java 8 native approach. Author: Andrei Selkin #3406
  • Fix grammar in issue templates. Author: Roman Ivanov #3428
  • spelling: PR instructions, YOU --> YOUR. Author: Elliotte Rusty Harold

Release 7.1.1

Bug fixes:

  • EqualsHashCode: hashCode without equals is not a violation. Author: rnveach #3308
  • RedundantModifier : missed violations at interface and abstract class methods signatures with final parameters. Author: rnveach #3322

Notes:

  • Remove usage of System.out.println in IT resources. Author: Andrei Selkin #2541
  • Flaws in German translation. Author: Claas Augner #3403
  • Add NonDex tool to pom.xml and .travis.yml. Author: Ben Lambeth #3378

Release 7.1

New:

  • new CLI option: exclude directories. Author: rnveach #3287
  • ImportOrder: make static imports ordering as in Eclipse. Author: Andrei Selkin #3101

Bug fixes:

  • Indentation: incorrect expectation for wrapped arguments of chained calls. Author: Kevin Conaway #3208
  • RedundantModifier: miss violation on extra final in try-with-resources. Author: rnveach, Roman Ivanov #3323
  • RequireThisCheck: false positive on static field. Author: rnveach #3335
  • FinalLocalVariable: false positive when variable is assigned inside and outside switch-block. Author: Andrei Selkin #3074
  • RequireThisCheck: NPE when surrounded by braces. Author: rnveach #3334

Notes:

  • IndentationCheckTest makes assumption about the order of HashMap. Author: Ben Lambeth #3369
  • Create web-page with instructions: how to create Javadoc Check. Author: Baratali Izmailov, Roman Ivanov #410
  • Update releasenotes generation. Author: Vladislav Lisetskii #3350
  • Update releasenotes generation. Author: Vladislav Lisetskii #3349
  • Update PULL_REQUEST_TEMPLATE.md. Author: Roman Ivanov
  • doc: Fix JavaDoc comments (#3338). Author: Michael Simons
  • Online docs: AST example for LITERAL_DO is missing the DO_WHILE node. Author: Roman Ivanov #3209

Release 7.0

Breaking backward compatibility:

  • update checkstyle to jdk8 as runtime jdk. Author: Roman Ivanov #3229
  • Modules and XDocs: changed setter methods to receive similar types with field type for easier xdoc validation. Author: rnveach #3212

New:

  • VisibilityModifier: allow public final fields. Author: Andrei Selkin #2971

Bug fixes:

  • Ability to differentiate annotation placement in for each loop from variable declaration.. Author: Andrei Selkin #3117
  • Java 8 Grammar: Parsing of explicit receiver parameters. Author: rnveach #3239
  • Java 8 Grammar: annotation on throws types. Author: rnveach #3237
  • Java 8 Grammar: annotation on generic type. Author: rnveach #3240
  • CommentsIndentation : Check incorrect work with subsequent comments. Author: Vladislav Lisetskii #3166
  • CommentsIndentation : allow upper comments for following block at multi-block structures. Author: Vladislav Lisetskii #3220
  • CommentsIndentation : false-positive in empty array declarations. Author: Vladislav Lisetskii #3127
  • CommentsIndentation: false-positive when a singleline comment follows a block comment. Author: Vladislav Lisetskii #3126
  • RightCurly rule should properly enforce same rule for LITERAL_DO. Author: Andrei Selkin #3090
  • Proper support for generics in visibility modifier check. Author: Andrei Selkin #3142
  • Indentation: incorrect validation for imports and package. Author: rnveach #2618
  • Indentation: remove requirement right curlies to be first on line. Author: rnveach #3116

Notes:

  • doc: fixed checkstyle download url (#3304). Author: rnveach
  • Reduce the number of tasks performed by Travis CI. Author: Andrei Selkin, Roman Ivanov #3159
  • Cut down on Checkstyle's dependencies on Guava. Author: Andrei Selkin #3293
  • doc: update for AnnotationLocation examples to be more exact. Author: Roman Ivanov
  • 6 tests in Checkstyle master branch fail at clean Ubuntu 14.04 Docker container (Java 8, Maven 3). Author: Andrei Selkin #3177
  • Avoid catching of InvalidPathException and AccessDeniedException in PropertyCacheFile#persist. Author: Andrei Selkin #3259
  • Review all French translations. Author: Vincent Privat #3282
  • Improve French translation for annotations warnings. Author: Vincent Privat #3278
  • Create web-page with instructions: how to create Javadoc Check. Author: Baratali Izmailov, Roman Ivanov #410
  • corrected alphabetical order of the checks. Author: Claus Schrammel #3263
  • CommitValidationTest.testCommitMessageHasSingleLine to support github default format. Author: rnveach #3266
  • XDoc Config: create unit test to verify property types and default values. Author: rnveach #3187

Release 6.19

Breaking backward compatibility:

  • Aligned setters with String collection fields and broke old compatibility. Author: rnveach #3189

New:

  • new Check: SingleSpaceSeparator. Author: rnveach #3173
  • ReturnCount: special option for methods with void return type. Author: rnveach #3143
  • new CLI argument: provide ability to show debug level of logs from checkstyle code. Author: rnveach #3086
  • Fix cache usage in presence of filters. Author: Andrei Selkin #407

Bug fixes:

  • CLI Javadoc tree printer doesn't show errors. Author: Baratali Izmailov #3219
  • Block Comments: CR lines not handled the same as LF lines. Author: rnveach #3225
  • IllegalTokenTextCheck and IllegalTokenCheck does not work with COMMENT_CONTENT token. Author: Roman Ivanov #3153
  • Indentation: throwsIndent should configure indentation of `throws` on next line. Author: rnveach #2763
  • UnusedImports: value javadoc tag does not reference imports. Author: Konstantin Lutovich #3157

Notes:

  • FileContents confused about number of lines in comment separated by '\r'. Author: rnveach #3066
  • Create web-page with instructions: how to create Javadoc Check. Author: Baratali Izmailov, Roman Ivanov #410
  • XDoc Config: create unit test to verify property types and default values. Author: rnveach #3187
  • Some PullRequests validation for commit message miss some cases. Author: rnveach #3168
  • AnnotationLocation: unclear behavior when annotation is among modifiers. Author: Roman Ivanov #3164
  • Documentation for ANT property config is incorrect. Author: Roman Ivanov #3119
  • Sevntu CS not running on all CS code. Author: rnveach, Roman Ivanov #3175
  • Update version of commons-collections to 3.2.2(from 3.2.1) to fix security vulnerability CVE-2015-6420. Author: akhil #3162
  • doc: Indentation property description become worded in the same way. Author: Roman Ivanov

Release 6.18

New:

  • Make CLI option to print full parsing tree (java + comments + javadoc comments). Author: Baratali Izmailov #3040
  • Add the ability to validate language codes by TranslationCheck. Author: Andrei Selkin #2969
  • EmptyLineSeparator to check empty lines inside methods. Author: Vladislav Lisetskii #2944

Bug fixes:

  • NullPointerException in FinalLocalVariableCheck with Lambdas. Author: rnveach #3144
  • Serious performance problem in All Javadoc Check that are based on ANTLR parser. Author: rnveach #1064
  • CommentsIndentation Check - False Positive at End-of-Method. Author: Vladislav Lisetskii #2998
  • Indentation: fix line wrap handling. Author: rnveach #2950
  • Indentation module regression in 6.16 and 6.17.. Author: rnveach #3103
  • NPE in AnnotationLocationCheck.hasAnnotations. Author: rnveach #3106
  • Execution of checkstyle audit failed caused by inherited javadoc tag. Author: rnveach #3065
  • AvoidEscapedUnicodeCharacters: Tail comment check failed if there's tabs before tail comment.. Author: Vladislav Lisetskii #3005
  • FinalLocalVariable: false positive when variable is assigned multiple times. Author: Andrei Selkin #3006
  • Support for LAMDA token in WhitespaceAround check. Author: Vladislav Lisetskii #2924

Notes:

  • maven-site-plugin:3.5 has problem to build our website. Author: Vladislav Lisetskii, Roman Ivanov #2966
  • RegexpOnFilename example from documentation does not work on checkstyle source. Author: rnveach #3085
  • Create web-page with instructions: how to create Javadoc Check. Author: Baratali Izmailov #410
  • IndentationCheckTest: 'exp' in input files are out of sync with test. Author: rnveach #3105
  • Some redundant messages.. Author: rnveach #3000
  • doc: added Codacy to the list of active tools. Author: José Castro
  • Fix all issues for Java found by Codacy static analysis tool. Author: Andrei Selkin #2271
  • Use Distelli CI for testing of Javadoc Checks. Author: Baratali Izmailov, Roman Ivanov #2825
  • doc: DesignForExtension documentation is extended to warn user about possible misusage of this Check. Author: Roman Ivanov
  • Fund raising pages for checkstyle. Author: Roman Ivanov #3057
  • Use DatatypeConverter#printHexBinary to convert byte array to hex String in PropertyCacheFile. Author: Andrei Selkin #3093
  • SSLHandshakeException exception during linkcheck-maven-plugin. Author: Roman Ivanov #3080
  • Speed up google_check validation test. Author: Vladislav Lisetskii #3070
  • Strive for 100% line coverage for java grammar. Author: rnveach #2973

Release 6.17

Breaking backward compatibility:

  • Add 'baseName' option and remove 'basenameSeparator' option of TranslationCheck. Author: Andrei Selkin #2204

New:

  • Make CLI option to be able to print Javadoc tree as plain text. Author: Baratali Izmailov #652
  • java9: try structure is not parsable when only name is used. Author: Roman Ivanov #3025
  • All messages translated to Chinese. Author: ybbpgfjtey #3001
  • RequireThis: new option validateOnlyOverlapping. Author: Andrei Selkin #2362

Bug fixes:

  • Bad german translation of summary.first.sentence. Author: Christian H. Kuhn #3013
  • Ignored file extensions will output unterminated <file> tags in XML. Author: idarmans #3022
  • NPE when running CS with cache with Maven plugin using NewlineAtEndOfFile. Author: Vladislav Lisetskii #2218
  • Exception when using method reference in lamba "Class<?>[]::new". Author: Ilja Dubinin #2729
  • ClassNotFoundException when using inherited exception (regression to issue #1192 fix). Author: Roman Ivanov #3008

Notes:

  • doc: extending Rationale of NewlineAtEndOfFile with example. Author: Roman Ivanov
  • Fund raising pages for checkstyle. Author: Roman Ivanov #3057
  • java8: Create compilable test inputs with all possible cases for method references. Author: rnveach #2968
  • upgrade equalsverifier to version 2.0. Author: Vladislav Lisetskii #3035
  • remove dependency to commons-lang3 library. Author: Rasmus Kaj #2428
  • reenable two sevntu checks. Author: Vladislav Lisetskii #3042
  • Use Collections.addAll() instead of adding elements individually. Author: Baratali Izmailov #625
  • Make coverage 100% for all classes at package com.puppycrawl.tools.checkstyle.ant. Author: Vladislav Lisetskii, Roman Ivanov #1487
  • Localed UTs are failing at CheckstyleAntTaskTest.testXmlOutput. Author: Roman Ivanov #3023
  • Strive for 100% line coverage for java grammar. Author: rnveach #2973

Release 6.16.1

Bug fixes:

  • fix TokenTypes compatibility problems between 6.15 and 6.16. Author: rnveach #2997
  • Allow JUnit ClassRule to be public. Author: Andrej Vano #2987
  • FinalParameters should not warn for non-final parameters of native methods. Author: rnveach #2981

Notes:

  • Revert "Issue #2973: removed unused FLOAT_SUFFIX from java.g". Author: Roman Ivanov
  • all rows in coverage table google_style.html should have anchor. Author: rnveach #2975
  • Strive for 100% line coverage for java grammar. Author: rnveach #2973

Release 6.16

Breaking backward compatibility:

  • Move Treewalker cache to Checker. Author: Andrei Selkin #569

New:

  • Make CLI option to be able to print Javadoc tree as plain text. Author: Baratali Izmailov #652
  • copy Check class to AbstractCheck class to let deprecate Check class. Author: rnveach, Roman Ivanov #2551
  • Print parse tree from CLI to terminal. Author: Vladislav Lisetskii #2638

Bug fixes:

  • Skip type annotations from validation of ModifierOrderCheck. Author: Andrei Selkin #903
  • Probable typo in com.puppycrawl.tools.checkstyle.checks.blocks.RightCurlyCheck. Author: Andrei Selkin #2762
  • Indentation check reports some incorrect indentation levels on errors. Author: rnveach #2941
  • 6.15 complains about missing @return tag in a overridden method. Author: Vladislav Lisetskii #2869
  • Nesting Checks in each other in config does not produce any error. Author: rnveach #2773
  • Forbid multiple violation for the same line in IndentationCheck. Author: liscju #676
  • LeftCurly not working correctly with lambdas. Author: liscju #2818
  • Duplicate error message for static final field in DeclarationOrder check. Author: liscju #1048
  • Translation Check: wrong support for resources with language, country, variant. Author: Andrei Selkin #2251
  • Checkstyle internal exceptions lack contextual information. Author: Andrei Selkin #2285
  • Changed semantics of PropertyExpander. Author: Petr Hejl #2886
  • Indentation properties not applied properly to lambdas. Author: rnveach #281
  • VisibilityModifier.allowPublicImmutableFields should allow public immutable fields in enums. Author: Vladislav Lisetskii #2887
  • FinalClass is over aggressive when extending happen inside class. Author: liscju #2822
  • WhitespaceAround should have an option allow double-brace initialization. Author: liscju #2838
  • Exception when using method reference in lamba "Class<?>[]::new". Author: Ilja Dubinin #2729
  • Wasted disk access. Author: rnveach #2103
  • JavadocType doesn't report unused param tag. Author: liscju #2811
  • DeclarationOrder check enforces order that is not possible. Author: Andrei Selkin #924
  • Tabs are wrongly handled in Indentation check when line is wrapped. Author: rnveach #2795
  • custom javadoc inline tags cause parse error. Author: rnveach #1184
  • JavadocStyleCheck: String index out of range: -1. Author: rnveach #2788

Notes:

  • Strive for 100% line coverage for java grammar. Author: rnveach #2973
  • Refactor Comments AST Test. Author: rnveach #2396
  • doc: example to checkstyle's Ant configuration was added to anttask.html. Author: Roman Ivanov
  • Travis: add xwiki project to regression testing. Author: Vladislav Lisetskii #2938
  • PMD: resolve problems from DefaultPackage rule. Author: Vladislav Lisetskii, Roman Ivanov #957
  • doc: Improve javadoc of parameters of AnnotationLocationCheck.. Author: liscju
  • fix java8 compilation problems in Inputs. Author: rnveach #2904
  • Create web-page with instructions: how to create Javadoc Check. Author: Baratali Izmailov #410
  • PMD ExceptionAsFlowControl: Do not use exceptions as flow control to create objects in PackageObjectFactory. Author: Vladislav Lisetskii #1159
  • ant with failOnViolation="false" will FAIL. Author: Vladislav Lisetskii #2185
  • Checkstyle cannot be built using JDK9 as tools.jar has been dropped. Author: Peter Wong #2905
  • CS' java 8 code isn't compilable. Author: rnveach #2880
  • doc: NPath documentation is extended. Author: Roman Ivanov
  • Refactor gui package. Author: Vladislav Lisetskii #2609
  • spelling: Correct spelling for fast-forward-merge.sh. Author: Thomas Paul Mann
  • UTs should be launched in default locale. Author: Vladislav Lisetskii #2783
  • Disallow usage of java.util.Stack and java.util.Vector in code. Author: Andrei Selkin #2859

Release 6.15

New:

  • new Check: RegexpOnFilename. Author: rnveach, Roman Ivanov #2546
  • SuppressionFilter: new option 'optional' to allow skip SuppressionFilter if config file does not exist. Author: liscju #1002
  • Add possibility to specify a unique ID to all Regexp checks. Author: Andrei Selkin #1008

Bug fixes:

  • StringIndexOutOfBoundsException in Indentation check. Author: rnveach #2645
  • AbstractJavadocCheck should process only doc comments placed before class, interface, constructor, method, or field declarations. Author: Baratali Izmailov #325
  • SummaryJavadoc: false "end with a period" reports when inheritDoc is used. Author: rnveach #2805
  • JavadocMethod: allowedAnnotations hides bad javadocs. Author: rnveach #2806
  • FinalLocalVariable doesn't report variable when condition separates 2 assignments. Author: Bhavik Patel #2807
  • Config of Google Style does not include InterfaceTypeParameterName check. Author: Andrei Selkin #2792
  • Indentation on annotation parameters is wrong. Author: liscju #1349
  • OneStatementPerLine check and lambda expression. Author: liscju #2688
  • Gui should have a splitter between tree and code and prefered columns size. Author: liscju #2767
  • RequireThis reports false-positive when an instance method is overloaded with a static one. Author: Vladislav Lisetskii #2539

Notes:

  • Add checkstyle messages to xdocs. Author: rnveach #2836
  • Setup 'Circle CI' to run checkstyle-tester project on JDK sources. Author: Vladislav Lisetskii, Roman Ivanov #2815
  • Enforce Checks of sevntu.checkstyle (released version) over Checkstyle source code. Author: Yasser Aziza #2661
  • Use Codeship CI for testing. Author: Roman Ivanov #2727
  • Refactor gui package. Author: Vladislav Lisetskii, Roman Ivanov #2609
  • doc: Add sbt-checkstyle-plugin to list of active tools. Author: Andrew Johnson

Release 6.14.1

Bug fixes:

  • JavaNCSSCheck: unknown format type: numero inteiro. Author: Roman Ivanov #2728
  • StringIndexOutOfBoundsException in getCheckShortName method of AuditEventDefaultFormatter. Author: Andrei Selkin #2780

Notes:

  • spelling: fix typo in AuditEventFormatter class name. Author: Andrei Selkin

Release 6.14

Breaking backward compatibility:

  • Remove parameters validation from LocalVariableName. Author: Andrei Selkin #2549

New:

  • Print name of the Check after printing violation message. Author: Andrei Selkin #2666
  • WhitespaceAround should have an allowEmptyLambda parameter. Author: liscju #2603
  • Add ENUM_CONSTANT_DEF support to MethodParamPad. Author: Andrei Selkin #2505
  • new CatchParameterName Check: to validate names of catch-block parameters only. Author: Michal Kordas #2616

Bug fixes:

  • FinalLocalVariable false-positive in SWITCH. Author: Bhavik Patel #2405
  • Typo in Javadoc tag name. Author: Baratali Izmailov #2376
  • Extend parsing rule of custom Javadoc tag name. Author: Baratali Izmailov #461
  • Nesting Checks in each other in config does not produce any error. Author: Roman Ivanov #2773
  • RequireThis check message is not clear enough. Author: Vladislav Lisetskii #2239
  • OneStatementPerLine: false match with try-with-resources. Author: Jon Bake #2211
  • Performance issue in UnusedImportsCheck. Author: Vladislav Lisetskii #2631
  • Remove unused message. Author: Vladislav Lisetskii #2756
  • Create directory structure needed to store cache file. Author: Andrei Selkin #2575
  • AbbreviationAsWordInName incorrectly reports constants in annotations. Author: Abram Thielke #2694
  • Inconsistent violations for NeedBraces/allowSingleLineStatement. Author: liscju #2291
  • ParameterNameCheck: NullPointerException over checkstyle's input file. Author: Andrei Selkin #2678
  • @SuppressWarnings annotation does not suppress UncommentedMain. Author: Andrei Selkin #2646
  • UncommentedMain does not rise violations if main method has varargs as parameters. Author: Vladislav Lisetskii #2647
  • Fix 'tokens' property in JavadocStyle check. Author: Thomas Jensen #2644
  • GenericWhitespace: violation on generic like '...... instanceof Type<?>;'. Author: liscju #2633
  • AbbreviationAsWordInName: update message to print name that violates a format. Author: liscju #2640

Notes:

  • Use Nexus Staging Maven Plugin for release process. Author: Roman Ivanov #2619
  • Enforce Checks of sevntu.checkstyle (released version) over Checkstyle source code. Author: Andrei Selkin #2661
  • Make UT 'testNonAccessibleFile' locale independent. Author: Andrei Selkin #2749
  • Refactor gui package. Author: Vladislav Lisetskii #2609
  • Make DetectorOptions as final and immutable. Author: Andrei Selkin #2523
  • Fix additional issues reported by IntelliJ IDEA inspections in Checkstyle code. Author: Roman Ivanov #2080
  • conf: update guava version to 19.0. Author: Roman Ivanov
  • doc: Correct regexp in configuration example for ParameterNameCheck. Author: Andrei Selkin
  • doc: Add example for ParameterName into xdoc. Author: Andrei Selkin
  • doc: Fix check name in CatchParameterName xdoc. Author: Andrei Selkin
  • doc: Update comment in google_checks.xml. Author: Michal Kordas
  • Reorganize token sets in UncommentedMain. Author: Vladislav Lisetskii #2671
  • refactor internal tests. Author: rnveach #2625
  • Update configuration for XXXXName Checks at checkstyle_checks.xml. Author: Andrei Selkin #2604
  • Make validation of expected warnings in integration tests more strict. Author: Vladislav Lisetskii #2658
  • spelling: fix typo in word 'Existing' in google_style.xml. Author: liscju
  • Fix ParseTreeBuilder's variable names to be more readable. Author: Baratali Izmailov #2642

Release 6.13

Breaking backward compatibility:

  • Remove access to undocumented check properties. Author: rnveach #2451

New:

  • ParameterName: new option to skip methods with Override annotation. Author: Andrei Selkin #2290

Bug fixes:

  • False negative in RequireThis check. Author: Vladislav Lisetskii #2240
  • Checkstyle throws NumberFormatException on Japanese locale when sizes and metrics Checks are used. Author: Takahashi Eikou #2601
  • EmptyLineSeparator check does not validate newlines before class and after last method. Author: Vladislav Lisetskii #2067
  • FallThroughCheck handles finally incorrectly. Author: Vladislav Lisetskii #1438
  • EqualsAvoidNull check should сheck String concatenations. Author: Vladislav Lisetskii #1930

Notes:

  • minor: remove maven-failsafe-plugin from linkcheck excludes, since link was fixed. Author: Andrei Selkin
  • minor: build-helper-maven-plugin version bump to 1.10. Author: Roman Ivanov
  • adjust AbbreviationAsWordInName in checkstyle_checks.xml to catch unexpected abbreviations. Author: Roman Ivanov #2639
  • Fix additional issues reported by IntelliJ IDEA inspections in Checkstyle code. Author: Michal Kordas #2080
  • minor: fixed improper put that should be get. Author: rnveach
  • Code review of CommentsIndentationCheck.java. Author: Andrei Selkin #2530
  • Remove drag&drop from GUI. Author: Ilja Dubinin #2608
  • create HTML web page to describe how to open issues against Checkstyle. Author: Michal Kordas, Roman Ivanov #2344
  • Update JGit to 4.1.1.201511131810-r. Author: Michal Kordas #2607
  • Make methods private in RequireThisCheck. Author: Vladislav Lisetskii #2605
  • Tests for validating commit message should not allow period at the end of commit message. Author: Andrei Selkin #2590
  • doc: Correct xdoc/javadoc for ParameterNameCheck. Author: Andrei Selkin
  • unify IT test code. Author: rnveach #2589
  • minor: separated tests so one subject per file. Author: rnveach
  • Deactivate 'allowSamelineSingleParameterlessAnnotation' property of AnnotationLocation in Checkstyle config. Author: Michal Kordas #2581
  • Create test for checkstyle-X.X-all.jar on Travis. Author: Roman Ivanov #2516
  • Update slf4j-simple to 1.7.13. Author: Michal Kordas #2586
  • Update FindBugs Maven Plugin to 3.0.3. Author: Michal Kordas #2585
  • PMD: resolve problems from DefaultPackage rule. Author: Michal Kordas #957
  • minor: fixed wrong variable usage in AbstractOptionCheck. Author: rnveach
  • Remove usage of System.out.println in IT resources. Author: Michal Kordas, Roman Ivanov #2541
  • Unify naming of all files with IT inputs. Author: rnveach #2540
  • UT to validate google/sun style xdocs. Author: rnveach #2557
  • Unify naming of all files with test inputs. Author: rnveach, Roman Ivanov #2161
  • spelling: fix strange japanese.. Author: Nobuyuki-Inaba
  • Improve documentation for CovariantEquals check. Author: Vladislav Lisetskii #1031

Release 6.12.1

New:

  • Add 'ignoreOverridden' option to skip methods with @Override annotation. Author: Andrei Selkin #2290

Bug fixes:

  • Fix RedundantModifier at final methods in anonymous class. Author: rnveach #2122
  • Performance-Optimization: Do not recompile Pattern for each file/line. Author: Fabian Loewner #2495
  • Fix skipping validation for non empty classes when allowEmptyTypes is true. Author: Andrei Selkin #2480
  • NeedBraces: allow no body loops. Author: Andrei Selkin #2436
  • Make 'processJavadoc' property 'true' by default. Author: Vladislav Lisetskii #1627
  • spelling: fix strange japanese. Author: Nobuyuki-Inaba #2524

Notes:

  • removed excess hierarchy from several Checks. Author: rnveach #2451
  • deprecated AbstractIllegalCheck. Author: rnveach #2451
  • removed xdoc google style links to master. Author: rnveach #2519
  • removed xdoc links to master. Author: rnveach #2519
  • added xdoc example url validation. Author: rnveach #2517
  • added xdoc check order validation, all xdoc are sorted. Author: rnveach #2292
  • validate existence of config file sooner. Author: rnveach #1267
  • reorganized checkstyle_checks.xml. Author: rnveach #2526
  • Describe token sets in 'writing checks' section in xdoc. Author: Vladislav Lisetskii #2346
  • Update System Rules to 1.13.0. Author: Michal Kordas #2513

Release 6.12

Bug fixes:

  • CommentsIndentationCheck doesn't report errors at end of block. Author: Andrei Selkin #2078
  • Fix NoWhitespaceAfterCheck. Author: attatrol #1013
  • Fix NPE in EqualsAvoidNull check. Author: Vladislav Lisetskii #2474
  • Fix FinalLocalVariable false-negative. Author: Vladislav Lisetskii #1551
  • Exclude lines with package in LineLength check. Author: rnveach #2482
  • fixed NPE in NeedBraces.isSingleLineFor. Author: rnveach #2283
  • JavaDocMethod: Exception thrown for incomplete @return tag if next line is empty. Author: John Erik Halse #2398
  • Fix reusability of JavaDoc checks. Author: Björn Kautler #2326
  • Fixed blank line identification for EmptyLineSeparator check. Author: Pavel Baranchikov #2266
  • Support for @SuppressWarnings("all").. Author: Stéphane Galland #2275
  • Make SuppressWarningsFilter case-insensitive. Author: Michal Kordas #2202
  • Fix NPE in ModifiedControlVariable on SuppressWarnings. Author: Michal Kordas #2327
  • Do not recognize '/**/' as valid Javadoc. Author: Michal Kordas #2387
  • Make JavadocType check customizable by list of tokens. Author: Michal Kordas #2388
  • Fix FALSE positive in JavadocStyle check on inheritDoc tag. Author: Michal Kordas #2411
  • Ignore missing Javadoc for 'serialVersionUID' fields. Author: Michal Kordas #792
  • Exclude lines with imports in LineLength check. Author: Michal Kordas #2433
  • IllegalTypeCheck, requiredTokens is set to IMPORT only. Author: Roman Ivanov #2415
  • CLI should print a file name where exception is happen. Author: Roman Ivanov #2109
  • LeftCurly: add Anonymous class to allowed tokens. Author: Roman Ivanov #2431

Notes:

  • Deploy snapshots versions in CI. Author: WonderCsabo #2167
  • require all filters appear in checkstyle_checks.xml. Author: rnveach #2268
  • removed xdoc of CustomImportOrder.samePackageMatchingDepth. Author: rnveach #2453
  • added xdoc check validation. Author: rnveach #2442
  • Run CheckStyle on Full Test Directory. Author: rnveach #2421
  • fixed invalid xml examples in xdocs. Author: rnveach #2425
  • flush audit outputs sooner. Author: rnveach #2085
  • unify test input locations for whole project. Author: rnveach #2161
  • removed excess hierarchy from few Check. Author: rnveach #2451
  • Bunch of refactoring and code optimization. Author: rnveach
  • Update list of missing tools. Author: Dawid Nejman #1238
  • Sonarqube found problems in Checkstyle. Author: Ilja Dubinin #46
  • Replaced outdated link for bamboo-checkstyle-plugin. Author: Dawid Nejman #1238
  • 'forbiddenapis' plugin added to maven config. Author: Ruslan Diachenko #1217
  • Update list of related Tools. Author: Dawid Nejman #1238
  • skip all analysers during deploy. Author: Roman Ivanov #2167
  • usage of error-prone plugin is commented out till problems with Eclipse resolved. Author: Roman Ivanov #2160
  • Inconvenience to debug UTs after recent changes in BaseCheckTestSupport. Author: Roman Ivanov #2434
  • Fix PMD violations for ShortVariable rule. Author: Roman Ivanov #985
  • PMD violations PreserveStackTrace. Author: Roman Ivanov #996
  • PMD violations EmptyMethodInAbstractClassShouldBeAbstract. Author: Roman Ivanov #997
  • PMD violation ConfusingTernary. Author: Roman Ivanov #974
  • rename CheckUtils.isVoidMethod to isNonVoidMethod. Author: Roman Ivanov #2273
  • Decrease visibility of package-private methods. Author: Michal Kordas #957
  • Rename tests to match tested class name with Test suffix. Author: Michal Kordas #2215
  • Fix all issues for Java found by Codacy static analysis tool. Author: Michal Kordas #2271
  • Fix missing code coverage. Author: Michal Kordas #2243
  • Fix typos in code. Author: Michal Kordas #2080
  • Update Maven Shade Plugin to 2.4.2. Author: Michal Kordas #2464
  • Update Maven Surefire and Failsafe plugins to 2.19. Author: Michal Kordas #2394
  • Update Maven Assembly Plugin to 2.6. Author: Michal Kordas #2350
  • Update JGit to 4.1.0.201509280440-r. Author: Michal Kordas #2324
  • Update PowerMock to 1.6.3. Author: Michal Kordas #2293

Release 6.11.2

Bug fixes:

  • Make ConfigurationLoader.loadConfiguration public. Author: Michal Kordas #2260

Notes:

  • Create UT to check that all checkstyle modules have xdocs. Author: Andrei Selkin #819
  • Split config.html into few pages. Author: Andrei Selkin #819
  • Create xdoc documentation for FileContentsHolder. Author: Andrei Selkin #819
  • Add GENERIC_START and GENERIC_END into list of acceptable tokens in xdocs of NoWhiteSpaceAfter and WhiteSpaceAround. Author: Andrei Selkin #2258
  • Add COMMA into list of acceptable tokens in xdocs of NoWhiteSpaceBefore. Author: Andrei Selkin #2259
  • minor refactoring, helper method was added. Author: Aleksandr Ivanov #2231
  • fixed jgit resource leaks in commit validation. Author: rnveach
  • Ilja Dubinin was added as developer. Author: Roman Ivanov
  • Add WILDCARD_TYPE into list of acceptable tokens in xdocs of WhitespaceAround. Author: Andrei Selkin

Release 6.11.1

Bug fixes:

  • Add lambda support to indentation check (see #281). Author: Pieter Noordhuis #1548

Notes:

  • Coverage has been increased to 100% in 'checks' package. Author: Ilja Dubinin #1290
  • Resolve Doxia Site Renderer warnings. Author: Vladislav Lisetskii #905
  • Update plexus-compiler-javac-errorprone to 2.6. Author: Michal Kordas #2247
  • Update JGit to 4.0.2.201509141540-r. Author: Michal Kordas #2246
  • Fix release failure due to unknown Javadoc tag. Author: Michal Kordas #2245

Release 6.11

Breaking backward compatibility:

  • Restore 'url' option for ImportControl. Author: Aleksandr Ivanov #2231

New:

  • New option 'requiredTranslations' to Translation check. Author: Andrei Selkin #2166
  • New option 'switchBlockAsSingleDecisionPoint' for CyclomaticComplexityCheck. Author: Andrei Selkin #2029

Bug fixes:

  • Fix java grammar for unicode escape. Author: rnveach #157
  • Add basic thread-safety to Javadoc checks. Author: Michal Kordas #2237
  • Fixed NPE in FinalLocalVariableCheck. Author: rnveach #1257
  • NoWhitespaceAfter, NoWhitespaceBefore and WhitespaceAround don't support GENERIC_START nor GENERIC_END tokens. Author: Roman Ivanov #2219
  • Add support of lambdas which parameter types are omitted for HiddenFieldCheck. Author: Andrei Selkin #2175
  • Fix RedundantModifier check at final classes in interfaces. Author: Michal Kordas #2203
  • Print missing cause of exception to console on error. Author: Michal Kordas #2213
  • Fix not working excludeScope in JavadocMethod check. Author: Michal Kordas #2205
  • Fix RedundantModifier check to recognise inner classes accessible from global scope. Author: liscju #1537
  • CustomImportOrderCheck rule priorities. Author: Aleksandr Ivanov #1273
  • Fix false negative in AtclauseOrder check. Author: Vladislav Lisetskii #2095
  • Fix IllegalStateException in JavadocTypeCheck. Author: Vladislav Lisetskii #2112
  • Allow COMMA again in NoWhiteSpaceBefore. Author: Roman Ivanov #2089
  • Fix HiddenField false positive violations for anonymous classes. Author: Andrei Selkin #382
  • Added support of logging severity for all audit events. Author: Andrei Selkin #67
  • Allow @return tags from annotation types. Author: Phillip Webb #2141
  • Fixed redundant modifier false positive for abstract classes in interfaces. Author: Andrei Selkin #1833
  • Ignore classes nested in interfaces or annotations in Final Class Check. Author: Vladislav Lisetskii #2064
  • Detect nested enums marked as static in RedundantModifier check. Author: Vladislav Lisetskii #1530
  • Fixed NPE in MutableExceptionCheck.isExtendedClassNamedAsException. Author: Andrei Selkin #1903
  • Change message in SummaryJavadocCheck. Author: Vladislav Lisetskii #2062

Notes:

  • Update HTML documentation to describe all options for all checks. Author: Andrei Selkin #2169
  • Make link for each row of Google style coverage table. Author: Vladislav Lisetskii #1005
  • Add docs about while idiom to InnerAssignment check. Author: Michal Kordas #2230
  • Fix additional issues reported by IntelliJ IDEA inspections in Checkstyle code. Author: Michal Kordas #2080
  • SuppressionsLoaderTest UT was stabilized. Author: Ruslan Diachenko #2191
  • ROOT locale added in checker creation for UT; travis updated with a new check. Author: Ruslan Diachenko #2193
  • Update Error Prone to 2.0.5. Author: Michal Kordas #2216
  • Add "Input" prefix to test input files. Author: Michal Kordas #2161
  • Create MacOS matrix item for Travic-CI. Author: Roman Ivanov #2210
  • POM still references nexus.codehaus.org repo. Author: Roman Ivanov #2200
  • Make coverage 100% for TokenTypesDoclet. Author: Vladislav Lisetskii #2126
  • Make coverage 100% for all classes at package com.puppycrawl.tools.checkstyle.checks. Author: Ilja Dubinin #1290
  • Use StandardCharsets and get rid of UnsupportedEncodingException. Author: Michael Osipov #2034
  • Remove errors from Maven output in TokenTypesDocletTest. Author: Vladislav Lisetskii #2195
  • Anchor naming checks in google_style.xml. Author: Vladislav Lisetskii #2108
  • AbstractHeaderCheck coverage has been increased to 100%. Author: Ilja Dubinin #1292
  • Sonarqube found problems in Checkstyle. Author: Ilja Dubinin #46
  • CopyPasted ITs. Author: Vladislav Lisetskii #2074
  • Update Maven Wagon to 2.10. Author: Michal Kordas #2183
  • Update Maven Project Info Reports Plugin to 2.8.1. Author: Michal Kordas #2182
  • Split all modules to be separate at config_naming.html. Author: Vladislav Lisetskii #2108
  • Remove already fixed exclusion from PMD configuration. Author: Michal Kordas #961
  • Add SLF4J binding required by JGit. Author: Michal Kordas #2129
  • Configure compiler to use Error Prone for non-input sources. Author: Michal Kordas #2160
  • Rearrange POM to use canonical ordering. Author: Michal Kordas #809
  • Unify naming files with test inputs. Author: Michal Kordas #2161
  • Create wide message for CheckstyleException in PackageObjectFactory. Author: Andrei Selkin #759
  • Fix compiler warnings in input files. Author: Michal Kordas #2130
  • Updated checkstyle_checks.xml to use ParameterNumber in default configuration. Author: Andrei Selkin #215
  • Extended Eclipse user guide for newbies of Checkstyle. Author: Andrei Selkin #606
  • Fix exception at NeedBraces check in enhanced for loops. Author: Michal Kordas #2135
  • Make test for FileTabCharacter locale and OS independent. Author: Michal Kordas #2137
  • Add inspection scope profile for IDEA analysis. Author: Michal Kordas #2131
  • Fix issues reported by IntelliJ IDEA inspections in Checkstyle code. Author: Michal Kordas #1555
  • Added tests for validating commit message. Author: liscju #937
  • Fix StringIndexOutOfBoundsException. Author: Vladislav Lisetskii #2094
  • Activated TranslationCheck in checkstyle_checks.xml. Author: Andrei Selkin #2092
  • Fix Javadoc generation failure after addition of new tag. Author: Michal Kordas #2106
  • Add Codacy badge to main page. Author: Michal Kordas #2054
  • Update all Checks html docs with link to hosted configurations. Author: Vladislav Lisetskii #1214
  • Create separate web page for old release notes. Author: Vladislav Lisetskii #2063
  • Extended javadoc/xdoc for RightCurlyCheck. Author: Andrei Selkin #1900
  • Added UT which validates that all checks which exist in classpath are referenced in checkstyle_checks.xml. Author: Andrei Selkin #945
  • Add suppression for IntelliJ IDEA inspection. Author: Michal Kordas #2065
  • Refactoring of TreeWalker to increase readability. Author: Andrei Selkin
  • Corrected javadoc/xdoc for IllegalTypeCheck. Author: Andrei Selkin

Release 6.10.1

Bug fixes:

  • broken compatibility with maven-checkstyle-plugin:2.15 at checkstyle:6.10. Author: Roman Ivanov #2065

Release 6.10

Breaking backward compatibility:

  • 'ignoreMethods' option has been removed from DeclarationOrderCheck. Author: Baratali Izmailov #2031
  • fix typos in properties names. Author: Michal Kordas in scope of #1555
  • Rethrow all exceptions further to caller of Checker. Author: Ruslan Diachenko #1304
  • Improve exception handling in CheckstyleAntTask class. Author: Ruslan Diachenko #1245

New:

  • Added new Check: CommentsIndentationCheck. Author: Andrei Selkin #333

Bug fixes:

  • fixed problem with lexical order in CustomImportOrder. Author: Aleksandr Ivanov #1469
  • Extended messages for CustomImportOrder. Author: Aleksandr Ivanov #1648
  • Changed SAME_PACKAGE rule for CustomImportOrderCheck. Author: Aleksandr Ivanov #1262
  • reimplement EqualsAvoidNullCheck. Author: Vladislav Lisetskii #1377
  • enforce all checks to override getRequiredTokens, getAcceptableTokens methods. Author: Andrei Selkin #655
  • IllegalType: add 'validateAbstractClassNames' option. Author: Andrei Selkin #1805
  • Marked 'maxLineLength' as '@Deprecated' at LeftCurlyCheck. Author: Andrei Selkin #965
  • Detect public constructors in non-public classes in RedundantModifier. Author: liscju #1537
  • Fixes logic bug in gui ParseTreeInfoPanel making linesToPositions assign lines to inappropriate positions. Author: liscju
  • Fix RightCurlyCheck with same option not to rise expression in single-line blocks. Author: liscju #1416
  • Fix UnsupportedOperationException in GUI. Author: Michal Kordas #1718

Notes:

  • Fix issues reported by IntelliJ IDEA inspections in Checkstyle code. Author: Michal Kordas #1555
  • Fix violations reported by Checkstyle checks. Author: Baratali Izmailov , Ruslan Diachenko #1566
  • Sonarqube found problems in Checkstyle. Author: Ilja Dubinin #46
  • Enable Checkstyle checks for 'gui' package. Author: Roman Ivanov #1678
  • Corrected links on website. Author: Andrei Selkin #751
  • Eclipse warnings about unused fields have been fixed. Author: Baratali Izmailov #1243
  • Simplify overqualified CSS element. Author: Michal Kordas #2054
  • Remove empty CSS rule. Author: Michal Kordas #2054
  • config: maven-enforcer-plugin and equalsverifier are updated to newest version. Author: Roman Ivanov
  • Make coverage 100% for some classes at package com.puppycrawl.tools.checkstyle.checks. Author: Ilja Dubinin #1290
  • Utils classes have been moved to utils package, new classes CommonUtils and TokenUtils. Author: Ilja Dubinin #1898
  • Use EqualsVerifier to test equals and hashCode in IntMatchFilter. Author: Michal Kordas #1088
  • Removed suppression for SwitchDensity rule from PMD. Author: Andrei Selkin #973
  • Remove obsolete entry from PMD configuration. Author: Michal Kordas #877
  • Remove unused Coveralls plugin from pom.xml. Author: Roman Ivanov #1881
  • Update ANTLR to 4.5.1-1. Author: Roman Ivanov #1880
  • Update EqualsVerifier to 1.7.4. Author: Roman Ivanov #1879
  • replace deprecated method in HiddenCheckField. Author: Vladislav Lisetskii
  • Created JaCoCo profile of pom.xml. Author: Andrei Selkin #1173
  • Update Maven FindBugs Plugin to 3.0.2. Author: Michal Kordas #1714
  • Fixed typo in JavadocMethod's examples xdocs. Author: Andrei Selkin #1668
  • Make coverage 100% for all classes at package com.puppycrawl.tools.checkstyle.checks.regexp. Author: Ilja Dubinin #1010
  • Fix headers for classes in 'gui' package. Author: Michal Kordas #945
  • Make coverage 100% for all classes at package com.puppycrawl.tools.checkstyle.checks.coding.. Author: Baratali Izmailov #1293
  • Resolved javadoc problems that reported by java 8. Author: Andrei Selkin #291.
  • Minor typo fixes. Author: Dave Moloney

Release 6.9

Breaking backward compatibility:

New:

  • New option for MagicNumber: constantWaiverParentToken. Solution to not detected properly numbers. Author: Bhavik Patel #1266

Bug fixes:

  • Fixed NPE in MultipleVariableDeclarationsCheck Issue. Author: Baratali Izmailov #1539
  • Added column number into violation messages for RightCurlyCheck and LeftCurlyCheck. Author: Andrei Selkin #1511
  • Fix BooleanExpressionComplexity check violations in Checkstyle code. Author: Andrei Selkin #1052
  • Add new option for RightCurlyCheck. Author: Andrei Selkin #1019
  • Updated configuration for Eclipse Mars in xdoc. Author: Aleksandr Ivanov #1464
  • updated Xdoc and Javadoc for ImportOrder and CustomImportOrder. Author: Aleksandr Ivanov #1464
  • Remove from dependencies deprecated jar commons-beanutils-core.jar. Author: Roman Ivanov #1471
  • RedundantModifier for inner classes and enum constructors. Author: liscju #1242
  • Add missing xdocs for allowMultipleEmptyLines property of EmptyLineSeparatorCheck. Author: Andrei Selkin #881
  • Add setter for 'ignoreEnums' in LeftCurlyCheck. Author: Andrei Selkin #975
  • JavadocType does not check parameters in inner classes. Author: Pavel Baranchikov #1421
  • ImportOrderCheck. Fix separation for static imports. Author: Aleksandr Ivanov #1398
  • Fix for SuperClone and SuperFinalize checks reporting violations on native methods. Author: Vladislav Lisetskii #1367
  • Fix FallThroughCheck fails on if with no else. Author: Andrei Selkin #1395
  • fix JavadocParagraph allows new line before the next paragraph. Author: Vladislav Lisetskii #1332
  • Fix RegexpHeader causing exception with default config. Author: Andrei Selkin #1129
  • Fix OneStatementPerLine on multiple field initialization bug. Author: Andrei Selkin #1237
  • extend target list fo SuppressWarningsHolder. Author: Vladislav Lisetskii #1158
  • provide human message for SuppressWarningsHolder. Author: Vladislav Lisetskii #1158
  • Raising exception for CustomImportOrder.SAME_PACKAGE. Author: Aleksandr Ivanov #1282

Notes:

  • Enable CustomImportOrder. Author: Aleksandr Ivanov #1459
  • Add UniquePropertiesCheck into checkstyle_checks.xml. Author: Andrei Selkin #1129
  • Refactoring of FinalLocalVariableCheck to avoid 'fall through' violation. Author: Andrei Selkin #1395
  • Add Organize Imports instructions to site. Author: Aleksandr Ivanov #1448
  • Fixed compilation error for CustomImportOrder input file. Author: Aleksandr Ivanov #1470
  • ImportOrder enabled in configuration. Author: Aleksandr Ivanov #1448
  • Number of updates for. Author: Michal Kordas #1555
  • Fixed incorrect Google Java Style links. Author: Andrei Selkin #751
  • Refactoring of RightCurlyCheck. Author: Andrei Selkin #1511
  • Apply various improvements over Checkstyle test code. Author: Michal Kordas #1542
  • Apply various improvements over Checkstyle code. Author: Michal Kordas #1538
  • Remove unnecessary consecutive lines in Checkstyle code. Author: Michal Kordas #1534
  • Fix some SonarQube violations. Author: Michal Kordas #46
  • Enable NonEmptyAtclauseDescription check on Checkstyle code. Author: Michal Kordas #945
  • fix for UTs on Windows7 and do not conflict with WindowsServer. Author: Roman Ivanov #1496
  • Investigate UTs failure to MainTest on Windows. Author: Roman Ivanov #1510
  • fix for build problem in Idea on Windows. Author: Roman Ivanov
  • Make coverage 100% for all classes at package com.puppycrawl.tools.checkstyle.checks.metrics. Author: Ruslan Diachenko #1287
  • Make coverage 100% for all classes at package com.puppycrawl.tools.checkstyle.checks.regexp (partial fix). Author: Ilja Dubinin #1010
  • Make coverage 100% for all classes at package com.puppycrawl.tools.checkstyle.checks.blocks. Author: Ilja Dubinin #1291
  • Make coverage 100% for all classes at package com.puppycrawl.tools.checkstyle.checks.coding. Author: Baratali Izmailov #1293
  • Make coverage 100% for all classes at package com.puppycrawl.tools.checkstyle.checks.modifier. Author: Ruslan Diachenko #1286
  • Make coverage 100% for all classes at package com.puppycrawl.tools.checkstyle.checks.naming. Author: Ruslan Diachenko #1288
  • Make coverage 100% for all classes at package com.puppycrawl.tools.checkstyle.checks.whitespace. Author: Ruslan Diachenko #1289
  • Make coverage 100% for all classes at package com.puppycrawl.tools.checkstyle. Author: Roman Ivanov #1294
  • Make coverage 100% for all classes at package com.puppycrawl.tools.checkstyle.api. Author: Roman Ivanov #1295
  • Make coverage 100% for Indentation check. Author: Michal Kordas #1295
  • Make coverage 100% for all classes at package com.puppycrawl.tools.checkstyle.checks.javadoc. Author: Michal Kordas #1308
  • Make coverage 100% for all classes at package com.puppycrawl.tools.checkstyle.filters. Author: Ruslan Diachenko #1296
  • Make coverage 100% for all classes at package com.puppycrawl.tools.checkstyle.checks.imports. Author: Alexander Ivanov #1128
  • Make coverage 100% for all classes at package com.puppycrawl.tools.checkstyle.checks. Author: Ilja Dubinin #1290
  • Make coverage 100% for all classes at package com.puppycrawl.tools.checkstyle.checks.header. Author: Ilja Dubinin #1292
  • CheckDocsDoclet.java was removed as it is not used in a project.. Author: Roman Ivanov
  • Import which produces error on MacOSX jdk has been deleted. Author: Ilja Dubinin
  • javadoc: deprecate overview.html and package.html support. Author: Roman Ivanov #1415
  • Make "private" methods "static" where possible. Author: Michal Kordas #46
  • new images were provided by our artist, new header for web site. Author: Roman Ivanov
  • BaseCheckTestSupport.verify fails on Windows. Author: WonderCsabo #1388
  • check for connection is done by our website URL, as resource file is there. That let pass test when sourceforge web site is down. Author: Roman Ivanov
  • Switch options reorganized for easier reading. Author: Aleksandr Ivanov #1376
  • add example for ConstantName in xdoc. Author: Vladislav Lisetskii #1106
  • commented code was removed from CheckerTest. Author: Roman Ivanov
  • fix eclipse package declaration error in InputPackageDeclaration. Author: Vladislav Lisetskii
  • Add Gradle to list of related tools Correct SonarQube name and links in same list. Author: Thomas Jensen
  • fix structure of site.xml. Author: Vladislav Lisetskii #1341
  • Move tests which cause compilation problem in Eclipse 4.2.2 to non-compilable folder. Author: Andrei Selkin #1351
  • Fix integration test compilation error for Windows environment. Author: Michal Kordas #1342
  • Fix failing of ITs for OneStatementPerLineCheck. Author: Andrei Selkin #1348
  • surefire and failsafe plugins are moved above checkstyle validation to run before long checkstyle execution. Author: Roman Ivanov
  • add IT to validate google_checks config. Author: Vladislav Lisetskii #1275
  • rename fields in ConfigurationBuilder and BaseCheckTestSupport. Author: Vladislav Lisetskii
  • update build procedure to validate all XML files against their schemas. Author: Vladislav Lisetskii #1275
  • Fix compilation error for Windows environment. Author: Michal Kordas #1342
  • Remove usage of deprecated methods from MainTest. Author: Michal Kordas #1325
  • Restore checkstyle validation on https://sonarcloud.io. Author: Roman Ivanov #1319
  • Update Maven Shade Plugin, EqualsVerifier, antlr, system-rules and Maven PMD Plugin to latest versions. Author: Michal Kordas
  • system-rules, ant were updated to latest version. Author: Roman Ivanov
  • Removed all assert statements. Author: Aleksandr Ivanov #1298
  • Fix AbstractClassName Check on checkstyle code. Author: Bhavik Patel #945
  • Make Eclipse / m2e plugins generate valid projects. Author: Juan Martín Sotuyo Dodero

Release 6.8.2

Bug fixes:

  • Incorrect xml structure at google_checks.xml. Author: Vladislav Lisetskii #1275

Release 6.8.1

Bug fixes:

  • Cannot use config file bundled in jar. Author: Roman Ivanov #1265
  • NullPointerException at java.util.regex.Pattern from com.puppycrawl.tools.checkstyle.checks.regexp.DetectorOptions.getPattern. Author: Michael Vorburger #1224
  • StackOverflow at java.util.regex.*. Author: Michael Vorburger #1221
  • StackOverflow in com.puppycrawl.tools.checkstyle.checks.regexp.MultilineDetector.findMatch. Author: Michael Vorburger #48
  • RightCurly: Curly brace '}' should be on line by itself not reported for method with annotation. Author: Andrei Selkin #1014

Release 6.8

Breaking backward compatibility:

  • Detect only label as illegal token in IllegalToken check, default token set is changed to TokenTypes.LABELED_STAT. Author: Michal Kordas #1162
  • Add possibility to configure targets for ParenPad check, LPAREN and RPAREN were removed from acceptable tokens. Author: Vladislav Lisetskii #1189
  • Set default value of max property to 4 (from 1) for ThrowsCountCheck and update javadoc/xdoc. Author: Andrei Selkin #1143
  • Restoring method FileContents.getFileName() to keep backward compatibility for some time. Author: Thomas Jensen #1205
  • Rename CheckStyleTask to CheckstyleAntTask, Rename and move checkstyletask.properties. Author: Michal Kordas #1108
  • Remove AnnotationUtility and ScopeUtils from API package. Author: Michal Kordas #1057

New:

Bug fixes:

  • correction of parsing of attributes in AtclauseOrderCheck. Author: Vladislav Lisetskii #1152
  • fix for JavadocMethodCheck: catch NoClassDefFoundError in ClassResolver. Author: Vladislav Lisetskii #1192
  • Replace hardcoded message in WhitespaceAfterCheck with new message (i18n). Author: Andrei Selkin #967
  • Solution to wrong variable reported because of name shadowing in FinalLocalVariableCheck. Author: Bhavik Patel #1142
  • Clarify misleading command line tool (CLI) output. Author: Bhavik Patel #1062
  • solution to CLI fails when it could not find output file. Author: Bhavik Patel #1181
  • Fixed exception in AvoidStaticImport check trying to exclude members of inner class. Author: Aleksandr Ivanov #1209
  • Solution to "Incorrect config file cause CLI finish with error but no output with details". Author: Bhavik Patel #1180
  • Fix exception in SuppressWarnings check on complex annotations. Author: Michal Kordas #1201
  • Fix value pair representation in SuppressWarnings check. Author: Michal Kordas #1246
  • Do not generate violation for empty SuppressWarnings. Author: Michal Kordas #1187
  • Fix PackageDeclaration check for files with comments only. Author: Michal Kordas #1149
  • Fix exception in SuppressWarningsHolder on complex annotations or annotation with dot. Author: Michal Kordas #1148

Notes:

  • .gitignore with Eclipse's .externalToolBuilders and .checkstyle from Checkstyle CS Eclipse Plug-in. Author: Michael Vorburger
  • 100% test coverage for com.puppycrawl.tools.checkstyle.checks.sizes. Author: Andrei Selkin #1024
  • Fix empty html pages for extending Checkstyle and style configurations. Author: Vladislav Lisetskii #1231
  • move non-compilable input to resources-noncompilable. Author: Vladislav Lisetskii
  • Minor update in FallThroughCheck xdoc and javadoc. Author: Vladislav Lisetskii
  • PMD violations: UncommentedEmptyMethod, EmptyMethodInAbstractClassShouldBeAbstract, AbstractNaming. Author: Bhavik Patel #995, #997, #983
  • Fix violation of EmptyStatement, UncommentedMain, AvoidEscapedUnicodeCharacters, AbbreviationAsWordInName Checks in Checkstyle code. Author: Bhavik Patel #945
  • Ineffective suppressions are removed from checkstyle's configs. Author: Bhavik Patel
  • Checking existence of config file before processing target file.. Author: Bhavik Patel
  • Changed Integration Tests to use /src/it/. Author: Aleksandr Ivanov #1200
  • Updated description for UnusedImports, RedundantImport , Change "Beginning Development" page to reference JDK1.8. Author: Aleksandr Ivanov
  • UT coverage for RedundantImport. AvoidStarImportCheck check, Added UTs for getAcceptableTokens() and getRequiredTokens(). Author: Aleksandr Ivanov #1128
  • CyclomaticComplexity applied with level 11. Author: Roman Ivanov #954
  • NPathComplexity: extend documentation to make clear how it works, suppression rules for NPathComplexity. Author: Roman Ivanov #1218, #953
  • Content section was added to ease navigation in Checks descriptions pages, favicon images (png,ico) were introduced. Author: Roman Ivanov #1208
  • till MECLIPSE-735 we will keep Eclipse project files in repository. Author: Roman Ivanov #1219
  • Ordering issue with nested classes in static imports - xdoc was extended. Author: Roman Ivanov #1239
  • Update ant to 1.9.5, update for maven-eclipse-plugin to 2.10, system-rules updated to 1.11.0, commons-cli to 1.3.1. Author: Roman Ivanov
  • Integrate google-style-config-test as Integration Test. Author: Roman Ivanov #863
  • Add known limitations to SuppressWarnings check documentation. Author: Michal Kordas #1252
  • Fix PMD violations of ExceptionAsFlowControl, AvoidCatchingGenericException rule. Author: Michal Kordas #959, #962
  • Use SHA-1 instead on non-standard SHA in PropertyCacheFile. Author: Michal Kordas #1251
  • Add TravisCI build for assembly creation. Author: Michal Kordas #1204
  • Provide additional regression test for ParenPad check. Author: Michal Kordas #1189
  • Add tests for equals and toString in SuppressionCommentFilter. Author: Michal Kordas #1088
  • Move Regexp check from miscellaneous to regexp category. Author: Michal Kordas #1170
  • Remove unused MethodCallLineWrapHandler class. Author: Michal Kordas #1178
  • Make cobertura and coveralls build faster, Provide workaround for incorrect coverage shown by Cobertura. Author: Michal Kordas #1176
  • Generate HTML report on Maven cobertura:cobertura goal. Author: Michal Kordas #1169
  • Add virtual machine crash log files to .gitignore. Author: Michal Kordas #1168
  • Configure RegexpSinglelineJava to detect non-ASCII characters. Author: Michal Kordas #1165
  • Verify that classes with constants have private constructors. Author: Michal Kordas #840
  • Update system-rules to 1.10.0, maven-assembly-plugin to 2.5.5, maven-failsafe-plugin to 2.18.1, Maven Shade Plugin to 2.4. Author: Michal Kordas #1156, #1175, #1193, #1204

Release 6.7

Breaking backward compatibility:

  • Remove FastStack from API. Author: Michal Kordas #989
  • Util classes should be moved out of api package. Author: Roman Ivanov #1057
  • method TreeWalker.setClassloader() was renamed to TreeWalker.setClassLoader() with deprecation of old method. Author: Roman Ivanov #922

New:

  • New "ignorePrivateMethods" property for ThrowsCount check to skip private methods. Author: Vladislav Lisetskii #1136
  • New "crlf" option for lineSeparator property in NewlineAtEndOfFile check. Author: Martin Steiger #1045

Bug fixes:

  • Make message-based checks invariant to Locale. Author: Martin Steiger #1044
  • Fix no possibility to set English language explicitly in config. Author: Michal Kordas #152
  • Do not verify overriding methods in ThrowsCount check. Author: Vladislav Lisetskii #1085
  • Fix Regexp check causing exception on file with newline on top. Author: Michal Kordas #1129
  • Fix RegexpMultiline check causing exception with default config. Author: Michal Kordas #1129
  • Add support for canonical class names in MutableException. Author: Michal Kordas #1124
  • Fix NeedBraces check not requiring braces in multiline statements when using allowSingleLineStatement option. Author: Michal Kordas #895
  • Fix equals and hashCode in SuppressionFilter, SuppressElement, IntRangeFilter, LocalizedMessage and remove obsolete toString. Author: Michal Kordas #1088
  • Add "/", "+" and "-" to list of allowed tokens in MagicNumber check. Author: Michal Kordas #1113
  • Extend ReturnCount check to use separate return counter for lambdas. Author: Michal Kordas #1068
  • Fix exception in OneTopLevelClass check for package-info files. Author: Michal Kordas #1065
  • Fix exception in FallThrough check for nested switch statements. Author: Michal Kordas #837
  • MagicNumber annotation detection enhanced for arbitrary parent nodes in MagicNumber check. Author: Mehmet Can Cömert #926
  • Improve standard package regexp for CustomImportOrder check. Author: Michal Kordas #1020
  • Fix NPE in ModifiedControlVariable check. Author: Michal Kordas #1012
  • Include enums in CovariantEquals check analysis. Author: Michal Kordas #1011
  • Fix parsing of allowedAnnotations property in JavadocMethod check. Author: Gustav Carlson #1145

Notes:

  • Change location of left curly braces to end of line. Author: Michal Kordas #1089
  • Make coverage 100% for all classes at package com.puppycrawl.tools.checkstyle.checks.sizes. Author: Andrei Selkin #1024
  • 100% test coverage for com.puppycrawl.tools.checkstyle.checks.design. Author: Vladislav Lisetskii #1009
  • removing dead code and refactoring in VisibilityModifier check. Author: Vladislav Lisetskii #1107
  • Replace deprecated PosixParser with DefaultParser. Author: Michal Kordas #1099
  • remove dead code from MutableException check. Author: Vladislav Lisetskii #1103
  • remove dead code from FinalClass check. Author: Vladislav Lisetskii #1100
  • Make tests of Main class platform independent. Author: Michal Kordas #1086
  • removing abandoned test input files. Author: Ivan Sopov
  • Fix typos. Author: Julian Hyde
  • Fix PMD violations for number of rules. Author: Michal Kordas #948, #949, #960, #984, #998, #999, #928
  • Enable multiple Checkstyle checks on Checkstyle codebase. Author: Michal Kordas #945, #1049, #1040
  • Update commons-cli to 1.3. Author: Michal Kordas #1067
  • Update wagon-ssh to 2.9. Author: Michal Kordas #1060
  • Update maven-assembly-plugin to 2.5.4. Author: Michal Kordas #1055
  • Update cobertura-maven-plugin to 2.7. Author: Michal Kordas #916
  • Complete descriptions in checks index. Author: Andrew Gaul
  • Remove obsolete space from general error message. Author: Michal Kordas #1029
  • Add missing space in error message for CustomImportOrder check. Author: Michal Kordas #1027
  • resolving Findbugs violation: #911 , #909, #778, #923, #925, #596. Author: Roman Ivanov
  • huge refactoring for CLI Main class. Author: Roman Ivanov #596
  • Option allowPublicFinalFields does not exist in VisibilityModifier check. Author: Roman Ivanov #1126
  • OneTopLevelClass check example is broken and documentation missing, for 'tokens' property. Author: Roman Ivanov #1017
  • OneTopLevelClass check example in documentation has invalid XML syntax. Author: Roman Ivanov #1016

Release 6.6

New:

  • New option for MagicNumber Check to ignore magic numbers in field declarations. Author: ychulovskyy #148
  • New option for ModifiedControlVariable Check to ignore validation of variables defined in for loop which are not changed in for loop iterator part. Author: liscju #286

Bug fixes:

  • Extend LeftCurly check to verify static initializers. Author: Michal Kordas #966
  • Extend EmptyBlock check to verify synchronized blocks. Author: Michal Kordas #964
  • Fix generics with arrays handling in NoWhitespaceAfter. Author: Michal Kordas #931
  • Fix upper/lower case conversation, enhance tests. Author: Mehmet Can Cömert #969
  • Introduce new handler SynchronizedHandler for checking indentation. Author: liscju #580
  • added validation for header in setHeader in RegexpHeaderCheck.java to provide better feedback when an invalid Pattern is specified. Author: richter722 and Roman Ivanov #897

Notes:

  • Delete System.exit() and delegate exit control into separate method. Author: Damian Szczepanik #882
  • Repair ignored test. Author: Michal Kordas #994
  • Fix AnnotationLocation violation in Checkstyle codebase. Author: Michal Kordas #945
  • Fix AvoidStaticImport check violations in codebase. Author: Michal Kordas #979
  • Fix AtclauseOrder check violations in codebase. Author: Michal Kordas #978
  • Resolve Javadoc problems found by Checkstyle. Author: Michal Kordas #978
  • Replace all occurrences of FastStack with ArrayDeque. Author: Michal Kordas #86
  • Fix PMD violations from numerous ruleset in Checkstyle. Author: Roman Ivanov #744
  • Fix PMD violations from numerous ruleset in Checkstyle. Author: Michal Kordas #987, #982, #872, #744, #942, #874, #873, #871, #869, #876, #875,
  • Update Apache Commons Lang to 3.4. Author: Michal Kordas #899
  • Use use Java 7 instead of custom logic for relative paths. Author: Michal Kordas #857
  • Add test for non existing cache file. Author: Michal Kordas #921
  • Use entrySet iterator to fix FindBugs violations. Author: Michal Kordas #778
  • Integrate Gitter with Checkstyle. Author: Michal Kordas #864
  • Resolve some problems in Javadoc reported by Java 8. Author: Michal Kordas #291
  • Disable Findbugs for 'grammars' package. Author: Michal Kordas #778
  • Update Maven Compiler Plugin to 3.3. Author: Michal Kordas #867
  • Update FindBugs Maven Plugin to 3.0.1. Author: Michal Kordas #865
  • Update Maven Javadoc Plugin to 2.10.3. Author: Michal Kordas #939
  • Use SVG badge for coveralls.io. Author: AnirvanSarkar
  • all TODO/FIXME were removed, some of them converted to issues. Author: Roman Ivanov
  • all findbugs validation rules are activated. Author: Roman Ivanov #912, #778

Release 6.5

Breaking backward compatibility:

  • Class checkstyle.api.Utils was moved to checkstyle.Utils. Author: Alex Kravin #661

New:

  • New sortStaticImportsAlphabetically property for ImportOrder check that allows alphabetical grouping order in static group. Author: Alex Kravin #12
  • New allowSingleLineStatement property for NeedBraces check to allow one-line statements. Author: Alex Kravin #300
  • New ignoreAnnotationCanonicalNames property for VisibilityModifier check, to ignore fields with particular annotations. Author: Alex Kravin #584
  • New validateEnhancedForLoopVariable property for FinalLocalVariable check to enforce final variables in for each clause. Author: Bhavik Patel #20

Bug fixes:

  • CustomImportOrder checks import sorting according to ASCII order instead of case-insensitive alphabetical order. Author: Michal Kordas #847
  • Fix failing EmptyLineSeparator check on multiple imports or fields. Author: liscju #706
  • Fix ignoreSetter property of HiddenField not working for one letter fields. Author: Michal Kordas #730
  • Token WILDCARD_TYPE was added to WhitespaceAround check. Author: Danil Lopatin #853
  • SuppressionCommentFilter does not suppress StrictDuplicateCode warnings. Author: Yuriy Chulovskyy #26
  • AnnotationsUseStyle yields warning on "({})" of Array types. Author: Alex Kravin #28
  • Fix bug with lambda params in FinalLocalVariable check. Author: Alex Kravin #747
  • FinalLocalVariable Check, extended acceptable tokens. Author: Alex Kravin #762
  • Add support of logging severity for all audit events. Author: Alex Kravin #67
  • Fix typo in violation message of ModifierOrder check. Author: Michal Kordas #740

Notes:

  • Add anchors to sections. Author: Alex Kravin #586
  • Extended guide for newbies. Author: Alex Kravin #606
  • Remove printStackTrace(...) from whole code. Author: Alex Kravin #660
  • Move content from available_checks.html to checks.html. Author: Alex Kravin #691
  • EmptyCatchBlock check, updated docs. Author: Alex Kravin #571
  • Add post field for mailing lists. Author: Glenn Hollingsworth #743
  • Automate Code Coverage Validation. Author: Bhavik Patel #722
  • Update all Maven plugins to latest versions. Author: Michal Kordas #644
  • Resolve all violations that were found by default PMD maven plugin rule sets. Author: Michal Kordas #744
  • Add maven-project-info-reports-plugin to POM. Author: Michal Kordas #776
  • Several fixes for problems found by Findbugs. Author: Michal Kordas #778
  • Add OverloadMethodsDeclarationOrder to Available Checks page. Author: Michal Kordas #784
  • Add test to verify that all checks are present on website. Author: Michal Kordas #783
  • Remove deprecated getLines() methods from Utils. Author: Michal Kordas #854
  • Deprecate FastStack and replace it with ArrayDeque. Author: Michal Kordas #86
  • Huge amount of refactoring and improvements, some of them without issue reference. Author: Michal Kordas #674 , #729 , #730 , #736 , #742 , #751 , #787 , #790 , #805 , #806 , #809 , #816 , #821 , #821
  • Use Guava Closeables to manage closing exceptions. Author: Michal Kordas #836
  • Remove duplicate UniqueProperties section. Author: Michele Mauro #843
  • Add Utils.isPatternValid method to hide try-catch blocks when parsing is used only for validation. Author: Damian Szczepanik #835
  • Reduce complexity in HandlerFactory class by grouping catch blocks. Author: Damian Szczepanik #833
  • Delete ///CLOVER comments. Author: Damian Szczepanik #824
  • Update all links to sun.com reference to oracle site. Author: Damian Szczepanik #724

Release 6.4.1

Bug fixes:

  • VisibilityModifier Check, updated option setter. Author: Alex Kravin #710
  • GenericWhitespace Check, updated method references processing. Author: Alex Kravin #677

Notes:

  • HiddenField Check, updated docs for 'ignoreFormat' option. Author: Alex Kravin #607
  • Clarified all Indentation Input files for certain expected values. Author: Alexey Zuy #675
  • Update of maven plugins. Author: Michal Kordas #644
  • Fix incorrect author and typos in release notes for Release 6.4. Author: Michal Kordas #694

Release 6.4

New:

  • New Check: EmptyCatchBlock Check for Google Style Guide. Author: Alex Kravin#571
  • New option for VisibilityModifier Check, to allow public immutable fields. Author: Alex Kravin#61

Bug fixes:

  • Added support of Windows line separator to Javadoc parser. Fixed UTs. Author: Baratali Izmailov #612
  • Fix NPE when setting classpath field. Author: Aaron Sheldon
  • IllegalType Check, updated memberModifiers option setting. Author: Alex Kravin #663
  • BooleanExpression Complexity Check, fixed NPE. Author: Alex Kravin #654
  • FinalLocalVariable Check, fixed false-positive. Author: Alex Kravin #258
  • AbstractClassName Check, updated default regex. Author: Alex Kravin #595
  • EmptyLineSeparator Check, fixed Exception if file doesn't have header. Author: Alex Kravin #621
  • BooleanExpressionComplexity misidentifies integer expression as boolean expression. Author: Yuriy Chulovskyy #572

Breaking backward compatibility:

  • Fixed typo in 'ignoreOverridden' property of IllegalThrowsCheck. Author: Alex Kravin #623
  • AnnotationLocation Check, extended typo fixing. Author: Alex Kravin #585

Notes:

  • Javadoc comments for JAVADOC_TAG and JAVADOC_INLINE_TAG related nodes. Author: Baratali Izmailov #409
  • Linkcheck report, fixed errors. Author: Alex Kravin #549
  • Refactored UTs. Author: Alex Kravin #537
  • Site: feeds icons were added. Author: Alex Kravin #617
  • TreeWalker update, added logging warning if AcceptableTokens are broken. Acceptable tokens are specified for all checks. Author: Alex Kravin #342
  • SuppressionCommentFilter, extended docs for messageFormat option. Author: Alex Kravin #123
  • Site: moved 'Extending Checkstyle' to Developers groups. Author: Alex Kravin #606
  • Update some maven plugin in pom.xml. Author: Michal Kordas #644
  • Reformat and fix example for AnnotationUseStyle. Author: Michal Kordas #672
  • Require at least Maven 3.0.1 to build Checkstyle. Author: Michal Kordas #620
  • Site: moved 'Extending Checkstyle' to Developers groups. Author: Alex Kravin #606
  • Replace `StringBuffer` with `StringBuilder` to improve performance. Author: Michal Kordas
  • Repair typos in UniqueProperties description. Author: Michal Kordas
  • Replace verbose type arguments with diamond type. Author: Michal Kordas
  • Fix for typos in documentation. Author: Michal Kordas
  • Use Collections.addAll() instead of adding elements individually. Author: Michal Kordas
  • Added missed @Test annotation on test-case 'IndentationCheckTest.testMethodCallLineWrap'. Author: Alexey Zuy
  • IndentationCheck. Refactoring: got rid of anonymous classes. Author: Alexey Zuy
  • Fix table display. In config_whitespace, a comma was incorrectly replaced with a period. Author: Glenn Hollingsworth
  • Update config links in Google Style html page. Author: Glenn Hollingsworth #686

Release 6.3

New:

  • New option to HiddenField, to skip builder methods - setterCanReturnItsClass. Author: Dmitri Priimak #598
  • New option to Checker and TreeWalker to specify file extensions. Author: Alex Kravin #25
  • New option to EmptyLineSeparator Check, for managing empty lines between class members. Author: Alex Kravin #530
  • New option to Indentation to avoid C style. Author: Max Vetrenko #354
  • New option to IllegalThrows Check due to twitter custom checks. Author: Alex Kravin #430
  • New option to JavadocMethod Name Check - ignore method name regex. Author: Alex Kravin #430
  • New option to IllegalType Check to control validation based on modifiers - memberModifiers, updated default illegal types. Author: Alex Kravin #567

Bug fixes:

  • ExtendedMethodName Check to ignore overridden methods. Author: Alex Kravin #430
  • Allow basedir property of Checker module to be set to NULL. Author: Lars Ködderitzsch #570
  • CustomImportOrder Check, third-party package meaning is adjusted. Author: Alexey Kravin #515
  • FinalLocalVariable Check, fixed false-positive. Author: Alexey Kravin #258
  • IllegalType Check, fixed false positives on same file names, added support of analyzing imports. Author: Alexey Kravin #78
  • SuppressWarnings Holder - fixed throwing exception if annotation uses constant value. Author: Alexey Kravin #539
  • NoWhitespaceAfter Check, fixed NPE, fixed false-positives at multidimensional arrays. Author: Alexey Kravin #542
  • message is extended according to google/guava/issues/1891. Author: Roman Ivanov

Breaking backward compatibility:

  • AnnotationLocation Check, fixed typo in property name. Author: Alex Kravin #585

Notes:

  • Code examples of filters' usage. Author: Alex Kravin #289
  • Changes to checkstyle's configuration for Checkstyle (Prefixes are removed, indentation for SWITCH block is changed). Author: Alex Kravin #512
  • Custom Import Order Check, rewrote compare method. Author: Alex Kravin #234
  • Switched Checkstyle and all resources to UTF-8 encoding. Author: Alex Kravin #489
  • Logging of exceptions to console. Author: Alex Kravin #546
  • Got rid of javadoc warning. Resolved maven compilation warnings. Author: Alex Kravin #548
  • Refactored tests from blocks package. Author: Yuriy Chulovskyy #537
  • Turn on -r recursive by default in CLI. Author: Yuriy Chulovskyy #3
  • Fixes for suppression examples. Author: Michal Kordas #289
  • Repair Sonarqube problems found in Checkstyle. Author: Michal Kordas #46

Release 6.2

Bug fixes:

  • Serious compatibility problems with versions 5.9, 6.0 and 6.1. Author: Ilja Dubinin #505
  • Added basenameSeparator configuration option for TranslationCheck. Author: Alex Kravin, pulse00 #149
  • Added google and sun configs to jar. Author: Alex Kravin #305
  • Added UT for lambda expressions for InnerAssignmentCheck. Author: Alex Kravin #377
  • Build and install the tests jar artifact. Author: Peter Palaga #477
  • FinalLocalVariable Check, fixed false-positive - native method's param should be declared final. Author: Alex Kravin #158
  • FinalParameters Check, added option allows ignoring primitive types as params. Author: Alex Kravin #446
  • Unsatisfiable Indentation module scenario with difficult annotations. Author: Alex Kravin #321
  • Fixed false-positive in GenericWhitespaceCheck. Author: Alex Kravin #51
  • Fix InnerAssignment check for lambda expressions. Author: Evan Cahill
  • GenericWhitespace Check, fixed bug - '>' is followed by an illegal character. Author: Alex Kravin #350
  • InnerTypeLast within methods. Author: Yuriy Chulovskyy #6
  • AnnotationUseStyle closingParens check failed. Author: Yuriy Chulovskyy #131
  • RequireThis triggers when try-with-resources defines resource with same name as method. Author: Yuriy Chulovskyy #257
  • NullPointerException with SuppressWarningsHolder and enum fields. Author: Yuriy Chulovskyy #353
  • ParameterNumber check option to ignore methods with an @Override. Author: Yuriy Chulovskyy #66
  • MutableException check requires class to explicitly extend some other class. Author: Michal Kordas #60
  • NeedBraces, added option which allows one line if-statements without braces. Author: Alex Kravin #300
  • RedundantModifier Check fixed bug with warning on final variables in default methods. Author: Alex Kravin #364
  • RedundantModifier Check, fixed false-positive Redundant modifier final error for @SafeVarargs method. Author: Alex Kravin #301
  • SummaryJavadoc Check, added 'specify period' option. Author: Alex Kravin #472
  • SuppressWarnings Check, annotation param in constant. Author: Alex Kravin #268

Breaking backward compatibility:

  • Checkstyle is switched to jdk7. Author: Roman Ivanov. commit.
  • Abstract Aware Type Check marked as deprecated, removed Redundant Throws Check. Author: Alex Kravin #473
  • JUnitTestCaseCheck was removed from Checkstyle. Author: Yuriy Chulovskyy #457
  • Remove StrictDuplicateCodeCheck and whole package. Author: Michal Kordas #523
  • removing ignoreDirectoryName option from PackageDeclarationCheck. Author: Ivan Sopov #209

Notes:

  • All UTs Inputs are now compilable. Author: Alex Kravin #308
  • Fix for typos in documentation, fixes for Sonar violations, pom formatting, latest JUnit 4.12, ..... Author: Michal Kordas
  • google-style-config-test project for Google style is introduces, google_style wiki was updated. Author: Max Vetrenko
  • New maven profile "assembly" for quick build without any report and checks has been created. Author: Ilja Dubinin

Release 6.1.1

Bug fixes:

  • Generics in postfix expression before method references can be parsed now. Author: Ilja Dubinin #339
  • ArrayIndexOutOfBoundsException if Indentation and FileContentsFolder are enabled. Author: Ilja Dubinin. #92
  • Create ParseErrorMessage if error message is null during Javadoc parsing. Author: Baratali Izmailov. #385
  • Added $ to all identifier definitions at javadoc grammar. Author: Baratali Izmailov. #376
  • Fixed NumberFormatException while logging in AbstractJavadocCheck. Author: Baratali Izmailov. #371
  • Indentation check fails for switch statements. Author: Max Vetrenko. #341
  • -v CLI flag for querying the installed Checkstyle version. Author: Yuriy Chulovskyy. #9

Notes:

  • Checkstyle logo was changed. Author: Alexandra Ulanovskaya and Daniil Yaroslavtsev.

Release 6.1

Bug fixes:

  • Huge performance optimization for JavaDoc parsing. In scope of issue #49. Caching DetailNode trees in AbstractJavadocCheck. Author: Baratali Izmailov #355
  • "FileContents.getLines()" performance fix. Author: Vladimir Sitnikov, Ivan Sopov. #351
  • Fix for MultiMap empty collections garbage. Author: Vladimir Sitnikov, Ivan Sopov. #348
  • Performance fix for RegexpCheck. Author: Vladimir Sitnikov, Ivan Sopov. #348
  • Removing unnecessary char[] copying to reduce GC-pressure. Author: Vladimir Sitnikov, Ivan Sopov. #347
  • Using BitSet for indent levels for performance. Author: Vladimir Sitnikov, Ivan Sopov. #349
  • Various documentation/spelling issues with AnnotationLocationCheck. Author: Roman Ivanov. #356
  • Multidimensional arrays can be parsed now. Author: Ilja Dubinin. #304

Breaking backward compatibility:

  • AnnotationLocationCheck, package location was changed, one option was renamed. Author: Roman Ivanov. #356

Release 6.0

New features that extend API:

  • Support of single-line and block comments in parse tree. ANTLR4 grammar for parsing Javadoc comments. Author: Baratali Izmailov. #49

New features:

  • AnnotationLocationCheck. Author: Max Vetrenko. #302
  • AtclauseOrderCheck. Author: Max Vetrenko. #306
  • JavadocParagraph. Author: Max Vetrenko. #315
  • JavadocTagContinuationIndentation. Author: Max Vetrenko. #308
  • SingleLineJavadocCheck. Author: Max Vetrenko. #332
  • NonEmptyAtclauseDescriptionCheck. Author: Max Vetrenko. #309
  • Update for existing JavadocMethodCheck to satisfy Google's style requirements. Author: Max Vetrenko. #319

Notes:

  • Google style is now covered to maximum of Checkstyle ability. See detailed report here. Authors: Max Vetrenko, Ruslan Diachenko, Roman Ivanov.
  • All binaries are now compiled by Jdk6. Jdk5 is not supported any more.

Release 5.9

New features:

  • Support of Java8 syntax. Author: Ilja Dubinin. #10

Bug fixes:

  • Enormous update on Indentation Check. Author: Max Vetrenko. #294
  • Fixed IllegalInstantiationCheck, so it won't recognize a constructor reference (Java8) as instantiation. Author: Ryszard Wisniewski.
  • Since Java 8 we can have methods body in interfaces. Author: Ilja Dubinin. #282
  • Default modifier has been added to modifier list. Author: Ilja Dubinin. #284
  • Fixed bug in DefaultComesLast check. Now it supports java 8 default methods. Author: Ilja Dubinin. #297
  • Fixed IndexOutOfBoundsException in CustomImportOrderCheck. Author: Max Vetrenko. #296

Notes:

  • Correct OverloadMethodsDeclarationOrder name in documentation. Author: Andrew Gaul.

Release 5.8

New features:

  • Google Java Style xml configuration was added. Author: Max Vetrenko.
  • New: AbbreviationAsWordInName check. Author: Max Vetrenko. #212
  • Added enum processing to TypeNameCheck. Author: Pavel Baranchikov
  • Added method to clear cache to LocalizedMessage. Author: Joni Salmi. #156
  • New: AvoidEscapedUnicodeCharacters check. Author: Max Vetrenko. #194
  • New: CustomImportOrder check. Author: Max Vetrenko. #194
  • New: EmptyLineSeparator check. Author: Max Vetrenko. #186
  • Enable array initialisation indentation settings. Author: Vaclav Chalupa.
  • Enhance WhitespaceAroundCheck to ignore Annotation Array Initialization curlies as it does for Array Initialization outside of annotations.. Author: Jacob Tomaw
  • ignore option to the JavadocVariable check. Author: Yuriy Chulovskyy. #98
  • New: InterfaceTypeParameterName check. Author: Max Vetrenko. #202
  • New grammar rule was added only for catch types. IllegalCatchCheck has been extended to use catch with few exception types.. Author: Ilja Dubinin #165
  • LocalVariableName. Allowed one char variables in initialization expressions in FOR loop. Author: Max Vetrenko #192
  • New: NoLineWrap check. Author: Max Vetrenko. #173
  • New: OneTopLevelClass check. Author: Max Vetrenko. #173
  • New: OverloadMethodsDeclarationOrder check. Author: Max Vetrenko. #32
  • New option to allow no empty line between fields at EmptyLineSeparatorCheck check. Author: Max Vetrenko. #227
  • New option to allow that force overload methods are grouped together at DeclarationOrder check. Author: Max Vetrenko. #163
  • New option to allow empty classes, enums and interfaces, empty loops are allowed at WhitespaceAround check. Author: Max Vetrenko. #163
  • New: VariableDeclarationUsageDistance check. Author: Max Vetrenko. #223

Bug fixes:

  • Update for EmptyBlock to allow empty loops. Author: Max Vetrenko. #190
  • EmptyLineSeparatorCheck was updated to validate empty line after header. Author: Max Vetrenko. #218
  • LeftCurly Check was updated to force line break. Author: Max Vetrenko. #247
  • update for OuterTypeFilename Check to check top level type are the public type or the first type in file if public is missed. Author: Max Vetrenko. #248
  • update for RightCurly Check, new option to check line break after the closing brace if that brace terminates a statement or the body of a method, constructor or named class. Author: Max Vetrenko. #182
  • Added test and fix for the case if there is a semicolon between import statements. Author: Ryszard Wisniewski
  • Adding ANNOTATION_DEF to the valid list of parentASTs for the SuppressWarningsHolder. Without this, any @SuppressWarnings (checkstyle or not) present on an annotation definition class will fail. Author: Dominic Jones
  • Adding u HTML tag to list of allowed tags in JavaDoc. Author: Ilja Gubins. #58
  • update for WhitespaceAround. Allowed empty anonymous classes. Was updated allowEmptyTypes property. Author: Max Vetrenko. #197
  • Fixed AbstractTypeAwareCheck for generics in interfaces. Author: Tobias Baum. #177
  • Fixed RightCurlyCheck for empty methods. Author: Max Vetrenko. #213
  • Fixed WhitespaceAroundCheck. fix for anonymous inner class. Author: Yuriy Chulovskyy. #105
  • Fixed RedundantModifier. Abstract Interface Should not be Allowed. . Author: Yuriy Chulovskyy. #209
  • Fixed EmptyBlock. need to handle switch block. . Author: Max Vetrenko. #235
  • Fixed WhitespaceAround. Fix false positive with ANNOTATION_DEF. . Author: Max Vetrenko. #237
  • Fixed GenericWhitespace. Fix false positive with Array. . Author: Inav Sopov. #47
  • Fixed JavadocStyleCheck. HTML comments break the Javadoc style HTML check. . Author: theqaguy. #119
  • Fixed Java grammar. Now it can parse 'return (byte[].class);' . Author: Ilja Dubinin. #130
  • Exception thrown when parsing numeric constant "3.14_15F". . Author: Yuriy Chulovskyy#134
  • RequireThis triggers for static interface fields Fixed. . Author: Sergiu Dumitriu #155
  • Javadoc in GenericWhitespaceCheck was updated. . Author: Max Vetrenko #254
  • MemberNameCheck should not validate interface constants, that's ConstantNameCheck's role. Author: Sergiu Dumitriu
  • RightCurly. Force line break before '}' in case SAME option. . Author: Max Vetrenko #250
  • SeparatorWrapCheck. Covers separators like ',', '.' . . Author: Max Vetrenko #179
  • Support annotations in TypeNameCheck. Author: Thomas Jensen
  • Update UnusedImportsCheck to correctly detect classes in parameters and inline tags nested within block tags. fixing checkstyle issues Fixing even more checkstyle issues. Author: James Gorman
  • Use a thread-safe map implementation to keep the compiled patterns. Author: Christoph Kutzinski
  • WhitespaceAround with allowEmptyMethods complains on annotation's empty method . Author: Max Vetrenko #21

Notes:

  • dsm-maven-plugin is used to show dsm/index.html dependency structure of project on site. Author: Ilja Dubinin.
  • Added and updated documentation/messages for number of Checks. Authors: Max Vetrenko, Thomas Jensen, Yuriy Chulovskyy, Jarmo Isotalo, Peter O, Ryszard Wisniewski, Ilja Gubins, Baratali Izmailov, Jan Schafer, Niklas Walter, Andrew Gaul.
  • Moving to standard directory layout. Author: Ivan Sopov.
Old releasenotes