Anthony Goubard - 2007-06-21

Hello,

XINS 2.0 has been released.

The 2.0 release adds the following features:
* New protocols: Yahoo! JSON (with callbacks) and JSON-RPC (1.0 and 1.1)
* Import of WSDL and XML Schema.
* _WSDL and _SMD meta functions
* Better integration with the Spring Framework, the Dojo toolkit and GWT
* Examples with REST implementation, implementation in Groovy and with Dojo toolkit
* And many more: http://xins.sourceforge.net/presentations/xins2.0-features.pdf

Links:
* Web site: http://xins.sourceforge.net/
* Features: http://xins.sourceforge.net/features.html
* Demo: http://xins.sourceforge.net/demo.html
* User guide: http://xins.sourceforge.net/docs/
* Primer: http://xins.sourceforge.net/primer.html

This file contains a detailed explanation of the changes between individual
versions of XINS.

$Id: CHANGES,v 1.2232.2.13 2007/06/19 12:09:38 agoubard Exp $

______________________________________________________________________________
CHANGES INTRODUCED IN XINS 2.0 FINAL:

* XINS/Java Common Library:
  - Fixed ElementSerializer as xmlenc attribute method does not accept null
    values.

* XINS/Java Server Framework:
  - Improved error messages in the _xins-xslt cc in case it doesn't find the
    XSLT files.

* Generation of client-side Java code:
  - If a runtime property has a default value, the method generated should
    return the same object if the property was requited.

* Generation of the API from the WSDL:
  - Added more comments.
  - Generation of other files than api.xml now works with Java 5 and Java 6.

* Generated build file:
  - Fixed the help target with the new tools and help-tools target.
  - Fixed the resultcodes.xml should be also generated in case all error
    codes are shared error codes.
  - Improved handling of file regeneration when function specification change.
  - Updated the create-impl-<api name> target to point to the 2.0 DTD.
  - Updated the create-impl-<api name> target by adding a comment with the
    possible elements in impl.xml.

* Generation of specification documentation:
  - Selection -- blank -- should not reset the environment field.

* Documentation:
  - Added links to the user guide from the features page.
  - Changed the documentation page from a bullet list to tables.

* Other:
  - Fixed, shared error code should also be used in the examples.

______________________________________________________________________________
CHANGES INTRODUCED IN XINS 2.0 RC 1:

* XINS/Java Common Library:
  - Removed unused code detected by PMD.
  - Fixed Javadoc and other small problems detected by Checkstyle.
  - Fixed incorrect class cast in BeanUtils.
  - Fixed NPE in XinsCapiFactoryBean.
  - Several small changes pointed by FindBugs tool.
  - Added @since XINS 2.0 for new classes and new public methods.
  - Fixed bug in TextUtils.removeCharacter() method.
  - Improved performance of the internal Servlet container by checking for
    index.html only for HTTP GET.
  - Parameters are only serialized when logged for the first time.
  - Removed caching of the HttpClient object in the HTTPServiceCaller as it
    seems to slow down the system.
  - Removed the MultiThreadedConnectionManager as it seems to slow down the
    system.
  - Downgraded log message 1101 to DEBUG level as it contains the same
    information as log 1107 or other logs printed in case of failure.

* Logdoc:
  - ExceptionUtils.getRootCause() accepts null argument.

* XINS/Java Server Framework:
  - Removed unused code detected by PMD.
  - Fixed Javadoc and other small problems detected by Checkstyle.
  - Use notifyAll() to wake up the runtime property file watcher.
  - If the conditional redirection in XINS FF fails try the standard
    redirection mapping.
  - Several small changes pointed by FindBugs tool.
  - Added @since XINS 2.0 for new classes and new public methods.
  - Improve detection of the XINS FF CC.
  - The full URL is returned in the _SMD meta function.
  - In XINS FF, first check that the identical input parameter does not
    exist before doing a mapping of parameters.
  - Improved log in case that the XINS Server fails to start.

* XINS/Java Client Framework:
  - Removed unused code detected by PMD.
  - Several small changes pointed by FindBugs tool.
  - Added @since XINS 2.0 for new classes and new public methods.
  - Detection of functional error code is done using CAPI.isFunctionalError()
    method. This improves the performance of the CAPI.
  - Parameters and data section are only serialized when logged for the first
    time.

* Generation of logdoc code:
  - Do not log the message with the exception at debug level if the exception
    is null.

* Generation of client-side Java code:
  - Added implementation of CAPI.isFunctionalError().

