diff --git a/ANNOUNCE b/ANNOUNCE
index c0a7df5..b153a1a 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,18 +1,18 @@
-The Wine development release 1.3.20 is now available.
+The Wine development release 1.3.21 is now available.
 
 What's new in this release (see below for details):
-  - Option to clip the mouse inside fullscreen windows.
-  - Support for persistent HTTP connections.
-  - Initial implementation of the XML writer.
-  - Support for drawing rectangles in the DIB engine.
-  - Volume control in MMDevAPI.
+  - Support for installation rollbacks in MSI.
+  - 8- and 16-bit bitmap formats in the DIB engine.
+  - Fixes in the XInput2 mouse support.
+  - Better support for text shaping in Uniscribe.
+  - Improvements to the Item common dialog.
   - More MSVC runtime functions.
   - Various bug fixes.
 
 The source is available from the following locations:
 
-  http://ibiblio.org/pub/linux/system/emulators/wine/wine-1.3.20.tar.bz2
-  http://prdownloads.sourceforge.net/wine/wine-1.3.20.tar.bz2
+  http://ibiblio.org/pub/linux/system/emulators/wine/wine-1.3.21.tar.bz2
+  http://prdownloads.sourceforge.net/wine/wine-1.3.21.tar.bz2
 
 Binary packages for various distributions will be available from:
 
@@ -28,546 +28,639 @@
 
 ----------------------------------------------------------------
 
-Bugs fixed in 1.3.20:
+Bugs fixed in 1.3.21:
 
-   4571  Ripp-It_AM app crashes after clicking "Re-encoder un film" button (protect user32.SetSysColors against bad behaving apps)
-   8505  antenna crashes
-  10220  Windows Media Player 7.1 crashes
-  10633  Per Pixel Lightning is drawn wrong
-  10635  Tivo Desktop 2.5.1 installer crashes (unimplemented wtsapi32.WTSQueryUserToken)
-  11709  Titan Quest game crashes
-  12724  3DS MAX 7.0: Cannot render viewport windows and geometry properly in Directx 9 mode
-  12926  Installation of Microsoft Zune Software fails (Unimplemented function ADVAPI32.dll.QueryTraceW called)
-  13978  Shogun: Total War crashes at startup
-  16135  msvcrt.dll._wtmpnam not implemented
-  16915  Sven Coop 4 beta install fails due to: Unhandled page fault on write access
-  17525  make test fails on wininet:http
-  18644  Microsoft reader crashes due to unimplemented msvcirt.dll.??0ostrstream@@QAE@XZ
-  18899  Notepad++ right click menu doesn't work
-  20275  Quicken 2008 Deluxe help won't display help topics
-  20276  Quicken 2008 help crash (uncaught exception)
-  20398  Eclipse (Europa) splash screen doesn't look as it should
-  20639  Rail Simulator and  Rail Works games crash
-  20831  Psychonauts: Flickering textures
-  20832  Psychonauts: Crackling sound
-  20854  wine lacks ping.exe replacement
-  20946  Chromium base_unittests call unimplemented function ADVAPI32.dll.OpenTraceW
-  21111  Creative Centrale fails to install
-  21523  iexplore doesn't follow redirects
-  22501  Bioshock won't run without native msvcp80.dll
-  22597  Game crashes at startup when resolution is set higher than 640x480
-  22857  Starcraft 2 Editor crashes when the "Data Editor" gets opened.
-  23167  Hitman: Blood Money crashes when performing resolution setting change in options
-  23246  mono randomly aborts with "GetThreadContext failed" dialog
-  23257  TAGAP: mouse input doesn't work
-  23492  Windows Driver Kit (WDK) 7.1.0 install fails (check for superclassed case in AtlModuleRegisterWndClassInfoA/W before returning new wndproc)
-  23643  America's Army 3.0 goes black after about ten minutes of play
-  24138  OpenGL Layered Windows Demo crashes on unimplemented function msvcr100.dll._swprintf
-  24452  FurMark doesn't exit
-  24567  Multiple apps need msvcp71.dll (purist) (3dmark06, Titan Quest)
-  24585  Senstools, fails to install with an error about tempfiles on startup
-  24650  Mass Effect 2 (demo/full version): hangs if you alt+tab away and back
-  24792  nmake output text no longer visible (dogfood)
-  24854  visual c++ 2010's nmake.exe needs native msvcr100.dll
-  24898  Kong does not run requires unimplemented function msvcp90.dll.?infinity@?$numeric_limits@M@std@@SAMXZ
-  25051  pcsx2-0.9.7-r3878 crashes with unimplemented msvcp90.dll.?max@?$numeric_limits@I@std@@SAIXZ
-  25157  Black Prophecy crashes on unimplemented function msvcr100.dll._wcsupr_s_l
-  25361  Shatter crashes while loading a level
-  25365  Sacred 2 Fallen Angel requires msvcr80.dll
-  25525  Unimplented function: msvcp80.dll.??Y?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@PBD@Z
-  25530  Harry Potter and the Half Blood Prince Demo fails without native msvcp80
-  25541  Family Historian displays the message a serious error has occurred (due to missing msvcrt.dll._strnicoll)
-  25640  Rush hangs after starting
-  25652  ratGPU standalone renderer hits unimplemented function msvcp90.dll.??A?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QEAAAEA_W_K@Z on x86_64
-  25908  Crash in winmerge when unfocusing edit field
-  25935  Maple Story and Padora Saga installers crash with builtin msvcp90
-  26526  R.U.S.E. (steam) demo won't run with builtin msvcp90
-  26615  Need for Speed Shift 2 installer assertion failure in cacheckdiskspace.cpp
-  26633  Nimbus: invisible text in the menus
-  26671  Sims Medieval wants msvcp100:?max@?$numeric_limits@I@std@@SAIXZ
-  26789  AutoCAD 2008: Crash at starting installation
-  26825  Anomaly: Warzone Earth Demo wants msvcr90.dll._strupr_s (purist)
-  26876  special file CON not handled correctly
-  26903  Atlantis III crashes before reaching the menu
-  26904  Atlantis III: mouse pointer doesn't show up in the menus
-  26919  ZipGenius: Crash at start-up
-  26935  .NET Framework 1.0 SP3 installation leads to msiexec.exe crash
-  26937  Boinc 6.10.60 installer fails
-  26975  configure can't find OSSv4 (both Wine and OSSv4 is current from git and mercurial respectively)
-  26980  FFXI: Depth Sorting Broken
-  26987  Civilization crashes on exit
-  26992  Windows Live FolderShare 14.x needs advapi32.RegisterTraceGuidsW() impl (or at least semi-stub)
-  26999  Two Worlds: mouse stopped working in the menus
-  27006  closing iexplore after opening an invalid url causes a crash
-  27038  Cannot install Shark Tale the game.
-  27043  Warcraft III - Reign of Chaos - Cannot type text in full screen mode
-  27047  need for speed world launcher complains of corrupt executable
-  27058  Protection ID: Text from 3rd column in protection report not displayed
-  27075  Battlefield Heroes: Punkbuster doesn't work as it should (ntoskrnl.exe.PsLookupProcessByProcessId stub needed)
-  27111  Age of Empires III demo install fails
-  27130  CR LF characters in RTF files are turned into ^Q ^Y characters
-  27132  Crash in MSI_RecordSetStringW when embedding RTF with NUL character into an MSI with Wix
-  27137  Mass Effect 2 demo: can no longer enter game (menu items are unclickable)
+   2547  word perfect 12 trial fails to install
+   5016  SonEd program misses the scrollbars (and a few other things)
+   5158  Foobar2000 fails to write ID3v2 frame to file
+   5761  wcmd double-transforms Unicode filenames
+   6971  Mouse "escapes" window or is confined to an area in the full screen program NO HACKS PLEASE
+  12084  Project Nomads: game can't grab mouse
+  14758  drakensang can not create render surface
+  14864  Google Lively, Chrome installers require native msxml3
+  15106  Google Chrome installed but with interface and connection issues.
+  15178  Google Chrome shows some images/videos flipped vertically
+  15190  Google Chrome status bar renders improperly
+  15527  Lineage2: only black screenshots. IWineD3DSurfaceImpl_LoadTexture: Operation not supported for scratch textures
+  15833  TreeView control don't save item's state
+  15896  Exp Elite: Runtime Error '445': Object does not support this action
+  16453  Google Chrome outer installer can't download inner installer
+  17319  ImageList_DrawIndirect ILS_ALPHA needed
+  17489  JigsawADay.com puzzle applications do not display a window
+  18142  Rainmeter skins do not display
+  18588  VRTool works too slow in Wine
+  18642  Silverlight About Window reports wrong App version
+  18868  Volvo - The Game: extremely slow install
+  19058  foobar2000: the window is messed up
+  19137  Missing or malfunctions textures LineageII C5
+  20002  Garmin Training Center 3.45 Installer button disappear
+  20128  MS .Net Framework 4.0 installer needs native msxml3
+  20221  Pressing "Details..." button causes nothing in Nullsoft Install System
+  20233  Installer seems to hang (NFS Undercover, Fifa 10, ...)
+  20671  google chrome can't log in to gmail
+  20801  2gis city module cannot install
+  21555  Foobar2000 crashes when trying to "open containing folder" of a file (needs SHELL32.dll.SHOpenFolderAndSelectItems stub)
+  23061  Installation of wordviewer 2003 (11.6506.6505) SP1 patch(es) failes
+  23312  Photo! Editor crashes because of importing gdiplus by ordinal
+  23568  Foobar2000: Cannot play audio files
+  23852  Gothic 3: Intro plays only with native quartz
+  23917  Dragon NaturallySpeaking 11 Standard does not install
+  24074  configure: printf: Argument list too long
+  24141  OpenGL Camera Demo - Part 3 crashes on unimplemented msvcr100.dll file/locking API (_lock_file, _unlock_file, _fseeki64, __pctype_func fix)
+  24607  Google Chrome installer fails
+  24845  Tropico 3 demo crashes on startup
+  24906  AntiVir installer doesn't show information on the first screen
+  25228  Office 2007 apps (word, excel, powerpoint) refuse to start when previous unclean shutdown was detected and Winver is set >= Vista (missing Application Recovery and Restart API stubs)
+  25592  Internet Explorer 7/8 x64 installers crash: unimplemented function msvcrt.dll._local_unwind
+  25864  Crashes while editing tags in Foobar2000
+  25969  Lords of the Realm 2 crash after intro video
+  26048  cmd tests show some uninitialized value errors under valgrind
+  26392  Builtin IE won't display some jpeg images
+  26828  VOIP Buster 4.07 (build 629) : Unhandled Page Fault on starting application
+  26933  Iexplore relative links not work ok
+  26945  X-Lite 3.0 crashes during init
+  27008  Lucent Heart: crashes on start
+  27033  crash while installing usb-over-network-client.msi
+  27081  Assassin's Creed: Brotherhood crashes once gameplay starts
+  27107  Corel Ventura 10 - the impossibility to install software
+  27114  LTspice IV installer freezes after installation completes
+  27134  osu!: Video memory lack error and crash.
+  27136  Oblivion: Mouse clicks or mouse hoovering don't work
+  27147  Mass Effect 2 demo: cursor is offset
+  27149  Clones demo installer crashes
+  27152  Lemony Snickets installs in the wrong location (C:\Activision rather than C:Program files\Activison)
+  27170  Prey wants hostname.exe
+  27172  Some msvcrt string functions incorrectly return status from 'safe' versions causing multiple apps to fail (corel draw 12 ...)
+  27175  Desperados demo freezes in a matter of seconds
+  27209  Builtin IE fails to load some pages, floods err:wininet:HTTP_ReceiveRequestData No data reported!
+  27287  Chrome (game) crashes on launch
 
 ----------------------------------------------------------------
 
