Release 1.7.21.
diff --git a/ANNOUNCE b/ANNOUNCE
index e2c3d50..a5051a7 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,16 +1,16 @@
-The Wine development release 1.7.20 is now available.
+The Wine development release 1.7.21 is now available.
 
 What's new in this release (see below for details):
-  - X11 drag & drop fixes.
-  - A few more C/C++ runtime functions.
-  - Fixes for various memory issues found by Valgrind.
-  - Some OLE storage fixes.
+  - 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.20.tar.bz2
-  http://mirrors.ibiblio.org/wine/source/1.7/wine-1.7.20.tar.bz2
+  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:
 
@@ -26,376 +26,316 @@
 
 ----------------------------------------------------------------
 
-Bugs fixed in 1.7.20 (total 88):
+Bugs fixed in 1.7.21 (total 77):
 
-   9616  Pronunciation Patterns 3 doesn't start
-  12371  Neural Noise Synthesizer (Thinstall virtualization wrapped app) fails to launch (GetEnvironmentVariableA/W needs to respect size limits for temp buffer allocation)
-  13432  ZDaemon: freezes when exiting launcher
-  13459  Oberon game launcher (incl. buttons) does not work
-  13719  E-texteditor installs but freezes on run
-  14693  Program halts when on another virtual desktop
-  14718  Rappelz  will not update itself
-  14873  Voipstunt crashes trying to connect to server
-  15417  Easy68k: Exiting without closing help window causes page fault.
-  16127  Mouse Buttons do not work in BBC Basic For Windows 5.80a
-  17035  RPG Maker XP 1.x: Script editor selects complete script when program gets focus
-  18195  Medal of honor pacific assault: In bootcamp there are many bush glitches
-  19048  RegCleaner 4.3.0.780: assertion failure in LISTVIEW_GetItemT()
-  20077  User Interface of RPG Maker XP 1.x is unusable and freezes
-  20485  Uninitialised memory reference in FTP_DoPassive
-  20630  Services written in Delphi 6: impossible to start by "net start" command
-  20929  IDGET - Doesn't show disc drive
-  22494  Microsoft Office 2007 cannot be activated
-  22877  RegCleaner crashes on start
-  23696  oxygen xml editor license page does not appear in web browser
-  24302  STALKER: Shadow of Chernobyl install reports incorrect hard disk space
-  24513  Background in VirtuaGirl is always black
-  24593  Livestream Procaster: login fails
-  24594  Livestream Procaster: Procaster's game streaming mode doesn't work due to a "DirectX Test Error"
-  25088  Crysis Warhead 1.1.x does not start
-  25799  GFWL (Games For Windows Live) 3.x client crashes at startup
-  26402  Cain and Abel: Crashes in libfreetype/libc
-  27433  mass effect 2 heisencrash on non-smp system
-  28108  urlmon: url.ok occasional test failure: unexpected call OnProgress_SENDINGREQUEST
-  28133  twain_32/dsm.ok crashes occasionally?
-  28710  ws2_32: sock.ok reads/writes invalid memory during async_getservbyport?
-  28821  kernel32/tests/time.ok: uninitialized memory read in GetCalendarInfoA
-  28822  mmdevapi/tests/capture.ok fails sometimes under valgrind?
-  28827  Digsby (PIM) won't start
-  28835  rpcrt4/tests/rpc_protseq.ok fails under valgrind
-  28865  Ski Resort Tycoon 2 crashes on startup
-  29430  RPG Maker VX crashes during startup
-  29662  IBankWizard.msi crash at the end of installing
-  30209  Exchange file manager (.NET 3.5 app) crashes on startup
-  30398  Word / Excel 2007: crashes while opening or saving documents
-  30484  rFactor 2 launcher UI does not detect machine setup
-  30601  Grand Theft Auto: San Andreas crashes on startup
-  31177  SugarSync (sugarsyncmanager) crashes on startup
-  31221  Acrobat 8 page one is full of artifacts
-  31225  SA-MP (Multiplayer Online game mod for Grand Theft Auto: San Andreas): chat and scrollbar offscreen, text invisible
-  31332  Project64: about page fails to render
-  31532  Grand Theft Auto: San Andreas does not work on 75Hz
-  32353  Grand Theft Auto: San Andreas crashes on new game
-  32388  Mezzmo shows runtime errors while starting
-  32545  TaxACT 2012 crashes at startup
-  32800  construct2 crashed on open file dialog
-  32849  Path Of Exile sound glitch
-  33882  gtags (GNU GLOBAL) 6.2.x crashes on indexing of large projects
-  34646  Virtual DJ v7.4 crashes on startup
-  35426  RPG Maker VX Runtime: games crash on startup
-  36002  ImpotRapide 2013 (.NET 4.0 app) crashes on unimplemented function msvcp110.dll.?gcount@?$basic_istream@DU?$char_traits@D@std@@@std@@QBE_JXZ
-  36065  PunkBuster service tests fail (DeleteService should mark active services in SCM database as pending for deletion)
-  36139  msi/db test crash on wine compiled with gcc-4.9.0
-  36153  Borderlands 2 mouse focus no longer works properly
-  36377  League of Legends crashes at game start with wine 1.7.18
-  36432  valgrind shows a possible leak in shell32/tests/recyclebin.c
-  36459  ICQ 7.x 'ServiceStarter.exe' tool crashes during post-install step
-  36477  Nikon Message Center 2 (part of Nikon Capture NX2) crashes on startup (needs support for 'CIM_Processor' WMI class)
-  36481  CFNetworkCopySystemProxySettings and kCFNetworkProxiesProxyAutoConfigURLString are unavailable
-  36482  Raiden Legacy (DotEmu) shows black screen after launch
-  36491  Theatre of War 3: Korea Demo hangs on start
-  36496  Dragon NaturallySpeaking 12.x crashes on unimplemented function msvcr100.dll._wcslwr_l
-  36505  DynDNS Updater 4.1.6 crashes on startup
-  36507  valgrind shows a definite leak in dpnet/tests/server.c
-  36518  Selecting character mission crashes Star Wars Rebellion 1.00
-  36526  When Delphi programs (e.g. InnoSetup) start, their global variables are corrupt.
-  36540  3dmark 2003 needs msvcp70.dll.?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_Ptrit@DHPADAADPADAAD@2@XZ
-  36541  Prince of Persia (2008) launcher fails to start, crashes in msvcrt
-  36573  valgrind shows uninitialized memory use in shlwapi/tests/path.c
-  36580  valgrind shows two definite leaks in user32/tests/cursoricon.c
-  36584  valgrind shows a leak in winmm/tests/mci.c
-  36588  valgrind shows a definite leak in userenv/tests/userenv.c
-  36590  valgrind shows a definite memory leak in usp10/tests/usp10.c
-  36591  valgrind shows uninitialized memory use in vbscript/tests/run.c
-  36602  valgrind shows a possible leak in wininet/tests/urlcache.c
-  36603  valgrind shows uninitialized memory use in winspool.drv/tests/info.c
-  36604  valgrind shows two definite leaks in winspool.drv/tests/info.c
-  36605  valgrind shows a definite leak in wintrust/tests/softpub.c
-  36627  Games For Windows Live 2.0.0687.0 (PANORAMA_V2.00_RTM.090421-2351) needs MSASN1.dll
-  36661  valgrind shows an unintialized write in ws2_32/tests/sock.c: test_completion_port()
-  36667  VBScript doesn't handle numbers in exponential form (e.g. 1e2)
-  36698  AudibleManager 5.5.x crashes at startup
-  36715  3dmark 2003 needs msvcp70.dll.??8std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z
+   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.19:
+Changes since 1.7.20:
 
