Version 33.54
Version 33.54 has been released on July 30, 2014
Upgraded grammar to Java 1.7. Fixed a lot of bugs: see release notes.
Big thanks to Peter Kofler for Java grammar fixes and Hervé Boutemy for reworking and Mavenizing the documentation. Follow the bug reports for more people supporting us with reports and patches!
Version 32.53
Version 32.53 has been released on May 31, 2009
Fixed bugs: see release notes.
Big thanks to Sébastien Reynaud for difficult Java grammar patches and Hervé Boutemy for applying them as well as adding his own fixes to close all bugs listed above. Follow the bug reports for more people supporting us with reports and patches!
Version 31.52
Version 31.52 has been released on May 21, 2009
Fixed bugs JAVANCSS-10 and JAVANCSS-4. Added options to see the parse tree in debug mode as well as a new experimental Java 1.5 grammar parser, also intended to use for debugging purposes.
Note that this version requires Java 1.5.
Version 30.51
Version 30.51 has been released on February 7, 2009
Project has been moved to Codehaus using public Subversion repository and Maven project structure. Thanks to Hervé Boutemy and Simon Brandhof!
Version 29.50
Version 29.50 has been released on April 8, 2008
Fixed two Java 1.5 grammar parser bugs. Thanks to Don Kautz and Isabelle Guimiot!
Version 28.49
Version 28.49 has been released on October 6, 2006
Various Java 1.5 grammar parser bugs fixed.
What's New
- New "ant test" task. Use "ant check" as before for
JavaNCSS self testing, thought.
Fixed Bugs
- Various Java 1.5 grammar parser bugs fixed.
Version 27.48
Version 27.48 has been released on July 25, 2006
Javadoc bug fixed.
Fixed Bugs
- Javadoc bug fixed, reported by Kyle Blaney.
Version 25.45
Version 25.45 has been released on May 14, 2006
Various Java 1.5 parser bugs fixes.
Fixed Bugs
- Various small Java 1.5 parser bugs fixes.
Version 24.44
Version 24.44 has been released on April 24, 2006
Fix in method counter in Java 1.5 grammar code.
Fixed Bugs
- Fix in method counter in Java 1.5 grammar code, detected by
Don Morrison.
Version 23.43
Version 23.43 has been released on April 23, 2006
Fix in Enum parser.
Fixed Bugs
- Fix in Enum parser, reported by Don Morrison.
Version 22.42
Version 22.42 has been released on April 16, 2006
Java 1.5 support.
What's New
- Support for all new language features in Java
1.5.
- A new XSLT stylesheet 'javancss2methodhtml.xsl'
proposed by Wally Bowles to drop the words
Function and to use the word Method instead.
Version 21.41
Version 21.41 has been released on September 6, 2002
SVG charts can be generated with new XSLT stylesheets.
What's New
- Ives Coene donated XSLT stylesheets which generate beautiful
SVG charts from the JavaNCSS XML output.
- The javancss.jar file contains now a manifest file that
lets JavaNCSS execute via java's -jar option. The build.xml
file has been updated accordingly. Thanks to Brad Kievel for
this patch.
- Additional XSLT stylesheet that copies a standard JavaNCSS
XML output file and replaces the overloaded 'functions'
tags with names that are different for different elements.
Fixed Bugs
- Javadocs per Function always had a wrong value in the XML
output. Thanks to David Brandt for fixing this.
- Vesa Karvonen found a rare bug in the XML output which
reveals itself only in conjunction with some exotic locales.
Version 20.40
Version 20.40 has been released on July 5, 2002
Two new XSLT stylesheets, one of them to convert the JavaNCSS
XML output to HTML.
What's New
- Terry Skelton donated an XSLT stylesheet to convert the XML
output of JavaNCSS to HTML. The report is formatted to have
a similar look to other common ANT reports (changelog,
jdepend, etc.).
- Ross Gardler donated an XSLT stylesheet to convert the XML
output of JavaNCSS to a format very close to HTML. This
can be used to generate custom HTML pages for your project.
Version 19.39
Version 19.39 has been released on June 8, 2002
Ant task written by Steve Jernigan.
What's New
- JavaNCSS has now bundled the Ant task from Steve Jernigan.
This task also provides some additional features as
checking metrics for defined thresholds.
Thanks also to Phillip Wells who worked on polishing source
code and documentation of that task.
Version 18.38
Version 18.38 has been released on May 11, 2002
Fixed a rare parsing bug.
Fixed Bugs
- Could not parse accessing an element of the parent class of
the outer class in an inner class, or in other words: could
not parse this code:
Version 17.37
Version 17.37 has been released on May 4, 2002
Javadocs metric on package level and example XSLT stylesheet.
What's New
- Javadocs are now also displayed on a package level thanks
to a patch by Emilio Gongora and Guillermo Rodriguez.
- XSLT stylesheet to convert XML output to ascii output.
This is identical to the output you could get directly from
JavaNCSS and much slower, but can be used as a basis for your
own output format or to produce HTML output instead text.
Fixed Bugs
- Javadocs were mistakenly counted for attributes as well.
This bug has been crept in with the last version.
- In some rare circumstances -recursive gave out a wrong
"File not found" error message, thought it still processed
all files correctly.
- "File not found" error message was only presented for the
last missing file and not for all of them.
Version 16.34
Version 16.34 has been released on April 7, 2002
Recursive feature, support of JDK 1.4 assert statements.
What's New
- Paako Hannu provided code to recursively parse all Java files
including those in subdirectories.
- JavaNCSS supports now JDK 1.4 assert statements. At the same
time methods or variables of name 'assert' are still parsed
successfully, JavaNCSS is just not able to accept a field of
type 'assert' anymore.
- John Wilson provided code to use "\r\n" on Windows to end
lines for JavaNCSS's ascii output. You might be able to turn
this behavior off by overwriting the line.separator system
property when invoking the Java virtual machine.
Version 15.32
Version 15.32 has been released on November 21, 2001
New -out option.
What's New
- New option -out to specify output file. By default std out is
used. Patch was supplied by Ted Leung.
- An Ant task for JavaNCSS has been published by Steve Jernigan
at http://sourceforge.net/projects/javancss2ant/.
- A basic Ant build.xml file gets distributed together with
JavaNCSS. This file should be fine to compile the Java source
files, but is not enough to create the jar file nor
to compile the grammar with JavaCC.
Bugs Fixed
- When relative files are given JavaNCSS will now take the
user.dir property in account to locate a file.
Version 14.31
Version 14.31 has been released on June 16, 2001
Major XML format bug fix.
Bugs Fixed
- XML format for object section was not well formed
(missed closing objects tag).
- Missing newline after total printout of ncss.
Version 13.30
Version 13.30 has been released on June 14, 2001
Optional xml output.
What's New
- Output in xml format of collected data. Use option -xml
(and recommended -all) at the command line and the metric
results will be formatted in xml for further processing
with xslt (e.g. to create a web page) or for importing in
other applicatons. A dtd is distributed as well.
Bugs Fixed
- Added 'strictfp' keyword to Java grammar.
Version 12.27
Version 12.27 has been released on March 27, 2001
Minor bug fix release.
Bugs Fixed
- Failure to parse 'this( name, o, (String)null, array );'
as the first statement in a constructor.
Version 11.26
Version 11.26 has been released on March 23, 2001
Minor bug fix release.
Bugs Fixed
- Failure to parse 'this.var = x;' as the first statement in
a constructor.
Version 10.25
Version 10.25 has been released on March 21, 2001
Minor improvements.
What's New
- JAVANCSS_HOME in javancss.bat is now set automaticly.
- '-check' option to trigger self tests from command line.
Bugs Fixed
- 'super((InputStream)null,null)' gets parsed successfully now.
Version 9.24
Version 9.24 has been released on October 4, 2000
Fixed a small Java parser bug.
What's New
- No new features.
Bugs Fixed
- Fixed a small Java parser bug reported by Ramon Felciano.
Version 8.23
Version 8.23 has been released on July 1, 2000
Javadoc comments for methods are now counted.
What's New
- Javadoc comments for methods are now counted. The output
for functions has a metric JVDC, which indicates if this
method is formally documented or not.
Version 7.21
Version 7.21 has been released on January 31, 2000
Published now under the GNU General Public License.
What's New
- Javancss is now distributed under the GNU General Public
License.
- Upgraded to JavaCC 1.1.
Version 6.19
Version 6.19 has been released on November 12, 1998
More tolerant towards parser errors.
What's New
- Javancss now continues with parsing the next source
file after coming across a parse error.
- Exit return code (1 or 0).
- Moved to javax swing convention (swing 1.1 beta 3).
Version 6.18
Version 6.18 has been released on July 28, 1998
More tolerant towards parser errors.
What's New
- Javancss now continues with parsing the next source
file after coming across a parse error.
- Exit return code (1 or 0).
Version 5.16
Version 5.16 has been released on July 24, 1998
Some weird input gets now accepted by the parser and a CCN
counting bug got fixed.
What's New
- Added self test. Start it with:
java javancss.test.JavancssTest
Bugs Fixed
- Cyclomatic Complexity Number takes now return and throw
statements into account.
- Ctrl-Z at the end of a source file will be accepted now.
- <EOF> at the end of a one line comment ('//') will be
accepted now.
- Empty statements that javac accepts but are not allowed
according to the Java Language Specification are now parsed
without exception.
- Parse error messages were sometimes not very meaningful.
This was a bug, not a missing feature.
- '-gui' command line option was implemented but not displayed
with '-help' command.
Version 4.10
Version 4.10 has been released on March 8, 1998
Just a minor bug fix version.
Bugs Fixed
- Swing and AWT components where mixed which resulted in some
small layout problems. The GUI frontend is now tested with
Swing 1.0.1.
Version 3.9
Version 3.9 has been released on February 17, 1998
New is a GUI frontend. Additionally the project manager Jacob
(http://www.kclee.de/clemens/jacob/) now includes the full
functionality of JavaNCSS, which makes selecting Java source
files much more convenient.
What's New
- New '-gui' option, which is equivalent to '-all' and
presents the output in it's own window instead of <stdout>.
- You need swing in order to get this new feature working,
though command line mode still works without it.
- New Jacob feature: a file with absolute file names of all
Java source files for the current project gets generated
when creating a new makefile. Its name is the project name
plus '.srcfiles.txt' as postfix and will be located in
the current project directory. This file can be further
used by JavaNCSS in batch mode.
- The above feature can be used from the command line when
specifying an '@' char in front of its file name. Then
JavaNCSS interprets each line of its contents as the name of
a java source file that should be counted. This also works
recursively and normal source file names can be
intertwined with '@' files as well.
- New Jacob feature: 'NoEmacs' flag for Jacob's
initialisation file and '-noemacs' startup option for use
without an editor. This feature is planned solely for
JavaNCSS users who don't want to use Jacob for programming
purposes.
Fixed Bugs
- Methods of anonymous classes are now presented with its
class information.
Version 2.4
Version 2.4 has been released on January 24, 1998
What's New
- New '-package' option.
- When <stdin> is used for input and a parse error occurs the
last class and method successfully parsed is given together
with the error message. Note, that errors in package or
import statements or not captured this way.
- More documentation about what is "exactly" measured.
- The grammar is now slightly more tolerant, but still not as
tolerant as Sun's javac compiler. I made javancss just as
tolerant as necessary to parse Sun's original java.* source
files.
- Different options can be specified and all get executed,
therefor only one run is needed for different output
formats.
- New '-all' option is equivalent to '-package -object
-function'.
Bugs Fixed
- 'default' keyword did increment the CCN counter, but it
shouldn't.
Version 1.2
Version 1.2 has been released on May 7, 1997