This is release 950216 of Wine the MS Windows emulator.  This is still a
developer's only release.  There are many bugs and many unimplemented API
features.  Most applications still do not work.

Patches should be submitted to "wine-new@amscons.com".  Please don't forget
to include a ChangeLog entry.  I'll make a new release every other Sunday.

WHAT'S NEW with Wine-950216: (see ChangeLog for details)
	- Size optimizations in DLL relay code
	- Portability fixes for WineLib
	- Handling of relative paths in DOS filenames
	- Lots of bug fixes

See the README file in the distribution for installation instructions.

Because of lags created by using mirror, this message may reach you before
the release is available at the ftp sites.  The sources will be available
from the following locations:

	sunsite.unc.edu:/pub/Linux/ALPHA/wine/Wine-950216.tar.gz
	aris.com:/pub/linux/ALPHA/Wine/development/Wine-950216.tar.gz
	tsx-11.mit.edu:/pub/linux/ALPHA/Wine/development/Wine-950216.tar.gz
	ftp.funet.fi:/pub/OS/Linux/ALPHA/Wine/Wine-950216.tar.gz
	ftp.wonderland.org:/Wine/Wine-950216.tar.gz

If you submitted a patch, please check to make sure it has been
included in the new release.

New developers should read the info files available from the ftp sites.
The files NEWBIE-PROJECTS, DEVELOPERS-HINTS and Wine.FAQ are required
reading for new developers.

Wine is available thanks to the work of Bob Amstadt, Dag Asheim,
Martin Ayotte, Erik Bos, John Brezak, Andrew Bulhak, John Burton,
Paul Falstad, Peter Galbavy, Jeffrey Hsu, Miguel de Icaza,
Alexandre Julliard, Jon Konrath, Scott A. Laird, Martin von Loewis,
Kenneth MacDonald, Peter MacDonald, David Metcalfe, Michael Patra,
John Richardson, Johannes Ruscheinski, Yngvi Sigurjonsson,
Rick Sladkey, William Smith, Jon Tombs, Linus Torvalds, Carl Williams,
Karl Guenter Wuensch, and Eric Youngdale.

--
Alexandre Julliard
julliard@sunsite.unc.edu