-Akihiro Sagawa (6):
-      oleaut32/tests: Use a boolean constant for BOOL argument.
-      oleaut32/tests: Test UnRegisterTypeLib surely deletes registry keys.
-      oleaut32: Delete opposite side keys on UnRegisterTypeLib.
-      kernel32: Avoid uninitialised value read in GetCalendarInfoA.
-      kernel32: Return correct buffer size when returning DBCS characters.
-      user32: Don't close a popup menu when clicking a sub-menu parent item twice.
+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.
 
-Alexandre Julliard (4):
-      vbscript: Avoid using bool keyword.
-      comctl32/tests: Output message sequences only on failure.
-      gdi32/tests: Remove some noisy traces.
-      user32/tests: Remove some noisy traces.
+Alex Henrie (1):
+      riched20: Consider adjacent runs when computing EN_LINK range.
 
-Alistair Leslie-Hughes (1):
-      dpnet/tests: Correct memory leak (valgrind).
+Alexander Almaleh (1):
+      gdi32: Fix XFORM.eM22 calculation in PlgBlt.
 
-Andrei Slăvoiu (1):
-      wined3d: Recognize cards that expose GLSL 1.30 as DX10 capable even if they don't support EXT_GPU_SHADER4.
+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 (6):
-      mmdevapi: Make buffer size divisible by number of periods.
-      mmdevapi: Clock rate should be in bytes for shared mode.
-      user32: Remove unused internal menu messages.
-      riched20/tests: Allow conversions to non-English codepages.
-      ole32: Fix return value logging.
-      ole32: Fix return type.
+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.
 