-Changes since 1.3.19:
+Changes since 1.3.20:
 
 Adam Martinson (3):
-      wined3d: Fix an oops/crash in context_destroy_gl_resources().
-      d3d9: Use D3DQUERYTYPE instead of HRESULT in IDirect3DQuery9Impl_GetType().
-      msxml3: Don't add a <?xml...?> decl in domdoc_get_xml().
+      msxml3/domdoc: Properly handle character encoding in doparse().
+      msxml3/domdoc: Add support for VT_ARRAY|VT_UI1 in domdoc_load().
+      ole32/tests: IDropTarget::QueryInterface() shouldn't be called.
 
-Akihiro Sagawa (4):
-      appwiz.cpl: Update Japanese translation.
+Akihiro Sagawa (3):
+      winedbg: Add Japanese resource.
+      winecfg: Update Japanese translation.
       po: Update Japanese translation.
-      gdi32/tests: Add more tests for GetGlyphOutlineA.
-      gdi32: Pass a proper code point from GetGlyphOutlineA to W version.
 
-Alexandre Julliard (51):
-      msvcrt: Export _aexit_rtn.
-      msvcrt: Implemented a few trivial math functions.
-      msvcrt: Add stubs for the 64-bit msvcirt entry points.
-      configure: Improve the detection of OSS v4.
-      wineoss: Get rid of %ll printf formats.
-      msvcrt: Add a stub for msvcp70.dll.
-      msvcrt: Add a stub for msvcp71.dll.
-      tools: Add a script to help synchronize spec files that share an implementation.
-      msvcrt: Update spec files using the make_specfiles script.
-      winebuild: Allow specifying arguments to stub functions for documentation purposes.
-      winebuild: Output relay thunks for stub functions when the arguments are known.
-      msvcrt: Specify arguments for the stub functions.
-      msvcrt: Allow forwarding to stub functions when the arguments are known.
-      d3dx9_36: Specify arguments for stub entry points.
-      d3dx9: Synchronize entry point declarations across spec files.
-      d3dx10: Specify arguments for stub entry points.
-      d3dcompiler: Specify arguments for stub entry points that are used in forwards.
-      tools: Add more spec files to synchronize automatically.
-      msvcrt: Don't define stubs for data exports.
-      msvcp: Don't define stubs for data exports.
-      atl: Only return a window procedure in AtlModuleRegisterWndClassInfoA/W when subclassing.
-      make_specfiles: Properly replace commented out exports.
-      msvcp: Export a couple of variables and their access function.
-      msvcp: Implement the numeric limit constants.
-      msvcp: Implement the numeric limit functions.
-      msvcp: Implement the Ctraits math functions.
-      mshtml: Remove an extra quote in the pngfile registration.
-      msvcp: Export the various floating point constants.
-      winex11: Fix check for desktop process in non-desktop mode.
-      user32: Catch bad pointer passed to SetSysColors.
-      makefiles: Add support for .x template files.
-      dinput: Reset the clipped flag when the cursor is released.
-      server: Add separate requests for getting/setting the thread context during suspend.
-      server: Add support for suspending the thread directly in the get/set_thread_context requests.
-      ntdll: Ask the server to suspend the thread in the get/set_thread_context requests.
-      server: Check for the need to suspend a thread again once it leaves an exception or suspend block.
-      server: Fix the status code for get/set_thread_context on a terminated thread.
-      kernel32/tests: Fix a race that could corrupt the thread register state.
-      configure: Make the tools directory a symlink in the wow64 build tree.
-      configure: Create a wine64 symlink in 64-bit build trees.
-      winex11: Reset the clipping when the desktop window loses focus.
-      winex11: Export a couple of helper functions for window rectangles.
-      winex11: Automatically clip the pointer when the foreground window is full-screen.
-      winex11: Add an option to automatically clip the pointer in desktop and multi-monitor modes.
-      winecfg: Replace the old DXGrab option by the new fullscreen grab option.
-      winex11: Only update the fullscreen pointer grab when something has changed.
-      winex11: Set the desktop window gravity to NorthWest to avoid spurious position changes.
-      makefiles: Tools must be built before includes now.
-      winex11: Don't use raw events for button events so that we get the right coordinates.
-      winex11: Allow MotionNotify events through occasionally while XInput is active.
-      winex11: Try a little harder to clip the cursor to avoid some race conditions.
+Alexander Morozov (1):
+      mshtml/tests: Fix a typo.
 