* Tools:
  - Added 2007 as allowed year in the java.header checkstyle file.
  - Default directory for installing FindBugs and JMeter is XINS_HOME/.. .
  - Updated to download FindBugs 1.2.0.

* Libraries:
  - Updated commons-logging.jar to version 1.1.
  - Updated commons-net to version 1.4.1.
  - Updated jsch.jar to version 0.1.33.

* Build- and release-process:
  - If force=true, the cvs diff is not checked.
  - Added new profile-perftests target.
  - Rollback installer to InnoSetup 5.1.8 as higher versions ask for
    administrator right for Windows 2000 install.

* Tests:
  - Tested with Tomcat 5.5 (unpack, no unpack), Jetty 5.1, Jetty 6.1,
    Glassfish v1 and Glassfish v2 beta2.

* Documentation:
  - Updated README.html with XINS 2.0 information.
  - Updated the user guide with XINS 2.0 features.
  - Updated the front-end framework manual with XINS 2.0 features.

______________________________________________________________________________
CHANGES INTRODUCED IN XINS 2.0 BETA 2:

* Logdoc:
  - The following classes have been removed as no longer used:
    AbstractLogdocSerializable, LogdocHexConverter, LogdocSerializable,
    LogdocStringBuffer, UnsupportedLocaleError, MandatoryArgumentChecker.

* XINS/Java Common Library:
  - Removed methods using the LogdocSerializable class.
  - Deprecated the org.xins.common.threads.QueueTimeOutException class as not
    used.
  - Fixed getPathInfo and getPathTranslated in the XINSServletRequest.
  - Removed the package org.xins.common.threads as it is not used.
  - Fixed possible NullPointerException in the Element.QualifiedName class.
  - BeanUtils.convert can also convert to a List or Abstract collection.
  - BeanUtils.getParametersAsObject should not convert values to String.
  - Improved detected source class and source method when logging an ignored
    exception or a programming error.
  - Removed unneeded parameters to the call to Utils.logIgnoredException.
  - Improved handling of primitive types for converting objects.
  - Removed IOReader.readFullyAsBytes as it doesn't work correctly.
  - Fixed incorrect possible error message in UppercaseTask.
  - Added comment that the container package should not be used as it may
    be removed.
  - Added support for TargetDescriptor for BeanUtils.getParametersAsObject().
  - Added a log when the convertion fails in BeanUtils.
  - Removed some TODO statements no longer relevant.

* XINS/Java Server Framework:
  - Removed deprecated class FormattedDate.
  - Various bug fixes in the JSONCallingConvention.
  - Various bug fixes in the JSONRPCCallingConvention.
  - Fixed incorrect serviceURL for the _SMD meta function.
  - Removed unneeded parameters to the call to Utils.logIgnoredException.
  - Conditional redirection will not happen if the function returns an error.
  - Removed deprecated method
    APIServlet.service(ServletRequest, ServletResponse).
  - Null JSON objects should be specified with JSONObject.NULL and not null.
  - Added logging when the requested path cannot be found in the WAR file.
  - Removed some TODO statements no longer relevant.

* XINS/Java Client Framework:
  - Removed methods using the LogdocSerializable class.
  - Removed the DataElement class replaced by org.xins.common.xml.Element.
  - Removed some TODO statements no longer relevant.

* Generated build file:
  - Use <property file="..."/> instead of <loadproperties/> task as
    loadproperties fails if the file does not exist.
  - Fixed incorrect location of the build.properties file.

* Generation of specification documentation:
  - The _autofill parameter of the test form should not be sent.

* Tools:
  - Fixed missing variable in api_to_smd.xslt.
  - Fixed incorrect calling convention used in api_to_smd.xslt.
  - Fixed the location variable was not used in api_to_smd.xslt.
  - Avoid double / in the service URL in api_to_smd.xslt.

* Examples:
  - Added new Ajax example using the DOJO toolkit.
  - Upgraded Sarissa.js to version 0.9.7.8.
  - Changed Sarissa.js license to Apache 2.0.

* Tests:
  - Splitted the CallingCallingTests class in several classes according to
    the calling convention tested.
  - Added tests for JSON and JSON-RPC calling conventions.
  - Added call to the smd target.
  - Added tests for the new meta functions _WSDL, _SMD, _DisableAPI and
    _EnableAPI.
  - Added tests for the Element class.
  - Added more tests for the BeanUtils class.
  - Fixed tests for the frontend framework.
  - Added tests for HungarianMapper and UppercaseTask.
  - Added tests for UniqueProperties.