-Aric Stewart (1):
-      winemac: Reposition cursor for IME composition.
+André Hentschel (1):
+      krnl386: Fix typo in a comment.
+
+Aurimas Fišeras (1):
+      po: Update Lithuanian translation.
 
 Austin English (3):
-      include: Add missing EntryInProgress member to _PEB_LDR_DATA struct.
-      user32: Fix a comment.
-      msasn1: Add stub dll.
+      user32: Add a stub for SetGestureConfig.
+      kernel32: Add DECLSPEC_HOTPATCH to SetFilePointer.
+      kernel32: Add a stub for UnregisterApplicationRestart.
 
-Bruno Jesus (17):
-      ws2_32: Take care of EINTR inside the helpers.
-      ws2_32: Avoid memory allocation for simple sends.
-      ws2_32: Avoid memory allocation for simple receives.
-      user32/tests: Fix a memory leak (valgrind).
-      winmm: Fix a memory leak in mciSendStringW (valgrind).
-      wintrust/tests: Fix a memory leak (valgrind).
-      winspool.drv: Do not try to check the registry if opening the printer fails (valgrind).
-      userenv/tests: Fix a memory leak (valgrind).
-      wininet/tests: Fix a memory leak (valgrind).
-      shlwapi: Avoid reading past the pointer in PathCreateFromUrlW (valgrind).
-      usp10: Fix a memory leak in _ItemizeInternal (valgrind).
-      wininet: Use a helper to send data and take care of EINTR.
-      winetest: Take care of EINTR on send/recv.
-      rpcrt4: Take care of EINTR on send/recv.
-      wininet: Use a helper to receive data and take care of EINTR.
-      ws2_32/tests: Initialize a test buffer (valgrind).
-      kernel32: Limit the environment variable size to 32767 in GetEnvironmentVariable.
+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.
 
-Damjan Jovanovic (8):
-      winex11.drv: text/html should be imported as CF_HTML ("HTML Format"), not CFSTR_INETURL ("UniformResourceLocator").
-      winex11.drv: Don't bother counting how many XDND selections are converted.
-      winex11.drv: Use the global memory functions to allocate the memory for STGMEDIUM's hGlobal.
-      winex11.drv: Use the clipboard functions and formats to import selections that XDND doesn't support.
-      winex11.drv: Use the clipboard to import text/html XDND selections.
-      winex11.drv: Import text/plain XDND selections through the clipboard.
-      winex11.drv: Store XDND cached data in global memory objects.
-      winex11.drv: Migrate importing text/uri-list XDND selections to the clipboard.
+Christoph von Wittich (1):
+      shlwapi: Avoid buffer overflow in PathCombineA.
 
