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\\"
 
