<?xml version="1.0"?>
<document>
    <properties>
        <title>Changes</title>
        <author>Joe Walnes</author>
    </properties>

    <body>

    <release version="1.10" date="2009-09-04">        
		<action dev="rfscholte" type="update" issue="QDOX-171" due-to="Vincent Siveton">
			AbstractJavaEntity#getCodeBlock() skips Javadoc separator
		</action>
		<action dev="rfscholte" type="update" issue="QDOX-173" due-to="Vincent Siveton">
			Unwanted DocletTag.getParameters()[0]=&lt; in generic case
		</action>		 			
		<action dev="rfscholte" type="update" issue="QDOX-82" due-to="Grégory Joseph">
			Multilined tag attribute values not working anymore
		</action>
		<action dev="rfscholte" type="update" issue="QDOX-168" due-to="Robert Scholte">
			Parsing JavadocComment improvement
		</action>		
		<action dev="rfscholte" type="update" issue="QDOX-176" due-to="Benjamin Bentmann">
			Add method to safely and easily get the package name for a JavaClass
		</action>
		<action dev="rfscholte" type="update" issue="QDOX-146" due-to="Grégory Joseph">
			Retaining whitespace in comments
		</action>
		<action dev="rfscholte" type="update" issue="QDOX-164" due-to="Robert Scholte">
			QDox Site overhaul
		</action>
		<action dev="rfscholte" type="update" issue="QDOX-151" due-to="Robert Scholte">
			Introduce toString() according to the Java Language Specification
		</action>		
    </release>

	<release version="1.9.1" date="2009-05-05">
        <action dev="rfscholte" type="update" issue="QDOX-152" due-to="Leonardo Uribe">
			JavaClass.getFullyQualifiedName() does not work on version 1.9 (version 1.6.3 works without problem). Manual resolve scanning imports are required		
        </action>
        <action dev="rfscholte" type="update" issue="QDOX-118" due-to="Rune Flobakk">
			Annotation parsing fails on enum constant when javadoc present		
        </action>
        <action dev="rfscholte" type="update" issue="QDOX-161" due-to="Lars Huber">
				Annotation with comment can't be parsed		
        </action>
	        <action dev="rfscholte" type="update" issue="QDOX-150" due-to="Vincent Siveton">
			Better handler of generics in Type		
        </action>
	        <action dev="rfscholte" type="update" issue="QDOX-155" due-to="Vincent Siveton">
			JavaField#getInitializationExpression() is wrong for char		
        </action>
	        <action dev="rfscholte" type="update" issue="QDOX-158" due-to="Vincent Siveton">
			ParseException when using annotations in methods		
        </action>
	        <action dev="rfscholte" type="update" issue="QDOX-140" due-to="Benjamin Bentmann">
			Parser fails to translate Unicode escapes		
        </action>
	        <action dev="rfscholte" type="update" issue="QDOX-153" due-to="Leonardo Uribe">
			Qdox fails to parse enums inside class		
        </action>
	        <action dev="rfscholte" type="update" issue="QDOX-157" due-to="Vincent Siveton">
			QDOX-156 Remove single comment in JavaField#getInitializationExpression()		
        </action>
	        <action dev="rfscholte" type="update" issue="QDOX-156" due-to="Vincent Siveton">
			Wrong whitespace in JavaField#getInitializationExpression()		
        </action>
	        <action dev="rfscholte" type="update" issue="QDOX-160" due-to="Frantisek Kucera">
			error parsing clauses with indexOf		
        </action>
	        <action dev="rfscholte" type="update" issue="QDOX-159" due-to="Robert Scholte">
			most simple annotation, like @Override, results in a parseexception		
        </action>
	        <action dev="rfscholte" type="update" issue="QDOX-149" due-to="Robert Scholte">
			make use of maven-jflex-plugin instead of an antrun	
        </action>
	
	
        </release>

        <release version="1.9" date="2009-02-21">
	        <action dev="rfscholte" type="update" issue="QDOX-127" due-to="Richard Craddock">
					getInitializationExpression() includes comment text		
	        </action>
	        <action dev="paul" type="update" issue="QDOX-65" due-to="Jose Peleteiro">
					More package information, not just package name.		
	        </action>
	        <action dev="rfscholte" type="update" issue="QDOX-98" due-to="Guillaume Nodet">
				Parser fails on package with annotations	
	        </action>	
        </release>

        <release version="1.8" date="2009-01-31">
            <action dev="rfscholte" type="update" issue="QDOX-144" due-to="Stanislaw Osinski">
				QDox fails to parse correct code
            </action>
            <action dev="rfscholte" type="update" issue="QDOX-135" due-to="Louis R. Marascio">
				Annotation with value in method signature does not parse		
        </action>
        <action dev="rfscholte" type="update" issue="QDOX-113" due-to="Jukka Lindström">
				Annotations With Parameters do not work		
        </action>
        <action dev="paul" type="update" issue="QDOX-124" due-to="Jochen Kuhnlei">
				Field modifiers of binary classes ignored		
        </action>
        <action dev="rfscholte" type="update" issue="QDOX-101" due-to="David Blevins">
				Multiple annotations on one field and generics		
        </action>
        <action dev="paul" type="update" issue="QDOX-125" due-to="Jochen Kuhnle">
				Name resolution of imported nested types does not work correctly		
        </action>
        <action dev="rfscholte" type="update" issue="QDOX-144" due-to="alex322">
				ParseException for private static String[] allConstants = {C1,C2,C3};		
        </action>
        <action dev="rfscholte" type="update" issue="QDOX-138" due-to="Stanislaw Osinski">
				Parser fails depending on the position of an internal enum		
        </action>
        <action dev="mauro" type="update" issue="QDOX-92" due-to="Wolfgang Jung">
				Performance Improvement of JavaDocBuilder.getClassByName()		
        </action>
        <action dev="rfscholte" type="update" issue="QDOX-145" due-to="Elliot Schwartz">
				Static block source code gets associated with source code of subsequent method		
        </action>
        <action dev="rfscholte" type="update" issue="QDOX-54" due-to="Aslak Hellesoy">
				Support for retrieval of generic type information (JSR 14)		
        </action>
        <action dev="mauro" type="update" issue="QDOX-74" due-to="Mike Williams">
				add parser support for enumerated types		
        </action>
        <action dev="rfscholte" type="update" issue="QDOX-117" due-to="Ron Saito">
				annotation value poluted with class instance block		
        </action>
        <action dev="rfscholte" type="update" issue="QDOX-86" due-to="Alexandre Vasseur">
				inner classes not resolved correctly when appears as method param		
        </action>
        <action dev="rfscholte" type="update" issue="QDOX-147" due-to="Robert Scholte">
			packaging with java5+ fails due to incorrect javadocs
        </action>
	
        </release>

        <release version="1.7" date="2008-12-22">
            <action dev="paul" type="update" issue="QDOX-126" due-to="Jochen Kuhnle">
                Improved annotation support including types, fields and expressions.
            </action>
            <action dev="paul" type="fix" issue="QDOX-114" due-to="Louis R. Marascio">
                Fix to lexer bug.
            </action>
            <action dev="paul" type="fix" issue="QDOX-129" due-to="Paul Duffin">
                Inconsistency between getMethods(), getFields() in binary and source JavaClass fixed.
            </action>
        </release>

        <release version="1.6.3" date="2007-06-15">
            <action dev="paul" type="fix" issue="QDOX-102">
                Project version control web page shows CVS instead of SVN.
            </action>
            <action dev="mauro" type="update" issue="QDOX-119">
                Migrate site to use XSite.
            </action>
        </release>

        <release version="1.6.2" date="2007-05-26">
            <action dev="joe" type="update" due-to="Brian Slesinsky">
                Improved generic parsing support.
            </action>
            <action dev="paul" type="update" issue="QDOX-94" due-to="Eric Redmond">
                Also fixes QDOX-108.
                Improved annotation parsing support.
            </action>
            <action dev="paul" type="update" due-to="Eric Redmond">
                Improved anon inner class parsing support.
            </action>
            <action dev="mauro" type="update" due-to="Eric Redmond">
                Maven2 support.
            </action>
        </release>
        
        <release version="1.6.1" date="2006-10-28">
            <action dev="joe" type="add" issue="QDOX-83" due-to="Shawn Chain">
                Original body of method can be obtained using JavaMethod.getSourceCode().
                Original field initialization expression can be obtained by JavaField.getInitializationExpression().
            </action>
            <action dev="joe" type="update" due-to="Brian Slesinsky and James Lee">
                Improved Enum parsing support.
            </action>
        </release>
        
        <release version="1.6" date="2006-10-15">
            <action dev="joe" type="update">
                Switched license from 'Ironsmith' Apache license clone to genuine Apache 2 license.
            </action>
            <action dev="pkaminsk" type="add" issue="QDOX-52">
                Provide line numbers for all java entities.
            </action>
            <action dev="mdub" type="update" issue="QDOX-59">
                Ensure that things (e.g. named tag-parameters,
                bean-properties) are consistently returned in declared
                order.
            </action>
            <action dev="mdub" type="add" issue="QDOX-66">
                Support for wildcard generic-type arguments.
            </action>
            <action dev="joe" type="add" issue="QDOX-67">
                Convenience methods - Type.isPrimitive() and Type.isVoid().
            </action>
            <action dev="joe" type="add">
                Parser can now handle Java 5 annotations.
            </action>
            <action dev="mdub" type="add" issue="QDOX-68">
                Support for generic-type parameters on methods.
            </action>
            <action dev="mdub" type="add" issue="QDOX-70">
                Support for Java 5 varargs syntax: "printf(Object... stuff)". New method, JavaParameter.isVarArgs().
            </action>
            <action dev="mdub" type="add" issue="QDOX-78">
                JavaDoc comments now preserve end of line characters.
            </action>
            <action dev="mdub" type="fix" issue="QDOX-61">
                Support legal Unicode characters in identifiers.
            </action>
            <action dev="joe" type="fix" issue="QDOX-63" due-to="Philippe Gaudin">
                Inner/nested classes are now resolved correctly between packages.
            </action>
            <action dev="mdub" type="fix" issue="QDOX-72">
                Correct terminology re "inner" vs "nested" classes.
            </action>
            <action dev="mdub" type="fix" issue="QDOX-73">
                Reinstate public constructors on concrete model classes.
            </action>
            <action dev="joe" type="fix" issue="QDOX-75">
                Support for methods that specify array dimensions at end: String doStuff()[]
            </action>
            <action dev="joe" type="fix" issue="QDOX-80">
                Static blocks do not add static modifier to next method.
            </action>
            <action dev="joe" type="fix">
                Support for trailing semicolon after class definition.
            </action>
            <action dev="joe" type="fix">
                Bugfix: Support for empty /**/ comments.
            </action>
            <action dev="mdub" type="fix" issue="QDOX-77">
                Patch from Mario Siegenthaler and Daniel Müller to improve
                tolerance of Java 5 syntax, including: annotations with
                classes as parameters, generic field initialization, static
                imports and enums with enumeration ending with a semicolon.
            </action>
            <action dev="joe" type="add">
                Added QDoxTester to test that QDox can successfully parse a load of Java source.
            </action>
        </release>

        <release version="1.5" date="2004-06-20">
            <action dev="mdub" type="update" issue="QDOX-47">
                Refactor DocletTag handling so that all context information
                is provided via the DocletTagFactory.
            </action>
            <action dev="rinkrank" type="add" issue="QDOX-53">
                Add support for parsing of JSR-14 generic types.
            </action>
            <action dev="mdub" type="fix" issue="QDOX-45">
                Also fixes QDOX-50.
                Improve parsing of tag parameters, particularly where
                whitespace is involved.
            </action>
            <action dev="rinkrank" type="fix" issue="QDOX-49">
                Fixed generation of Eclipse ".classpath".
            </action>
            <action dev="rinkrank" type="fix" issue="QDOX-57">
                Problems compiling against jmock-1.0.0.
            </action>
        </release>

        <!-- action types are add/update/fix/remove -->
        <release version="1.4" date="2004-04-29">
            <action dev="mdub" type="fix" issue="QDOX-27">
                Handle extra stars in Javadoc start/end tokens.
            </action>
            <action dev="mdub" type="fix" issue="QDOX-28">
                Handle unclosed quotes in tag values.
            </action>
            <action dev="mdub" type="fix" issue="QDOX-30">
                Support for strictfp modifier (and volatile and native).
            </action>
            <action dev="rinkrank" type="fix" issue="QDOX-33">
                JavaClass.getTagsByName() is buggy.
            </action>
            <action dev="rinkrank" type="fix" issue="QDOX-34">
                recursive retrieval of tags from superclasses got a bug.
            </action>
            <action dev="mdub" type="fix" issue="QDOX-29">
                Also fixes QDOX-37:
                Handle inner-classes in type-resolution.
            </action>
            <action dev="mdub" type="add" issue="QDOX-39">
                Support multiple fields in a single field-declaration.
            </action>
            <action dev="mdub" type="add">
                Throw a ParseException, including location info, if a
                syntax error is encountered.
            </action>
            <action dev="mdub" type="fix" issue="QDOX-42">
                Fix handling of MAC line-endings.
            </action>
            <action dev="mdub" type="fix" issue="QDOX-43">
                Allow "$" in identifiers.
            </action>
            <action dev="mdub" type="add" issue="QDOX-44">
                Added DocletTag.getNamedParameterMap().
            </action>
            <action dev="rinkrank" type="add" issue="QDOX-46">
                Added JavaField.getDeclarationSignature().
            </action>
        </release>

        <release version="1.3" date="2003-11-03" issue="">
            <action dev="rinkrank" type="add" issue="QDOX-3">
                Support for binary classes. 
            </action>
            <action dev="rinkrank" type="add" issue="QDOX-6">
                Support for bean properties.
            </action>
            <action dev="rinkrank" type="add" issue="QDOX-7">
                New isA(String fullyQualifiedName) method in JavaClass.
            </action>
            <action dev="rinkrank" type="add" issue="QDOX-12">
                Pluggable DocletTag implementations via DocletTagFactory.
                This opens up for tag validation, ${property} substitution
                and other goodies that shouldn't go directly into QDox'
                core, but rather into pluggable extensions.
            </action>
            <action dev="pkaminsk" type="fix" issue="QDOX-13">
                Line numbers in the lexer.
            </action>
            <action dev="rinkrank" type="fix" issue="QDOX-14">
                resolveTypeInternal doesn't work for nested types.
            </action>
            <action dev="mdub" type="fix" issue="QDOX-17">
                JavaMethod.equals() failed for constructors.
            </action>
            <action dev="rinkrank" type="add" issue="QDOX-18">
                BeanProperty : support for type retrieval.
            </action>
            <action dev="mdub" type="fix" issue="QDOX-16">
                Also fixes QDOX-19.
                More robust handling of "*" and "@" in Javadoc body.
            </action>
            <action dev="rinkrank" type="update" issue="QDOX-24">
                Encoding support for internationalization.
            </action>
            <action dev="rinkrank" type="add">
                Type now has a getJavaClass() method making
                it easier to find the JavaClass of a Type from e.g. Velocity.
                Example: $method.returns.javaClass
            </action>
            <action dev="rinkrank" type="add">
                Implemented tag inheritance on classes and methods. (It makes no sense
                to have it on fields or constructors). Accessed with clazz|method.getTag[s]ByName(String name, boolean superclasses).
            </action>
            <action dev="rinkrank" type="update">
                DocletTag is an interface.
            </action>
            <action dev="rinkrank" type="add">
                Added a getClasses() method to JavaDocBuilder that will
                return all JavaClasses.
            </action>
            <action dev="rinkrank" type="add">
                Added a getDerivedClasses() method to JavaClass that will
                return all derived classes, i.e. subclasses or subinterfaces.
            </action>
            <action dev="rinkrank" type="add">
                Added getDeclarationSignature() and getCallSignature() methods
                to JavaMethod.
            </action>
            <action dev="rinkrank" type="add">
                Added a getNamedParameter(String tagName, String parameterName)
                convenience method to AbstractJavaEntity for easier retrieval
                of tag parameters without having to null-check the tag.
            </action>
            <action dev="rinkrank" type="add">
                Added APITestCase. This is a JUnit extension that can be used
                to compare the equality of two Java sources on the API level.
            </action>
            <action dev="rinkrank" type="add">
                Added int getLineNumber() to DocletTag.
            </action>
            <action dev="rinkrank" type="add">
                Added JavaSource getJavaSource() to DocletTag.
            </action>
            <action dev="rinkrank" type="add">
                Added boolean isInner() to JavaClass.
            </action>
            <action dev="rinkrank" type="add">
                Added JavaMethod[] getMethods(boolean superclasses) to JavaClass.
            </action>
        </release>

        <release version="1.2" date="2003-03-23">
            <action dev="joe" type="fix">
                Quoted tokens allowed in doclet tags.                
            </action>
            <action dev="joe" type="fix">
                Asterix symbol allowed in doclet tags.                
            </action>
        </release>

        <release version="1.1" date="2002-12-08">
            <action dev="mdub" type="add">
                Added support for inner classes.                
            </action>
            <action dev="joe" type="update">
                Moved build system over to Maven.                
            </action>
        </release>

        <release version="1.0" date="2002-09-25">
            <action dev="joe" type="add">
                Initial release.
            </action>
        </release>

    </body>
</document>

