The Wine development release 1.7.21 is now available.

What's new in this release (see below for details):
  - Support for critical sections in the C runtime.
  - Unicode data updated to Unicode 7.0.
  - Support for interlaced PNG encoding.
  - Initial stub for the Packager library.
  - Various bug fixes.

The source is available from the following locations:

  http://prdownloads.sourceforge.net/wine/wine-1.7.21.tar.bz2
  http://mirrors.ibiblio.org/wine/source/1.7/wine-1.7.21.tar.bz2

Binary packages for various distributions will be available from:

  http://www.winehq.org/download

You will find documentation on http://www.winehq.org/documentation

You can also get the current source directly from the git
repository. Check http://www.winehq.org/git for details.

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

----------------------------------------------------------------

Bugs fixed in 1.7.21 (total 77):

   9898  Virtual Moon Atlas 3.5 expert Mostly black drawing
  15478  Unity Web Player 2.1.0 doesn't show graphics in browser
  15600  Windows Live Writer crashes (IHTMLDocument2::put_designMode is a stub)
  17818  Runes of Magic menus like EULA or login doesn't appear on some graphic cards.
  18316  Word Pro: dashed "-" in parameters not resolved in command line
  19792  program "Antik Virtual set-top-box" crashes at startup
  19889  Steam client major lag
  20086  NewPGen: Doesn't restore from tray
  20497  Smilebox cannot be installed (web update fails)
  21116  page fault when running SoftwarePhoenix.BIOS.Editor.Pro.2.2.0.2.45094.exe
  21275  python's test_startfile test fails
  21521  Improper audio selection
  22091  Dragon Age Awakening/Mass Effect 2 installers crash with ntdll error
  22404  Unigine Heaven Benchmark 2.0 lacks shadows and smoke in Wine in d3d
  22697  wine iexplore browserchoice.eu is not displayed
  23219  AT4RE FastScanner v3.0 exe scanning bug
  23220  AT4RE FastScanner v3.0 UI button rectangle bug
  26504  Runes of Magic 3.0.x: "ClientUpdater.exe" crashes sometimes during updates on MD5 checksum processing (squirrel virtual machine)
  27113  Free download manager "Unknow network error" without native wininet
  27549  Frozen Synapse crash
  28756  ws2_32/tests/sock.ok: uninitialised value created in test_events(), used in get_cached_fd()?
  28824  shell32/tests/recyclebin.ok: uninitialised value used in TRASH_GetDetails
  29755  Deadlock during crash while installing gecko?
  29790  popo 2011 crash with builtin msvcrt
  29843  IE4 crashes on resetting profile sharing, needs shdocvw.dll.ResetProfileSharing
  30966  Firefox 13.0 improper region redrawing/user interface artifacts
  31349  Office 365 (Office 2013) web installer aborts early (needs support for string alias for common RID in sid strings)
  32000  ANSYS 14.0 tools crash on startup (missing system message text for 'WSAECONNRESET', error code 10054)
  32077  Runes of Magic 5.0.0.2535 (full client) crashes during update
  32150  Notepad .Net crashes doing nothing
  34215  Adobe Creative Cloud needs KERNEL32.dll.UnregisterApplicationRestart
  34525  Marine Benefit freezes in Stages 1-3 due to gstreamer error
  34828  Visual Studio 2010 fails to start (IWICBitmapFrameEncode_WriteSource_Proxy, empty rect)
  34847  The Swapper 2.0.x (GOG.com) crashes on startup (OpenGL glBindTexture on thread with no active gl context)
  34942  WinLaunch 0.4.6.1 (OSX Style free Launcher) needs support for WIC encoder "InterlaceOption" option (property bag)
  35466  Can't paste into search dialog of notepad
  35646  Multiple applications protected with Obsidium v1.4+ fail on startup, reporting "Debugger detected - please disable it and restart the application" (Condes 9, Universal mechanism)
  35948  Starcraft Campaign Editor displays incorrect numeric values when editing triggers
  36131  valgrind shows some multiple leaks in ole32/clipboard.c
  36185  comctl32/button tests shows an unitialized variable under valgrind
  36188  valgrind shows an invalid free for comctl32/tests/listview.c
  36240  valgrind shows several leaks in d3dx9_36/tests/asm.c
  36285  valgrind shows several leaks in kernel32/tests/debugger.c
  36287  valgrind shows some uninitialized memory use in kernel32/tests/format_msg.c
  36334  The Chosen (Well of Souls) demo has graphical glitches
  36350  valgrind shows a leak in d3dx9_36/tests/asm.c
  36351  valgrind shows a few leaks in d3drm/tests/d3drm.c
  36436  Popup menu is closed when clicking a sub-menu parent item twice.
  36487  Avast Free Antivirus fails to install, reporting 'HTMLayout.dll cannot be loaded to properly start GUI.' (EnumSystemLocalesEx fails to call user provided callback)
  36500  Multiple games and applications crash on unimplemented function msvcp110.dll._Mtx_init (Avast Free Antivirus, Trion's Trove MMO)
  36504  The XFORM matrix is calculated incorrectly in PlgBlt()
  36506  Wolfenstein - The New Order fails to start (glGetString(GL_VENDOR) without a current WGL context)
  36553  Tomb Raider Chronicles crashes in 32 bit color mode
  36572  valgrind shows a definite leak in shlwapi/tests/ordinal.c
  36593  valgrind shows a possible leak in windowscodecs/tests/bitmap.c
  36595  valgrind shows several memory leaks in windowscodecs/tests/metadata.c
  36596  valgrind shows a definite leak in windowscodecs/tests/propertybag.c
  36597  valgrind shows several definite leaks in user32/tests/msg.c
  36598  valgrind shows a definite leak in windowscodecs/tests/tiffformat.c
  36606  valgrind shows uninitialized memory use in ws2_32/tests/protocol.c
  36617  boost::wregex causes programs to crash - needs wcsxfrm()
  36647  Windows 7 USB/DVD download tool hangs on startup (DrawTextExW/TEXT_NextLineW live loop)
  36665  Adobe Acrobat Pro 8 freezes when using 'Combine files... and Create PDF / From multiple files' dialog
  36683  RPG Maker VX Ace 1.00: clicking menu item results in 'Out of memory' error message
  36702  PlayOn 3.9.13 installer reports 'Setup requires Windows Media Player 9 to be installed on this PC' (needs IWMPCore::get_versionInfo)
  36717  DeltaCad 8.0 crashes when trying to set printer or print
  36722  dmusic/tests/dmusic.c crashes under WINEDEBUG=warn+heap
  36736  Tucows Download Manager 2014 crashes on startup (decryption scheme relies on 'kernel32.dll.SetFilePointer' hotpatch signature)
  36737  Multiple Graviteam tank simulation games crash on start with built-in msvcr80 (small-block heap support needed)
  36745  Wine broken on FreeBSD+NFS
  36749  WinLaunch 0.4.6.1 (OSX Style free Launcher) fails to save theme (libpng png_write_end fails with 'No IDATs written into file')
  36757  Microsoft Visual Studio 2005 Express reports 'object does not support this action' during project creation (needs IFileSystem::GetDriveName method impl)
  36766  Jane Doe View build 140615 endlessly reports 'OLE Error 80004001' (JSGlobal_CollectGarbage stub returns E_NOTIMPL)
  36768  valgrind shows a couple invalid reads in windowscodecs/tests/tiffformat.c
  36782  valgrind shows a leak in kernel32/tests/thread.c
  36784  valgrind shows a leak in kernel32/tests/thread.c
  36790  ACDSee v17.0 needs unimplemented function msvcr110.dll.__crtInitializeCriticalSectionEx

----------------------------------------------------------------

Changes since 1.7.20:

Akihiro Sagawa (7):
      winmm/tests: Activate some mmioSeek tests with todo_wine keyword.
      winmm: Memory file buffer is available even if we just allocate memory.
      winmm: Avoid direct seeking for memory files.
      winmm: Update lBufOffset after seeking file directly.
      winmm: Fix SEEK_END handling for memory files.
      po: Update Japanese translation.
      jscript: Improve CollectGarbage stub.

Alex Henrie (1):
      riched20: Consider adjacent runs when computing EN_LINK range.

Alexander Almaleh (1):
      gdi32: Fix XFORM.eM22 calculation in PlgBlt.

Alexandre Julliard (10):
      kernel32/tests: Silence some noisy traces.
      gdi32/tests: Silence some noisy traces.
      user32/tests: Silence some noisy traces.
      user32: Properly block sent messages while waiting for a reply with SMTO_BLOCK.
      krnl386: Properly handle failure to set a 16-bit LDT entry.
      kernel32: Only try to load krnl386 in native applications.
      msvcrt/tests: Avoid size_t in traces.
      usp10: Update the character data tables to Unicode 7.0.0.
      libwine: Update the codepage tables to Unicode 7.0.0.
      opengl32: Make sure the function table is initialized in all threads.

Andrew Eikum (8):
      ole32: Implement CoTreatAsClass for classes without AutoTreatAs.
      ole32: Respect TreatAs in CoCreateInstance.
      packager: Add stub Packager implementation.
      packager: Add loading support for Ole10Native storage objects.
      packager: Implement IOleObject::SetClientSite.
      packager: Implement IOleObject::GetMiscStatus.
      packager: Implement Activate verb for OleObject::DoVerb.
      packager: Implement IOleObject::Close.

André Hentschel (1):
      krnl386: Fix typo in a comment.

Aurimas Fišeras (1):
      po: Update Lithuanian translation.

Austin English (3):
      user32: Add a stub for SetGestureConfig.
      kernel32: Add DECLSPEC_HOTPATCH to SetFilePointer.
      kernel32: Add a stub for UnregisterApplicationRestart.

Bruno Jesus (7):
      ws2_32/tests: Wait for thread test before returning (valgrind).
      ws2_32: Don't call WS_EnterSingleProtocol[A|W] on unsupported protocols (valgrind).
      winhttp: Use a helper to send data and take care of EINTR.
      winhttp: Use a helper to receive data and take care of EINTR.
      wininet/tests: Add more HTTP_QUERY_RAW_HEADERS tests.
      bcrypt: Add a stub for BCryptCloseAlgorithmProvider.
      opengl32/tests: Test glGetString() without an active GL context.

Christoph von Wittich (1):
      shlwapi: Avoid buffer overflow in PathCombineA.

François Gouget (8):
      ole32: Fix StorageImpl_LockRegionSync() to actually wait between locking attempts.
      ole32: FileLockBytesImpl_WriteAt() should return STG_E_WRITEFAULT for write errors.
      server: Treat ENOTSUP the same way as ENOLCK, consider locking to be non-functional on that filesystem.
      ole32: Treat STG_E_LOCKVIOLATION the same way as STG_E_ACCESSDENIED as both indicate locking contention.
      ole32: Return the correct error in FileLockBytesImpl_*LockRegion*().
      msvcrt/tests: Add a trailing '\n' to an ok() call.
      packager/tests: Make the IStorage methods static.
      mshtml: Remove nsAString_SetData() because it is unused.

Frédéric Delanoy (1):
      Assorted spelling/grammar fixes.

Grazvydas Ignotas (6):
      msvcrt: Free old buffer properly in setvbuf.
      msvcrt/tests: Add a test for fwrite flushing behavior.
      msvcrt: Change internal buffer size to 4k.
      msvcrt/tests: Test _cnt value after rewind/fflush.
      msvcrt: Clear _cnt on buffer flush.
      msvcrt: Implement bufsiz block flushing behavior.

Henri Verbeet (10):
      ddraw/tests: Get rid of some unused assignments.
      ddraw/tests: Properly declare matrices.
      d2d1: Implement d2d_d3d_render_target_CreateSolidColorBrush().
      d2d1: Implement d2d_d3d_render_target_CreateGradientStopCollection().
      d2d1: Implement d2d_d3d_render_target_CreateLinearGradientBrush().
      d3d9/tests: Add some lost device tests.
      d3d8/tests: Add some lost device tests.
      ddraw/tests: Add some lost device tests.
      d3d9: Improve d3d9_device_TestCooperativeLevel().
      d3d9: Check the device status in present calls.

Huw D. M. Davies (1):
      fonts: Add some barb arrow glyphs.

Jacek Caban (9):
      vbscript: Reset error number on error mode change.
      mshtml: Added IHTMLWindow2::scroll implementation.
      wininet: Don't change hostPort in HTTP_HttpOpenRequestW.
      wininet: Update hostPort in HTTP_HandleRedirect.
      wininet: Use current server in HTTP_GetRedirectURL.
      wininet: Don't try to read content in response to HEAD request.
      shdocvw: Added ResetProfileSharing stub.
      ieframe: Use URL_APPLY_DEFAULT in UrlApplyScheme call.
      shdocvw: Added InstallReg_RunDLL stub.

Julian Rüger (1):
      po: Update German translation.

Lauri Kenttä (1):
      po: Update Finnish translation.

Marcus Meissner (3):
      oleaut32: Avoid buffer overread (Coverity).
      mscms: Removed duplicate return ret (Coverity).
      winealsa/wineoss/winecoreaudio: Calculate frequency in 64bit (Coverity).

Matteo Bruni (8):
      d3d9/tests: Test GetData behavior with various size values.
      wined3d: Validate and handle query size parameter.
      wpp: Properly free defines (Valgrind).
      wpp: Free the include filename on error (Valgrind).
      d3dcompiler/tests: Add a couple more checks for parent data values.
      wpp: Free some filename strings after processing an include (Valgrind).
      wpp: Correctly handle OOM in pop_buffer().
      d3dx9: Correctly set parent_data for direct includes from the main file.

Michael Stefaniuc (2):
      dmusic: Increment the refcount when a IReferenceClock pointer is returned.
      comctl32: Functions using setjmp can never be inlined.

Nikolay Sivov (21):
      comctl32/tests: Avoid testing uninitialized value (Valgrind).
      wmp: Implement get_versionInfo().
      d3drm/tests: Release frame instance (Valgrind).
      d3dx9: Trace out parameters as pointers (Valgrind).
      quartz/tests: Fix couple of test failures running with limited user.
      shell32: Release cached desktop folder on process detach.
      windowscodecs/tests: Fixed some leaks on error path (Valgrind).
      dsound/tests: Accept another error code.
      msctf/tests: Fix crash when ITfInputProcessorProfileMgr is not supported.
      msxml3/tests: Accept Stat() method called on test stream.
      xmllite/writer: Maintain a stack of written elements to write end tags.
      dwrite: Recognize more Unicode ranges in script analyzer.
      kernel32: Added a message for WSAECONNRESET.
      xmllite/writer: Implement WriteFullEndElement().
      po: Update Russian translation.
      scrrun: Implement GetDriveName().
      scrrun: Implement SerialNumber property.
      scrrun: Implement FileSystem property.
      scrrun: Implement get_VolumeName().
      scrrun/tests: Run test on fixed drive.
      iphlpapi/tests: Skipping test on access error.

Piotr Caban (18):
      msvcrt: Use size_t to store indexes in qsort.
      msvcrt: Allocate data with 16-bytes alignement if small blocks heap is used.
      msvcrt: Add small blocks heap tests.
      msvcr100: Add _SpinWait implementation.
      msvcr100/tests: Add _SpinWait tests.
      msvcr100: Add critical_section class stub.
      msvcr100: Add critical_section::scoped_lock implementation.
      msvcr100: Add critical_section class implementation.
      msvcr110: Add critical_section::try_lock_for implementation.
      msvcp110: Add missing exports to msvcp110.spec file.
      kernel32: Fix typo in enum_locale_ex_proc.
      msvcp110: Add _Mtx_{destroy,getconcrtcs,init,lock,unlock,trylock} implementation.
      msvcr110: Add __crtInitializeCriticalSectionEx implementation.
      msvcrt: Fix _flsbuf behavior on streams with MSVCRT__IONBF flag.
      msvcrt: Fix ungetc on files with empty buffer.
      msvcrt: Support NULL buffer in setvbuf.
      msvcrt: Use file->_flag to check if file buffering is enabled.
      msvcrt: Don't touch _bufsiz value while initializing FILE structure.

Sebastian Lackner (23):
      kernel32: Update VirtualAddress of resource section in write_raw_resources.
      msvcr110: Fix typo in exported symbol _set_SSE2_enable.
      user32: Avoid race-condition when unloading module while hook is still active.
      kernel32: Raise DBG_PRINTEXCEPTION_C exception in OutputDebugStringA.
      wininet: Don't update *lpdwIndex if HttpQueryInfoW fails with ERROR_INSUFFICIENT_BUFFER.
      ntdll/tests: Add exception tests for RtlUnwind on i386.
      ntdll/tests: Use an EXCEPTION_REGISTRATION_RECORD array to prevent compiler from reordering variables.
      ntdll/tests: Run crashing i386 exception tests as the last step.
      kernel32: Process OutputDebugString events like regular exceptions.
      server: Remove output_debug_string request.
      ntdll/tests: Add more tests for debug string events.
      server: Grab borrowed debugger reference while handling wake_up() events. (Valgrind).
      server: Avoid invalid memory access when thread is killed while in wake_up(). (Valgrind).
      kernel32: Fix a valgrind warning in format_add_char(). (Valgrind).
      kernel32/tests: Add missing HeapFree() in doChildren(). (Valgrind).
      comctl32: Allocate new memory in notify_forward_header() to avoid Free() on wrong pointer. (Valgrind).
      ntdll: Fix leaking activation context when terminating via exit_thread(). (Valgrind).
      kernel32/tests: Add missing ReleaseActCtx() calls. (Valgrind).
      ntdll: Avoid leaking activation context in RtlCreateUserThread. (Valgrind).
      kernel32: Process DBG_RIPEXCEPTION events like regular exceptions.
      server: Get rid of RIP_EVENT union elements.
      ntdll/tests: Add tests for DBG_RIPEXCEPTION debugger events.
      user32/tests: Add a missing call to ReleaseActCtx().

Shuai Meng (2):
      vbscript: Implemented CSng.
      vbscript: Implemented TypeName.

Thomas Faber (2):
      rpcrt4: Do not omit mandatory argument to VirtualProtect.
      msvcrt: Do not omit mandatory argument to VirtualProtect.

Vincent Povirk (13):
      ole32: Add tests for STGC_OVERWRITE.
      windowscodecs: Share WriteSource code between implementations.
      windowscodecs: Check for empty rect in WriteSource_Proxy.
      windowscodecs: Support InterlaceOption in PNG encoder.
      shell32: Set tm_isdst before calling mktime.
      advapi32/tests: Account for limited users in registry test.
      windowscodecs: Fix memory leak in ComponentFactory_CreateBitmapFromSource.
      windowscodecs: Fix leak in DGifGetImageDesc.
      windowscodecs: Fix leak in test_propertybag_getpropertyinfo.
      windowscodecs: Fix leak in test_QueryCapability.
      windowscodecs: Fix leak in test_QueryCapability.
      Revert "windowscodecs: Fix leak in test_QueryCapability.".
      windowscodecs: Fix interlaced PNG writing.

Zhenbo Li (2):
      mshtml: Added IHTMLTableCell::cellIndex method implementation.
      shell32: Fix SHFileOperation when deleting a nonexistent directory.

--
Alexandre Julliard
julliard@winehq.org
