Axis2/C (1.7.0)
   * HTTP Session support 
   * HTTP KeepAlive support
   * Performance improvement to Guththila Parser
   * Transport URL support
   * Many bug fixes

Axis2/C (1.6.0)
   * XPath support for Axiom XML object model
   * CGI support
   * Improvements to MTOM to send, receive very large attachments
   * Improvements to AMQP transport
   * Improvemnets to WSDL2C codegen tool
   * Many bug fixes.
   * Memory leak fixes

Axis2/C (1.5.0)
   * AMQP Transport support with Apache Qpid. (At an experimental stage. Not working under Windows. Please refer the INSTALL file to build this)
   * Modifications to IIS Module to support IIS 6 & 7
   * Added a JScript file to automate IIS module registry configuration
   * Improved the in-only message handling
   * Specifying the MEP in the services.xml for non in-out messages made mandatory
   * Improvements to Guthtila for better performance
   * Improvements to TCPMon tool
   * Memory leak fixes
   * Bug fixes

Axis2/C (1.4.0)
   * Fixed library version numbering
   * Made Guththila as default XML parser
-- Axis2/C team <axis-c-dev@ws.apache.org> Mon,5 May 2008

Axis2/C (1.3.0)
   * Fixed a bug on version numbering
   * List Axis2/C dependencies licensing in LICENSE file
   * Add relevant copyright notices to NOTICE file
   * Digest Authentication Support
   * Proxy Authentication Support
   * Enhanced REST support
   * Ability to insert xml declaration on outgoing payloads
   * MTOM support with libcurl
   * Improvements to TCPMon Tool
   * Improvements to Test Coverage
   * Improvements to API docs
   * Improvements to CA certificate validation mechanisms on SSL Transport
   * Improvements to Neethi
   * Fixed issue in HTTP GET on mod_axis2
   * Major Improvements to Guththila Parser
   * Improvements to libcurl based sender
   * Creation of a FAQ list
   * Improvements to Axis2/C documentation
   * Added Documentation on Archive Based Deployment
   * Fixes for IIS module
   * Removed dependency in util for the Axis2/C core
   * Ability to access transport headers at the service level (for RESTful services)
   * uint64_t and int64_t support at util layer and codegen level
   * Removed zlib dependencies when Archive Based Deployment model is disabled
   * Signal Handling in Windows
   * Removed over 99% of the warnings found on Windows
   * Increased build speed on Windows with nmake.
   * Improvements to Windows build system
   * Extensions to client API to support HTTP/Proxy Authentication
   * Memory leak fixes
   * Many bug fixes

-- Axis2/C team <axis-c-dev@ws.apache.org> Fri, 29 February 2008
Axis2/C (1.2.0)
   * Improvements to Java tool, WSDL2C, that generates C code
   * Improvment to Apache2 module so that it
	* Create a shared memory global pool
	* create context hierarchy in the global pool 
	enabling it to have true application level scope.
   * Improved Policy
   * Improvements to thread environment
   * Improvements to error handling
   * Memory leak fixes
   * Many bug fixes

-- Axis2/C team <axis-c-dev@ws.apache.org> Mon, 17 January 2008
Axis2/C (1.1.0)
   * WS-Policy implementation
   * TCP Transport
   * Improvements to Guththila parser to improve performance
   * Improvements to Java tool, WSDL2C, that generates C code
   * Basic HTTP Authentication
   * Memory leak fixes
   * Many bug fixes
	
-- Axis2/C team <axis-c-dev@ws.apache.org> Mon, 24 September 2007

Axis2/C (1.0.0)
   * Many Bug Fixes
   * IIS module for server side
   * libcurl based client transport
   * Improvements to overall API to make it more user friendly, stable and binary compatible
   * Transport proxy support
   * Memory leak fixes
-- Axis2/C team <axis-c-dev@ws.apache.org> Mon, 30 April 2007

Axis2/C (0.96)
   * Major Memory leak fixes
   * Many Bug Fixes
   * Improvement to REST processing
   * Improvement to SOAP-Fault processing
   * Improvement to mod_axis2 library (plugged with apr pools)
   * Visual Studio 7.0 project
-- Axis2/C team <axis-c-dev@ws.apache.org> Thu, 19 December 2006 
	