* Build- and release-process:
  - Added new clean-release target.
  - Upgraded installer to Inno Setup version 5.1.12.
  - Added xmlenc license to the release.
  - Added Sarissa license to the release.
  - Added myproject.smd to the release.

______________________________________________________________________________
CHANGES INTRODUCED IN XINS 2.0 BETA 1:

* XINS/Java Common Library:
  - Fixed missing _list, _set and _hex in the list of the possible pre-defined
    types in the spec package.
  - Added convertion in BeanUtils from ItemList to a Collection and vice-versa.
  - Added convertion in BeanUtils from Java Date to a XINS Date or Timestamp
    and vice-versa.
  - Added a new method in BeanUtils to get the parameters of the Request (on
    the server side) or of the Result (on the client side) as standard Java
    objects.
  - Added a new method in BeanUtils to be able to provide a mapping of
    element names and/or attribute name for the xmlToObject method.
  - Removed old deprecated methods of the Servlet container package.
  - Fixed incorrect links in the Javadoc.
  - Added new public method BeanUtils.convert() for objects convertion.
  - Added the possibility to change the local name of an XML element.
  - Fixed possible NullPointerException in BeanUtils.xmlToObject().
  - Added new method in IOReader to read the bytes of an InputStream.
  - Added new package org.xins.common.spring to ease integration with the
    Spring framework.

* XINS/Java Server Framework:
  - Removed unused variables in API.java.
  - Removed some methods and constructors in ResultCode.java.
  - Removed unneeded log messages about the calling convention.
  - Replaced the templates.callingconvention.source property of the _xins-xslt
    CC to templates.<api name>.xins-xslt.source.
  - Removed the templates.callingconvention.parameter runtime property for the
    xins-xslt CC.
  - Added the templates.parameter.prefix for the xins-xslt CC that defines the
    prefix of the _template parameter. If not set or empty, the _template
    parameter is not allowed.
  - Fixed incorrect links in the Javadoc.
  - Added JSON as library for the Javadoc.
  - The FunctionResult.checkOutputParameters() method is now public in order
    to enable external validation.
  - If a runtime property is set more than once in the runtime property file
    the API will log it as an error and fail to start.
  - Fixed _ReloadProperties meta function which was doing nothing when the
    watch interval was different of 0.
  - Clone the input parameters in the SessionManager to avoid
    ConcurentAccessException.
  - The public constants defined in APIServlet have been moved to the more
    appropriate class.
  - Reduced the visility of the constants from public to private, friendly or
    protected.
  - The statistics are now detailed per default.
  - Fixed possible NullPointerException in the xins-xslt cc.
  - Added logging of the location of the XSLT when loading and compiling a page.
  - Fixed transformation error when shared error code is used.
  - Added _SMD meta function for better integration with DOJO toolkit.
  - Used the put method to fill in the JSON object instead of append.
  - Removed unneeded creation of error code in APIImpl.java.
  - Fixed errors with shared error code.
  - Generated error code are now public.
  - Methods in the SOAP calling convention are protected in order to ease
    custom parsing and creation of SOAP messages.
  - Renamed templates.parameter.prefix runtime property to
    templates.<api name>.xins-xslt.parameter.prefix.

* Generation of the API from the WSDL:
  - Added more comments in the code.
  - When recursively going into complex types, add a prefix to the element
    name.
  - Added declaration of the lists in the api.xml.

* Generation of the unit tests:
  - Added Javadoc to the tests.

* Generation of the web.xml:
  - Added the build java version used to compile the API.

* Generated build file:
  - Added json.jar as a dependency in the WAR file.
  - Added the build java version used to compile the API.
  - Removed unneeded comment printed to the console.
  - The NoBannerLogger is now used when executing the build.xml.
  - If a category changes, the index.html of the specdocs should also be
    regenerated.
  - The WSDL should be regenerated when the specifications change.
  - Generated files depending on the content of types and error code should
    also be regenerated when a shared type or shared error code changes.

* XSLT:
  - Moved the class fields before the constructor.
  - Changed the default indentation in editable generated Java files to 4
    spaces as specified in the Java coding convention.
    If you use another indentation, use the 'Reformat code' feature of your
    favorite IDE.
  - Avoid unnecesasry if condition in checkParameters().