-Daniel Beitler (1):
-      msi: Prevent call to memset with a null pointer in get_tablecolumns function.
+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.
 
-Felix Janda (3):
-      server: Add missing includes of poll.h.
-      dnsapi: stdio.h needs to be included for sprintf().
-      iphlpapi: stdio.h needs to be included for sprintf().
+Frédéric Delanoy (1):
+      Assorted spelling/grammar fixes.
 
-François Gouget (2):
-      msvcrt/tests: Make qsort_comp() static.
-      scrrun: Fix compilation on systems that don't support nameless unions.
+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.
 
-Guillaume Charifi (2):
-      ole32: CoCreateGuid returns E_INVALIDARG on null-GUID.
-      pdh: Implement PdhExpandCounterPathA/W.
+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.
 
-Hans Leidekker (9):
-      wininet: Fix build on Mac OS X 10.5.8.
-      winhttp: Fix build on Mac OS X 10.5.8.
-      wbemprox: Handle NULL out parameter to object methods.
-      wbemprox: Add a partial implementation of CIM_Processor.
-      winhttp/tests: Mark some test results on Windows 8 as broken.
-      winhttp: Ignore URL components if the buffer length is zero.
-      winhttp: Only set the scheme if we have a valid URL.
-      wininet/tests: Fix a couple of test failures on Internet Explorer 11.
-      wininet: Only set the content length header if it's not explicitly set by the user.
+Huw D. M. Davies (1):
+      fonts: Add some barb arrow glyphs.
 
-Henri Verbeet (20):
-      d2d1: Add the ID2D1HwndRenderTarget interface.
-      d2d1: Add the ID2D1DCRenderTarget interface.
-      d2d1: Add the ID2D1GdiInteropRenderTarget interface.
-      d2d1: Add the ID2D1Factory interface.
-      wined3d: Increase the SM4 instruction length mask size.
-      d2d1: Implement D2D1CreateFactory().
-      d2d1: Implement d2d_factory_CreateDxgiSurfaceRenderTarget().
-      wined3d: Recognize the SM4 discard opcode.
-      wined3d: Recognize the SM4 dp2 opcode.
-      wined3d: Recognize the SM4 ishl opcode.
-      ddraw/tests: 64-bit ddraw only has DWORD surface pitch alignment in some cases.
-      ddraw: Clear DDSD_LINEARSIZE on uncompressed surfaces.
-      ddraw: Clear DDSD_PITCH on compressed surfaces.
-      ddraw: Use wined3d_surface_get_pitch() to calculate dwLinearSize for compressed surfaces.
-      ddraw: Properly support creating compressed user memory surfaces.
-      ddraw: Don't try to create surfaces for wined3d internal textures.
-      wined3d: Add format information for WINED3DFMT_R8_UNORM.
-      d3d10_1: Forward D3D10CreateEffectFromMemory to d3d10.
-      d3d10core: Implement d3d10_device_GetDeviceRemovedReason().
-      user32: Ensure at least one character is used in TEXT_WordBreak().
-
-Huw D. M. Davies (6):
-      dwrite/tests: U+1cc8 is not an assigned codepoint, use U+1cc7 instead. Fixes test on win 8.
-      crypt32: Add a new element to SIP_ADD_NEWPROVIDER.
-      crypt32/tests: Fix test failure on win 8.
-      riched20: Don't skip the final carriage return in SFF_SELECTION mode.
-      gdi32/tests: tmLastChar is solely governed by the last entry before 0xffff in the cmap.
-      gdi32: CLIP_DFA_DISABLE should disable the font association mechanism.
-
-Jacek Caban (20):
-      urlmon: Fixed some occasionally failing tests.
-      ieframe: Added InternetExplore::get_HWND implementation.
-      oleaut32: Rewrite debugstr_vt.
-      oleaut32: Use debugstr_variant for dump_Variant implementation.
-      oleaut32: Replaced dump_Variant by debugstr_variant.
-      mshtml: Call unlink from HTMLDOMNode::Release.
-      mshtml: Added new helper for getting element attribute value and use it in script.c.
-      mshtml: Added new helper for GetAttribute based getters and use it in IHTMLMetaElement implementation.
-      mshtml: Use get_elem_attr_value helper in get_font_size.
-      mshtml: Use get_elem_attr_value helper in is_elem_name.
-      mshtml: Use get_elem_attr_value helper in check_event_attr.
-      mshtml: Use get_elem_attr_value helper in HTMLFormElement_get_dispid.
-      mshtml: Use elem_string_attr_getter helper in HTMLLabelElement_get_htmlFor implementation.
-      mshtml: Use get_elem_attr_value helper in npplugin.c.
-      mshtml: Added function object default value getter implementation.
-      vbscript: Added support for exponential form of numeric literals.
-      ntdll: Removed no longer used defines.
-      jscript: Properly handle NULL pvarResult in ParseScriptText.
-      vbscript: Always initialize is_array value (valgrind).
-      jscript: Added accessing not existing property on IDispatchEx tests.
+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.
 