-Anders Jonsson (1):
-      winecfg: Update Swedish translation.
+Alexandre Julliard (50):
+      msvcrt: Add support for __ptr64 attribute in symbol demangling.
+      msvcrt: Add support for template operators in symbol demangling.
+      msvcrt: Add support for function namespaces in symbol demangling.
+      winex11: Don't wait for the foreground window to start clipping in ClipCursor.
+      winex11: Warp the pointer when clipping, but ignore the resulting events.
+      winex11: Filter out motion events resulting from setting the clip window.
+      wined3d: Get rid of the haveHardwareCursor flag.
+      wined3d: Only update the cursor position the first time we display it.
+      wined3d: Always create the software cursor.
+      wined3d: Switch to the software cursor when the position diverges from the hardware one.
+      msvcrt: Implement _local_unwind for x86_64.
+      msvcrt: Implement _seh_longjmp_unwind4 for i386.
+      oleaut32: Reallocate in BSTR_UserUnmarshal to avoid changing the pointer if the string didn't change.
+      oleaut32/tests: Remove some unnecessary constants.
+      quartz: Make sure the preferred allocator pointer is initialized.
+      services: Add a helper function to send a command to the service.
+      services: Load some timeout parameters from the registry.
+      services: Add a timeout to all pipe communications with the service process.
+      ole32: Don't continue to wait for a local server if the process has terminated.
+      include: Declare gethostname for Windows builds.
+      crypt32/tests: Get rid of the iTunes chain that no longer validates.
+      makefiles: Avoid creating an intermediate rc file for test binaries.
+      makefiles: Create the binary resources for winetest from the top-level makefile.
+      winetest: Get rid of the dist rules.
+      include: Undefine the nameless union/struct macros to avoid conflicts with mingw.
+      winsta: Add stubs for WinStationQueryInformationA/W.
+      server: Grab the current pointer to avoid referencing it after it could become invalid.
+      makefiles: Create test resource files directly from the test build directory.
+      widl: Only return a buffer size for fixed-size arrays.
+      widl: Don't call the buffer sizer routine when the size is known already.
+      widl: Call marshalling routines directly also for user-marshalled types accessed through a ref pointer.
+      widl: Return the buffer size of the object pointed by a ref pointer for all types.
+      widl: Also compute buffer size for non-ref pointers.
+      include: Add compatibility macros for non-widl compilers.
+      makefiles: Set the module name in stripped modules to the non-stripped name.
+      widl: Allow using fixed size arrays as strings.
+      widl: Set the correct stack size for parameters in the proc format string.
+      configure: Make sure the winetest directory exists before building tests.
+      winebuild: Fix the creation of temp files in /tmp.
+      libport: Don't clear the buffer on failure in mkstemps.
+      ole32: Delete the transacted storage scratch file on release.
+      shdocvw: Delete the temporary storage file on release.
+      msi: Remove the temp files after the storage files are closed.
+      kernel32: Fix a couple of handle leaks.
+      kernel32/tests: Delete some temporary files.
+      widl: Move the check for already processed types into the type-specific functions.
+      widl: Add support for top-level conformances.
+      widl: Output a list of binding routines in client files.
+      usp10/tests: Load GetGlyphIndicesW dynamically.
+      msvcp90: Add an msvcp-specific size_t to avoid casts in traces.
 
-Andrej Znidarsic (1):
-      po: Update Slovenian translation.
+Alistair Leslie-Hughes (1):
+      gdi32: Add support in DeviceCaps CURVECAPS, LINECAPS, POLYGONALCAPS for EnhMetafiles.
 
-Andrew Eikum (14):
-      mmdevapi: Initialize global driver data at DLL load time.
-      winealsa.drv: Implement IAudioSessionControl::GetState.
-      wineoss.drv: Implement IAudioSessionControl::GetState.
-      winecoreaudio.drv: Implement IAudioSessionControl::GetState.
-      mmdevapi/tests: Add tests for IAudioSessionControl::GetState.
-      winealsa.drv: Move IAudioClock closer to its related interfaces.
-      winealsa.drv: Implement volume control interfaces.
-      wineoss.drv: Move IAudioClock closer to its related interfaces.
-      wineoss.drv: Implement volume control interfaces.
-      winecoreaudio.drv: Move IAudioClock closer to its related interfaces.
-      winecoreaudio.drv: Store the PropertyScope in ACImpl.
-      winecoreaudio.drv: Implement volume control interfaces.
-      mmdevapi/tests: Make capture.c more easily extendible.
-      mmdevapi/tests: Add tests for volume control interfaces.
+Andrew Eikum (2):
+      mmdevapi: IMMDeviceEnumerator::GetDevice should fail on unknown device ids.
+      winealsa.drv: Implement device enumeration.
 
-André Hentschel (10):
-      winedbg: Fix a typo.
-      winedbg: Implement printing the Program Status Register.
-      po: Add German translations.
-      winedbg: Update a comment.
-      shell32/tests: Also test without flags.
-      kernel32: Forward registry functions to advapi32.
-      include: Fall back to little endian when it's not specified on ARM.
-      winemaker: Let winegcc generate the app loader script.
-      include: Update a comment.
-      winecfg: Update German translation.
+Andrew Nguyen (19):
+      taskmgr: Remove all TCHAR macro usage in tab page code.
+      taskmgr: Remove all TCHAR macro usage in graph drawing code.
+      taskmgr: Remove all TCHAR macro usage in affinity dialog code.
+      taskmgr: Remove all TCHAR macro usage in priority handling code.
+      taskmgr: Remove all TCHAR macro usage in process termination code.
+      taskmgr: Remove all TCHAR macro usage in debug handling code.
+      taskmgr: Remove all TCHAR macro usage in miscellaneous menu code.
+      taskmgr: Remove all TCHAR macro usage in miscellaneous UI code.
+      taskmgr: Remove all TCHAR macro usage in main taskmgr code.
+      taskmgr: Remove all TCHAR macro usage in debug channel dialog code.
+      advapi32: Add stubs for GetNamedSecurityInfoExA/W.
+      kernel32: Suppress constness warnings for tigetstr parameter.
+      mmdevapi: Remove a stray semicolon in macro definition.
+      windowscodecs: Trace the correct expected value in some seek test failure strings.
+      advapi32/tests: Use a matching enumeration value for the trustee form member.
+      winedbg: Convert the CRLF newline to LF newline when reading interactive input.
+      winedbg: Eliminate a possible memory leak in input_fetch_entire_line.
+      include: Revise the Winsock include in windows.h to match the Windows SDK.
+      hostname: Add an implementation of the hostname display utility.
 
-Aric Stewart (5):
-      wine.inf: Register wineqtdecoder.dll.
-      usp10: Implement ScriptItemizeOpenType.
-      usp10/tests: Test ScriptItemizeOpenType.
-      usp10: Implementation of ScriptShapeOpenType.
-      usp10: Implementation of ScriptPlaceOpenType.
+André Hentschel (9):
+      mscoree/tests: Add tests for CreateConfigStream.
+      ntdll: Improved ARM little endianess detection.
+      mscoree/tests: Fix for the results in CreateConfigStream tests.
+      user32/tests: Add tests for FlashWindowEx.
+      oleaut32: Update OaBuildVersion.
+      setupapi: Add stubs for CM_Get_Device_ID_List_SizeA/W.
+      tools: Add setupapi and cfgmgr to synchronize spec files automatically.
+      cfgmgr32: Update specfile.
+      ws2_32/tests: Add test for SIOCATMARK.
 
-Aurimas Fišeras (3):
+Aric Stewart (26):
+      usp10: Correct a few fallback conditions in Syriac shaping.
+      usp10/tests: Add ScriptShapeOpenType tests mirroring ScriptShape tests.
+      usp10: Correct default fCanGlyphAlone value.
+      usp10/test: Rewrite test_ScriptShapeOpenType to be more expandable.
+      usp10: Make use of MS_MAKE_TAG instead of numeric constants.
+      usp10: Correct lookahead offset in Coverage-based Chaining Context Glyph Substitution.
+      usp10: If a feature changes a glyph reapply the feature to the new glyph.
+      usp10: Framework for determing glyph properties after shaping.
+      usp10: Add default glyph properties proc.
+      usp10: Use the font GDEF table to update glyph properties.
+      usp10: Update LogClust from glyph properties.
+      usp10: Determine glyph properties after shaping for Arabic.
+      usp10: Determine glyph properties after shaping for Thai and other SE asian scrpts.
+      usp10: Determine glyph properties after shaping for scripts with no justification.
+      usp10/tests: Update test_ScriptShapeOpenType framework to shape in a given font.
+      usp10: Add Hebrew shaping test.
+      usp10: Add Arabic shaping test.
+      usp10: Add Thai shaping test.
+      usp10/tests: Add Syriac shaping test.
+      usp10/test: Add Thaana shaping test.
+      usp10/test: Add Phags-pa shaping test.
+      usp10/test: Add Lao shaping test.
+      usp10/test: Make sure to only trace on _test_shape_ok number of glyphs if font is not valid.
+      usp10: Determine glyph properties after shaping for Tibetan script.
+      usp10/test: Add Tibetan shaping test.
+      usp10: Zero Width Joiners and Non-Joiners should, like spaces, not split runs.
+
+Aurimas Fišeras (1):
       po: Update Lithuanian translation.
-      po: Update Lithuanian translation.
-      winecfg: Update Lithuanian translation.
 
-Austin English (4):
-      kernel32/tests: Fix typo in test failure message.
-      ntoskrnl.exe: Add a stub for PsLookupProcessByProcessId.
-      dsound: Return success in IDirectSoundBufferImpl_AcquireResources.
-      advapi32: Return success in RegisterTraceGuids.
+Austin English (6):
+      shell32: Add a stub for SHOpenFolderAndSelectItems.
+      winsta: Add a stub dll.
+      regapi: Add a stub dll.
+      kernel32: Add a stub for ApplicationRecoveryFinished.
+      kernel32: Add a stub for ApplicationRecoveryInProgress.
+      kernel32: Add a stub for RegisterApplicationRecoveryCallback.
 
-Damjan Jovanovic (5):
-      mmsystem: Use SEGPTR for 16 bit string pointers in MCI_XXX_WINDOW_PARMS16.
-      mmsystem.dll16: Fix mapping of MCI_WINDOW structures between 16 and 32 bit.
-      mmsystem.dll16: Fix MCI_STATUS mapping for digitalvideo.
-      mmsystem.dll16: Fix the pointer arithmetic and memory leak issues when unmapping.
-      mmsystem.dll16: Use flags instead of device type as the MCI_STATUS heuristic.
+Damjan Jovanovic (1):
+      winemenubuilder: Extract icons from NE binaries too.
 
