This is release 950122 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-950122: (see ChangeLog for details)
	- ELF format support
	- New disassembler based on Mach code, replacing the gdb code
	- Faster regions
	- 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-950122.tar.gz
	aris.com:/pub/linux/ALPHA/Wine/development/Wine-950122.tar.gz
	tsx-11.mit.edu:/pub/linux/ALPHA/Wine/development/Wine-950122.tar.gz
	ftp.funet.fi:/pub/OS/Linux/ALPHA/Wine/Wine-950122.tar.gz
	ftp.wonderland.org:/Wine/Wine-950122.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@lamisun.epfl.ch