* Tools:
  - Added new 'smd' target that generates the SMD (Simple Method Description)
    file for an API.
    The location of the API can be specified with the smd.endpoint build
    property.
  - Upgraded maven to 1.5.2.
  - Improved use of nbbrowse task in NetBeans to open a local file correctly.
  - Added debug fix (apply patch) in the project pop-up menu in NetBeans.

* Build- and release-process:
  - Changed the package-maven target to the maven target.
  - The maven target now also upload the created jar file to sourceforge and
    print the issue to create in Maven.
  - Added Javadoc to the Maven modules.

______________________________________________________________________________
CHANGES INTRODUCED IN XINS 2.0 ALPHA 6:

* XINS/Java Common Library:
  - Fixed the incorrect cause was set for the CallException (it was the cause
    of the cause).
  - Clarified the message showed when a CallException is thrown.
  - Simplified the output when describing the HTTPCallRequest.
  - Simplified description of the call configurations.
  - The CallConfig classes are no longer Thread safe.
  - Removed unneeded comments.
  - Moved createPattern method from TextUtils to PatternUtils. The
    HungarianMapperTask won't then fail because of missing oro library.
  - Moved the class fields before the constructor.
  - Moved the static methods after the constructor.

* XINS/Java Server Framework:
  - Added a new bootstrap property to specify an error page when the
    XSLT transformation fails in the XINS FF.
  - A default error message is displayed when the XSLT transformation fails
    in the XINS FF.
  - Fixed the template for the Control command was not cached in the XINS FF.
  - The call target is no longer required for a CallException.
  - The value of an invalid value for type error is now returned in the
    message.
  - Fixed possible error if the function is empty.
  - Removed unneeded comments.
  - Moved the class fields before the constructor.
  - Moved the static methods after the constructor.

* XINS/Java Client Framework:
  - The UnacceptableRequestException now extends XINSCallException instead
    of RuntimeException.
  - Added new UnacceptableMessageException which is used for invalid messages.
  - If value is invalid, the invalid value is also given in the message.
  - Simplified the output when describing the XINSCallRequest.
  - Simplified description of the XINS call config.
  - The XINSCallConfig class is no longer Thread safe.
  - Removed unneeded comments.
  - Moved the class fields before the constructor.
  - Moved the static methods after the constructor.

* Generation of client-side Java code:
  - Used the UnacceptableMessageException when an invalid result is received.
  - If any of the specification files change, the CAPI.java should be
    regenerated.
  - Fixed possible compilation error for list or set of primitive types.

* Generation of the Java types:
  - Added fromStringForRequired and fromStringForOptional for list and set
    types.

* Generation of the API from the WSDL:
  - If the WSDL parameter is all uppercase, the variable will be all lowercase.
  - Process smart hungarian lower to parameter names.
    e.g. HTTPInfo -> httpInfo.
  - Added support of reference to another complex type or to an element from
    an element.
  - Fixed the XML Schema 's:' was not extended to 'xsd:'.
  - Fixed the wsdl directory is created if it didn't exists when importing
    from an URL.
  - Unbounded elements are put in the data section.
  - Added support for XML Schema list type.
  - Improved detection of XML Schema types.
  - Unbounded elements using defined xsd types or simpleTypes are considered
    as a list.
  - Avoid duplication in function names.

* Generated build file:
  - Added new 'tests' target that runs the tests of all the APIs that have
    tests.

* XSLT:
  - Removed unneeded comments.
  - Moved the class fields before the constructor.
  - Moved the static methods after the constructor.
  - The underscore should not be skipped when changing a text to the
    hungarian convention.

* Tools:
  - Added Jetty plug-in and name of the WAR file to the Maven pom.xml.
  - Load the build.properties in the -init-tools target.
  - Renamed target tools to help-tools.
  - Added required and optional build properties to run the tools.
  - Use builddir variable to specify the build directory in tools.xslt.

* Build- and release-process:
  - Disabled ftp upload for the exe file.

* Examples:
  - Removed unneeded comments.
  - Moved the class fields before the constructor.

______________________________________________________________________________
CHANGES INTRODUCED IN XINS 2.0 ALPHA 5:

* Logdoc:
  - The following classes have been deprecated as no longer used:
    AbstractLogdocSerializable, LogdocHexConverter, LogdocSerializable,
    LogdocStringBuffer, UnsupportedLocaleError, MandatoryArgumentChecker.
  - The type 'serializable' is no longer supported. LogdocSerializable is
    replaced by the toString() method of the object passed as argument or
    by passing directly the String.
    This change may break compatibility.
  - The format 'hex' is no longer supported for integers. Note that it was
    never used or documented.
  - org.xins.logdoc.MandatoryArgumentChecker is no longer public.
  - Cleaned-up logging messages.