-David Hedberg (1):
-      winspool.drv: Add stubs for IsValidDevmodeW and IsValidDevmodeA.
+Dan Kegel (4):
+      cmd: del /a: move parsing of attributes to helper function, use bitmasks.
+      cmd: del /a: test deleting readonly files, with fix.
+      cmd: Add simple test for %errorlevel%.
+      cmd: Don't read past end of thisVar in WCMD_expand_envvar (valgrind).
 
-Detlef Riekenberg (2):
-      urlmon: Implement IInternetZoneManager_SetZoneAttributes.
-      urlmon/tests: Add tests for IInternetZoneManager_SetZoneAttributes.
+David Hedberg (15):
+      comdlg32: Change some trace statements to dump strings.
+      comdlg32: Fix reference counting when querying services.
+      comdlg32: Support some events in the item dialog.
+      comdlg32: Add IOleWindow implementation to the Item Dialog.
+      comdlg32: Implement SetDefaultFilename.
+      comdlg32: Improve handling of file extension changes in the Item Dialog.
+      comdlg32/tests: Fix some copypaste errors.
+      comdlg32: Add IFileDialogCustomize interface stub.
+      comdlg32: Add a container for custom controls.
+      comdlg32: Support adding custom controls to the item dialog.
+      comdlg32: Layout the customized controls.
+      comdlg32: Implement some functions for modifying custom controls.
+      comdlg32: Implement support for custom control subitems.
+      comdlg32: Add support for custom control events.
+      comdlg32: Take linebreaks into account when resizing custom controls.
 
-Dylan Smith (7):
-      tools: Add a tool to build .x template files.
-      include: Generate rmxftmpl.h from rmxftmpl.x using new build tool.
-      d3dx9: Implement ID3DXMesh::CloneMesh without vertex buffer conversion.
-      d3dx9: Implement D3DXMESHOPT_COMPACT for ID3DXMesh::OptimizeInplace.
-      d3dx9: Create compact_mesh helper function for OptimizeInplace.
-      d3dx9: Implement D3DXMESHOPT_ATTRSORT|D3DXMESHOPT_IGNOREVERTS.
+Dylan Smith (15):
+      d3dx9: Implement ID3DXMesh::Optimize using OptimizeInplace.
+      d3dx9/tests: Fix a normal comparison for triangles with zero area.
+      d3dxof: Remove assumption of 4 bytes pointers for LPSTR value.
+      d3dx9: Implement D3DXFrameDestroy.
+      d3dx9/tests: Correct ok messages to be consistent with their test.
       include: Replace a THIS, with THIS_ for a method with parameters.
+      ddraw: Avoid clearing some memory unnecessarily.
+      ddraw: Don't interpret end padding as dwCaps2 for x64.
+      ddraw: Keep a function declaration within the include guard.
+      d3dx9: Implement D3DXLoadMeshHierarchy for only loading frames.
+      d3dx9: Add support for loading basic meshes.
+      d3dx9: Add support for loading mesh normals from X files.
+      d3dxof: Removed function declarations with no definitions.
+      d3dxof: COM cleanup in main.c.
+      d3dxof: COM cleanup in d3dxof.c.
 
-Eric Pouech (7):
-      winedump: Correctly get to the optional header for 64 bit images.
-      winedump: Simplify code a bit by using get_dir_and_size().
-      winedump: Simplify code a bit by using IMAGE_FIRST_SECTION() macro.
-      dbghelp: Don't try to load fieldlist for a forward declaration.
-      dbghelp: Enhance a couple of register mapping functions for i386.
-      kernel32: Added some tests about CON special file treatment in CreateFile.
-      kernel32: In CreateFile, when trying to open the CON special DOS file, force OPEN_EXISTING as creation flag.
+Erich Hoover (5):
+      quartz: Return IMediaSeeking interface for Parser OutputPin.
+      quartz: Return IMediaSeeking interface for Parser PullPin.
+      quartz: Release outstanding samples in PullPin::PauseProcessing.
+      quartz: Make sure pin state cannot change while a flush is in progress.
+      quartz: Create and hold onto a preferred allocator for IAsyncReader::RequestAllocator.
 
-Francois Gouget (16):
-      infosoft: Export DllUnregisterServer().
-      msvcrt: Make printf_arg arg_clbk_positional() and MSVCRT_wcsrtombs_s_l() static.
-      msxml3: Make a bunch of XSLPattern_*() functions static.
-      wined3d: Make wined3d_event_query_test() and resource_get_type() static.
-      winefile: Fix the View and Options menu handles.
-      user32: SCROLL_SetNCSbState() is not used anymore so remove it.
-      d3dcompiler_43: Make write_dword_unknown() static.
-      regedit: Fix ellipsis usage in the menu labels.
-      view: Fix ellipsis usage in the menus.
-      winhlp32: Fix the ellipsis usage in the menu and button labels.
-      winefile: Fix ellipsis usage in the menu and button labels.
-      winecfg: Fix ellipsis usage in the menu and button labels.
-      msi: get_msi_typelib() is not used anymore so remove it.
-      ddraw/tests: Add a '\n' to an ok() call.
-      d3d9/tests: Add a '\n' to a skip() call.
-      Assorted spelling and case fixes.
+Francois Gouget (15):
+      ddraw/tests: Fix compilation on systems that don't support nameless unions.
+      user32: Use MSGBOX_IDICON throughout instead of sometimes using stc1 and sometimes 1088.
+      usp10/tests: Add a '\n' to an ok() call.
+      winefile: Standardize the 'Arrange Icons' menu label.
+      oleview: Fix ellipsis usage in the menu and button labels.
+      progman: Fix ellipsis usage in the menu and button labels.
+      taskmgr: Remove unused button labels.
+      user32: Use macros for the resource IDs instead of numeric literals.
+      msvcrt: Add a trailing '\n' to an ERR() call.
+      hostname: Make display_computer_name() static.
+      include: Add a set of parameter documentation macros to help compile windows applications.
+      include: Add some __RPC_XXX macros to help compile code using midl-generated headers.
+      gdi32: Move MFDRV_{ExtEscape,GetDeviceCaps}() up and make them static.
+      usp10/tests: Make enumFontProc() static.
+      comdlg32/tests: Make ensure_zero_events_() static.
 
 Frédéric Delanoy (5):
       po: Update French translation.
-      taskmgr: Fix a French dialog.
-      audio: Remove extraneous parentheses around equality comparisons.
-      winecfg: Update French translation.
-      kernel32/tests: Fix typo.
+      d3d10core: dxgi_format_from_wined3dformat should return DXGI_FORMAT enum values in all cases.
+      po: Update French translation.
+      po: Update French translation.
+      wrc: Fix spelling/grammar in manpage.
 
-Gerald Pfeifer (3):
-      wineoss.drv: Use AFMT_S24_LE instead of AFMT_S24_PACKED.
-      wineoss.drv: Support platforms that do not feature AFMT_FLOAT.
-      configure: Use the -Wempty-body compiler option if present.
+Gerald Pfeifer (7):
+      wineoss.drv: Cope with system which lack SNDCTL_DSP_HALT.
+      iphlpapi: Make addrLen unsigned in getInterfacePhysicalByName.
+      imaadp32.acm: Remove ADPCM_drvOpen which is only a stub.
+      comctl32/tests: Add casts to avoid comparison of different int types.
+      imm32: Simplify CopyCompClauseIMEtoClient and callees by shedding an unused parameter.
+      inetmib1: Remove unused parameter pPduType from mapStructEntryToValue.
+      winedbg: Disable some dead code in expr_eval.
 
-Grazvydas Ignotas (3):
-      gdi32/tests: Test for font selection by full name.
-      gdi32: Refactor get_facename to retrieve other names too.
-      gdi32: Implement font selection by its full name.
+Hans Leidekker (27):
+      msi: Improve tracing in the FindRelatedProducts action.
+      msi: Search all installation contexts in the FindRelatedProducts action.
+      Revert "msi: Avoid loading cabinet streams more than once.".
+      msi: Make sure that the target root directory has a trailing backslash.
+      msi: Don't resolve child folders if the target path doesn't change in MsiSetTargetPath.
+      msi: Factor out common code from MsiEnumComponentCostsW.
+      msi: Recursively create the destination directory in the MoveFiles action.
+      msi: Avoid a double free.
+      msi: Implement the DisableRollback standard action.
+      msi: Implement MsiGetMode(MSIRUNMODE_ROLLBACKENABLED).
+      msi: Schedule rollback for standard actions.
+      msi: Execute the rollback script if the installation failed.
+      msi: Move patch related functions to a separate file.
+      msi: Improve the BindImage action stub.
+      msi: Improve the stub for MsiGetMode(MSIRUNMODE_ADVERTISE).
+      msi: Fix the folder actions to revert components to the installed state during rollback.
+      msi: Fix the file actions to revert components to the installed state during rollback.
+      msi: Fix the registry actions to revert components to the installed state during rollback.
+      msi: Fix the class actions to revert features to the installed state during rollback.
+      msi: Fix the service actions to revert components to the installed state during rollback.
+      msi: Fix the ODBC actions to revert components to the installed state during rollback.
+      msi: Fix the font actions to revert components to the installed state during rollback.
+      msi: Fix the assembly actions to revert components to the installed state during rollback.
+      msi: Fix the remaining actions to revert features and components to the installed state during rollback.
+      msi: Fix updating the component reference count during rollback.
+      msi: Don't schedule rollback actions during rollback.
+      msi: Support rollback of failed uninstalls.
 
