This is release 960131 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 week.

WHAT'S NEW with Wine-960131: (see ChangeLog for details)
	- New format for drives configuration in wine.conf; please
	  check your configuration files.
	- Many MDI improvements.
	- Even more Win32 code.
	- 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-960131.tar.gz
    tsx-11.mit.edu:/pub/linux/ALPHA/Wine/development/Wine-960131.tar.gz
    ftp.infomagic.com:/pub/mirrors/linux/wine/development/Wine-960131.tar.gz
    aris.com:/pub/linux/ALPHA/Wine/development/Wine-960131.tar.gz

It should also be available from any site that mirrors tsx-11 or sunsite.

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, Ross Biro, Erik Bos, Fons Botman, John Brezak,
Andrew Bulhak, John Burton, Paul Falstad, Olaf Flebbe, Peter Galbavy,
Ramon Garcia, Hans de Graaff, Charles M. Hannum, Cameron Heide,
Jochen Hoenicke, Jeffrey Hsu, Miguel de Icaza, Alexandre Julliard,
Jon Konrath, Scott A. Laird, Martin von Loewis, Kenneth MacDonald,
Peter MacDonald, William Magro, Marcus Meissner, Graham Menhennitt,
David Metcalfe, Michael Patra, John Richardson, Johannes Ruscheinski,
Thomas Sandford, Constantine Sapuntzakis, Daniel Schepler,
Bernd Schmidt, Yngvi Sigurjonsson, Rick Sladkey, William Smith,
Erik Svendsen, Goran Thyni, Jimmy Tirtawangsa, Jon Tombs,
Linus Torvalds, Gregory Trubetskoy, Michael Veksler, Morten Welinder,
Jan Willamowius, Carl Williams, Karl Guenter Wuensch, Eric Youngdale,
and James Youngman.

--
Alexandre Julliard
julliard@sunsite.unc.edu