-Marcus Meissner (2):
-      jsproxy: Avoid potential NULL dereference (Coverity).
-      msxml3: Removed unused allocation (Coverity).
+Lauri Kenttä (1):
+      po: Update Finnish translation.
 
-Michael Müller (2):
-      server: Fix return value for FSCTL_PIPE_WAIT if pipe does not exist.
-      ntdll: Stub TokenAppContainerSid in NtQueryInformationToken.
+Marcus Meissner (3):
+      oleaut32: Avoid buffer overread (Coverity).
+      mscms: Removed duplicate return ret (Coverity).
+      winealsa/wineoss/winecoreaudio: Calculate frequency in 64bit (Coverity).
 
-Michael Stefaniuc (28):
-      dmusic: Return S_FALSE for the unimplemented IPersistStream_IsDirty().
-      dmusic/tests: Test unimplemented IPersistStream methods in DMCollection.
-      dmstyle/tests: Test some IPersistStream methods of DMStyle.
-      dmscript: IPersistStream_GetClassID() is not implemented for DMScript.
-      dmscript/tests: Test unimplemented IPersistStream methods in DMScript.
-      dmband/tests: Test some IPersistStream methods of DMBand.
-      dswave/tests: Test some IPersistStream methods of DirectSoundWave.
-      dmcompos/tests: Test some IPersistStream methods of DMChordMap.
-      dmscript: Move a struct definition to the .c file that uses it.
-      dmloader/tests: Test some IPersistStream methods of DMContainer.
-      dmime/tests: Test some IPersistStream methods of objects with DMObject.
-      dmscript/tests: Test some IPersistStream methods of DMScriptTrack.
-      dmusic: Simplify the creation of a DirectMusicBuffer object.
-      dmusic: Don't leak memory on IReferenceClock creation failure.
-      dmusic: Release the clock when destroying the IDirectMusic8 object.
-      dmusic: Simplify the creation of a DirectMusic8 object.
-      dmusic: Don't leak memory on DirectMusicInstrument creation failure.
-      dmusic: Lock/unlock the module only on creation/destruction of the object.
-      dmime/tests: Rather test for IDirectMusicObject as invalid iface.
-      dmime: Move a struct definition to the .c file that uses it.
-      dmband: Move struct definitions to the .c files that uses them.
-      dmcompos: Move a struct definition to the .c file that uses it.
-      dmstyle: Move a struct definition to the .c file that uses it.
-      dmloader: COM cleanup for IDirectMusicContainer.
-      dmusic: Move the common parts of DMObject to a generic implementation.
-      dmusic: Use generic "unimplemented" methods for IPersistStream.
-      dmusic: Get rid of the extra pointer to a DMUS_OBJECTDESC.
-      dmusic: Remove the redundant "IDirectMusicCollection" from method names.
+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.
 
