This is release 0.9.15 of Wine, a free implementation of Windows on Unix.

What's new in this release:
  - More MS/RPC improvements.
  - Core Audio driver for Mac OS X.
  - More complete DNSAPI dll.
  - Improvements to Web browser support.
  - Lots of bug fixes.

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

  http://ibiblio.org/pub/linux/system/emulators/wine/wine-0.9.15.tar.bz2
  http://prdownloads.sourceforge.net/wine/wine-0.9.15.tar.bz2

Binary packages for various distributions will be available from:

  http://www.winehq.org/site/download

You will find documentation on

  http://www.winehq.org/site/documentation

You can also get the current source directly from the git or CVS
repositories. Check respectively http://wiki.winehq.org/GitWine or
http://www.winehq.org/cvs for details.

Patches should be submitted to "wine-patches@winehq.org".  Please
don't forget to include a ChangeLog entry. If you submitted a patch,
please check to make sure it has been included in the new release.

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

--
Alexandre Julliard
julliard@winehq.org
