This is release 980726 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 correctly.

Patches should be submitted to "julliard@lrc.epfl.ch".  Please don't
forget to include a ChangeLog entry.

WHAT'S NEW with Wine-980726: (see ChangeLog for details)
	- Still more common controls stuff.
	- More DirectDraw support.
	- Compilation problems should be gone.
	- 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:

  ftp://sunsite.unc.edu/pub/Linux/ALPHA/wine/development/Wine-980726.tar.gz
  ftp://tsx-11.mit.edu/pub/linux/ALPHA/Wine/development/Wine-980726.tar.gz
  ftp://ftp.infomagic.com/pub/mirrors/linux/sunsite/ALPHA/wine/development/Wine-980726.tar.gz
  ftp://ftp.progsoc.uts.edu.au/pub/Wine/development/Wine-980726.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.

If you want to get the new releases faster, you can subscribe to the
wine-patches mailing list by sending a mail containing 'subscribe
wine-patches your_address' to majordomo@tiger.informatik.hu-berlin.de.

Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.

--
Alexandre Julliard
julliard@lrc.epfl.ch