* XINS/Java Common Library:
  - Some methods in BeanUtils will throw an IllegalArgumentException instead
    of a NullPointerException.
  - Next version will be XINS 2.0 instead of XINS 2.0.0.
  - Removed CallTargetsTask as it's no longer used.
  - Added new method in ElementParser to parse XML based on an InputStream.
  - Removed unused method in HTTPServiceCaller.
  - Changed some methods that shouldn't be called from public to private.
  - Fixed bug #1665175: Set the character encoding as UTF-8 as the server uses
    this setting to also decode the URL parameters.
  - Added support for the setCharacterEncoding in the internal Servlet
    container.
  - Added support for path and domain for cookies in the internal Servlet
    container.
  - Cleaned-up logging messages.
  - Added new method in TextUtils to remove a character in a text.
  - Added method to convert a List.Value to a java.util.List and vice-versa.
  - Added method to convert a Set.Value to a java.util.Set and vice-versa.

* XINS/Java Server Framework:
  - Added a new method to get the InputStream of a resource located in the WAR
    file.
  - Improved method used to find files located in the WAR file.
  - Next version will be XINS 2.0 instead of XINS 2.0.0.
  - The FrontendCallingConvention is no longer final.
  - Improved implementation of the FunctionRequest class.
  - The new argument skipFunctionCall is now used in the XINS FF CC and the
    JSONRPCCallingConvention instead of the _NoOp meta function.
  - If no name is specified for an API, an exception is thrown.
  - FormatterParameters no longer implements LogdocSerializable.
  - FormattedDate has been deprecated.
  - Fixed bug #1665175: If no character encoding is specified, use UTF-8.
  - Cleaned-up logging messages.
  - Better detection of the XINS FF CC.

* XINS/Java Client Framework:
  - The class DataElement has been deprecated and replaced by
    org.xins.common.xml.Element.
    This change may break your code compatibility, all you need to do to fix
    the incompatibilities is to replace DataElement with Element and remove
    any .toXMLElement().
  - In the returned XML each param element should have a name attribute.

* Generation of specification documentation:
  - If a result code file changes, the index.html is regenerated.
  - Removed checking of the result code uniqueness as a result code cannot
    have a value anymore. It was only possible before XINS 1.0.
    This should improve the speed of the generation of the specdocs.

* Generated build file:
  - Fixed RFE/Bug 1632118: test-API target does not depend on war-API target.
  - Fixed generation of the build.xml failed with Java 5/6 because of a
    multiple defined variable.
  - Improved message description in case XINS_HOME is set incorrectly or
    the script is not executed from the correct directory.
  - Removed transform target which is not used.
  - Next version will be XINS 2.0 instead of XINS 2.0.0.
  - The Unix xins script now uses the make-build.xml to create the build.xml
    instead of the bootstrap.xml.
  - Improved layout of the help target.
  - Added new 'tools' target that displays the help for the tools targets.
  - Improved the search of api.xml and impl.xml to know when the build file
    should be recreated. This should the execution speed for all commands.
  - The create-logdoc now informs where are the files created.
  - Always use the builddir variable to locate the location of the build
    directory.

* Build- and release-process:
  - The new version will be 2.0-alpha5 instead of 2.0.0-alpha5.

* Tools:
  - Added more flexibity for the checkstyle tool.

* Examples:
  - Fixed the functions of the toolbox API.
  - Added deploy-tomcat target to the nbbuild.xml of the petstore.

* Documentation:
  - Improved description for integration with NetBeans.
  - Fixed how to use the Ant tasks.
  - Documented the incompatibilities in README.html.

______________________________________________________________________________
CHANGES INTRODUCED IN XINS 2.0 ALPHA 4:

* XINS/Java Common Library:
  - The FastStringBuffer class has been deprecated and been replaced by String
    concatenation or the Stringbuffer class which are faster.
  - The FastStringWriter class has been deprecated and been replaced by
    StringWriter which is faster.
  - Implemented RFE #1642379: Added support for path in internal servlet
    container.
  - Added a new method in BeanUtils to get the parameter values of a POJO
    as String values.
  - Removed unneeded unmodifiable Map objects in the enum type.
  - Added a new method in TextUtils to create a Perl5 pattern.
  - Improved clarity in the programming exception thrown.
  - Removed duplicated code detected by PMD 3.9.
  - Stack traces have been removed from the logging for the ignorable exception
    as there are not needed.
  - Added new class IOReader containing utilities methods to read input stream.
  - Removed CollectionUtils class as this class was not used.
  - Methods getChildElements() and getAttributes() returns the original
    structure of the XML element.

