-- Release notes --

Release 4.1.1

Fixes some minor issues.

Bugs resolved:

  • 1538317 NullPointerException
  • 1530368 Refresh config button on project

Feature requests:

  • 1530366 Java Problem Type

Release 4.1.0 final

Final release of Eclipse Checkstyle Plugin 4.1.0.
Uses the recently released Checkstyle 4.2.

Bugs resolved:

  • 1504122 Violations tab column widths

Release 4.1.0 beta4

Minor bugfix release. Uses a new snapshot from Checkstyle CVS head.

Bugs resolved:

  • 1464012 Fixed ProjectClassLoader issue
  • 1466967 Violations tab and closed project
  • 1487954 Eclipse 3.2RC4 doesn't find any updates
  • 1478288 "Invalid thread access" when Checkstyle run.

Release 4.1.0 beta3

Sports a recent Checkstyle build from Checkstyle Head stream (2006/03/07).
The Statistics Plugin now supports saving reports (in rtf format) from the Statistics views (Thanks Fabrice).

We also started on implementing a quickfix feature. Using these you can fix some checkstyle warnings very easy - similar to quickfixes the Eclipse Java Editor offers.
Currently quickfixes are implemented for the following Checkstyle checks:

  • NeedBraces
  • DefaultComesLast
  • EmptyStatement
  • MissingSwitchDefault
  • DesignForExtension
  • FinalParameters
  • RedundantModifier

Please note that this new feature is to be considered experimental - so be sure you archived your sources before applying those quickfixes. All changes made by quickfixes should be undoable in the editor though - so serious problems are not expected.

Bugs resolved:

  • 1422937 Eclipse builder fails when a project is used as class folder
  • 1428571 Exception clicking on entry in "Checkstyle violations" view
  • 1443066 NPE when checking Checkstyle properties on a closed project
  • 1437937 Quickfix bug if not updated

Feature requests:

  • 1420212 Project name with relative configuration
  • 1252841 Remote Config file requiring authentication (added button to reset login data)

Release 4.1.0 beta2

Bugs resolved:

  • 1419133 Check Configuration Properties error
  • 1416397 Headless build in RAD 6.0 fails (needs confirmation)

Feature requests:

  • 1420578 Pretty print .checkstyle
  • 1419551 Add Content Assist to Properties Editor

Release 4.1.0 beta

Version 4.1.0 introduces the "local configuration" scheme which allows to set up check configurations private to a project. The check configuration data will be stored inside the projects .checkstyle file.
This allows for a true self contained Checkstyle setup for projects, further enhancing teamworking support as no additional setup in the developers workspace is required.
At the same time the well known "per workspace" setup of Checkstyle configurations (now called "global configurations") remains intact, allowing for set up of check configurations that can be used by multiple project.

There are now new ways to resolve properties within Checkstyle configuration files:

  • Resolve properties from Classpath variables
  • Resolve properties from System/Environment properties (passed into the Eclipse JVM via the -D parameter)
  • Reintroduced in 4.1.0 is that you can input properties as you set up the configuration. The plugin will find unresolved properties and asks for you to input the values.

The way Project relative configurations work has changed a bit. Now they are relative to exactly one project instead of possibly multiple projects. This achieves a more expectable behaviour and allows new configuration deployment schemes, for instance to use a configuration file that lies relative to another project in the workspace.
Important note:
Project relative configurations set up with previous versions will initially produce errors until they are reconfigured with the new 4.1.0 release.

The internal Checkstyle logging (error log) was bridged with the Eclipse Error Log. This way exceptions thrown by Checkstyle checks (standard or custom) appear in the Error Log View. This greatly enhances debugging of custom checks used with the plugin.

Version 4.1.0 now directly contains the new Statistics plugin addition which adds 2 views to Eclipse which make handling of large amounts of Checkstyle violations very much easier.

A lot of other features have been implemented and bugs been resolved, as you can judge from the list below:

Bugs resolved:

  • 1381855 Extra files in plugin distribution?
  • 1381858 Inactive scroll bar
  • 1387885 Checkstyle configuration file trashed
  • 1392149 NoWhitespaceBefore check is all or nothing
  • 1268680 internal_config_*.xml files not deleted with config.
  • 1340936 Problem with configuration name conflict
  • 1330232 multiple metadata entries of one check with different parent
  • 1382457 .checkstyle file touched when there are no changes
  • 1371777 Problem with external configuration file and teamworking
  • 1412189 error while trying to set "exclude files from packages" opt

