JavaNCSS - Release History

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

  1. New "ant test" task. Use "ant check" as before for JavaNCSS self testing, thought.

Fixed Bugs

  1. 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

  1. 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

  1. 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

  1. 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

  1. 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

  1. Support for all new language features in Java 1.5.
  2. 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

  1. Ives Coene donated XSLT stylesheets which generate beautiful SVG charts from the JavaNCSS XML output.
  2. 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.
  3. 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

  1. Javadocs per Function always had a wrong value in the XML output. Thanks to David Brandt for fixing this.
  2. 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

  1. 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.).
  2. 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

  1. 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

  1. 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

  1. Javadocs are now also displayed on a package level thanks to a patch by Emilio Gongora and Guillermo Rodriguez.
  2. 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

  1. Javadocs were mistakenly counted for attributes as well. This bug has been crept in with the last version.
  2. In some rare circumstances -recursive gave out a wrong "File not found" error message, thought it still processed all files correctly.
  3. "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

  1. Paako Hannu provided code to recursively parse all Java files including those in subdirectories.
  2. 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.
  3. 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

  1. New option -out to specify output file. By default std out is used. Patch was supplied by Ted Leung.
  2. An Ant task for JavaNCSS has been published by Steve Jernigan at http://sourceforge.net/projects/javancss2ant/.
  3. 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

  1. 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

  1. XML format for object section was not well formed (missed closing objects tag).
  2. 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

  1. 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

  1. 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

  1. 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

  1. 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

  1. JAVANCSS_HOME in javancss.bat is now set automaticly.
  2. '-check' option to trigger self tests from command line.

Bugs Fixed

  1. '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

  1. No new features.

Bugs Fixed

  1. 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

  1. 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

  1. Javancss is now distributed under the GNU General Public License.
  2. 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

  1. Javancss now continues with parsing the next source file after coming across a parse error.
  2. Exit return code (1 or 0).
  3. 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

  1. Javancss now continues with parsing the next source file after coming across a parse error.
  2. 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

  1. Added self test. Start it with: java javancss.test.JavancssTest

Bugs Fixed

  1. Cyclomatic Complexity Number takes now return and throw statements into account.
  2. Ctrl-Z at the end of a source file will be accepted now.
  3. <EOF> at the end of a one line comment ('//') will be accepted now.
  4. Empty statements that javac accepts but are not allowed according to the Java Language Specification are now parsed without exception.
  5. Parse error messages were sometimes not very meaningful. This was a bug, not a missing feature.
  6. '-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

  1. 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

  1. New '-gui' option, which is equivalent to '-all' and presents the output in it's own window instead of <stdout>.
  2. You need swing in order to get this new feature working, though command line mode still works without it.
  3. 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.
  4. 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.
  5. 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

  1. 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

  1. New '-package' option.
  2. 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.
  3. More documentation about what is "exactly" measured.
  4. 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.
  5. Different options can be specified and all get executed, therefor only one run is needed for different output formats.
  6. New '-all' option is equivalent to '-package -object -function'.

Bugs Fixed

  1. 'default' keyword did increment the CCN counter, but it shouldn't.

Version 1.2

Version 1.2 has been released on May 7, 1997