-Nicolas Le Cam (2):
-      mshtml/tests: Remove unused variable.
-      winedbg: Remove unused variable.
+Michael Stefaniuc (2):
+      dmusic: Increment the refcount when a IReferenceClock pointer is returned.
+      comctl32: Functions using setjmp can never be inlined.
 
-Nikolay Sivov (29):
-      scrrun/tests: Fix tests to depend on current codepage.
-      scrrun: Implement Count() property for file collection.
-      scrrun: Return disk space as VT_I4 if it fits.
-      netprofm: Added IConnectionPointContainer stub for INetworkListManager.
-      xmllite/writer: Implement OmitXmlDeclaration property.
-      xmllite/writer: Implement ByteOrderMark property.
-      scrrun: Return float type size when signed I4 limit exceeded.
-      scrrun: Use existing helper to return file size.
-      xmllite/writer: Initial implementation of WriteStartElement().
-      xmllite/writer: Initial implementation of WriteElementString().
-      propsys: Implement PSGetPropertySystem().
-      propsys: Forward corresponding methods to exports.
-      ntdll: Fix LdrLockLoaderLock()/LdrUnlockLoaderLock() on 64bit.
-      include: Add more error codes.
-      include: Added IImageList2 definition.
-      shell32: Update to FolderItem2.
-      wbemprox/tests: Fix some test failures on older XP versions.
-      comctl32/progress: Set default marquee animation timer to 30 msec.
-      comctl32/progress: Erase background too on WM_TIMER for marquee animation.
-      comctl32/progress: Update position by one step on PBM_SETPOS in PBS_MARQUEE style.
-      comctl32/treeview: Simplify sending parent WM_NOTIFY notifications.
-      comctl32/treeview: Send TVN_KEYDOWN in response of WM_KEYDOWN.
-      comctl32/imagelist: Update to IImageList2.
-      explorerframe: Query for more notification callbacks.
-      explorerframe/tests: Mark some results as broken.
-      explorerframe: Internally make calls with interface wrappers.
-      services: Defer service delete until all handles are closed.
-      quartz/tests: Unregister filters only when registered successfully.
-      shlwapi/tests: Skip if test ini file wasn't created.
+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 (17):
-      vbscript: Parse doubles with bigger precision in parse_numeric_literal.
-      msvcrt: Add _mbsnbcpy_s_l implementation.
-      msvcrt: Add _mbscpy_s implementation.
-      vbscript: Support multibyte characters in Global_Chr.
-      msvcrt: Fix __libm_sse2_sqrt_precise implementation.
-      msvcp100: Export basic_istream::gcount function.
-      msvcrt: Rewrite qsort function.
-      msvcrt: Add qsort_s tests.
-      msvcrt: Add _wcslwr_s_l implementation.
-      msvcrt: Return string in _wcslwr and _wcslwr_l.
-      user32: Try to activate topmost activable window in WINPOS_ActivateOtherWindow.
-      msvcp70: Export basic_string iterator functions.
-      msvcrt: Handle negative file->_cnt value in fwrite.
-      msvcp90: Fix typo in strstreambuf_freeze.
-      msvcp70: Export operators working on basic_string.
-      msvcrt: Add _strxfrm_l implementation.
-      msvcrt: Add _wcsxfrm_l implementation.
+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 (1):
-      ntdll/tests: Fix exception test failures on x86_64.
+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 (4):
-      vbscript: Implemented CCur.
-      vbscript: Implemented CDbl.
-      vbscript: Implemented CLng.
-      vbscript: Fixed CInt.
+Shuai Meng (2):
+      vbscript: Implemented CSng.
+      vbscript: Implemented TypeName.
 
