
 Changes since 0.04
-----------------------
- Fixed a silly reversed-logic bug in M2Crypto.SSL.Connection.setblocking().
- ZServerSSL with X.509 certificate-authentication.
- Fixed yet more memory leaks. Thanks to Ray Suorsa <res@loudcloud.com>.
- ZSmime, an S/MIME message-generator for Zope.
- Build instructions for Borland BC++ 5.5 free compiler suite.
- Bundles the June 2000 unencumbered release of Medusa.
- SSL callback thread-safety. Thanks again to Ray Suorsa for insights and patches.
- Renamed M2Crypto.M2Crypto to M2Crypto.m2 to prevent package/module loading confusion.
- SSL.Session and a demo in demo/ssl/sess.py.
- https_srv.py, an enhanced, https version of SimpleHTTPServer.py.
- Interface change: SMIME.load_pkcs7_bio() is renamed SMIME.smime_load_pkcs7_bio(),
  similarly SMIME.load_pkcs7() to SMIME.smime_load_pkcs7(); these load PKCS7 objects 
  generated by S/MIME.
- Interface change: SMIME.load_pkcs7_bio() now loads a PKCS7 PEM file, i.e., a file
  of the format "-----BEGIN PKCS7-----". 



 Changes since 0.03
-----------------------
- SSL certificate-based authentication with Python callback.
- More robust SSL.Connection - raises exceptions, not dumps core.
- Fixed (some) memory leaks and multiple-free()s.
- Cleaned up EVP.HMAC and EVP.PKey.
- More X.509 certificate manipulation.
- An interface to create SSL sessions.
- Unified SSL read() and write() for synchronous and asynchronous operation.
- S/MIME and PKCS #7.
- Integrated with OpenSSL 0.9.5.
- Enhanced the PRNG interface. 


 Changes since 0.02
-----------------------
1. Ephemeral DH for SSL.
2. ThreadingSSLServer now does.
3. XMLrpc over https.
4. ZServerSSL for Zope 2.1.3.
5. Encrypting monitor for Zope 2.1.3.
6. Beginnings of PGP2 support.
7. Replaced eval() calls with other (hopefully) safe ones.
8. Miscellaneous enhancements and bug fixes.
   

 Changes since 0.01
-----------------------
1. Beginnings of SSL support.

	For building servers, blocking i/o:
		- An SSLServer modeled after SocketServer.
		- A ForkingSSLServer that seems to work well.
		- A ThreadingSSLServer that runs one thread at a time. (!) ;-)
		
	For building servers, nonblocking i/o:
		- An ssl_dispatcher modeled after asyncore.dispatcher.

	A HTTPS server based on Medusa.
	
	For client-side web programming:
		- httpslib
		- urllib2


2. Support for some BIO objects.
3. Reduced per-module name space pollution.
4. Have Swig check for NULL pointers: reduced .i cut-&-paste.
5. Standardise on MPINT for passing big integers between Python and OpenSSL.
6. Removed MD5, SHA1, RIPEMD160. Just use EVP.MessageDigest.  
7. Removed HMAC. Just use EVP.HMAC.  