Feature requests:

  • 1258461 Cache Remote Configuration
  • 1252841 Remote Config file requiring authentication (needs testing)
  • 1233683 Support per project suppressions.xml
  • 1296196 Project-relative configurations from other projects
  • 1296196 Project-relative configurations from other projects
  • 745756 Allow storing of checkstyle configuration in project
  • 1371642 Inconsistent rebuild behaviour
  • 1340908 Order modules by name
  • 1381881 Use java classpath variables as properties
  • 1384663 Enable external configuration locations to be dynamic
  • 1268602 Ability to import into internal configuration.
  • 1259430 Cannot specify values for variables
  • 1235654 NPE in ResourceBundleProperyResolver

Release 4.0.1

This is a bugfix release that incorporates the Checkstyle 4.1 release, which comes with several bugfixes in the Checkstyle core. No changes have been made to the plug-in itself since the last release.

Release 4.0.0 final

  • Updated to use Checkstyle 4.0 final.
  • Handling of checkstyle_packages.xml files has changed again, the intermediate solution from beta6 won't work anymore. Be sure to check out the updated documentation.
  • Important Note: The eclipse-cs update site is now officially released. Using the update mechanism of Eclipse can save you the hassle of a by hand install. Be sure to check out the documentation on eclipse-cs for more detail.

Bugs resolved:

  • 1352322 checks get hidden when redefining group-metadata
  • 1340884 Ignore checkbox can be broken
  • 1330193 unexpected behaviour with deletable="false" in metadata
  • 1328840 lack of ImportControl support
  • 1324819 Checker/Treewalker not hidden and in category 'Other'
  • 1322079 Label hidden in configuration editor
  • 1305354 Cannot exclude packages
  • 1292831 messages_xx.properties not detected
  • 1322079 Label hidden in configuration editor

Feature requests:

  • 1340855 Double click on group name behaviour
  • 1333015 Sort tokens in "Edit module config" window
  • 1304768 Provide extension point for built-in configurations
  • 1286034 provide extension point to add custom checks

Release 4.0.0b6

  • Updated to use Checkstyle 4.0 beta 6.
  • The new plugin version brings vastly improved support for custom checks. Users providing custom checks are now able to define metadata for this checks. Use this metadata to get you checks fully integrated into the plugin. Please see the updated documentation on this topic.
  • Teamworking support has been improved as well - when a project is now setup up to use checkstyle and the .checkstyle file ist shared through a repository no additional steps are needed to set up the plugin when a team member checks out the project from the repository. Please see the updated documentation on this topic as well.

Bugs resolved:

  • 1285998 error with jre 1.4.2_06 on win2000
  • 1276613 custom metadata not detected
  • 1267504 No output seen from Checkstyle under Eclipse 3.1
  • 1267123 checkstyle on non-java projects
  • 1266138 Strange localization
  • 1265965 checkstyle 4.0 very very very slow with eclipse 3
  • 1260852 Cosmetic: Annotation icons do not show in preferences
  • 1260129 PackageFilter GUI is broken

Feature requests:

  • 1283480 More on configuring variables
  • 1225561 Move checkstyle-config.xml to project root
  • 1234748 Support custom packages
  • 741543 Allow user defined check rules
  • 745756 Allow storing of checkstyle configuration in project

Release 4.0.0b5

  • Updated to use Checkstyle 4.0 beta 5.
  • Introduces French (thanks Fabrice Bellingard) and German translations.
  • Apart from this mostly bug fixes.
  • Tested to work with Eclipse 3.1 final

Important: Note that the usage-Checks have been removed from the official Checkstyle 4.0 beta5 distribution and are therefore not contained within the plugin any more. Checkstyle configurations that use these checks will fail until the usage-Checks are removed.

Bugs resolved:

  • 1252252 StackOverflow Error
  • 1251194 Resource out of sync after performing changes to config
  • 1217447 TreeWalker: exception - java.lang.NoClassDefFoundError
  • 1218510 Typo in Checkstyle Configuration
  • 1222784 No icon when code is "folded/collapsed"
  • 1232089 Repeated 'Checkstyle Classpath for project' messages
  • 1233444 .checkstyle file touched even when no changes made to config
  • 1234062 Problem with generic handling
  • 1236418 Unable to write checkstyle plugin config file
  • 1236864 Inacurrate Marker placement with Tabs *** Thanks go to Scott Severtson for his contribution ***
  • 1232696 Usage checks should be removed

Feature requests:

  • 1233689 Reevaluate problems on check refresh
  • 755830 "Disabled" option for checks

Release 4.0.0b4

  • Updated to Checkstyle 4.0 beta4

Bugs resolved:

  • 1217357 NullPointerException in UnOpenedFilesFilter