-Hans Leidekker (21):
-      ws2_32: Add a test to show that WSAIoctl is synchronous.
-      msi: Fix handling of components without a key path in MsiEnumComponentCostsW.
-      msi: Support remote calls to MsiEnumComponentCosts.
-      msi: Avoid casts in IWineMsiRemotePackage methods.
-      msi: Skip disabled components in the InstallService action.
-      msi: Use a separate function to retrieve the target folder path.
-      msi: Rewrite the folder resolution code to keep track of the parent-child relationship.
-      msi: Define common strings just once.
-      msi: Handle NULL component correctly in MsiEnumComponentCostsW.
-      msi: Get rid of helpers.c.
-      msi: Avoid loading cabinet streams more than once.
-      msi: Destroy assembly caches right after use.
-      msi: Add support for version 1.0 of the .NET runtime.
-      msi: Keep track of a stream's storage.
-      msi: Clone an open stream if possible in cabinet_open_stream.
-      msi/tests: Show that MsiSetTargetPath updates folder properties.
-      msi: Don't resolve child folders if the parent path is unmodified.
-      msi: Remove redundant tracing.
-      msi: Improve the stub for MisGetMode(MSIRUNMODE_ADMIN).
-      msi: Handle embedded nulls in text archives.
-      msi: Unescape ^Q^Y sequences in text archives.
+Henri Verbeet (20):
+      wined3d: Remove state management methods from the IWineD3DDevice interface.
+      wined3d: Remove COM from the device implementation.
+      wined3d: Get rid of the IWineD3DDevice typedefs.
+      wined3d: Get rid of the renderbuffer_entry_t typedef.
+      wined3d: Get rid of the glsl_program_key_t typedef.
+      wined3d: Get rid of the IWineD3DDeviceParent interface.
+      wined3d: Make wined3d.h a normal header file again.
+      wined3d: Introduce a separate structure for framebuffer state.
+      wined3d: Get rid of the mostly unused SRGB_BOTH enum value.
+      wined3d: Use the requested sRGB mode in texture3d_preload().
+      ddraw/tests: Add a test for mode settings calls with different coop levels.
+      ddraw: Don't touch the window during mode setting if we're not in exclusive mode.
+      d3d8/tests: Fix the depth clamping test.
+      ddraw/tests: Fix the depth clamping test.
+      d3d9/tests: Fix the depth clamping test.
+      wined3d: Rename IWineD3DDeviceImpl_FindTexUnitMap() to device_update_tex_unit_map().
+      wined3d: Check for unhandled resource usage flags.
+      wined3d: Mask out writes to unused render targets.
+      d3d9/tests: Add a test for unwritten pixel shader outputs.
+      wined3d: Get rid of an unintentional variable.
 
-Henri Verbeet (25):
-      wined3d: Cleanup surfaces only once.
-      d3d9/tests: Destroy the window after we're done with it in test_reset().
-      ddraw/tests: Make sure the window is properly released by ddraw in test_wndproc().
-      ddraw/tests: Add a test for SetCooperativeLevel() window styles.
-      d3d8/tests: Add a test for window styles on device creation.
-      d3d9/tests: Add a test for window styles on device creation.
-      d3d9/tests: Avoid leaking a device in the Reset test.
-      d3d8/tests: Fix some failure messages in test_depth_stencil_size().
-      d3d8/tests: Add a Reset test.
-      d3d8: Check for D3DPOOL_DEFAULT resources before doing a Reset().
-      opengl32/tests: Add a test for GL on window DCs.
-      d3d9: Simplify reset_enum_callback().
-      d3d9/tests: Add a volume texture test to test_reset().
-      d3d8/tests: Add a volume texture test to test_reset().
-      wined3d: Rename "shader_backend_t" to "wined3d_shader_backend_ops".
-      d3d9/tests: Check if formats are supported for render targets in pixelshader_blending_test().
-      wined3d: Add some initial access checking for resources.
-      wined3d: Introduce a helper function for translating blend factors.
-      wined3d: Get rid of the wined3d_settings_t typedef.
-      wined3d: Get rid of the WineD3D_PixelFormat typedef.
-      wined3d: Set SFLAG_DYNLOCK for lockable render targets.
-      ddraw/tests: Add a small test for redundant mode setting calls.
-      ddraw: Skip redundant mode setting calls.
-      wined3d: Remove object creation methods from the IWineD3DDevice interface.
-      wined3d: Get rid of the SHADER_LIMITS typedef.
+Huw Davies (12):
+      gdi32: Implement PaintRgn().
+      gdi32/tests: Add tests for PaintRgn and simple RTL behaviour.
+      gdi32/tests: Make the 32 bpp brush tests sensitive to a nibble swap in the 4 bpp case.
+      gdi32: Add support for 16 bpp dibs.
+      gdi32: Add conversion routines to the primitive functions.
+      gdi32/tests: Add tests for 16 bpp brushes.
+      gdi32/tests: Add tests for non-standard BI_BITFIELD dibs.
+      gdi32: Add support for colour tables.
+      gdi32: Add support for 8 bpp dibs.
+      gdi32/tests: Add tests for 8 bpp dibs.
+      gdi32: Add support for 8 bpp brushes.
+      gdi32/tests: Add tests for 8bpp brushes.
 
-Huw Davies (23):
-      shell32: Always clone the return pidl to avoid a double free if the selection is changed during teardown.
-      gdi32/tests: Allow broken behaviour for nt4 sp1 and sp2.
-      oleaut32/tests: Skip the named time tests for locales that use the 24 hour clock.
-      advapi32: Fix incorrect pointer increment.
-      gdi32: Keep track of the background colour.
-      gdi32: Add support for patterned pens.
-      gdi32: Add support for drawing horizontal patterned lines.
-      gdi32: Add support for drawing vertical patterned lines.
-      gdi32: Add support for drawing diagonal patterned lines.
-      gameux: Zero initialize the fixed length arrays.
-      gdi32: Initialise the bit fields even in the BI_RGB case in order to make format comparisons easier.
-      gdi32: Add a missing const.
-      shdocvw: Cope with being called without an active document.
-      gdi32: Keep track of changes to the brush rop, so that we can perform lazy realisation of the brush.
-      gdi32: Add helpers to clear and free dib_info structures.
-      gdi32: Implement SelectBrush for DIB pattern brushes.
-      gdi32: Add support for DIB pattern brush fills.
-      gdi32/tests: Add tests for 32 bpp DIB pattern brush fills.
-      gdi32: Initialise the pen pattern to an empty pattern for unpatterned pens.
-      gdi32: Add support for the null brush.
-      gdi32: Add support for the null pen.
-      gdi32: Implement Rectangle().
-      gdi32/tests: Tests for Rectangle().
-
-Hwang YunSong (3):
+Hwang YunSong (2):
       po: Update Korean translation.
-      winecfg: Update Korean resource.
-      winecfg: Update Korean resource.
+      po: Update Korean translation.
 
-Jacek Caban (26):
-      wininet: Get rid of useless read_ret in netconn_read.
-      wininet: Allocate buffer for host name in HTTP_HttpOpenRequestW only if needed.
-      wininet: Use test.winehq.org for post tests.
-      kernel32: Moved EnumProcesses implementation to kernel32.
-      urlmon: Moved test_internet_feature_defaults invokation to skip tests on too old IEs.
-      mshtml: Don't use Gecko nsIURI::GetHostPort implementation.
-      wininet: Moved connected check out of NETCON_set_timeout.
-      kernel32: Moved EnumProcessModules implementation to kernel32.
-      wininet: Added support for persistent HTTP connections.
-      wininet: Set TCP_NODELAY on socket.
-      urlmon: Code clean up and make tests a bit stricker.
-      kernel32: Moved QueryWorkingSet and QueryWorkingSetEx implementation to kernel32.
-      mshtml: Ignore more dispID values in OnChanged notifications to fix tests on some IE installations.
-      mshtml: Added IOmNavigator::get_cpuClass implementation.
-      kernel32: Moved GetProcessMemoryInfo implementation to kernel32.
-      kernel32: Moved K32EnumProcessModules to module.c.
-      kernel32: Moved GetModuleBaseName[AW] implementation to kernel32.
-      kernel32: Moved GetModuleFileNameEx[AW] to kernel32.
-      kernel32: Moved GetModuleInformation implementation to kernel32.
-      urlmon: Make sure to include query part of relative URI containing path in combine_uri.
-      kernel32: Moved GetMappedFileName[AW] stubs to kernel32.
-      wininet: Don't depend on is_end_of_read_data in HTTPREQ_Read.
-      wininet: Fixed handling of 204 No Content response.
-      wininet: Clean up closing connection notifications tests.
-      wininet: Better closing async handles in tests.
-      wininet: Added 204 No Content response tests.
+Igor Paliychuk (1):
+      msvcrt: _CxxThrowException is stdcall, not cdecl.
 