* XINS/Java Server Framework:
  - Remove use of an unneeded ThreadLocal in the CallResultOutputter.
  - Changed CallResultOutputter to directly write in the Writer passed as
    argument.
  - Improved clarity in the programming exception thrown.
  - Lazy instantiation of the calling conventions.
  - CallingConvention#getAPI() will return the API object only after the
    construction of the calling convention.
  - Removed duplicated code detected by PMD 3.9.
  - When mode=source is used in XINS FF, the redirection also forward this
    parameter.
  - Removed the old calling convention.
  - Removed isMoreRecent method of the class Libray as it contains several
    bugs and this method is unneeded.
  - The calling conventions are now public and extendable.
  - Added new JSONCallingConvention which implement Yahoo! style of JSON RPC
    calls, included callback.

* XINS/Java Client Framework:
  - Improved clarity in the programming exception thrown.
  - Removed duplicated code detected by PMD 3.9.

* Generated build file:
  - Do not include the impl.xml and the class files from the impl directory
    into the WAR file.
  - Do not include the CAPI source code in the Zip file as it is no needed.
  - Moved the specs in the WAR file to the WEB-INF/specs directory.
  - The old directory structure is not supported anymore.

* Generation of specification documentation:
  - Moved the help section to the user guide.
  - Check that the type defined in the function match the case of the type
    defined the the type file.

* Generation of server-side Java code:
  - The old directory structure is not supported anymore.
  - The ParameterNotInitializedException is no longer thrown for optional
    parameter or attributes in the request. If you have an optional parameter
    or attribute in the input, an object will always be returned from the get
    method. The value of this object will be null if the parameter is not
    sent and there is no default.
    This change may break the compatibility of your code if you had optional
    input parameters or attributes returning primitive types (int, short,
    boolean, ...) you will need to change your code to use .intValue(), etc...
  - Fixed: the default attribute was not handled correctly in the generated
    Request object.

* Generation of the opendoc:
  - Fixed: the creation doesn't fail anymore if there is no error code in the
    API.

* Generation of the WSDL:
  - The generated file is correctly indented with tabs.
  - Added support for the default attribute.

* Generation of the API from the WSDL:
  - Improved description of the function and error code.
  - Added support for the default attribute.
  - Fixed cases for functions, types and error code in the generated api.xml.
  - Added support for complexContent in WSDL.
  - Fixed double maxLength in generated types.
  - Added support for minimum and maximum in XML Schema decimal.
  - Fixed incorrect doctype generated for files.
  - Improved normalisation of the original WSDL.

* Generation of the types from the XML Schema:
  - The API does not need to exist beforehand anymore.
  - Simple type directly defined under the schema element are included.
  - The documentation of the parent element is used if found.

* Build- and release-process:
  - Fixed bug #1657846: css directory is missing from the release.
  - The version.minor number is optional.
  - Fixed the fileupload API didn't compile because of a corrupted JAR file.

* DTD:
  - Removed 1.0 alpha DTDs.

* Other:
  - Changed the type_2_0.dtd file to required a type.

______________________________________________________________________________
CHANGES INTRODUCED IN XINS 2.0 ALPHA 3:

* XINS/Java Common Library:
  - Fixed SF.net bug #1636021: NPE in ServletRequestPropertyReader constructor.
  - BeanUtils.getParameters() store the parameters starting with a lowercase.
  - Added new methods to TextUtils to change a String to start with an
    uppercase or a lowercase.
  - Don't throw NPE if no query string in the internal Servlet container.

* XINS/Java Server Framework:
  - Added new meta function _EnableAPI and _DisableAPI in order to disable an
    API for example during the maintenance of resources used by the API.
  - If mode=source is used in the XINS FF, the redirection is skipped and
    the XML is returned.
  - Added the possibility to indicate in the calling convention not to execute
    the function returned.
  - Added handling of output parameters and data section for defined error
    codes.
  - In the XINS FF, the session ID is stored using the subdomain host name.
  - The get methods of the FunctionRequest object are now public.

* Generation of specification documentation:
  - The version is printed in the footer only when known.
  - Added link to xins.org in the footer.

* Generation of the WSDL:
  - Fixed the shared types had a '/' in the WSDL name.
  - Fixed error codes were skipped.
  - Added handling of output parameters and data section for defined error
    codes.
  - Added documentation for the parameters, the attributes and the data
    elements.

