# Revision History

## Version 0.3.2

July 08, 2003

Version 0.3.2 is a bug fix release.

- Fixed a bug where socket file descriptors could be leaked. Thanks goes to Steve Bannister.

- Fixed a problem with building Netxx on Cygwin. Thanks goes to Sergio Ballestrero.

- Updated Perl scripts to work around a bug in the Perl 5.8 regex parser. Thanks goes to Andy Chou.

- Fixed a problem in the build system where Netxx could not be built on Solaris if you also wanted TLS/SSL support. Thanks goes to James Sammut.

- Fixed a major bug in non-blocking connects. Thanks goes to Steve Bannister.

- Updated the build script for Mac OS X (configure.sh) so that IPv6 won't cause a problem under 10.2.

- Implemented missing copy constructor, assignment operator and swap functions for Netxx::Stream. Thanks to Sebastien Bellerive for finding this one.

## Version 0.3.1

January 13, 2003

Version 0.3.1 is a bug fix release.

- Made some changes to the internal Netxx::ServerBase class that fixed exception safety issues and a double delete[] call. Thanks to Steve Bannister for finding this.

- Made a small change to Netxx::Peer to allow Netxx to compile under MacOSX again.

- Included errno.h on windows to define EAGAIN. Thanks to Charles Kerr for the suggestion.

- The Netxx API appendix of this manual was removed. It caused the size of the manual to be too large.

## Version 0.3.0

November 8th, 2002

Lots of changes, some bug fixes and some completely rewritten classes. Most changes were made to make the API even easier to use.

- Rewrote Address class. The address class is now independent of its actual use. No more Address::Type. Auto-detection of IPv4, IPv6 and Local Domain socket addresses. Much easier to use and makes input more flexible.

- Added Peer class to replace all the std::pair objects that were being used. Peer also replaces some of the functionality of the old SockAddr class.

- Moved some of the classes from the public include directory into the src directory. This means that the classes are no longer usable outside of Netxx. The classes are: Socket and SockAddr.

- Added a new Resolve class so that we can change the implementation of host name and service name resolution at compile time based on the environment.

- The server classes can now bind to more than one address. This allows you to either bind to all local addresses or just specific ones.

- Removed the MutliServer code and replaced with a new Probe class. The new Probe class can return the readable and writable state of any Netxx socket based object. Updated the multi_server example code to use the new Probe class.

- Added Win32 MSVC Workspace files for compiling a Netxx static library under Win32.

- Added a shell script for building a Netxx static library under MacOS X.

- Added Netxx::TLS::Certificate class.

- Added a default passphrase function that actually works!

## Version 0.2.0

October 22, 2001

New features and some bug fixes.

- Fixed bug in Socket::write that shows up only when write(2) returns less than the buffer size

- Fixed bug in call to select when timeout is 0

- Added TLS classes a la OpenSSL

- Moved some classes around in order to add TLS classes

- Added the Netxx::Netbuf class which is a IOStreams streambuf

- Added initial support for Microsoft Windows

## Version 0.1.0

September 7, 2001

The Netxx code was cleaned up and moved around. The API is now ready for a first release.

## Version 0.0.0

March 1, 2001

First draft of some code put together as Netxx.