-Jerome Leclanche (1):
-      wine.desktop: Remove the nonexistent application/x-win-lnk MIME type.
-
-John Edmonds (3):
-      wined3d: If Wine fails to acquire the focus window, allow the wndproc function to continue receiving messages.
-      d3d9/tests: Added a test for resetting an invisible, inactive window to fullscreen mode.
-      wined3d: Turn off message filtering temporarily in the Reset() method to allow certain messages (e.g. WM_ACTIVATEAPP) through.
+Jacek Caban (21):
+      mshtml: Move document binding to the new document binding list in on_start_nsrequest.
+      mshtml: Handle aborts synchronously in nsChannelBSC_stop_binding.
+      mshtml: Pass E_ABORT as binding results of bindings without IBinding in abort_document_bindings.
+      kernel32: Moved device-related stubs from psapi to kernel32.
+      kernel32: Moved EnumPageFiles[AW] implementation to kernel32.
+      kernel32: Moved GetWsChanges and InitializeProcessForWsWatch implementations to kernel32.
+      kernel32: Moved GetPerformanceInfo implementation to kernel32.
+      wininet: Moved getting cookie from known host to separated function.
+      wininet: Use get_cookie directly in HTTP_InsertCookies.
+      wininet: Use set_cookie directly in HTTP_ProcessCookies.
+      wininet: Correctly handle closed socket in HTTP_ReceiveRequestData.
+      wininet: Added connection closing tests.
+      ntoskrnl.exe: Added ObReferenceObjectByHandle stub.
+      urlmon: Avoid multiple InternetQueryDataAvailable calls in pending state.
+      urlmon: Avoid LPWSTR to LPCWSTR cast.
+      shdocvw: Use task destructors for releasing task params.
+      shdocvw: Store task list in DocHost object instead of using LPARAM.
+      shdocvw: Abort pending tasks on DocHost destruction.
+      shdocvw: Abort pending navigation task when adding a new one.
+      mshtml: Added IHTMLScreen::get_availHeight implementation.
+      mshtml: Added IHTMLScreen::get_availWidth implementation.
 
 Juan Lang (1):
-      wininet: Handle invalid HTTP time of "0".
+      setupapi: Always initialize output parameter to avoid crash in buggy applications.
 
-Jörg Höhle (2):
-      winmm: Fix 8KB leak when mmioOpen fails (Valgrind).
-      include: Define DRV_MCI_FIRST.
+Jörg Höhle (5):
+      include: Use SEGPTR for 16bit string pointers in MCI_*_PARMS16.
+      msvfw32: Force lower-case 'vidc/vids/audc' etc. when opening new driver.
+      winmm: Process MCI_DGV_INFO which is larger than MCI_INFO.
+      mmsystem: Fix some MCI mappings.
+      mmsystem: MCI_UnMapMsg16To32W need not return a value.
 
-Karsten Elfenbein (2):
-      wininet: Follow 307 temporary redirect.
-      winhttp: Follow 307 temporary redirect.
+Ken Thomases (1):
+      gdi32: Fix leak of FullName of replaced font face.
 
-Konstantin L. Metlov (2):
-      gdi32: Handle pre-Unicode "broken" symbol TTFs with symbols at U+00XX.
-      gdi32: Handle pre-Unicode symbol TTFs with symbols at U+00XX.
+Lauri Kenttä (1):
+      winemenubuilder: Avoid warning about uninitialized value (clang).
 
-Lucas Fialho Zawacki (1):
-      dinput8/tests: Tests for creation and initialization of DInput8 interface and simple cases of EnumDevicesBySemantics.
+Lucas Fialho Zawacki (4):
+      include: Added some dinput8 DIPROP definitions.
+      include: Added dinput8 DIKEYBOARD_* key definitions correspondent to the DIK_* already present in the header.
+      include: Added dinput8 DIMOUSE_* definitions.
+      include: Added DI*_ANY action constants.
 
-Marcus Meissner (20):
-      ddraw: Added missing break (Coverity).
-      mscms: Mark internal symbols as hidden.
-      winex11.drv: Assertion was 1 off (Coverity).
-      mshtml: Mark internal symbols as hidden.
-      advpack: Mark internal symbols as hidden.
-      browseui: Mark internal symbols as hidden.
-      amstream: Mark internal symbols as hidden.
-      quartz: Handle NULL return from strchr() (Coverity).
-      winedump: flags is a DWORD not a WORD (Coverity).
-      wined3d: Fixed a operator precedence issue (Coverity).
-      user32: Use left shift instead of right shift (Coverity).
-      user32: DrawText gets a 32bit flag, not a 16bit flag.
-      riched20: Adjusted shift by 8 bits to 16 bits (Coverity).
-      riched20: Use correct flag name (Coverity).
-      riched20: Fixed some lParams with keycodes (Coverity).
-      oleaut32: Fixed offset calculation (Coverity).
-      shdocvw: Check safearray dimension too (Coverity).
-      krnl386.exe16: Fixed get selector bit logic (Coverity).
-      krnl386.exe16: Fixed if that always succeeds (Coverity).
-      winedump: Fixed minidump processor revision decoding (Coverity).
+Marcus Meissner (83):
+      comctl32: Mark internal symbols as hidden visibility.
+      appwiz: Mark internal symbols as hidden.
+      ddrawex: Mark internal symbols as hidden and vtables as static.
+      comdlg32: Mark internal symbols as hidden visibility.
+      d3d10core: Mark a struct as static.
+      d3drm: Mark internal symbols as hidden.
+      cryptui: Mark internal symbols as static.
+      atl: Mark hInst variable as hidden.
+      d3dx9_36: Mark internal symbols as hidden.
+      dmband: Mark internal symbols with hidden visibility.
+      dmusic: Mark internal symbols as hidden.
+      dmsynth: Mark internal symbols with hidden visibility.
+      devenum: Mark internal symbols as hidden.
+      dmcompos: Mark internal symbols with hidden visibility.
+      dmime: Mark internal symbols with hidden visibility.
+      dmloader: Mark internal symbols with hidden visibility.
+      dmscript: Mark internal symbols with hidden visibility.
+      dmstyle: Mark internal symbols with hidden visibility.
+      gdiplus: Mark image_format_dimensions as static.
+      dxdiagn: Mark internal symbols with hidden visibility.
+      dinput: Mark internal symbols with hidden visibility.
+      gameux: Mark internal symbols with hidden visibility.
+      dpnet: Mark internals symbols with hidden visibility.
+      dswave: Mark internal symbols with hidden visibility.
+      explorerframe: Mark internal symbols with hidden visibility.
+      dnsapi: Mark internal symbols with hidden visibility.
+      fusion: Mark internal symbols with hidden visibility.
+      dplayx: Mark internal symbols with hidden visibility.
+      msi: Check comp for NULL from msi_get_loaded_component (Coverity).
+      itss: Mark internal symbols with hidden visibility.
+      imagehlp: Mark internal variable as hidden visibility.
+      infosoft: Mark internal symbol with hidden visibility.
+      hhctrl.ocx: Mark internal symbols with hidden visibility.
+      iphlapi: Mark internal symbols with hidden visibility.
+      inetcpl: Mark internal variable with hidden visibility.
+      inkobj: Mark internal variable with hidden visibility and hinstance as stattic.
+      hnetcfg: Mark internal symbols with hidden visibility.
+      hlink: Mark internal symbols with hidden visibility.
+      mscoree: Mark internal symbols with hidden visibility and some vtables as static.
+      msacm32: Mark internal symbols with hidden visibility.
+      mountmgr.sys: Mark internal symbols with hidden visibility.
+      mciqtz: Mark one variable as static.
+      mciavi32: Mark internal symbols with hidden visibility.
+      mapi32: Mark internal symbols with hidden visibility.
+      localspl: Mark internal symbols with hidden visibility.
+      mmdevapi: Mark internal symbols with hidden visibility.
+      gphoto2.ds: Mark a variable with hidden visibility.
+      mpr: Mark internal symbols with hidden visibility.
+      oledlg: Mark internal variables with hidden visibility.
+      oledb32: Mark internal symbol with hidden visibility.
+      ntprint: Mark hInstance as static.
+      objsel: Mark internal symbols with hidden visibility.
+      netapi32: Mark internal symbols with hidden visibility.
+      mstask: Mark internal symbol with hidden visibility.
+      msimtf: Mark internal symbol as hidden.
+      msctf: Mark internal symbols with hidden visibility.
+      setupapi: Mark internal symbols with hidden visibility.
+      sane.ds: Mark internal symbols with hidden visibility.
+      rsaenh: First part of marking internal symbols with hidden visibility.
+      riched20: Mark internal symbols with hidden visibility.
+      quartz: Mark internal symbols with hidden visibility.
+      qmgr: Mark internal symbols with hidden visibility.
+      qedit: Mark internal symbols with hidden visibilitiy.
+      qcap: Mark internal symbols with hidden visibility.
+      printui: Mark hInstance as static.
+      openal32: Mark internal variable as static.
+      winex11.drv: Mark internal symbols with hidden visibility.
+      wineps.drv: Mark internal symbols with hidden visibility.
+      winealsa.drv: Mark internal symbols with hidden visibility.
+      wiaservc: Mark internal symbols with hidden visibility.
+      wbemprox: Mark one internal function with hidden visibility.
+      uxtheme: Mark internal symbols with hidden visibility.
+      usp10: Mark internal symbols with hidden visibility.
+      spoolss: Mark internal symbols with hidden visibility.
+      version: Merge all 3 C source files into one.
+      wininet: Mark internal symbols with hidden visibility.
+      wmiutils: Mark internal symbols with hidden visibility.
+      msvfw32: Mark MSVFW32_hModule with hidden visibility.
+      wintab32: Mark internal symbols with hidden visibility.
+      wldap32: Mark internal symbols with hidden visibility.
+      wuapi: Mark internal symbols with hidden visibility.
+      winspool.drv: Mark internal symbols with hidden visibility.
+      ntdll: Mark FILE_umask with hidden visibility.
 