Axis2/C (0.95)
  * Major Memory leak fixes
  * Many Bug Fixes
  * Improved Documentation
-- Axis2/C team <axis-c-dev@ws.apache.org> Thu, 26 October 2006 

Axis2/C (0.94)
  * Guththila pull parser support
  * WSDL2C code generation tool
  * TCP Monitor - C implementation
  * Major Memory leak fixes
  * Fixes to code generation with Java Tool
  * Many Bug Fixes
-- Axis2/C team <axis-c-dev@ws.apache.org>  Tue, 3 October 2006 
	
Axis2/C (0.93)
  * REST support for HTTP GET case
  * XML Schema implementation
  * Woden/C implementation that supports both WSDL 1.1 and WSDL 2.0
  * Dynamic client invocation (given a WSDL, consume services dynamically)
  * Numerous improvements to API and API documentation
  * Many bug fixes, especially, many paths of execution previously untouched were tested along with Sandesha2/C  implementation
-- Axis2/C team <axis-c-dev@ws.apache.org>  Thu, 31 August 2006 
	
Axis2/C (0.92)
  * Completed MTOM implementation with multiple attachment support and non-optimize  
  * Completed service client API with send robust and fire and forget
  * Added "message" to description hierarchy
  * Archive based deployment Model (for services and modules)
  * Code generation for WSDL using Java WSDL2Code tool
  * ADB support (with Java WSDL2C tool)
  * WS-Security usernameToken support
  * Initial implementation of the XML Schema parser (To be used in WSDL parser and REST support)
  * Initial implementation of WSDL parser (To be used in dynamic invocation)
  * Changed double pointer environment parameters into pointer parameters
  to improve efficiency
 -- Axis2/C team <axis-c-dev@ws.apache.org>  Fri, 16 June 2006 
	
Axis2/C (0.91)

  * Full Addressing 1.0 support
  * Improved fault handling model
  * SSL client transport
  * MTOM implementation
  * Implementation of easy to use service client and operation client APIs for client side programming
  * REST support (POST case)
  * Module version support
  * Service groups
  * Numerous bug fixes since last release
 -- Axis2/C team <axis-c-dev@ws.apache.org>  Mon, 15 May 2006 


Axis2/C (0.90)

  * Minimal memory leaks
  * Apache2 module working in Windows
  * More samples and tests
  * WSDL Object Model built based on the proposed WSDL 2.0 Component model
  * Dynamic Invocation
  * Numerous bug fixes since last release
 -- Axis2/C team <axis-c-dev@ws.apache.org>  Fri, 31 Mar 2006 


Axis2/C (M0.5)

  * Improving code quality by fixing memory leaks and reviewing the code
  * Apache2 integration
  * More samples and tests
  * Initial documentation(User guide, Developer Guide and Installation Guide)
  * Numerous bug fixes since last release
 -- Axis2/C team <axis-c-dev@ws.apache.org>  Fri, 10 Mar 2006 


Axis2/C (M0.4)

  * Threading support and threaded simple axis server
  * Module loading support
  * Addressing module and addressing based dispatching
  * HTTP chunking support
  * Improved logging mechanism
  * Ability to build and run on Windows platform
 -- Axis2/C team <axis-c-dev@ws.apache.org>  Fri, 17 Feb 2006


Axis2/C (M0.3)

  * Core engine in place with deployment, description and context hiarachies and http transport support
  * Soap processing support
  * Simple http server
  * Client API implementation
  * Couple of working service and client samples
 -- Axis2/C team <axis-c-dev@ws.apache.org>  Thu, 02 Feb 2006 


Axis2/C (M0.2)

  * Improved OM module
  * libxml2 parser support
  * PHP binding for OM module
  * Some test cases for PHP binding
  * Many memory leaks fixes
 -- Axis2/C team <axis-c-dev@ws.apache.org>  Thu, 08 Dec 2005


Axis2/C (M0.1)

  * Initial release

  * OM module
  * Guththila pull parser support
  * libxml2 parser support(only reader is supported as of now)
  * doxygen documentation support
  * A sample demonstrating how to use OM
 -- Axis2/C team <axis-c-dev@ws.apache.org>  Fri, 25 Nov 2005
