Lint4j Eclipse Plugin Changelog
Version 0.9.13
- Fixed two problems with the Lint4j Builder not analyzing Java classes that don't have a .java ending, and analyzing Java files that may have been excluded from compilation
- Only important checks are enabled if no configuration exists
- Fixed a bug that would result in a false positive warning when invoking ObjectOutputStream.writeObject() on a null argument
- Fixed a type identification issue that resulted in false positive warnings
- Improved warning for debug level logging that creates StringBuffers: suppress the warning in catch blocks, and support the debug(Object, Throwable) method
- Plugin operations audit and remove markers can now operate on Eclipse working sets
- Switch related audits don't emit false positives when the switch type is an enum, and all constants have case statements
- Switch related audits now handle nested switch statements correctly
- Constants of value 0 with l, f or d suffix were not correctly identified as being unnecessary as field initialization
- The SuppressWarning annotation with level "all" is now supported by all audits
- Skip Java 1.5 warnings if compiler compliance is set to a higher standard than the Java runtime supports
Version 0.9.12
- Added ability to use Lint4j from views others than the Package Explorer
- Added an audit for an if statement without effect, which is most likely the reason of a
superflous semicolon such if(something) ; {//intended if block statements}
- Fixed an exception when the Lint4j builder was enabled and a Java class removed
- Removed support for legacy version of Lint4j
- Extensive API rework to support headless builds and pluggable report generators
Version 0.9.11
- Fixed a problem where Eclipse 3.1.x did not activate Lint4j on a JDK 1.5 runtime.
- Fixed a problem that enabled Lint4j actions on Jar files
- Added a FAQ section to the plugin documentation
Version 0.9.10
- Added an audit for hidden StringBuffer creations in StringBuffer, StringBuilder, PrintStream and PrintWriter methods.
- Added audits to detect empty blocks and statements in loop bodies and if, synchronized, catch and finally statements
- Added audit that detects StringBuffer generation in log4j debug calls that are not guarded with an if(isDebugEnabled) statement
- Problem Markers are created to highlight the code in question
- Fixed wrong progress monitor display
- Added a warning when a one character string literal is used in certain method calls where a character literal would be more
efficient
- Added an audit that discovers control flow statements in the body of an if(log.isDebugEnabled()) block
- Added an audit that discovers equals() invocations with a null argument
- Added an audit that discovers package visible methods that are never directly invoked
- Added an audit to detect Externalizable classes that inherit read/writeExternal
- Fixed broken marker help. However, not all audits provide help yet.
- Added a menu entry to create feedback mail to jutils.com
Version 0.9.9
- 18 new audits are available, 38 total
- The plugin can now be used in headless builds
- Several bug fixes to resolve false positive warnings
- PackageFragmentRoots can now be ignored in an audit
- Completely rearchitected for extensibility
- Certified on Eclipse 3.1.x and 3.2RC1 through RC6
Version 0.9.8
Initial version.