-Matteo Bruni (3):
-      d3dcompiler: Improve some parameter names and fix code style.
-      d3dcompiler: Fix error messages generation.
-      wined3d: Fix pow handling with special values in ARB backend.
+Michael Stefaniuc (10):
+      riched20: COM cleanup for the ITextSelection iface.
+      msxml3: COM cleanup for factory.c.
+      riched20: COM cleanup for the IOleClientSite iface.
+      riched20: Finish the COM cleanup in richole.c.
+      shell32: COM cleanup for the IShellView2 iface.
+      shell32: Finish the COM cleanup in shlview.c.
+      shell32: COM cleanup for the IShellLinkA iface.
+      shell32: Finish the COM cleanup in shelllink.c.
+      shell32: COM cleanup for shfldr_printers.c.
+      shell32/tests: COM cleanup in ebrowser.c.
 
-Michael Stefaniuc (1):
-      mlang: COM cleanup.
+Mike Kaplinskiy (1):
+      iphlpapi: Set the overlapped status to pending as well as returning ERROR_IO_PENDING.
 
-Nicolas Le Cam (5):
-      comctl32/tests: Remove a set but unused variable.
-      msvcrt/tests: Avoid size_t in traces.
-      ole32/tests: Fix large integer overflow warnings.
-      gdi32: Remove a set but unused variable.
-      wintrust/tests: BaseOfData isn't part of IMAGE_OPTIONAL_HEADER64 structure.
+Nikolay Sivov (10):
+      comctl32/treeview: Always return state from TVM_GETITEM handler.
+      comctl32/treeview: Store item state supplied from TVN_GETDISPINFO handler.
+      comctl32/treeview: Properly update image state index when TVS_CHECKBOXES is switched on.
+      comctl32/treeview: Get rid of wine prefixed names.
+      comctl32/tests: Some tests for TVM_GETNEXTITEM and item toggle.
+      explorerframe: Get rid of interface pointer casts.
+      comctl32/treeview: Always draw a '+' for TVIS_EXPANDPARTIAL state.
+      comctl32/treeview: Item text should be vertically aligned.
+      comctl32/treeview: Correctly draw cut items.
+      comctl32/treeview: TVM_EXPAND with TVE_TOGGLE action shouldn't always notify as it does on user input.
 
-Nikolay Sivov (28):
-      msxml3: A stub for MXXMLWriter class.
-      msxml3: Add ISAXContentHandler stub for MXXMLWriter.
-      msxml3: Add support for standalone property.
-      msxml3: Store stream reference as destination.
-      msxml3: Basic support for encoding property.
-      msxml3: Basic support for startDocument().
-      comctl32: Adjust field names and some defines to match current documentation.
-      comctl32/tests: Add more MRU tests.
-      comctl32: Ignore size field when creating with -W calls.
-      msxml3: Store boolean properties in a single array.
-      msxml3: Add support for omitXMLDeclaration() property.
-      msxml3: Basic tests for startElement().
-      comctl32/tests: Test message result for equality.
-      comctl32/listview: Don't refuse to set subitem data when some extra flag is specified.
-      comctl32/listview: Make edit box handle available from LVN_ENDLABELEDIT notification.
-      msxml3: Basic support for startElement()/endElement().
-      msxml3: Support attributes list for elements.
-      msxml3: Support indent() property.
-      msxml3: Store raw text data passed through characters().
-      msxml3: Support byteOrderMark() property.
-      msxml3: Support get/set for disableOutputEscaping() property.
-      comctl32/listview: Don't forward HDN_ITEMCHANGING/HDN_ITEMCHANGED to listview parent.
-      comctl32/tests: Make functions from test macros.
-      winecfg: Update Russian dialog strings.
-      comctl32/tab: Send NM_RCLICK on WM_RBUTTONUP.
-      comctl32/listview: Fix parameter validation for LVM_SETITEMTEXT.
-      comctl32/tests: Test return values in uniform way.
-      comctl32/tests: Initialize subitem index.
+Owen Rudge (1):
+      user32: Add separate sysmenu for MDI child windows.
 
-Paul Chitescu (1):
-      qcap: Initialize to NULL the content of ppPin, not the pointer itself.
+Piotr Caban (37):
+      msvcrt: Fix return values in strlwr and strupr functions.
+      msvcrt: Fix return values in wcstombs and wcsrtombs functions.
+      msvcrt: Allocate ioinfo tables dynamically.
+      msvcrt: Allocate FILE tables dynamically.
+      msvcrt: Improved _getmaxstdio and _setmaxstdio implementation.
+      msvcrt: Added _lock_file/_unlock_file implementation.
+      msvcrt: Make printf functions thread safe.
+      msvcrt: Make scanf functions thread safe.
+      msvcrt: Fix __pctype_func implementation.
+      msvcrt: Free locks after freeing io data.
+      msvcrt: Make fflush function thread safe.
+      msvcrt: Make fclose thread safe.
+      msvcrt: Make _filbuf thread safe.
+      msvcrt: Make _flsbuf thread safe.
+      msvcrt: Make setvbuf thread safe.
+      msvcrt: Make ungetc and ungetwc thread safe.
+      msvcrt: Make FILE->_flag reading functions thread safe.
+      msvcrt: Make FILE position related functions thread safe.
+      msvcrt: Make FILE reading functions thread safe.
+      msvcrt: Make FILE writing functions thread safe.
+      msvcrt: Close thread handle when _beginthread is used.
+      msvcrt: Reorder fields of __thread_data structure.
+      msvcrt: Use _create_locale instead of setlocale during initialization.
+      msvcrt: Use get_locinfo instead of get_locale.
+      msvcrt: Change the way locale information is stored in __thread_data.
+      msvcrt: Change the way how localtime/gmtime buffer is stored in __thread_data.
+      msvcrt: Improved tmpnam/wtmpnam implementation.
+      msvcrt: Added _getptd implementation.
+      msvcr90/tests: Don't check if msvcr90 functions exists.
+      msvcrt: Added _get_unexpected implementation.
+      msvcr90/tests: Added _getptd tests.
+      msvcrt: Improved locale initialization.
+      msvcp90: Added ios_base class stub.
+      msvcp90/tests: Don't check if msvcp90 functions exists in misc tests.
+      msvcp90/tests: Don't check if msvcp90 functions exists in string tests.
+      msvcp90: Added basic_ios<char> class stub.
+      msvcp90: Added _Mutex class implementation.
 