Release 4.0.0b3

  • Uses Checkstyle 4.0 beta3
  • Documentation fully updated (but not yet reviewed)

Bugs resolved:

  • 1213014 changes to suppressions file require restart
  • 1212545 property file in "project relative" configuration
  • 1086440 Reports are in the Eclipse Problems View
  • 1203108 Additional metadata is removed
  • 1204531 Checkbox always sets severity to warning

Release 4.0.0b2

  • Minor usability enhancements in configuration editor (multiple selection and adding from the tree, option to skip opening the module editor on add action)
  • Keyboard support for configuration editor (remove modules using DEL or <-, add modules using SPACE or ->)
  • Added button to configure a checkstyle configuration from the properties page
  • Added FileInSyncFilter that excludes all files from the checks that are in sync with the CVS repository
  • Added control to the preferences page to see which projects use a specific check configuration
  • Reworked file set editor gui
  • Added content assist for regular expressions in file set editor and check configuration gui
  • Added button to configure a check configuration from the properties page (Usability shortcut)
  • Some documentation updated - work still in progress

Feature requests:

  • 750183 add a get started paragraph or page

Bugs resolved:

  • 1202812 Checkbox value changes are not persisted
  • 1202435 NPE on "Export" with 4.0 beta Eclipse 3.02
  • 1196130 Configuration Editor broken with duplicate checks
  • 1196084 Can't use eclipse variables on SuppressionFilter

Release 4.0.0b1

  • Uses checkstyle-4.0-beta2
  • Improved rebuild logic - now rebuilds only necessary projects
  • Integrated Duplicate Code View - Thanks to Fabrice Bellingard
  • Jar files containing own checks can now integrated more easily
    - Just drop your .jar file in the extension-libraries directory and add your jar-File to the Bundle-ClassPath entry in the MANIFEST.MF. Restart eclipse with -clean option afterwards at least once. Use your checkstyle configuration file containing your custom checks with the plugin.

Feature requests:

  • 1022915 Support for eclipse variables
  • 758117 Don't rebuild everything - or ask before doing so
  • 796155 Allow other jars to be added
  • 741543 Allow user defined check rules

Bugs resolved:

  • 1177797 RuntimeException
  • 1084281 Many classes flagged as "with errors" with eclipse 3.1.0M3
  • 996575 NoClassDefFoundError in v. 3.4.1
  • 913098 Cannot add new check jars

Incorporated Patches:

  • 1123128 Duplicated Code Checker

Release 4.0.0a4

  • Plugin now uses plain checkstyle configuration files
  • Now able to use checkstyle configuration files located somewhere in the file systems (External Configuration)
  • Possible to use checkstyle configuration files from a remote URL (Remote Configuration)
  • Possible to use project relative checkstyle configurations (Project Relative Configuration)
  • ALL checkstyle modules are now supported including Header Checks, Fileset Checks (for instance StrictDuplicateCheck) and Filters
  • All modules can be configured from the GUI
  • Completely reworked the configuration GUI
  • Added 'Default' option to the module (rule) configuration dialog so that default settings can easily be restored
  • Modules can now be easily enabled/disabled using a checkbox
  • Checkstyle tokens can now be translated into a more readable form in the configuration GUI
  • Existing check configurations (old format) are migrated to the new configuration format
  • Improved the annotations for eclipse editors so that errors and infos are shown in a similar way
  • Added filter to exclude files from non source directories

Feature requests:

  • 1186986 Scan only source files from configured source paths
  • 1163353 Suppression filters do not work
  • 978202 URL checkstyle config download
  • 905061 Support for Duplicate Code Analysis
  • 887874 Missing support for modules.
  • 772913 allow header checks
  • 758563 Use meaningful tokens
  • 758558 ditch changing labels next to checkboxes
  • 758555 Enabling/disabling rules using checkboxes
  • 745756 Allow storing of checkstyle configuration in project
  • 758560 Rework file set editor page
  • 905675 Support eclipse development

Bugs resolved:

  • 1146104 Plugin ignores SuppressionCommentFilter
  • 1098141 Configuration editor has tabs outside its window
  • 978112 Import of checkstyle config dumps with non supported checks
  • 974583 bug in configuration editor layout hides options
  • 890956 Problems with Import of checkstyle-configuration
  • 878118 Suppression File no longer works since 3.2

Release 4.0.0a3

  • Fixes incompatibility with jdk1.4.x introduced in alpha2

Bugs resolved:

  • 1176430: Config Problem

Release 4.0.0a2

  • Fixes some problems with 4.0.0alpha1
  • New filter facility allows more dynamic exclusion of files
  • Enhanced properties page for simple project configuration