* XSLT:
  - The underscore is skipped when changing a text to the hungarian convention.
  - Added a new method to convert XML Schema types to predefined XINS types.
  - Fixed missing project_node parameters for some methods defined in
    types.xslt.
  - Improved details of the error messages.
  - Added shared error code.

* Generated build file:
  - Put the reference to the Logdoc DTD catalog in a specific target.

* Tools:
  - Added stylesheet to convert a XSD files to XINS type files.
  - Added stylesheet to convert a WSDL file to a XINS API.
  - Added possibility to convert a WSDL URL to a XINS API.

* Build- and release-process:
  - Fixed missing image with the Javadoc.
  - Added Groovy example to the release.

______________________________________________________________________________
CHANGES INTRODUCED IN XINS 2.0 ALPHA 2:

* XINS/Java Common Library:
  - BeanUtils#convertObject will also convert from String to Date or Timestamp.
  - Added method ElementParser#parser(String) to parse an XML String.
  - Added BeanUtils#getParameters(Object) method to extract the values of a
    POJO in a Map.
  - Added BeanUtils#setParameters(Map, Object) method to set the values
    contained in a Map into a POJO.
  - SF.net RFE #1589110: Added the possibility to set a limit for the number of
    characters printed for the value of an object in a PropertyReader.
  - The org.xins.common.xml.Element object is now editable.
  - Added ProtectedList#remove(key, element) method to remove an element from
    the list.

* XINS/Java Server Framework:
  - EnumItem are also displayed in the XML output of the XINS FF.
  - Added new runtime property for the XSLT calling convention which allows
    to pass the template location as one of the parameter to the request.
    The new runtime property is templates.callingconvention.parameter and has
    the default value to false.
  - Simplified gatherParameters and cleanUpParameters in CallingConvention.
  - Added JSONRPCCallingConvention.
  - Added test of parameter mapping in the XINSFF CC.
  - Added test of enumeration parameter in the XINSFF CC.
  - Added _WSDL meta function.
  - Added new method in Engine to get the URL location of a file included in
    the WAR file.

* XINS/Java Client Framework:
  - Limited the length of the log message when a parameter has a too long value.

* Generation of specification documentation:
  - Added the automatic filling of the test form with the examples.

* Generated tests:
  - Fixed bug #1630767: Changed comment in the generated APITest file.

* Generated build file:
  - Fixed missing reference to the 1.5 DTD files for the generated logdoc
    build.xml file.
  - Added download-tools target.
  - Fixed copy a shared type starting with lowercase was failing because the
    mapper was ignored when file is used in the copy Ant task.
  - Fixed the build directory is "${project_home}/build" instead of "build" so
    that you can run xins from another directory.

* Tools:
  - Fixed bug #1631365: Checkstyle-generated HTML does not show file names.

* Build- and release-process:
  - Included the missing fileupload/lib directory in the release.
  - The checkstyle target was failing because of missing libraries in the
    documentation and missing files in the release.

* Documentation:
  - Moved primers and presentations to sub directories.
  - Removed unused files on web site.
  - Added new article about writing the Web Service using a script language.
  - Fixed links on web site.
  - Corrected links on web site to avoid redirection.
  - Improved documentation on how to use antlib.xml in the antlib.xml file.

* Other:
  - Changed copyright statement to 2007.
  - Added fully compliant REST demo.
  - Added DTD files for the 2.0 version.

______________________________________________________________________________
CHANGES INTRODUCED IN XINS 2.0 ALPHA 1:

* Logdoc:
  - Removed LogdocExceptionUtils class in favour of the ExceptionUtils class.
    This class was already marked as deprecated since XINS 1.2.0.

* XINS/Java Common Library:
  - Fixed SF.net bug #1600564: Added missing methods to List and Set used for
    standard types.
  - Removed Doorman class. This class was marked as deprecated since
    XINS 1.0.1.
  - Removed org.xins.common.ExceptionUtils class. This class was marked as
    deprecated since XINS 1.2.0, in favour of the class with the same name in
    the org.xins.logdoc package.
  - Removed the WhislEncoding class. It was deprecated since XINS 1.4.0.
  - Removed the NonASCIIException class. It was deprecated since XINS 1.4.0.
  - Removed the ExpiryFolder constructor that was marked as deprecated since
    XINS 1.0.1.

  - Revisited the constructors in class HTTPCallRequest that were marked as
    deprecated. Unmarked them as deprecated. These have the following
    arguments:
    . (HTTPMethod)
    . (HTTPMethod,PropertyReader)
    . (HTTPMethod,PropertyReader,boolean,HTTPStatusCodeVerifier)
  - Removed the method getMethod() from class HTTPCallRequest. Instead,
    getConfig().getMethod() should be used.