-Peter Urbanec (1):
-      msxml3: Reorder headers to allow use of libxml2 with +icu useflag.
-
-Piotr Caban (22):
-      msvcrt: Added _wtmpnam implementation.
-      msvcrt: Added _swprintf and vsnprintf functions.
-      imagehlp: Set Index in ImageAddCertificate function.
-      wintrust: Added CryptSIPPutSignedDataMsg implementation (for PE files).
-      wintrust: Fix CryptSIPGetSignedMsg (from PE file).
-      wintrust: Added CryptSIP{Get,Put}SignedDataMsg tests.
-      crypt32: Fix content type in CRYPT_QueryEmbeddedMessageObject function.
-      wine.inf: Add quotes to webbrowser command keys.
-      msvcrt: Don't pass NULL as __ms_va_list in printf implementation.
-      msvcrt: Added _towupper_l and _towlower_l implementation.
-      msvcrt: Added _isctype_l implementation.
-      msvcrt: Added _is*_l functions implementation.
-      msvcrt: Added _toupper_l implementation.
-      msvcrt: Added _tolower_l implementation.
-      msvcrt: Added _strlwr_s_l implementation.
-      msvcrt: Added _strupr_s_l implementation.
-      kernel32/tests: Add locale specific CompareString test.
-      msvcrt: Added _strcoll_l implementation.
-      msvcrt: Added _stricoll_l implementation.
-      msvcrt: Added _strncoll_l implementation.
-      msvcrt: Added _strnicoll_l implementation.
-      msvcr: Update spec files.
-
-Rico Schüller (17):
-      d3dx9: Implement ID3DXBaseEffect::GetValue().
-      d3dx9: Implement ID3DXBaseEffect::GetString().
-      d3dx9: Implement ID3DXBaseEffect::GetPixelShader().
-      d3dx9: Implement ID3DXBaseEffect::GetVertexShader().
-      d3dx9: Implement ID3DXBaseEffect::GetParameterBySemantic().
-      d3dx9: Implement ID3DXBaseEffect::GetAnnotation().
-      d3dx9: Implement ID3DXBaseEffect::GetAnnotationByName().
-      d3dx9: Implement ID3DXBaseEffect::GetDesc() partially.
-      d3dx9: Implement ID3DXBaseEffect::GetBool().
-      d3dx9: Implement ID3DXBaseEffect::GetInt().
-      d3dx9: Implement ID3DXBaseEffect::GetFloat().
-      d3dx9: Implement ID3DXEffect::SetStateManager().
-      d3dx9: Implement ID3DXEffect::GetStateManager().
-      d3dx9/tests: Add ID3DXEffect::Get/SetStateManager() test.
-      d3dx9: Improve get_parameter_by_name().
-      d3dx9: Parse effect textures.
-      d3dx9: Implement ID3DXBaseEffect::GetTexture().
+Rico Schüller (7):
+      d3dx9: Remove some checks for defines argument in D3DXCreateEffect* functions.
+      d3dx9: Fix copy and paste mistake in ID3DXBaseEffect::GetPassDesc().
+      d3dx9: Parse effect samplers.
+      d3dx9: Pass the device directly to d3dx9_parse_data().
+      d3d9/tests: Fix some ok() messages in the visual tests.
+      d3dx9: Pass objects to functions instead of using the base effect in the parameter.
+      d3dx9: Start effect state parsing.
 
 Ričardas Barkauskas (1):
-      ddraw: Fix filtering of enumerated display modes.
+      dxgi: Fix GetDisplayModeList parameter handling.
 
-Stefan Dösinger (7):
-      d3d8: Map ZBIAS values to a smaller depth range.
-      ddraw: Map ZBIAS values to a smaller depth range.
-      wined3d: Make the glram parameter of WineD3DAdapterChangeGLRam signed.
-      wined3d: Fix a unsigned unary minus warning in MSVC.
-      wined3d: Fix a few MSVC data loss warnings.
-      wined3d: Pass the render target height as UINT.
-      wined3d: Separate two unrelated variables.
+Sergey Khodych (5):
+      shdocvw: Don't use separate call of UrlApplySchemeW for default scheme.
+      shlwapi: Don't copy valid scheme in UrlApplySchemeW.
+      shlwapi: Implement URL_APPLY_GUESSFILE in UrlApplyScheme.
+      shdocvw: Use UrlApplyScheme with URL_APPLY_GUESSFILE for local paths in create_moniker.
+      shdocvw: Handle local paths in navigate_url.
 
-Thomas Mullaly (3):
-      urlmon: Stop binding with E_ABORT if the client returns that from OnStartBinding.
-      urlmon: Improve handling of error codes being returned from client OnStartBinding callback.
-      urlmon: Honor E_ABORT for URLDownloadToFile status callbacks.
+Stefan Dösinger (24):
+      wined3d: Consistently store format bitcounts in BYTEs.
+      wined3d: Cast clipplane doubles to floats.
+      wined3d: Fix data types in RxGx snorm-unorm conversion.
+      wined3d: Heightscaled surfaces still have an integer size.
+      wined3d: Fix a copypaste typo.
+      wined3d: Make two variables unsigned.
+      wined3d: Remove maxConcurrentLights from the device.
+      d3d8: Add a float to DWORD cast.
+      d3d8: Stream indices are WORDs.
+      d3d8/tests: Use float literals.
+      d3d9: Use a DWORD to read render states.
+      d3d9: Disable the zero instance test.
+      d3d9: Account for another different behavior in the viewport test.
+      d3d9: Skip the YUV tests when the driver confuses the U and V channels.
+      wined3d: Fix a few function definitions.
+      d3d9: AMD drivers return D3D_OK when reading data from an unfinished query.
+      d3d9: AMD cards don't clip transformed vertices.
+      d3d9: Drop the fixed function varying test.
+      wined3d: CMP supports _SAT.
+      d3d: Make the INTZ test more reliable.
+      d3d9: Use a pixel shader for the vs 3.0 input test.
+      port: Add isinf and isnan implementations for Visual Studio.
+      wined3d: Call frag_pipe->enable_extension under the GL lock.
+      wined3d: Call context_apply_draw_buffers under the GL lock.
 
-Vincent Povirk (1):
-      mscoree: State the .NET and Mono versions when a runtime is missing.
+Thomas Mullaly (4):
+      mshtml/tests: Added IDispatch event tests.
+      mshtml/tests: Added more IDispatch event tests.
+      mshtml: Added support for IDispatch Html document events.
+      urlmon: Prevent putting garbage data into TRACE.
 
-Łukasz Wojniłowicz (1):
-      po: Update Polish translation.
+Vincent Povirk (13):
+      gdiplus: Set export ordinals to match Windows 7.
+      mscoree: Accept a NULL version in CorBindToRuntimeEx.
+      mscoree: Return success from ICorRuntimeHost_Start stub.
+      mscoree: Implement ICorRuntimeHost_GetDefaultDomain.
+      gdiplus: Add basic metafile recording support.
+      gdiplus: Add test for metafile enumeration.
+      gdiplus: Remove is_emfplus field from test structure, as it's redundant.
+      gdiplus: Implement GdipEnumerateMetafileSrcRectDestPoints.
+      gdiplus: Add test for GdipGetDC on metafiles.
+      gdiplus: Change the sign we use for origin.x in DrawDriverString.
+      gdiplus: Implement DriverStringOptionsRealizedAdvance in software.
+      user32: Add test for RegisterHotKey/UnregisterHotKey.
+      user32: Add message test for hotkeys.
 
 --
 Alexandre Julliard
diff --git a/VERSION b/VERSION
index e974656..c8af8a7 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-Wine version 1.3.20
+Wine version 1.3.21
diff --git a/configure b/configure
index b07b77d..46c9e4e 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.68 for Wine 1.3.20.
+# Generated by GNU Autoconf 2.68 for Wine 1.3.21.
 #
 # Report bugs to <wine-devel@winehq.org>.
 #
@@ -560,8 +560,8 @@
 # Identity of this package.
 PACKAGE_NAME='Wine'
 PACKAGE_TARNAME='wine'
-PACKAGE_VERSION='1.3.20'
-PACKAGE_STRING='Wine 1.3.20'
+PACKAGE_VERSION='1.3.21'
+PACKAGE_STRING='Wine 1.3.21'
 PACKAGE_BUGREPORT='wine-devel@winehq.org'
 PACKAGE_URL='http://www.winehq.org'
 
@@ -1382,7 +1382,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.3.20 to adapt to many kinds of systems.
+\`configure' configures Wine 1.3.21 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1451,7 +1451,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Wine 1.3.20:";;
+     short | recursive ) echo "Configuration of Wine 1.3.21:";;
    esac
   cat <<\_ACEOF
 
@@ -1598,7 +1598,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-Wine configure 1.3.20
+Wine configure 1.3.21
 generated by GNU Autoconf 2.68
 
 Copyright (C) 2010 Free Software Foundation, Inc.
@@ -2116,7 +2116,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.3.20, which was
+It was created by Wine $as_me 1.3.21, which was
 generated by GNU Autoconf 2.68.  Invocation command line was
 
   $ $0 $@
@@ -16162,7 +16162,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.3.20, which was
+This file was extended by Wine $as_me 1.3.21, which was
 generated by GNU Autoconf 2.68.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -16233,7 +16233,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.3.20
+Wine config.status 1.3.21
 configured by $0, generated by GNU Autoconf 2.68,
   with options \\"\$ac_cs_config\\"
 