Feature requests:

  • 1002929: Invoke Checkstyle For Open Files Only
  • 1088368: unclear filter message

Bugs resolved:

  • 1175793: v4.0.0alpha does not give any problem markers

Release 4.0.0a

  • Updated to Checkstyle 4.0 beta1 - Support for Java 5.0 features
  • Now works with Eclipse 3.0 and greater (3.1 M5 tested)
  • Note: Eclipse 2.x.x is no more supported

New Features:

  • Checkstyle warnings are annotated in the source code.
    Can be turned off via Window->Preferences->Workbench->Editors->Annotations


  • Patch 1096720: Use of jobs api + filter facility
  • Patch 1064092: Make eclipse-cs a 3.x-style plugin
  • Patch 1064046: Remove xerces dependency

Release 3.5.0

  • Updated to Checkstyle 3.5.
  • Note: This is likely to be the last release supported on Eclipse 2.x. The plan is that the next release, v4.0, will be a pure Eclipse 3.0 plug-in and will not be compatable with Eclipse 2.x.

Release 3.4.1

Bugs Resolved:

  • 991820: Very slow builder
  • 979798: Got Exception: lava.lang.NoClassDefFoundError
  • 934083: Unable to get class information for <Exception> errors
  • 905079: Invoking CheckstyleBuilder Even If No File Set is Enabled
  • 904268: Redundant throws: 'Exception' is unchecked exception
  • 896571: Still Having Issues With Exceptions Not Visible from Classpath
  • 895725: Can not be disabled / performance

Other Items:

  • Thanks to Richard Atkins for his patch that fixed the relative jars bug.
  • Added some optimizations to improve build performance.

Release 3.4.0

  • Updated to include Checkstyle 3.4.
  • Note: This release has only been tested with Eclipse 2.1.x. Eclipse 2.0.x is no longer supported.
  • Note: Support for Eclipse 3.0 is in the works and will be released as soon as possible.

Release 3.3.2

Bugs Resolved:

  • 883468: Calling method missing from Eclipse 2.0.x
  • 883469: Classpath not complete
  • 886271: Checkstyle fails to get class information for Exception
  • 887849: Property value bugs

Release 3.3.1

Bugs Resolved:

  • 878261: Error in plugin-eclipse2-0-x.xml
  • 875539: Still Unable to get class information for Exceptions
  • 784182: Removing configuration - re-adding not allowed.
  • 771490: Exceptions when CheckConfig not found

Feature Requests:

  • 750399: Copy check configurations
  • 754423: Include rule name in message to user

Release 3.3.0

Bugs Resolved:

  • 872279: Import Plugin Config produces duplicate entry
  • 864322: empty block check doesn't work in 3.0M6
  • 855057: configuration saved with wrong encoding
  • 849075: Properties window is not long enough
  • 820342: Property Variable Value Editor field length too short
  • 787873: NPE in ArrayTypeStyleCheck
  • 778321: Says Got a null pointer exception
  • 773768: Cannot read hex numbers
  • 773754: Exclude become Include
  • 748678: Checkstyle fails to get class information for Exceptions

Other Items:

  • Updated to include Checkstyle v3.3.

Release 3.2.0

Important Note: If you are using version 2.0.x of Eclipse or version 5.0.x of WSAD you will need to replace the plugin.xml file with the plugin-eclipse2-0-x.xml file. Rename plugin-eclipse2-0-x.xml to plugin.xml in the com.atlassw.tools.eclipse.checkstyle_x.y.z folder in the Eclipse plugins folder.

Bugs Fixed:

  • 784243: Test file filter fails with NPE

Other Items:

  • Updates to include Checkstyle v3.2.

Release 3.1.1

Bugs Fixed:

  • 744773: Unknown property type for empty block rule.
  • 745200: Failed to read and parse check configuration.
  • 745340: Poor check config export failure message.
  • 748772: Default file pattern is misleading.
  • 748779: Exported plugin configuration is not ordered.

Feature Requests:

  • 741546: You can now import standard Checkstyle configuration files.
  • 744754: A file of default configurations is now provided. One configuration on the Sun coding standards from the Checkstyle distribution is included.

Other Items:

  • Updated documentation to include a Getting Started and Troubleshooting topic.
  • Improved error handling and reporting in some situations. In particular, when a project FileSet refers to a check configuration that is not in the workspace.
  • Improved performance of check initialization.

Release 3.1.0

  • Support for Checkstyle version 3.1
  • Support for multiple check configurations within your workspace at the same time
  • Greatly improved configuration user interface
  • Much greater control over which rules are used to check which source files
  • Support for multiple severity levels (Error, Warning, Info, Ignore) for each rule