* XINS/Java Client Framework:
  - Removed the following methods from class DataElement; these are all
    deprecated since XINS 1.1.0:
    . get(String)
    . getAttributes()
    . getName()
  - Unmarked the following constructors in class XINSCallRequest as
    deprecated; both were deprecated since XINS 1.1.0:
    . XINSCallRequest(String,PropertyReader,boolean)
    . XINSCallRequest(String,PropertyReader,boolean,HTTPMethod)
  - Removed the method isFailOverAllowed() from class XINSCallRequest. This
    method was deprecated since XINS 1.1.0.

* XINS/Java Server Framework:
  - Fixed SF.net bug #1604364: Numbers and booleans should also be shown in the
    session XML.
  - The default command in xins ff could also be unrestricted.
  - The request and result method in the session manager of the xins ff can
    be extended.
  - The shouldLogIn() method shouldn't check the HttpSession in the xins ff.
  - The _session of the SessionManager might be null if the xins ff is not
    used.
  - Removed the org.xins.server.Element class in favour of the
    org.xins.common.xml.Element class. This class was marked deprecated since
    XINS 1.1.0.
  - Removed LOG_LOCALE_PROPERTY from class APIServlet, in favour of the field
    with the same name in class org.xins.logdoc.LogCentral. This field was
    marked as deprecated already.
  - Removed the initImpl(ServletConfig) method from class APIServlet. It was
    deprecated since XINS 1.3.0.
  - Removed the parseAccessRuleList(String) method from class AccessRuleList,
    in favour of the alternative that accepts an interval (of type 'int') as
    well. This method was deprecated since XINS 1.3.0.
  - Removed method allow(String,String) from class AccessRuleList, in favour
    of the method isAllowed with the same signature. The removed method was
    marked as deprecated since XINS 1.3.0.
  - Added new runtime property org.xins.server.jmx. This property is
    optional and the default value is false.
  - Return HTTP OK with XML MIME type when mode=template is used for the
    XINS FF.
  - The Control command will also return the HTML if an action is executed.

* Generation of client-side Java code:
  - Removed the following generated methods, which were marked as deprecated
    since XINS 1.2.0:
    . create(PropertyReader,String,XINSCallConfig)
    . create(PropertyReader,String)
  - Removed explicit usage of java.lang in generated code.

* Generation of server-side Java code:
  - Check that the error code parameter is coming from an UnsuccessfulResult.
  - Removed explicit usage of java.lang in generated code.

* Generation of specification documentation:
  - Moved the javascript of the test forms in a Javascript file.
  - Implement RFE #1578187: Remember the selected environment on test forms.
    Done by Mees.

* Generated build file:
  - Remove the classes generated by the tests when calling clean-<api name>.
  - Starting the Servlet container for the test coverage is now optional.
  - Build failed if the API contained only shared types.
  - Added comment in generated impl.xml to know the order of the sub-elements.
  - All JARs added to the test directory are added to the classpath for
    compiling and running the tests.
  - The API dependencies are added to the classpath for compiling the tests.
  - Do not check the dependency type in impl.xml as a dependency cannot have a
    type.
  - Ask confirmation before generating the stub files.

* Lodoc:
  - Ignorable exceptions shouldn't be logged at ERROR level.

* Build- and release-process:
  - Leave the rabbit as is.

* Tools:
  - Fixed SF.net bug #1601190: Added Jaxen as needed libraries for PMD.
  - Fixed SF.net bug #1604553: Missing config.xml file for the checkstyle task.
  - Partially fixed SF.net bug #1598355: Maven pom.xml is wrongly generated.
  - Added Maven2 POM for XINS 1.5.0.
  - Cleaned up commented rules in the config.xml.
  - Set the TODO comment on warning level.
  - Do not cover the generated Request and Result object in code coverage.
  - Generated pom.xml refers to the JAR files available in the Maven 2
    repository.

* Demo:
  - Fixed incorrect replace in the copy-nb-files target for NetBeans.

* Other:
  - Changed all @orange-ft.com addresses to @orange-ftgroup.com.
  - Changed the e-mail address of Ernst to ernst@ernstdehaan.com.