This is release 950403 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-950403: (see ChangeLog for details)
	- Compiled callbacks for better performance.
	- Many listbox fixes.
	- Many edit control fixes.
	- 16-bit entry points for built-in window procedures to make
	  Borland programs happy.
	- 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-950403.tar.gz
    tsx-11.mit.edu:/pub/linux/ALPHA/Wine/development/Wine-950403.tar.gz
    ftp.infomagic.com:/pub/mirrors/linux/wine/development/Wine-950403.tar.gz
    ftp.funet.fi:/pub/OS/Linux/ALPHA/Wine/Wine-950403.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, 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