-Stefan Dösinger (5):
-      include: Sync an attribute to the Windows 8.1 SDK.
-      wined3d: Remove d3dfmt_p8_init_palette.
-      d3d9/tests: Add a test for D3DUSAGE_WRITEONLY.
-      d3d8/tests: Add a test for D3DUSAGE_WRITEONLY.
-      ddraw/tests: Test D3DVBCAPS_WRITEONLY.
+Thomas Faber (2):
+      rpcrt4: Do not omit mandatory argument to VirtualProtect.
+      msvcrt: Do not omit mandatory argument to VirtualProtect.
 
-Toshiaki Hirose (1):
-      po: Update Japanese translation.
+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.
 
-Vincent Povirk (8):
-      user32/tests: Add test for SendMessage race condition.
-      server: Clear the queue's QS_SMRESULT bit when sending a new message.
-      ole32: Use a snapshot file when sharing storages for writing.
-      ole32: Invalidate all caches when the transaction sig changes.
-      shell32: Fix memory leak.
-      ole32: Don't store file size in FileLockBytesImpl.
-      ole32: Support storage files larger than 4 GB.
-      notepad: Check IsDialogMessage before TranslateAccelerator.
-
-Zhenbo Li (6):
-      mshtml: Added IHTMLLocation::assign method implementation.
-      mshtml: Added nsIDOMHTMLTableCellElement declaration.
-      mshtml: Added IHTMLTableRow::deleteCell method implementation.
-      mshtml: Added IHTMLLinkElement::media property.
-      mshtml: Added IHTMLDocument2:toString method.
-      mshtml: Added IHTMLTableRow::insertCell method implementation.
+Zhenbo Li (2):
+      mshtml: Added IHTMLTableCell::cellIndex method implementation.
+      shell32: Fix SHFileOperation when deleting a nonexistent directory.
 
 --
 Alexandre Julliard
diff --git a/AUTHORS b/AUTHORS
index 103c3eb..cfccb63 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -34,6 +34,7 @@
 Aled Hughes
 Aleksey Bragin
 Alessandro Pignotti
+Alexander Almaleh
 Alexander Dorofeyev
 Alexander E. Patrakov
 Alexander Farber
diff --git a/VERSION b/VERSION
index bf506d0..43f3569 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-Wine version 1.7.20
+Wine version 1.7.21
diff --git a/configure b/configure
index 49a32ac..97ee520 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for Wine 1.7.20.
+# Generated by GNU Autoconf 2.69 for Wine 1.7.21.
 #
 # Report bugs to <wine-devel@winehq.org>.
 #
@@ -580,8 +580,8 @@
 # Identity of this package.
 PACKAGE_NAME='Wine'
 PACKAGE_TARNAME='wine'
-PACKAGE_VERSION='1.7.20'
-PACKAGE_STRING='Wine 1.7.20'
+PACKAGE_VERSION='1.7.21'
+PACKAGE_STRING='Wine 1.7.21'
 PACKAGE_BUGREPORT='wine-devel@winehq.org'
 PACKAGE_URL='http://www.winehq.org'
 
@@ -1976,7 +1976,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures Wine 1.7.20 to adapt to many kinds of systems.
+\`configure' configures Wine 1.7.21 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -2045,7 +2045,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Wine 1.7.20:";;
+     short | recursive ) echo "Configuration of Wine 1.7.21:";;
    esac
   cat <<\_ACEOF
 
@@ -2240,7 +2240,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-Wine configure 1.7.20
+Wine configure 1.7.21
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2758,7 +2758,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by Wine $as_me 1.7.20, which was
+It was created by Wine $as_me 1.7.21, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -18089,7 +18089,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by Wine $as_me 1.7.20, which was
+This file was extended by Wine $as_me 1.7.21, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -18160,7 +18160,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-Wine config.status 1.7.20
+Wine config.status 1.7.21
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"